From 7dcddc59f12d1dbeebc9f4db8297f6ff47ad3a8f Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Thu, 21 Sep 2023 16:25:51 -0700 Subject: [PATCH 1/3] Enable GenerateNamesForShadowedTypeParams for types baselines --- src/compiler/types.ts | 4 ++-- src/harness/typeWriter.ts | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 3bc7537601477..6f660ef62befa 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -5298,7 +5298,7 @@ export const enum TypeFormatFlags { None = 0, NoTruncation = 1 << 0, // Don't truncate typeToString result WriteArrayAsGenericType = 1 << 1, // Write Array instead T[] - // hole because there's a hole in node builder flags + GenerateNamesForShadowedTypeParams = 1 << 2, // When a type parameter T is shadowing another T, generate a name for it so it can still be referenced UseStructuralFallback = 1 << 3, // When an alias cannot be named by its symbol, rather than report an error, fallback to a structural printout if possible // hole because there's a hole in node builder flags WriteTypeArgumentsOfSignature = 1 << 5, // Write the type arguments instead of type parameters of the signature @@ -5329,7 +5329,7 @@ export const enum TypeFormatFlags { InFirstTypeArgument = 1 << 22, // Writing first type argument of the instantiated type InTypeAlias = 1 << 23, // Writing type in type alias declaration - NodeBuilderFlagsMask = NoTruncation | WriteArrayAsGenericType | UseStructuralFallback | WriteTypeArgumentsOfSignature | + NodeBuilderFlagsMask = NoTruncation | WriteArrayAsGenericType | GenerateNamesForShadowedTypeParams | UseStructuralFallback | WriteTypeArgumentsOfSignature | UseFullyQualifiedType | SuppressAnyReturnType | MultilineObjectLiterals | WriteClassExpressionAsTypeLiteral | UseTypeOfFunction | OmitParameterModifiers | UseAliasDefinedOutsideCurrentScope | AllowUniqueESSymbolType | InTypeAlias | UseSingleQuotesForStringLiteralType | NoTypeReduction | OmitThisParameter, diff --git a/src/harness/typeWriter.ts b/src/harness/typeWriter.ts index 5cb9e7149da87..4eeb51816b5fa 100644 --- a/src/harness/typeWriter.ts +++ b/src/harness/typeWriter.ts @@ -138,11 +138,12 @@ export class TypeWriterWalker { typeString = (type as ts.IntrinsicType).intrinsicName; } else { - typeString = this.checker.typeToString(type, node.parent, ts.TypeFormatFlags.NoTruncation | ts.TypeFormatFlags.AllowUniqueESSymbolType); + const typeFormatFlags = ts.TypeFormatFlags.NoTruncation | ts.TypeFormatFlags.AllowUniqueESSymbolType | ts.TypeFormatFlags.GenerateNamesForShadowedTypeParams; + typeString = this.checker.typeToString(type, node.parent, typeFormatFlags); if (ts.isIdentifier(node) && ts.isTypeAliasDeclaration(node.parent) && node.parent.name === node && typeString === ts.idText(node)) { // for a complex type alias `type T = ...`, showing "T : T" isn't very helpful for type tests. When the type produced is the same as // the name of the type alias, recreate the type string without reusing the alias name - typeString = this.checker.typeToString(type, node.parent, ts.TypeFormatFlags.NoTruncation | ts.TypeFormatFlags.AllowUniqueESSymbolType | ts.TypeFormatFlags.InTypeAlias); + typeString = this.checker.typeToString(type, node.parent, typeFormatFlags | ts.TypeFormatFlags.InTypeAlias); } } return { From d7231ad48a4a597baf2ba5add8c43abd61c7ea6e Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Thu, 21 Sep 2023 16:40:59 -0700 Subject: [PATCH 2/3] Update baselines --- .../baselines/reference/1.0lib-noErrors.types | 2 +- .../anyAssignabilityInInheritance.types | 4 +- tests/baselines/reference/api/typescript.d.ts | 3 +- .../argumentsReferenceInFunction1_Js.types | 4 +- .../arrayDestructuringInSwitch1.types | 4 +- ...FakeFlatNoCrashInferenceDeclarations.types | 8 +- tests/baselines/reference/arrayFrom.types | 44 +- .../assignmentCompatWithCallSignatures.types | 8 +- .../assignmentCompatWithCallSignatures2.types | 16 +- .../assignmentCompatWithCallSignatures4.types | 12 +- .../assignmentCompatWithCallSignatures5.types | 20 +- ...gnmentCompatWithConstructSignatures4.types | 12 +- ...gnmentCompatWithConstructSignatures5.types | 20 +- ...CallSignaturesWithOptionalParameters.types | 100 ++-- .../reference/asyncArrowFunction11_es5.types | 4 +- .../reference/asyncFunctionReturnType.types | 40 +- .../asyncFunctionsAndStrictNullChecks.types | 8 +- .../awaitCallExpressionInSyncFunction.types | 4 +- tests/baselines/reference/awaitedType.types | 22 +- .../reference/awaitedTypeJQuery.types | 12 +- .../reference/awaitedTypeStrictNull.types | 12 +- .../baselines/reference/bestChoiceType.types | 12 +- .../reference/betterErrorForUnionCall.types | 4 +- .../reference/bivariantInferences.types | 4 +- .../reference/bluebirdStaticThis.types | 136 +++--- ...SignatureAssignabilityInInheritance3.types | 6 +- ...SignatureAssignabilityInInheritance4.types | 8 +- ...SignaturesThatDifferOnlyByReturnType.types | 2 +- .../reference/callbacksDontShareTypes.types | 20 +- .../circularContextualReturnType.types | 8 +- .../classStaticBlock23(target=es2022).types | 4 +- .../classStaticBlock23(target=esnext).types | 4 +- .../coAndContraVariantInferences3.types | 16 +- .../complexRecursiveCollections.types | 36 +- .../computedPropertyNames33_ES5.types | 2 +- .../computedPropertyNames33_ES6.types | 2 +- ...mputedTypesKeyofNoIndexSignatureType.types | 2 +- ...itionalTypeAssignabilityWhenDeferred.types | 4 +- ...ContextualTypeSimplificationsSuceeds.types | 6 +- .../conditionalTypeDoesntSpinForever.types | 58 +-- .../reference/conditionalTypes1.types | 18 +- .../reference/conditionalTypes2.types | 8 +- .../constraintSatisfactionWithAny.types | 6 +- ...SignatureAssignabilityInInheritance4.types | 2 +- ...ructSignaturesWithIdenticalOverloads.types | 4 +- .../constructSignaturesWithOverloads.types | 4 +- ...hOverloadsThatDifferOnlyByReturnType.types | 2 +- ...contextualOverloadListFromArrayUnion.types | 8 +- .../contextualSignatureInObjectFreeze.types | 4 +- .../contextualSignatureInstantiation3.types | 4 +- .../contravariantInferenceAndTypeGuard.types | 12 +- .../reference/controlFlowGenericTypes.types | 8 +- .../correctOrderOfPromiseMethod.types | 8 +- .../reference/correlatedUnions.types | 6 +- ...crashIntypeCheckInvocationExpression.types | 2 +- ...hIntypeCheckObjectCreationExpression.types | 4 +- ...EmitDistributiveConditionalWithInfer.types | 6 +- ...FirstTypeArgumentGenericFunctionType.types | 4 +- ...onEmitInlinedDistributiveConditional.types | 16 +- ...peDistributivityPreservesConstraints.types | 6 +- .../declarationEmitNestedGenerics.types | 14 +- ...ationEmitObjectAssignedDefaultExport.types | 4 +- ...rationEmitOverloadedPrivateInference.types | 14 +- ...rationEmitQualifiedAliasTypeArgument.types | 6 +- ...larationEmitShadowingInferNotRenamed.types | 4 +- ...InternalTypesProduceUniqueTypeParams.types | 80 +-- .../reference/decoratorOnTypeAlias.types | 2 +- .../deferredLookupTypeResolution.types | 2 +- .../dependentDestructuredVariables.types | 4 +- ...y2(exactoptionalpropertytypes=false).types | 4 +- ...ty2(exactoptionalpropertytypes=true).types | 4 +- ...aborateAssignabilityToTypeParameters.types | 2 +- ...leMixinConditionalTypeBaseClassWorks.types | 14 +- ...duplicateOverloadInTypeAugmentation1.types | 8 +- .../enumAssignabilityInInheritance.types | 6 +- .../reference/es2018ObjectAssign.types | 4 +- .../es5-asyncFunctionLongObjectLiteral.types | 60 +-- .../exportDefaultAsyncFunction2.types | 4 +- .../expressionTypeNodeShouldError.types | 12 +- .../fixingTypeParametersRepeatedly2.types | 6 +- .../fixingTypeParametersRepeatedly3.types | 6 +- .../functionConstraintSatisfaction.types | 12 +- .../functionConstraintSatisfaction2.types | 4 +- .../functionConstraintSatisfaction3.types | 8 +- .../functionLiteralForOverloads.types | 6 +- .../functionLiteralForOverloads2.types | 4 +- .../reference/functionLiterals.types | 62 +-- .../reference/functionOverloadErrors.types | 12 +- .../functionOverloadsOnGenericArity1.types | 4 +- .../functionOverloadsOnGenericArity2.types | 6 +- ...nOverloadsRecursiveGenericReturnType.types | 6 +- .../functionTypeArgumentArityErrors.types | 16 +- .../funduleUsedAcrossFileBoundary.types | 4 +- .../generatorReturnContextualType.types | 16 +- ...rloadedMethodWithOverloadedArguments.types | 34 +- ...enericCallWithFunctionTypedArguments.types | 10 +- ...nericCallWithFunctionTypedArguments3.types | 4 +- ...nericCallWithFunctionTypedArguments4.types | 4 +- ...ricCallWithGenericSignatureArguments.types | 10 +- ...icCallWithGenericSignatureArguments2.types | 12 +- ...allWithObjectTypeArgsAndConstraints4.types | 4 +- ...allWithObjectTypeArgsAndConstraints5.types | 2 +- ...ricCallWithObjectTypeArgsAndIndexers.types | 2 +- ...lWithObjectTypeArgsAndIndexersErrors.types | 4 +- ...lWithObjectTypeArgsAndNumericIndexer.types | 6 +- ...llWithObjectTypeArgsAndStringIndexer.types | 6 +- ...hOverloadedConstructorTypedArguments.types | 16 +- ...OverloadedConstructorTypedArguments2.types | 4 +- ...WithOverloadedFunctionTypedArguments.types | 8 +- ...ithOverloadedFunctionTypedArguments2.types | 4 +- ...lassWithFunctionTypedMemberArguments.types | 20 +- .../genericClassWithStaticFactory.types | 20 +- .../genericClassesRedeclaration.types | 4 +- .../reference/genericCombinators2.types | 12 +- .../reference/genericContextualTypes1.types | 4 +- .../reference/genericFunctionInference1.types | 94 ++-- .../genericFunctionSpecializations1.types | 4 +- .../reference/genericFunctions3.types | 2 +- ...ericFunctionsAndConditionalInference.types | 2 +- .../reference/genericMemberFunction.types | 2 +- .../reference/genericOverloadSignatures.types | 12 +- ...cRecursiveImplicitConstructorErrors3.types | 8 +- .../genericSpecializationToTypeLiteral1.types | 24 +- .../genericStaticAnyTypeFunction.types | 4 +- .../genericTypeParameterEquivalence2.types | 14 +- ...nericUnboundedTypeParamAssignability.types | 6 +- ...genericsWithDuplicateTypeParameters1.types | 4 +- .../reference/grammarAmbiguities.types | 6 +- ...igherOrderMappedIndexLookupInference.types | 2 +- .../reference/identicalCallSignatures.types | 2 +- .../identityAndDivergentNormalizedTypes.types | 2 +- ...inferFromGenericFunctionReturnTypes3.types | 8 +- tests/baselines/reference/inferTypes1.types | 2 +- tests/baselines/reference/inferTypes2.types | 4 +- .../inferenceDoesNotAddUndefinedOrNull.types | 16 +- .../baselines/reference/inferenceLimit.types | 4 +- .../reference/infinitelyExpandingTypes5.types | 6 +- ...ineMappedTypeModifierDeclarationEmit.types | 12 +- .../instanceMemberInitialization.types | 6 +- .../instantiateContextualTypes.types | 12 +- .../reference/instantiationExpressions.types | 50 +- .../intersectionSatisfiesConstraint.types | 6 +- .../intersectionTypeInference3.types | 8 +- .../intersectionWithConflictingPrivates.types | 4 +- .../intersectionsAndEmptyObjects.types | 4 +- .../intersectionsOfLargeUnions.types | 2 +- .../intersectionsOfLargeUnions2.types | 2 +- tests/baselines/reference/ipromise2.types | 12 +- tests/baselines/reference/ipromise3.types | 12 +- tests/baselines/reference/ipromise4.types | 20 +- .../isDeclarationVisibleNodeKinds.types | 22 +- .../isomorphicMappedTypeInference.types | 4 +- .../reference/jsDeclarationsInterfaces.types | 8 +- ...jsDeclarationsJSDocRedirectedLookups.types | 4 +- .../reference/jsEnumTagOnObjectFrozen.types | 4 +- .../jsFileCompilationAwaitModifier.types | 8 +- .../reference/jsFileFunctionOverloads.types | 2 +- .../reference/jsFileFunctionOverloads2.types | 2 +- .../jsdocArrayObjectPromiseImplicitAny.types | 8 +- ...jsdocArrayObjectPromiseNoImplicitAny.types | 8 +- ...omplexSignatureHasApplicabilityError.types | 12 +- .../jsxFragmentFactoryNoUnusedLocals.types | 2 +- ...WithSpreadingResultOfGenericFunction.types | 6 +- .../jsxIntrinsicElementsCompatability.types | 2 +- ...xLocalNamespaceIndexSignatureNoCrash.types | 4 +- .../reference/keyofAndIndexedAccess.types | 38 +- .../reference/literalTypeWidening.types | 2 +- .../reference/mappedTypeAsClauses.types | 4 +- .../reference/mappedTypeConstraints2.types | 4 +- ...icInstantiationPreservesHomomorphism.types | 10 +- .../reference/mappedTypeMultiInference.types | 4 +- .../reference/mappedTypeRelationships.types | 14 +- ...TypeWithAsClauseAndLateBoundProperty.types | 6 +- ...ypeWithAsClauseAndLateBoundProperty2.types | 6 +- .../reference/mappedTypesArraysTuples.types | 2 +- .../methodSignaturesWithOverloads.types | 8 +- .../methodSignaturesWithOverloads2.types | 36 +- .../reference/missingTypeArguments3.types | 4 +- .../mixinIntersectionIsValidbaseType.types | 2 +- .../modularizeLibrary_Dom.iterable.types | 4 +- ...wnSymbolWithOutES6WellknownSymbolLib.types | 4 +- ...eLibrary_NoErrorDuplicateLibOptions1.types | 4 +- ...eLibrary_NoErrorDuplicateLibOptions2.types | 4 +- ...dularizeLibrary_TargetES5UsingES6Lib.types | 4 +- ...dularizeLibrary_TargetES6UsingES6Lib.types | 4 +- ...izeLibrary_UsingES5LibAndES6ArrayLib.types | 4 +- ...5LibES6ArrayLibES6WellknownSymbolLib.types | 4 +- ...narrowingGenericTypeFromInstanceof01.types | 8 +- .../baselines/reference/neverInference.types | 8 +- tests/baselines/reference/newOperator.types | 4 +- .../reference/noCrashOnThisTypeUsage.types | 2 +- .../reference/noImplicitReturnsInAsync1.types | 4 +- .../nonInferrableTypePropagation2.types | 4 +- ...ullAssertionPropegatesContextualType.types | 4 +- tests/baselines/reference/objectFreeze.types | 16 +- .../objectFreezeLiteralsDontWiden.types | 4 +- .../reference/objectFromEntries.types | 8 +- .../objectLiteralParameterResolution.types | 8 +- ...gnaturesDifferingTypeParameterCounts.types | 74 +-- ...ignaturesDifferingTypeParameterNames.types | 34 +- ...tructSignaturesDifferingByReturnType.types | 2 +- ...gnaturesDifferingTypeParameterCounts.types | 66 +-- .../overloadEquivalenceWithStatics.types | 6 +- .../overloadGenericFunctionWithRestArgs.types | 2 +- .../reference/overloadResolution.types | 50 +- ...overloadedStaticMethodSpecialization.types | 6 +- .../overloadsAndTypeArgumentArity.types | 12 +- .../reference/overloadsWithConstraints.types | 6 +- tests/baselines/reference/override19.types | 4 +- .../parenthesizedContexualTyping1.types | 30 +- .../parenthesizedContexualTyping2.types | 30 +- .../parenthesizedContexualTyping3.types | 22 +- .../parserOverloadOnConstants1.types | 8 +- .../reference/privateNameMethodAsync.types | 8 +- .../privateNameStaticMethodAsync.types | 8 +- .../reference/promisePermutations.types | 456 +++++++++--------- .../reference/promisePermutations2.types | 232 ++++----- .../reference/promisePermutations3.types | 260 +++++----- tests/baselines/reference/promiseType.types | 108 ++--- .../reference/promiseTypeStrictNull.types | 88 ++-- .../reference/promiseVoidErrorCallback.types | 4 +- tests/baselines/reference/promises.types | 4 +- ...ccessOnTypeParameterWithConstraints2.types | 10 +- ...ccessOnTypeParameterWithConstraints3.types | 10 +- ...kinfoTypeAtReturnPositionsInaccurate.types | 2 +- .../recursiveConditionalCrash1.types | 4 +- .../recursiveConditionalCrash2.types | 2 +- .../recursiveConditionalCrash3.types | 4 +- .../recursiveReverseMappedType.types | 2 +- ...cursiveTypesUsedAsFunctionParameters.types | 20 +- .../restElementWithNumberPropertyName.types | 2 +- .../reference/restInvalidArgumentType.types | 2 +- .../restParameterWithBindingPattern3.types | 2 +- .../restPropertyWithBindingPattern.types | 4 +- ...onalWithInteriorConditionalIsRelated.types | 4 +- .../reference/specializationError.types | 6 +- ...sNotSubtypeOfNonSpecializedSignature.types | 4 +- ...reIsSubtypeOfNonSpecializedSignature.types | 4 +- .../reference/spreadInvalidArgumentType.types | 4 +- .../reference/spyComparisonChecking.types | 2 +- ...ymousTypeNotReferencingTypeParameter.types | 18 +- .../reference/strictBindCallApply1.types | 128 ++--- .../reference/strictBindCallApply2.types | 4 +- .../stringLiteralTypeIsSubtypeOfString.types | 24 +- ...omponentsInstantiaionLimitNotReached.types | 4 +- ...classWithPolymorphicThisIsAssignable.types | 4 +- .../reference/subtypesOfTypeParameter.types | 36 +- ...typesOfTypeParameterWithConstraints2.types | 12 +- .../baselines/reference/subtypesOfUnion.types | 4 +- .../subtypingWithCallSignatures3.types | 18 +- .../subtypingWithCallSignatures4.types | 20 +- .../subtypingWithConstructSignatures3.types | 18 +- .../subtypingWithConstructSignatures4.types | 20 +- .../taggedTemplateContextualTyping1.types | 14 +- ...mplateStringsWithOverloadResolution3.types | 44 +- ...teStringsWithOverloadResolution3_ES6.types | 44 +- .../reference/templateLiteralTypes1.types | 16 +- .../reference/templateLiteralTypes3.types | 2 +- .../thisInGenericStaticMembers.types | 4 +- ...umentsInGenericFunctionTypedArgument.types | 12 +- ...Await.1(module=es2022,target=es2015).types | 4 +- ...Await.1(module=es2022,target=es2017).types | 4 +- ...Await.1(module=esnext,target=es2015).types | 4 +- ...Await.1(module=esnext,target=es2017).types | 4 +- ...Await.1(module=system,target=es2015).types | 4 +- ...Await.1(module=system,target=es2017).types | 4 +- ...opLevelAwaitNonModule(module=es2022).types | 4 +- ...opLevelAwaitNonModule(module=esnext).types | 4 +- .../transformNestedGeneratorsWithTry.types | 4 +- .../reference/tslibReExportHelpers2.types | 6 +- ...FunctionComponentsWithTypeArguments3.types | 28 +- ...FunctionComponentsWithTypeArguments4.types | 10 +- .../reference/tupleTypeInference.types | 18 +- .../twiceNestedKeyofIndexInference.types | 6 +- ...rgedInterfacesWithDifferingOverloads.types | 6 +- tests/baselines/reference/typeAliases.types | 4 +- .../typeArgumentConstraintResolution1.types | 16 +- .../typeAssertionToGenericFunctionType.types | 8 +- ...ParameterDirectlyConstrainedToItself.types | 2 +- ...rameterIndirectlyConstrainedToItself.types | 2 +- ...peParametersAreIdenticalToThemselves.types | 68 +-- ...ypeParametersAvailableInNestedScope3.types | 14 +- tests/baselines/reference/typedArrays.types | 72 +-- .../types.asyncGenerators.es2018.1.types | 64 +-- .../types.asyncGenerators.es2018.2.types | 4 +- .../reference/undefinedTypeArgument2.types | 4 +- .../baselines/reference/underscoreTest1.types | 334 ++++++------- .../unionAndIntersectionInference1.types | 12 +- .../reference/unionOfArraysFilterCall.types | 32 +- .../reference/unionOfClassCalls.types | 16 +- .../reference/unionTypeInference.types | 4 +- .../reference/unionTypeMembers.types | 12 +- .../unionTypeParameterInference.types | 2 +- tests/baselines/reference/uniqueSymbols.types | 4 +- .../reference/uniqueSymbolsDeclarations.types | 4 +- .../reference/uniqueSymbolsErrors.types | 2 +- .../reference/unknownControlFlow.types | 44 +- ...ownLikeUnionObjectFlagsNotPropagated.types | 8 +- .../reference/unspecializedConstraints.types | 2 +- ...arametersCheckedByNoUnusedParameters.types | 4 +- ...ParametersNotCheckedByNoUnusedLocals.types | 4 +- ...aratorResolvedDuringContextualTyping.types | 8 +- .../baselines/reference/variadicTuples1.types | 10 +- 303 files changed, 2538 insertions(+), 2537 deletions(-) diff --git a/tests/baselines/reference/1.0lib-noErrors.types b/tests/baselines/reference/1.0lib-noErrors.types index fd3a96640ca39..97ca498b1ed35 100644 --- a/tests/baselines/reference/1.0lib-noErrors.types +++ b/tests/baselines/reference/1.0lib-noErrors.types @@ -1886,7 +1886,7 @@ interface Array { >n : number } declare var Array: { ->Array : { (arrayLength?: number): any[]; (arrayLength: number): T[]; (...items: T[]): T[]; new (arrayLength?: number): any[]; new (arrayLength: number): T[]; new (...items: T[]): T[]; isArray(arg: any): boolean; prototype: Array; } +>Array : { (arrayLength?: number): any[]; (arrayLength: number): T[]; (...items: T_1[]): T_1[]; new (arrayLength?: number): any[]; new (arrayLength: number): T_2[]; new (...items: T_3[]): T_3[]; isArray(arg: any): boolean; prototype: Array; } new (arrayLength?: number): any[]; >arrayLength : number diff --git a/tests/baselines/reference/anyAssignabilityInInheritance.types b/tests/baselines/reference/anyAssignabilityInInheritance.types index 91802c6e0adb7..b96b62e1af6c4 100644 --- a/tests/baselines/reference/anyAssignabilityInInheritance.types +++ b/tests/baselines/reference/anyAssignabilityInInheritance.types @@ -184,13 +184,13 @@ var r3 = foo3(a); // any >a : any declare function foo13(x: (x: T) => T): (x: T) => T; ->foo13 : { (x: (x: T) => T): (x: T) => T; (x: any): any; } +>foo13 : { (x: (x: T) => T): (x: T_1) => T_1; (x: any): any; } >x : (x: T) => T >x : T >x : T declare function foo13(x: any): any; ->foo13 : { (x: (x: T) => T): (x: T) => T; (x: any): any; } +>foo13 : { (x: (x: T) => T): (x: T_1) => T_1; (x: any): any; } >x : any var r3 = foo3(a); // any diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index bd20795fc6894..ad709c0472f4f 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -6816,6 +6816,7 @@ declare namespace ts { None = 0, NoTruncation = 1, WriteArrayAsGenericType = 2, + GenerateNamesForShadowedTypeParams = 4, UseStructuralFallback = 8, WriteTypeArgumentsOfSignature = 32, UseFullyQualifiedType = 64, @@ -6835,7 +6836,7 @@ declare namespace ts { InElementType = 2097152, InFirstTypeArgument = 4194304, InTypeAlias = 8388608, - NodeBuilderFlagsMask = 848330091, + NodeBuilderFlagsMask = 848330095, } enum SymbolFormatFlags { None = 0, diff --git a/tests/baselines/reference/argumentsReferenceInFunction1_Js.types b/tests/baselines/reference/argumentsReferenceInFunction1_Js.types index 53677cd405376..7963bff52c673 100644 --- a/tests/baselines/reference/argumentsReferenceInFunction1_Js.types +++ b/tests/baselines/reference/argumentsReferenceInFunction1_Js.types @@ -57,9 +57,9 @@ const debuglog = function() { return format.apply(null, arguments); >format.apply(null, arguments) : string ->format.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>format.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >format : (f: any, ...args: any[]) => string ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >arguments : IArguments }; diff --git a/tests/baselines/reference/arrayDestructuringInSwitch1.types b/tests/baselines/reference/arrayDestructuringInSwitch1.types index aea2febcc6afa..6f63e1ce3e46f 100644 --- a/tests/baselines/reference/arrayDestructuringInSwitch1.types +++ b/tests/baselines/reference/arrayDestructuringInSwitch1.types @@ -31,9 +31,9 @@ export function evaluate(expression: Expression): boolean { return operands.every((child) => evaluate(child)); >operands.every((child) => evaluate(child)) : boolean ->operands.every : { (predicate: (value: Expression, index: number, array: Expression[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } | { (predicate: (value: Expression, index: number, array: Expression[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } +>operands.every : { (predicate: (value: Expression, index: number, array: Expression[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } | { (predicate: (value: Expression, index: number, array: Expression[]) => value is S_1, thisArg?: any): this is S_1[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } >operands : Expression[] | [Expression] ->every : { (predicate: (value: Expression, index: number, array: Expression[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } | { (predicate: (value: Expression, index: number, array: Expression[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } +>every : { (predicate: (value: Expression, index: number, array: Expression[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } | { (predicate: (value: Expression, index: number, array: Expression[]) => value is S_1, thisArg?: any): this is S_1[]; (predicate: (value: Expression, index: number, array: Expression[]) => unknown, thisArg?: any): boolean; } >(child) => evaluate(child) : (child: Expression) => boolean >child : Expression >evaluate(child) : boolean diff --git a/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types b/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types index 1a3b4eef0bda6..d286fab9a1230 100644 --- a/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types +++ b/tests/baselines/reference/arrayFakeFlatNoCrashInferenceDeclarations.types @@ -2,14 +2,14 @@ === arrayFakeFlatNoCrashInferenceDeclarations.ts === type BadFlatArray = {obj: { ->BadFlatArray : { done: Arr; recur: Arr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? any[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth] extends -1 ? "done" : "recur"] : Arr; }[Depth extends -1 ? "done" : "recur"] ->obj : { done: Arr; recur: Arr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? any[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth] extends -1 ? "done" : "recur"] : Arr; }[Depth extends -1 ? "done" : "recur"] +>BadFlatArray : { done: Arr; recur: Arr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? any[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]]] extends infer T ? T extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]]] ? T extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]] extends infer T_1 ? T_1 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]] ? T_1 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]] extends infer T_2 ? T_2 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]] ? T_2 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]] extends infer T_3 ? T_3 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]] ? T_3 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]] extends infer T_4 ? T_4 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]] ? T_4 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]] extends infer T_5 ? T_5 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]] ? T_5 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]] extends infer T_6 ? T_6 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]] ? T_6 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]] extends infer T_7 ? T_7 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]] ? T_7 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]] extends infer T_8 ? T_8 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]] ? T_8 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]] extends infer T_9 ? T_9 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]] ? T_9 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth] extends infer T_10 ? T_10 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth] ? T_10 extends -1 ? "done" : "recur" : never : never] : Arr; }[Depth extends -1 ? "done" : "recur"] +>obj : { done: Arr; recur: Arr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? any[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]]] extends infer T ? T extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]]] ? T extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]] extends infer T_1 ? T_1 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]] ? T_1 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]] extends infer T_2 ? T_2 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]] ? T_2 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]] extends infer T_3 ? T_3 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]] ? T_3 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]] extends infer T_4 ? T_4 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]] ? T_4 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]] extends infer T_5 ? T_5 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]] ? T_5 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]] extends infer T_6 ? T_6 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]] ? T_6 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]] extends infer T_7 ? T_7 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]] ? T_7 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]] extends infer T_8 ? T_8 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]] ? T_8 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]] extends infer T_9 ? T_9 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]] ? T_9 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth] extends infer T_10 ? T_10 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth] ? T_10 extends -1 ? "done" : "recur" : never : never] : Arr; }[Depth extends -1 ? "done" : "recur"] "done": Arr, >"done" : Arr "recur": Arr extends ReadonlyArray ->"recur" : Arr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: any; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth] extends -1 ? "done" : "recur"] : Arr +>"recur" : Arr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: any; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]]] extends infer T ? T extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]]] ? T extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]] extends infer T_1 ? T_1 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]]] ? T_1 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]] extends infer T_2 ? T_2 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]]] ? T_2 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]] extends infer T_3 ? T_3 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]]] ? T_3 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]] extends infer T_4 ? T_4 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]]] ? T_4 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]] extends infer T_5 ? T_5 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]]] ? T_5 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]] extends infer T_6 ? T_6 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]]] ? T_6 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]] extends infer T_7 ? T_7 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]]] ? T_7 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]] extends infer T_8 ? T_8 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]]] ? T_8 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]] extends infer T_9 ? T_9 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth]] ? T_9 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth] extends infer T_10 ? T_10 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][Depth] ? T_10 extends -1 ? "done" : "recur" : never : never] : Arr ? BadFlatArray >-1 : -1 @@ -38,7 +38,7 @@ function foo(arr: T[], depth: number) { return flat(arr, depth); >flat(arr, depth) : (T | (T extends readonly (infer InnerArr)[] ? InnerArr | (InnerArr extends readonly (infer InnerArr)[] ? any : InnerArr) : T))[] ->flat : (arr: A, depth?: D | undefined) => { done: A; recur: A extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? any[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]] extends -1 ? "done" : "recur"] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D] extends -1 ? "done" : "recur"] : A; }[D extends -1 ? "done" : "recur"][] +>flat : (arr: A, depth?: D | undefined) => { done: A; recur: A extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? { done: InnerArr; recur: InnerArr extends readonly (infer InnerArr)[] ? any[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]]] extends infer T_1 ? T_1 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]]] ? T_1 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]] extends infer T_2 ? T_2 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]]] ? T_2 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]] extends infer T_3 ? T_3 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]]] ? T_3 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]] extends infer T_4 ? T_4 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]]] ? T_4 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]] extends infer T_5 ? T_5 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]]] ? T_5 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]] extends infer T_6 ? T_6 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]]] ? T_6 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]] extends infer T_7 ? T_7 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]]] ? T_7 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]] extends infer T_8 ? T_8 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]]] ? T_8 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]] extends infer T_9 ? T_9 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]]] ? T_9 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]] extends infer T_10 ? T_10 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D]] ? T_10 extends -1 ? "done" : "recur" : never : never] : InnerArr; }[[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D] extends infer T_11 ? T_11 extends [-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20][D] ? T_11 extends -1 ? "done" : "recur" : never : never] : A; }[D extends -1 ? "done" : "recur"][] >arr : T[] >depth : number } diff --git a/tests/baselines/reference/arrayFrom.types b/tests/baselines/reference/arrayFrom.types index 34f57a85dbf16..dda3f91d2698f 100644 --- a/tests/baselines/reference/arrayFrom.types +++ b/tests/baselines/reference/arrayFrom.types @@ -43,17 +43,17 @@ const inputASet = new Set(); const result1: A[] = Array.from(inputA); >result1 : A[] >Array.from(inputA) : A[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >inputA : A[] const result2: A[] = Array.from(inputA.values()); >result2 : A[] >Array.from(inputA.values()) : A[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >inputA.values() : IterableIterator >inputA.values : () => IterableIterator >inputA : A[] @@ -62,9 +62,9 @@ const result2: A[] = Array.from(inputA.values()); const result3: B[] = Array.from(inputA.values()); // expect error >result3 : B[] >Array.from(inputA.values()) : A[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >inputA.values() : IterableIterator >inputA.values : () => IterableIterator >inputA : A[] @@ -73,9 +73,9 @@ const result3: B[] = Array.from(inputA.values()); // expect error const result4: A[] = Array.from(inputB, ({ b }): A => ({ a: b })); >result4 : A[] >Array.from(inputB, ({ b }): A => ({ a: b })) : A[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >inputB : B[] >({ b }): A => ({ a: b }) : ({ b }: B) => A >b : string @@ -87,25 +87,25 @@ const result4: A[] = Array.from(inputB, ({ b }): A => ({ a: b })); const result5: A[] = Array.from(inputALike); >result5 : A[] >Array.from(inputALike) : A[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >inputALike : ArrayLike const result6: B[] = Array.from(inputALike); // expect error >result6 : B[] >Array.from(inputALike) : A[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >inputALike : ArrayLike const result7: B[] = Array.from(inputALike, ({ a }): B => ({ b: a })); >result7 : B[] >Array.from(inputALike, ({ a }): B => ({ b: a })) : B[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >inputALike : ArrayLike >({ a }): B => ({ b: a }) : ({ a }: A) => B >a : string @@ -117,17 +117,17 @@ const result7: B[] = Array.from(inputALike, ({ a }): B => ({ b: a })); const result8: A[] = Array.from(inputARand); >result8 : A[] >Array.from(inputARand) : A[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >inputARand : ArrayLike | Iterable const result9: B[] = Array.from(inputARand, ({ a }): B => ({ b: a })); >result9 : B[] >Array.from(inputARand, ({ a }): B => ({ b: a })) : B[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >inputARand : ArrayLike | Iterable >({ a }): B => ({ b: a }) : ({ a }: A) => B >a : string @@ -139,18 +139,18 @@ const result9: B[] = Array.from(inputARand, ({ a }): B => ({ b: a })); const result10: A[] = Array.from(new Set()); >result10 : A[] >Array.from(new Set()) : A[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >new Set() : Set >Set : SetConstructor const result11: B[] = Array.from(inputASet, ({ a }): B => ({ b: a })); >result11 : B[] >Array.from(inputASet, ({ a }): B => ({ b: a })) : B[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >inputASet : Set >({ a }): B => ({ b: a }) : ({ a }: A) => B >a : string diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures.types b/tests/baselines/reference/assignmentCompatWithCallSignatures.types index 7dd4861124743..645e052f4f485 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures.types @@ -56,9 +56,9 @@ a = a2; >a2 : (x: number) => string t = (x: T) => 1; ->t = (x: T) => 1 : (x: T) => number +>t = (x: T) => 1 : (x: T_1) => number >t : T ->(x: T) => 1 : (x: T) => number +>(x: T) => 1 : (x: T_1) => number >x : T >1 : 1 @@ -76,9 +76,9 @@ t = function (x: number) { return ''; } >'' : "" a = (x: T) => 1; ->a = (x: T) => 1 : (x: T) => number +>a = (x: T) => 1 : (x: T_1) => number >a : (x: number) => void ->(x: T) => 1 : (x: T) => number +>(x: T) => 1 : (x: T_1) => number >x : T >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures2.types b/tests/baselines/reference/assignmentCompatWithCallSignatures2.types index 345e81daaa362..3d2c5fe0f4c1d 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures2.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures2.types @@ -68,11 +68,11 @@ t = { f: () => 1 }; >1 : 1 t = { f: (x:T) => 1 }; ->t = { f: (x:T) => 1 } : { f: (x: T) => number; } +>t = { f: (x:T) => 1 } : { f: (x: T_1) => number; } >t : T ->{ f: (x:T) => 1 } : { f: (x: T) => number; } ->f : (x: T) => number ->(x:T) => 1 : (x: T) => number +>{ f: (x:T) => 1 } : { f: (x: T_1) => number; } +>f : (x: T_1) => number +>(x:T) => 1 : (x: T_1) => number >x : T >1 : 1 @@ -102,11 +102,11 @@ a = { f: () => 1 } >1 : 1 a = { f: (x: T) => 1 }; ->a = { f: (x: T) => 1 } : { f: (x: T) => number; } +>a = { f: (x: T) => 1 } : { f: (x: T_1) => number; } >a : { f(x: number): void; } ->{ f: (x: T) => 1 } : { f: (x: T) => number; } ->f : (x: T) => number ->(x: T) => 1 : (x: T) => number +>{ f: (x: T) => 1 } : { f: (x: T_1) => number; } +>f : (x: T_1) => number +>(x: T) => 1 : (x: T_1) => number >x : T >1 : 1 diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures4.types b/tests/baselines/reference/assignmentCompatWithCallSignatures4.types index 9bbb6314447dc..7dd453a01a97b 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures4.types @@ -105,10 +105,10 @@ module Errors { }): boolean[]; }; var a17: { ->a17 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +>a17 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } (x: { ->x : { (a: T): T; (a: T): T; } +>x : { (a: T): T; (a: T_1): T_1; } (a: T): T; >a : T @@ -118,7 +118,7 @@ module Errors { }): any[]; (x: { ->x : { (a: T): T; (a: T): T; } +>x : { (a: T): T; (a: T_1): T_1; } (a: T): T; >a : T @@ -277,13 +277,13 @@ module Errors { a17 = b17; >a17 = b17 : (x: (a: T) => T) => any[] ->a17 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +>a17 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } >b17 : (x: (a: T) => T) => any[] b17 = a17; ->b17 = a17 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +>b17 = a17 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } >b17 : (x: (a: T) => T) => any[] ->a17 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +>a17 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } } module WithGenericSignaturesInBaseType { diff --git a/tests/baselines/reference/assignmentCompatWithCallSignatures5.types b/tests/baselines/reference/assignmentCompatWithCallSignatures5.types index f28b235b0f023..3ec7b4b221f7a 100644 --- a/tests/baselines/reference/assignmentCompatWithCallSignatures5.types +++ b/tests/baselines/reference/assignmentCompatWithCallSignatures5.types @@ -70,7 +70,7 @@ var a16: (x: { a: T; b: T }) => T[]; >b : T var a17: { ->a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } +>a17 : { (x: (a: T) => T): T[]; (x: (a: T_1) => T_1): T_1[]; } (x: (a: T) => T): T[]; >x : (a: T) => T @@ -82,10 +82,10 @@ var a17: { }; var a18: { ->a18 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +>a18 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } (x: { ->x : { (a: T): T; (a: T): T; } +>x : { (a: T): T; (a: T_1): T_1; } (a: T): T; >a : T @@ -95,7 +95,7 @@ var a18: { }): any[]; (x: { ->x : { (a: T): T; (a: T): T; } +>x : { (a: T): T; (a: T_1): T_1; } (a: T): T; >a : T @@ -250,13 +250,13 @@ var b17: (x: (a: T) => T) => T[]; a17 = b17; // ok >a17 = b17 : (x: (a: T) => T) => T[] ->a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } +>a17 : { (x: (a: T) => T): T[]; (x: (a: T_1) => T_1): T_1[]; } >b17 : (x: (a: T) => T) => T[] b17 = a17; // ok ->b17 = a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } +>b17 = a17 : { (x: (a: T) => T): T[]; (x: (a: T_1) => T_1): T_1[]; } >b17 : (x: (a: T) => T) => T[] ->a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } +>a17 : { (x: (a: T) => T): T[]; (x: (a: T_1) => T_1): T_1[]; } var b18: (x: (a: T) => T) => any[]; >b18 : (x: (a: T) => T) => any[] @@ -265,11 +265,11 @@ var b18: (x: (a: T) => T) => any[]; a18 = b18; // ok >a18 = b18 : (x: (a: T) => T) => any[] ->a18 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +>a18 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } >b18 : (x: (a: T) => T) => any[] b18 = a18; // ok ->b18 = a18 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +>b18 = a18 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } >b18 : (x: (a: T) => T) => any[] ->a18 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +>a18 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types index 5e3a05a1329fe..f6302f5cd1a36 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures4.types @@ -105,10 +105,10 @@ module Errors { }): boolean[]; }; var a17: { ->a17 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } +>a17 : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } new (x: { ->x : { new (a: T): T; new (a: T): T; } +>x : { new (a: T): T; new (a: T_1): T_1; } new (a: T): T; >a : T @@ -118,7 +118,7 @@ module Errors { }): any[]; new (x: { ->x : { new (a: T): T; new (a: T): T; } +>x : { new (a: T): T; new (a: T_1): T_1; } new (a: T): T; >a : T @@ -277,13 +277,13 @@ module Errors { a17 = b17; // error >a17 = b17 : new (x: (a: T) => T) => any[] ->a17 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } +>a17 : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } >b17 : new (x: (a: T) => T) => any[] b17 = a17; // error ->b17 = a17 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } +>b17 = a17 : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } >b17 : new (x: (a: T) => T) => any[] ->a17 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } +>a17 : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } } module WithGenericSignaturesInBaseType { diff --git a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types index 0375aa5e31e92..6e208fadc12a1 100644 --- a/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types +++ b/tests/baselines/reference/assignmentCompatWithConstructSignatures5.types @@ -70,7 +70,7 @@ var a16: new (x: { a: T; b: T }) => T[]; >b : T var a17: { ->a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; } +>a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T_1) => T_1): T_1[]; } new (x: new (a: T) => T): T[]; >x : new (a: T) => T @@ -82,10 +82,10 @@ var a17: { }; var a18: { ->a18 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } +>a18 : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } new (x: { ->x : { new (a: T): T; new (a: T): T; } +>x : { new (a: T): T; new (a: T_1): T_1; } new (a: T): T; >a : T @@ -95,7 +95,7 @@ var a18: { }): any[]; new (x: { ->x : { new (a: T): T; new (a: T): T; } +>x : { new (a: T): T; new (a: T_1): T_1; } new (a: T): T; >a : T @@ -250,13 +250,13 @@ var b17: new (x: new (a: T) => T) => T[]; a17 = b17; // ok >a17 = b17 : new (x: new (a: T) => T) => T[] ->a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; } +>a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T_1) => T_1): T_1[]; } >b17 : new (x: new (a: T) => T) => T[] b17 = a17; // ok ->b17 = a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; } +>b17 = a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T_1) => T_1): T_1[]; } >b17 : new (x: new (a: T) => T) => T[] ->a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; } +>a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T_1) => T_1): T_1[]; } var b18: new (x: new (a: T) => T) => any[]; >b18 : new (x: new (a: T) => T) => any[] @@ -265,11 +265,11 @@ var b18: new (x: new (a: T) => T) => any[]; a18 = b18; // ok >a18 = b18 : new (x: new (a: T) => T) => any[] ->a18 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } +>a18 : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } >b18 : new (x: new (a: T) => T) => any[] b18 = a18; // ok ->b18 = a18 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } +>b18 = a18 : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } >b18 : new (x: new (a: T) => T) => any[] ->a18 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } +>a18 : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } diff --git a/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types b/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types index fbccd6ce9cd7d..12cb4fededcaa 100644 --- a/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types +++ b/tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.types @@ -248,225 +248,225 @@ module GenericSignaturesInvalid { // all errors b.a = t.a; >b.a = t.a : () => T ->b.a : () => T +>b.a : () => T_1 >b : Base2 ->a : () => T +>a : () => T_1 >t.a : () => T >t : Target >a : () => T b.a = t.a2; >b.a = t.a2 : (x?: T) => T ->b.a : () => T +>b.a : () => T_1 >b : Base2 ->a : () => T +>a : () => T_1 >t.a2 : (x?: T) => T >t : Target >a2 : (x?: T) => T b.a = t.a3; >b.a = t.a3 : (x: T) => T ->b.a : () => T +>b.a : () => T_1 >b : Base2 ->a : () => T +>a : () => T_1 >t.a3 : (x: T) => T >t : Target >a3 : (x: T) => T b.a = t.a4; >b.a = t.a4 : (x: T, y?: T) => T ->b.a : () => T +>b.a : () => T_1 >b : Base2 ->a : () => T +>a : () => T_1 >t.a4 : (x: T, y?: T) => T >t : Target >a4 : (x: T, y?: T) => T b.a = t.a5; >b.a = t.a5 : (x?: T, y?: T) => T ->b.a : () => T +>b.a : () => T_1 >b : Base2 ->a : () => T +>a : () => T_1 >t.a5 : (x?: T, y?: T) => T >t : Target >a5 : (x?: T, y?: T) => T b.a2 = t.a; >b.a2 = t.a : () => T ->b.a2 : (x?: T) => T +>b.a2 : (x?: T_1) => T_1 >b : Base2 ->a2 : (x?: T) => T +>a2 : (x?: T_1) => T_1 >t.a : () => T >t : Target >a : () => T b.a2 = t.a2; >b.a2 = t.a2 : (x?: T) => T ->b.a2 : (x?: T) => T +>b.a2 : (x?: T_1) => T_1 >b : Base2 ->a2 : (x?: T) => T +>a2 : (x?: T_1) => T_1 >t.a2 : (x?: T) => T >t : Target >a2 : (x?: T) => T b.a2 = t.a3; >b.a2 = t.a3 : (x: T) => T ->b.a2 : (x?: T) => T +>b.a2 : (x?: T_1) => T_1 >b : Base2 ->a2 : (x?: T) => T +>a2 : (x?: T_1) => T_1 >t.a3 : (x: T) => T >t : Target >a3 : (x: T) => T b.a2 = t.a4; >b.a2 = t.a4 : (x: T, y?: T) => T ->b.a2 : (x?: T) => T +>b.a2 : (x?: T_1) => T_1 >b : Base2 ->a2 : (x?: T) => T +>a2 : (x?: T_1) => T_1 >t.a4 : (x: T, y?: T) => T >t : Target >a4 : (x: T, y?: T) => T b.a2 = t.a5; >b.a2 = t.a5 : (x?: T, y?: T) => T ->b.a2 : (x?: T) => T +>b.a2 : (x?: T_1) => T_1 >b : Base2 ->a2 : (x?: T) => T +>a2 : (x?: T_1) => T_1 >t.a5 : (x?: T, y?: T) => T >t : Target >a5 : (x?: T, y?: T) => T b.a3 = t.a; >b.a3 = t.a : () => T ->b.a3 : (x: T) => T +>b.a3 : (x: T_1) => T_1 >b : Base2 ->a3 : (x: T) => T +>a3 : (x: T_1) => T_1 >t.a : () => T >t : Target >a : () => T b.a3 = t.a2; >b.a3 = t.a2 : (x?: T) => T ->b.a3 : (x: T) => T +>b.a3 : (x: T_1) => T_1 >b : Base2 ->a3 : (x: T) => T +>a3 : (x: T_1) => T_1 >t.a2 : (x?: T) => T >t : Target >a2 : (x?: T) => T b.a3 = t.a3; >b.a3 = t.a3 : (x: T) => T ->b.a3 : (x: T) => T +>b.a3 : (x: T_1) => T_1 >b : Base2 ->a3 : (x: T) => T +>a3 : (x: T_1) => T_1 >t.a3 : (x: T) => T >t : Target >a3 : (x: T) => T b.a3 = t.a4; >b.a3 = t.a4 : (x: T, y?: T) => T ->b.a3 : (x: T) => T +>b.a3 : (x: T_1) => T_1 >b : Base2 ->a3 : (x: T) => T +>a3 : (x: T_1) => T_1 >t.a4 : (x: T, y?: T) => T >t : Target >a4 : (x: T, y?: T) => T b.a3 = t.a5; >b.a3 = t.a5 : (x?: T, y?: T) => T ->b.a3 : (x: T) => T +>b.a3 : (x: T_1) => T_1 >b : Base2 ->a3 : (x: T) => T +>a3 : (x: T_1) => T_1 >t.a5 : (x?: T, y?: T) => T >t : Target >a5 : (x?: T, y?: T) => T b.a4 = t.a; >b.a4 = t.a : () => T ->b.a4 : (x: T, y?: T) => T +>b.a4 : (x: T_1, y?: T_1) => T_1 >b : Base2 ->a4 : (x: T, y?: T) => T +>a4 : (x: T_1, y?: T_1) => T_1 >t.a : () => T >t : Target >a : () => T b.a4 = t.a2; >b.a4 = t.a2 : (x?: T) => T ->b.a4 : (x: T, y?: T) => T +>b.a4 : (x: T_1, y?: T_1) => T_1 >b : Base2 ->a4 : (x: T, y?: T) => T +>a4 : (x: T_1, y?: T_1) => T_1 >t.a2 : (x?: T) => T >t : Target >a2 : (x?: T) => T b.a4 = t.a3; >b.a4 = t.a3 : (x: T) => T ->b.a4 : (x: T, y?: T) => T +>b.a4 : (x: T_1, y?: T_1) => T_1 >b : Base2 ->a4 : (x: T, y?: T) => T +>a4 : (x: T_1, y?: T_1) => T_1 >t.a3 : (x: T) => T >t : Target >a3 : (x: T) => T b.a4 = t.a4; >b.a4 = t.a4 : (x: T, y?: T) => T ->b.a4 : (x: T, y?: T) => T +>b.a4 : (x: T_1, y?: T_1) => T_1 >b : Base2 ->a4 : (x: T, y?: T) => T +>a4 : (x: T_1, y?: T_1) => T_1 >t.a4 : (x: T, y?: T) => T >t : Target >a4 : (x: T, y?: T) => T b.a4 = t.a5; >b.a4 = t.a5 : (x?: T, y?: T) => T ->b.a4 : (x: T, y?: T) => T +>b.a4 : (x: T_1, y?: T_1) => T_1 >b : Base2 ->a4 : (x: T, y?: T) => T +>a4 : (x: T_1, y?: T_1) => T_1 >t.a5 : (x?: T, y?: T) => T >t : Target >a5 : (x?: T, y?: T) => T b.a5 = t.a; >b.a5 = t.a : () => T ->b.a5 : (x?: T, y?: T) => T +>b.a5 : (x?: T_1, y?: T_1) => T_1 >b : Base2 ->a5 : (x?: T, y?: T) => T +>a5 : (x?: T_1, y?: T_1) => T_1 >t.a : () => T >t : Target >a : () => T b.a5 = t.a2; >b.a5 = t.a2 : (x?: T) => T ->b.a5 : (x?: T, y?: T) => T +>b.a5 : (x?: T_1, y?: T_1) => T_1 >b : Base2 ->a5 : (x?: T, y?: T) => T +>a5 : (x?: T_1, y?: T_1) => T_1 >t.a2 : (x?: T) => T >t : Target >a2 : (x?: T) => T b.a5 = t.a3; >b.a5 = t.a3 : (x: T) => T ->b.a5 : (x?: T, y?: T) => T +>b.a5 : (x?: T_1, y?: T_1) => T_1 >b : Base2 ->a5 : (x?: T, y?: T) => T +>a5 : (x?: T_1, y?: T_1) => T_1 >t.a3 : (x: T) => T >t : Target >a3 : (x: T) => T b.a5 = t.a4; >b.a5 = t.a4 : (x: T, y?: T) => T ->b.a5 : (x?: T, y?: T) => T +>b.a5 : (x?: T_1, y?: T_1) => T_1 >b : Base2 ->a5 : (x?: T, y?: T) => T +>a5 : (x?: T_1, y?: T_1) => T_1 >t.a4 : (x: T, y?: T) => T >t : Target >a4 : (x: T, y?: T) => T b.a5 = t.a5; >b.a5 = t.a5 : (x?: T, y?: T) => T ->b.a5 : (x?: T, y?: T) => T +>b.a5 : (x?: T_1, y?: T_1) => T_1 >b : Base2 ->a5 : (x?: T, y?: T) => T +>a5 : (x?: T_1, y?: T_1) => T_1 >t.a5 : (x?: T, y?: T) => T >t : Target >a5 : (x?: T, y?: T) => T diff --git a/tests/baselines/reference/asyncArrowFunction11_es5.types b/tests/baselines/reference/asyncArrowFunction11_es5.types index 3785693ae9a7d..043b1ffc982c6 100644 --- a/tests/baselines/reference/asyncArrowFunction11_es5.types +++ b/tests/baselines/reference/asyncArrowFunction11_es5.types @@ -13,9 +13,9 @@ class A { await Promise.resolve(); >await Promise.resolve() : void >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } const obj = { ["a"]: () => this }; // computed property name after `await` triggers case >obj : { a: () => this; } diff --git a/tests/baselines/reference/asyncFunctionReturnType.types b/tests/baselines/reference/asyncFunctionReturnType.types index 36f64a7111f18..77505094dda83 100644 --- a/tests/baselines/reference/asyncFunctionReturnType.types +++ b/tests/baselines/reference/asyncFunctionReturnType.types @@ -46,9 +46,9 @@ async function fIndexedTypeForPromiseOfStringProp(obj: Obj): PromisePromise.resolve(obj.stringProp) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >obj.stringProp : string >obj : Obj >stringProp : string @@ -60,9 +60,9 @@ async function fIndexedTypeForExplicitPromiseOfStringProp(obj: Obj): Promise(obj.stringProp); >Promise.resolve(obj.stringProp) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >obj.stringProp : string >obj : Obj >stringProp : string @@ -84,9 +84,9 @@ async function fIndexedTypeForPromiseOfAnyProp(obj: Obj): PromisePromise.resolve(obj.anyProp) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >obj.anyProp : any >obj : Obj >anyProp : any @@ -98,9 +98,9 @@ async function fIndexedTypeForExplicitPromiseOfAnyProp(obj: Obj): Promise(obj.anyProp); >Promise.resolve(obj.anyProp) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >obj.anyProp : any >obj : Obj >anyProp : any @@ -122,9 +122,9 @@ async function fGenericIndexedTypeForPromiseOfStringProp(obj: return Promise.resolve(obj.stringProp); >Promise.resolve(obj.stringProp) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >obj.stringProp : string >obj : TObj >stringProp : string @@ -136,9 +136,9 @@ async function fGenericIndexedTypeForExplicitPromiseOfStringProp(obj.stringProp); >Promise.resolve(obj.stringProp) : Promise> ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >obj.stringProp : string >obj : TObj >stringProp : string @@ -160,9 +160,9 @@ async function fGenericIndexedTypeForPromiseOfAnyProp(obj: TOb return Promise.resolve(obj.anyProp); >Promise.resolve(obj.anyProp) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >obj.anyProp : any >obj : TObj >anyProp : any @@ -174,9 +174,9 @@ async function fGenericIndexedTypeForExplicitPromiseOfAnyProp( return Promise.resolve(obj.anyProp); >Promise.resolve(obj.anyProp) : Promise> ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >obj.anyProp : any >obj : TObj >anyProp : any @@ -200,9 +200,9 @@ async function fGenericIndexedTypeForPromiseOfKPropPromise.resolve(obj[key]) : Promise> ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >obj[key] : TObj[K] >obj : TObj >key : K @@ -215,9 +215,9 @@ async function fGenericIndexedTypeForExplicitPromiseOfKProp(obj[key]); >Promise.resolve(obj[key]) : Promise> ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >obj[key] : TObj[K] >obj : TObj >key : K diff --git a/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types b/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types index 2e851b9bf27f3..55c886c9f7d1b 100644 --- a/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types +++ b/tests/baselines/reference/asyncFunctionsAndStrictNullChecks.types @@ -4,7 +4,7 @@ declare namespace Windows.Foundation { interface IPromise { then(success?: (value: TResult) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; ->then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } +>then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U_1) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U_2) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U_3) | undefined, error?: ((error: any) => U_3) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } >success : ((value: TResult) => IPromise) | undefined >value : TResult >error : ((error: any) => IPromise) | undefined @@ -13,7 +13,7 @@ declare namespace Windows.Foundation { >progress : any then(success?: (value: TResult) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; ->then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } +>then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U_3) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U_4) | undefined, error?: ((error: any) => U_4) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } >success : ((value: TResult) => IPromise) | undefined >value : TResult >error : ((error: any) => U) | undefined @@ -22,7 +22,7 @@ declare namespace Windows.Foundation { >progress : any then(success?: (value: TResult) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; ->then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } +>then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U_2) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U_4) | undefined, error?: ((error: any) => U_4) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } >success : ((value: TResult) => U) | undefined >value : TResult >error : ((error: any) => IPromise) | undefined @@ -31,7 +31,7 @@ declare namespace Windows.Foundation { >progress : any then(success?: (value: TResult) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; ->then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } +>then : { (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => IPromise) | undefined, error?: ((error: any) => U_2) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U_3) | undefined, error?: ((error: any) => IPromise) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; (success?: ((value: TResult) => U) | undefined, error?: ((error: any) => U) | undefined, progress?: ((progress: any) => void) | undefined): IPromise; } >success : ((value: TResult) => U) | undefined >value : TResult >error : ((error: any) => U) | undefined diff --git a/tests/baselines/reference/awaitCallExpressionInSyncFunction.types b/tests/baselines/reference/awaitCallExpressionInSyncFunction.types index 5a1d333165632..a3fd86c016199 100644 --- a/tests/baselines/reference/awaitCallExpressionInSyncFunction.types +++ b/tests/baselines/reference/awaitCallExpressionInSyncFunction.types @@ -9,9 +9,9 @@ function foo() { >await(Promise.resolve(1)) : any >await : any >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 return foo; diff --git a/tests/baselines/reference/awaitedType.types b/tests/baselines/reference/awaitedType.types index 35dfcc5c39b54..2a02798d93e94 100644 --- a/tests/baselines/reference/awaitedType.types +++ b/tests/baselines/reference/awaitedType.types @@ -120,9 +120,9 @@ async function main() { ] = await Promise.all([ >await Promise.all([ MaybePromise(1), MaybePromise('2'), MaybePromise(true), ]) : [number, string, boolean] >Promise.all([ MaybePromise(1), MaybePromise('2'), MaybePromise(true), ]) : Promise<[number, string, boolean]> ->Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >Promise : PromiseConstructor ->all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >[ MaybePromise(1), MaybePromise('2'), MaybePromise(true), ] : [number | Promise<1> | PromiseLike<1>, string | Promise<"2"> | PromiseLike<"2">, true | Promise | PromiseLike] MaybePromise(1), @@ -486,7 +486,7 @@ async function findManyWrapper< >result : Awaited, Promise<2>>> >await findMany(args) : Awaited, Promise<2>>> >findMany(args) : CheckSelect, Promise<2>> ->findMany : (args: T) => CheckSelect, Promise<2>> +>findMany : (args: T_1) => CheckSelect, Promise<2>> >args : T return result; @@ -546,18 +546,18 @@ async function mainFindMany() { >[Promise.resolve(0)] as const : readonly [Promise] >[Promise.resolve(0)] : readonly [Promise] >Promise.resolve(0) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >0 : 0 Promise.all(promises).then((results) => { >Promise.all(promises).then((results) => { const first = results[0] const second = results[1] // error }) : Promise >Promise.all(promises).then : (onfulfilled?: (value: [number]) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >Promise.all(promises) : Promise<[number]> ->Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >Promise : PromiseConstructor ->all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >promises : readonly [Promise] >then : (onfulfilled?: (value: [number]) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >(results) => { const first = results[0] const second = results[1] // error } : (results: [number]) => void @@ -586,9 +586,9 @@ async function test40330() { const promiseNumber = Promise.resolve(1); >promiseNumber : Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const promiseVoid = async () => {} @@ -599,9 +599,9 @@ async function test40330() { >res : [number, ...void[]] >await Promise.all([ promiseNumber, ...[promiseVoid()] ]) : [number, ...void[]] >Promise.all([ promiseNumber, ...[promiseVoid()] ]) : Promise<[number, ...void[]]> ->Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >Promise : PromiseConstructor ->all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >[ promiseNumber, ...[promiseVoid()] ] : [Promise, ...Promise[]] promiseNumber, diff --git a/tests/baselines/reference/awaitedTypeJQuery.types b/tests/baselines/reference/awaitedTypeJQuery.types index 359cfe4d7950f..8140863465296 100644 --- a/tests/baselines/reference/awaitedTypeJQuery.types +++ b/tests/baselines/reference/awaitedTypeJQuery.types @@ -11,7 +11,7 @@ interface PromiseBase { thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_1 | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_1 | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_2 | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_1 | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_2 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_3 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_2 | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } BRD = never, BJD = never, BND = never, CRD = never, CJD = never, CND = never, @@ -58,7 +58,7 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_1 | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_1 | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_3 | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_1 | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_3 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_4 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_2 | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } BRF = never, BJF = never, BNF = never, CRF = never, CJF = never, CNF = never, @@ -94,7 +94,7 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_1 | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_1 | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_2 | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => PromiseBase | Thenable | ANP): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_1 | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_2 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_3 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_2 | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } BRP = never, BJP = never, BNP = never, CRP = never, CJP = never, CNP = never, @@ -119,7 +119,7 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_1 | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_1 | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_2 | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_1 | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_2 | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_4 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_3 | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } BRD = never, BJD = never, BND = never, CRD = never, CJD = never, CND = never, @@ -155,7 +155,7 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_1 | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_2 | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_1 | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_2 | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_1 | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_3 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => PromiseBase | Thenable | ARF, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_2 | PromiseBase | Thenable, failFilter?: null, progressFilter?: null): PromiseBase; } BRF = never, BJF = never, BNF = never, CRF = never, CJF = never, CNF = never, @@ -180,7 +180,7 @@ interface PromiseBase; thenthen : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } +>then : { (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_1 | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_1 | PromiseBase | Thenable, progressFilter: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_1 | PromiseBase | Thenable): PromiseBase; (doneFilter: null, failFilter: null, progressFilter?: (t: TN, u: UN, v: VN, ...s: SN[]) => ANP_2 | PromiseBase | Thenable): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => ARD_2 | PromiseBase | Thenable, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_2 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: null, failFilter: (t: TJ, u: UJ, v: VJ, ...s: SJ[]) => ARF_3 | PromiseBase | Thenable, progressFilter?: null): PromiseBase; (doneFilter: (t: TR, u: UR, v: VR, ...s: SR[]) => PromiseBase | Thenable | ARD, failFilter?: null, progressFilter?: null): PromiseBase; } BRD = never, BJD = never, BND = never, CRD = never, CJD = never, CND = never, diff --git a/tests/baselines/reference/awaitedTypeStrictNull.types b/tests/baselines/reference/awaitedTypeStrictNull.types index 885abc995fc56..eaf52b29ecd32 100644 --- a/tests/baselines/reference/awaitedTypeStrictNull.types +++ b/tests/baselines/reference/awaitedTypeStrictNull.types @@ -120,9 +120,9 @@ async function main() { ] = await Promise.all([ >await Promise.all([ MaybePromise(1), MaybePromise('2'), MaybePromise(true), ]) : [number, string, boolean] >Promise.all([ MaybePromise(1), MaybePromise('2'), MaybePromise(true), ]) : Promise<[number, string, boolean]> ->Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >Promise : PromiseConstructor ->all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >[ MaybePromise(1), MaybePromise('2'), MaybePromise(true), ] : [number | Promise<1> | PromiseLike<1>, string | Promise<"2"> | PromiseLike<"2">, true | Promise | PromiseLike] MaybePromise(1), @@ -151,9 +151,9 @@ class Api { async post() { return this.request(); } >post : () => Promise >this.request() : Promise ->this.request : () => Promise +>this.request : () => Promise >this : this ->request : () => Promise +>request : () => Promise async request(): Promise { throw new Error(); } >request : () => Promise @@ -174,9 +174,9 @@ async function fn(): Promiseapi.post() : Promise ->api.post : () => Promise +>api.post : () => Promise >api : Api<{}> ->post : () => Promise +>post : () => Promise } // helps with tests where '.types' just prints out the type alias name diff --git a/tests/baselines/reference/bestChoiceType.types b/tests/baselines/reference/bestChoiceType.types index 11acdb67bd9e8..d2c3c87971a8b 100644 --- a/tests/baselines/reference/bestChoiceType.types +++ b/tests/baselines/reference/bestChoiceType.types @@ -5,7 +5,7 @@ (''.match(/ /) || []).map(s => s.toLowerCase()); >(''.match(/ /) || []).map(s => s.toLowerCase()) : any[] ->(''.match(/ /) || []).map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) +>(''.match(/ /) || []).map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U_1, thisArg?: any) => U_1[]) >(''.match(/ /) || []) : RegExpMatchArray | [] >''.match(/ /) || [] : RegExpMatchArray | [] >''.match(/ /) : RegExpMatchArray | null @@ -14,7 +14,7 @@ >match : (regexp: string | RegExp) => RegExpMatchArray | null >/ / : RegExp >[] : [] ->map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) +>map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U_1, thisArg?: any) => U_1[]) >s => s.toLowerCase() : (s: any) => any >s : any >s.toLowerCase() : any @@ -44,9 +44,9 @@ function f1() { let z = y.map(s => s.toLowerCase()); >z : any[] >y.map(s => s.toLowerCase()) : any[] ->y.map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) +>y.map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U_1, thisArg?: any) => U_1[]) >y : RegExpMatchArray | [] ->map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) +>map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U_1, thisArg?: any) => U_1[]) >s => s.toLowerCase() : (s: any) => any >s : any >s.toLowerCase() : any @@ -76,9 +76,9 @@ function f2() { let z = y.map(s => s.toLowerCase()); >z : any[] >y.map(s => s.toLowerCase()) : any[] ->y.map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) +>y.map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U_1, thisArg?: any) => U_1[]) >y : RegExpMatchArray | never[] ->map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) +>map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: never, index: number, array: never[]) => U_1, thisArg?: any) => U_1[]) >s => s.toLowerCase() : (s: any) => any >s : any >s.toLowerCase() : any diff --git a/tests/baselines/reference/betterErrorForUnionCall.types b/tests/baselines/reference/betterErrorForUnionCall.types index e633fe36f69be..e943cbca1c540 100644 --- a/tests/baselines/reference/betterErrorForUnionCall.types +++ b/tests/baselines/reference/betterErrorForUnionCall.types @@ -22,12 +22,12 @@ fnUnion(""); >"" : "" declare const fnUnion2: ((a: T) => void) | ((a: string) => void) ->fnUnion2 : ((a: T) => void) | ((a: string) => void) +>fnUnion2 : ((a: T) => void) | ((a: string) => void) >a : T >a : string fnUnion2(""); >fnUnion2("") : any ->fnUnion2 : ((a: T) => void) | ((a: string) => void) +>fnUnion2 : ((a: T) => void) | ((a: string) => void) >"" : "" diff --git a/tests/baselines/reference/bivariantInferences.types b/tests/baselines/reference/bivariantInferences.types index 98440b3e6b160..d4c5ce1ccf0bb 100644 --- a/tests/baselines/reference/bivariantInferences.types +++ b/tests/baselines/reference/bivariantInferences.types @@ -19,8 +19,8 @@ declare const b: (string | number)[] | null[] | undefined[] | {}[]; let x = a.equalsShallow(b); >x : boolean >a.equalsShallow(b) : boolean ->a.equalsShallow : ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T[], other: readonly T[]) => boolean) +>a.equalsShallow : ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T_1[], other: readonly T_1[]) => boolean) | ((this: readonly T_2[], other: readonly T_2[]) => boolean) | ((this: readonly T_3[], other: readonly T_3[]) => boolean) >a : (string | number)[] | null[] | undefined[] | {}[] ->equalsShallow : ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T[], other: readonly T[]) => boolean) +>equalsShallow : ((this: readonly T[], other: readonly T[]) => boolean) | ((this: readonly T_1[], other: readonly T_1[]) => boolean) | ((this: readonly T_2[], other: readonly T_2[]) => boolean) | ((this: readonly T_3[], other: readonly T_3[]) => boolean) >b : (string | number)[] | null[] | undefined[] | {}[] diff --git a/tests/baselines/reference/bluebirdStaticThis.types b/tests/baselines/reference/bluebirdStaticThis.types index 07f420eba6f63..d62f40ea9d4d8 100644 --- a/tests/baselines/reference/bluebirdStaticThis.types +++ b/tests/baselines/reference/bluebirdStaticThis.types @@ -18,7 +18,7 @@ export declare class Promise implements Promise.Thenable { >error : any static try(dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; ->try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } +>try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } >dit : typeof Promise >Promise : typeof Promise >fn : () => Promise.Thenable @@ -27,7 +27,7 @@ export declare class Promise implements Promise.Thenable { >ctx : any static try(dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; ->try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } +>try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } >dit : typeof Promise >Promise : typeof Promise >fn : () => R @@ -35,7 +35,7 @@ export declare class Promise implements Promise.Thenable { >ctx : any static attempt(dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; ->attempt : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } +>attempt : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } >dit : typeof Promise >Promise : typeof Promise >fn : () => Promise.Thenable @@ -44,7 +44,7 @@ export declare class Promise implements Promise.Thenable { >ctx : any static attempt(dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; ->attempt : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } +>attempt : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } >dit : typeof Promise >Promise : typeof Promise >fn : () => R @@ -58,19 +58,19 @@ export declare class Promise implements Promise.Thenable { >fn : Function static resolve(dit: typeof Promise): Promise; ->resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } +>resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R_1): Promise; } >dit : typeof Promise >Promise : typeof Promise static resolve(dit: typeof Promise, value: Promise.Thenable): Promise; ->resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } +>resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R_1): Promise; } >dit : typeof Promise >Promise : typeof Promise >value : Promise.Thenable >Promise : any static resolve(dit: typeof Promise, value: R): Promise; ->resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } +>resolve : { (dit: typeof Promise): Promise; (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } >dit : typeof Promise >Promise : typeof Promise >value : R @@ -94,14 +94,14 @@ export declare class Promise implements Promise.Thenable { >Promise : any static cast(dit: typeof Promise, value: Promise.Thenable): Promise; ->cast : { (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } +>cast : { (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R_1): Promise; } >dit : typeof Promise >Promise : typeof Promise >value : Promise.Thenable >Promise : any static cast(dit: typeof Promise, value: R): Promise; ->cast : { (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } +>cast : { (dit: typeof Promise, value: Promise.Thenable): Promise; (dit: typeof Promise, value: R): Promise; } >dit : typeof Promise >Promise : typeof Promise >value : R @@ -124,7 +124,7 @@ export declare class Promise implements Promise.Thenable { >Promise : typeof Promise static delay(dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; ->delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } +>delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R_1, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } >dit : typeof Promise >Promise : typeof Promise >value : Promise.Thenable @@ -132,14 +132,14 @@ export declare class Promise implements Promise.Thenable { >ms : number static delay(dit: typeof Promise, value: R, ms: number): Promise; ->delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } +>delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } >dit : typeof Promise >Promise : typeof Promise >value : R >ms : number static delay(dit: typeof Promise, ms: number): Promise; ->delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } +>delay : { (dit: typeof Promise, value: Promise.Thenable, ms: number): Promise; (dit: typeof Promise, value: R_1, ms: number): Promise; (dit: typeof Promise, ms: number): Promise; } >dit : typeof Promise >Promise : typeof Promise >ms : number @@ -183,7 +183,7 @@ export declare class Promise implements Promise.Thenable { >reason : any static all(dit: typeof Promise, values: Promise.Thenable[]>): Promise; ->all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } +>all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> @@ -191,21 +191,21 @@ export declare class Promise implements Promise.Thenable { >Promise : any static all(dit: typeof Promise, values: Promise.Thenable): Promise; ->all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } +>all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_4[]): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable >Promise : any static all(dit: typeof Promise, values: Promise.Thenable[]): Promise; ->all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } +>all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_4[]): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] >Promise : any static all(dit: typeof Promise, values: R[]): Promise; ->all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } +>all : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : R[] @@ -223,7 +223,7 @@ export declare class Promise implements Promise.Thenable { >object : Object static settle(dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; ->settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R[]): Promise[]>; } +>settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R_3[]): Promise[]>; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> @@ -232,7 +232,7 @@ export declare class Promise implements Promise.Thenable { >Promise : any static settle(dit: typeof Promise, values: Promise.Thenable): Promise[]>; ->settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R[]): Promise[]>; } +>settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R_4[]): Promise[]>; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable @@ -240,7 +240,7 @@ export declare class Promise implements Promise.Thenable { >Promise : any static settle(dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; ->settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R[]): Promise[]>; } +>settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R_4[]): Promise[]>; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] @@ -248,14 +248,14 @@ export declare class Promise implements Promise.Thenable { >Promise : any static settle(dit: typeof Promise, values: R[]): Promise[]>; ->settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R[]): Promise[]>; } +>settle : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise[]>; (dit: typeof Promise, values: Promise.Thenable): Promise[]>; (dit: typeof Promise, values: Promise.Thenable[]): Promise[]>; (dit: typeof Promise, values: R[]): Promise[]>; } >dit : typeof Promise >Promise : typeof Promise >values : R[] >Promise : any static any(dit: typeof Promise, values: Promise.Thenable[]>): Promise; ->any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } +>any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> @@ -263,27 +263,27 @@ export declare class Promise implements Promise.Thenable { >Promise : any static any(dit: typeof Promise, values: Promise.Thenable): Promise; ->any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } +>any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_4[]): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable >Promise : any static any(dit: typeof Promise, values: Promise.Thenable[]): Promise; ->any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } +>any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_4[]): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] >Promise : any static any(dit: typeof Promise, values: R[]): Promise; ->any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } +>any : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : R[] static race(dit: typeof Promise, values: Promise.Thenable[]>): Promise; ->race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } +>race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_3[]): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> @@ -291,27 +291,27 @@ export declare class Promise implements Promise.Thenable { >Promise : any static race(dit: typeof Promise, values: Promise.Thenable): Promise; ->race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } +>race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_4[]): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable >Promise : any static race(dit: typeof Promise, values: Promise.Thenable[]): Promise; ->race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } +>race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R_4[]): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] >Promise : any static race(dit: typeof Promise, values: R[]): Promise; ->race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } +>race : { (dit: typeof Promise, values: Promise.Thenable[]>): Promise; (dit: typeof Promise, values: Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]): Promise; (dit: typeof Promise, values: R[]): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : R[] static some(dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; ->some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R[], count: number): Promise; } +>some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R_3[], count: number): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> @@ -320,7 +320,7 @@ export declare class Promise implements Promise.Thenable { >count : number static some(dit: typeof Promise, values: Promise.Thenable, count: number): Promise; ->some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R[], count: number): Promise; } +>some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R_4[], count: number): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable @@ -328,7 +328,7 @@ export declare class Promise implements Promise.Thenable { >count : number static some(dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; ->some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R[], count: number): Promise; } +>some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R_4[], count: number): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] @@ -336,27 +336,27 @@ export declare class Promise implements Promise.Thenable { >count : number static some(dit: typeof Promise, values: R[], count: number): Promise; ->some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R[], count: number): Promise; } +>some : { (dit: typeof Promise, values: Promise.Thenable[]>, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable, count: number): Promise; (dit: typeof Promise, values: Promise.Thenable[], count: number): Promise; (dit: typeof Promise, values: R[], count: number): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : R[] >count : number static join(dit: typeof Promise, ...values: Promise.Thenable[]): Promise; ->join : { (dit: typeof Promise, ...values: Promise.Thenable[]): Promise; (dit: typeof Promise, ...values: R[]): Promise; } +>join : { (dit: typeof Promise, ...values: Promise.Thenable[]): Promise; (dit: typeof Promise, ...values: R_1[]): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] >Promise : any static join(dit: typeof Promise, ...values: R[]): Promise; ->join : { (dit: typeof Promise, ...values: Promise.Thenable[]): Promise; (dit: typeof Promise, ...values: R[]): Promise; } +>join : { (dit: typeof Promise, ...values: Promise.Thenable[]): Promise; (dit: typeof Promise, ...values: R[]): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : R[] static map(dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; ->map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } +>map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_2, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => U_3): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_4, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => U_5): Promise; (dit: typeof Promise, values: R_6[], mapper: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => U_7): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> @@ -369,7 +369,7 @@ export declare class Promise implements Promise.Thenable { >Promise : any static map(dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; ->map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } +>map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_4, index: number, arrayLength: number) => U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_6, index: number, arrayLength: number) => U_6): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_8[], mapper: (item: R_8, index: number, arrayLength: number) => U_8): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> @@ -381,7 +381,7 @@ export declare class Promise implements Promise.Thenable { >arrayLength : number static map(dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; ->map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } +>map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_2, index: number, arrayLength: number) => U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_4, index: number, arrayLength: number) => U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_6, index: number, arrayLength: number) => U_6): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_8[], mapper: (item: R_8, index: number, arrayLength: number) => U_8): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable @@ -393,7 +393,7 @@ export declare class Promise implements Promise.Thenable { >Promise : any static map(dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; ->map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } +>map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_2, index: number, arrayLength: number) => U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_6, index: number, arrayLength: number) => U_6): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_8[], mapper: (item: R_8, index: number, arrayLength: number) => U_8): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable @@ -404,7 +404,7 @@ export declare class Promise implements Promise.Thenable { >arrayLength : number static map(dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; ->map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } +>map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_2, index: number, arrayLength: number) => U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_4, index: number, arrayLength: number) => U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_6, index: number, arrayLength: number) => U_6): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_8[], mapper: (item: R_8, index: number, arrayLength: number) => U_8): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] @@ -416,7 +416,7 @@ export declare class Promise implements Promise.Thenable { >Promise : any static map(dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; ->map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } +>map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_2, index: number, arrayLength: number) => U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_4, index: number, arrayLength: number) => U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_8[], mapper: (item: R_8, index: number, arrayLength: number) => U_8): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] @@ -427,7 +427,7 @@ export declare class Promise implements Promise.Thenable { >arrayLength : number static map(dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; ->map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } +>map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_2, index: number, arrayLength: number) => U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_4, index: number, arrayLength: number) => U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_6, index: number, arrayLength: number) => U_6): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_8[], mapper: (item: R_8, index: number, arrayLength: number) => U_8): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : R[] @@ -438,7 +438,7 @@ export declare class Promise implements Promise.Thenable { >Promise : any static map(dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; ->map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } +>map : { (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, mapper: (item: R_2, index: number, arrayLength: number) => U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, mapper: (item: R_4, index: number, arrayLength: number) => U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], mapper: (item: R_6, index: number, arrayLength: number) => U_6): Promise; (dit: typeof Promise, values: R_7[], mapper: (item: R_7, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], mapper: (item: R, index: number, arrayLength: number) => U): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : R[] @@ -448,7 +448,7 @@ export declare class Promise implements Promise.Thenable { >arrayLength : number static reduce(dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; ->reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } +>reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => U_1, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => U_3, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => U_5, initialValue?: U_5): Promise; (dit: typeof Promise, values: R_6[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => U_7, initialValue?: U_7): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> @@ -463,7 +463,7 @@ export declare class Promise implements Promise.Thenable { >initialValue : U static reduce(dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; ->reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } +>reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => U_4, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_5): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => U_6, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_7): Promise; (dit: typeof Promise, values: R_8[], reducer: (total: U_8, current: R_8, index: number, arrayLength: number) => U_8, initialValue?: U_8): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> @@ -477,7 +477,7 @@ export declare class Promise implements Promise.Thenable { >initialValue : U static reduce(dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; ->reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } +>reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => U_2, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => U_4, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_5): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => U_6, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_7): Promise; (dit: typeof Promise, values: R_8[], reducer: (total: U_8, current: R_8, index: number, arrayLength: number) => U_8, initialValue?: U_8): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable @@ -491,7 +491,7 @@ export declare class Promise implements Promise.Thenable { >initialValue : U static reduce(dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; ->reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } +>reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => U_2, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_5): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => U_6, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_7): Promise; (dit: typeof Promise, values: R_8[], reducer: (total: U_8, current: R_8, index: number, arrayLength: number) => U_8, initialValue?: U_8): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable @@ -504,7 +504,7 @@ export declare class Promise implements Promise.Thenable { >initialValue : U static reduce(dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; ->reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } +>reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => U_2, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => U_4, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => U_6, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_7): Promise; (dit: typeof Promise, values: R_8[], reducer: (total: U_8, current: R_8, index: number, arrayLength: number) => U_8, initialValue?: U_8): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] @@ -518,7 +518,7 @@ export declare class Promise implements Promise.Thenable { >initialValue : U static reduce(dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; ->reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } +>reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => U_2, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => U_4, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_5): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_7): Promise; (dit: typeof Promise, values: R_8[], reducer: (total: U_8, current: R_8, index: number, arrayLength: number) => U_8, initialValue?: U_8): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] @@ -531,7 +531,7 @@ export declare class Promise implements Promise.Thenable { >initialValue : U static reduce(dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; ->reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } +>reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => U_2, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => U_4, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_5): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => U_6, initialValue?: U_6): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R_8[], reducer: (total: U_8, current: R_8, index: number, arrayLength: number) => U_8, initialValue?: U_8): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : R[] @@ -544,7 +544,7 @@ export declare class Promise implements Promise.Thenable { >initialValue : U static reduce(dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; ->reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } +>reduce : { (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_1, current: R_1, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_1): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, reducer: (total: U_2, current: R_2, index: number, arrayLength: number) => U_2, initialValue?: U_2): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_3, current: R_3, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_3): Promise; (dit: typeof Promise, values: Promise.Thenable, reducer: (total: U_4, current: R_4, index: number, arrayLength: number) => U_4, initialValue?: U_4): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_5, current: R_5, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_5): Promise; (dit: typeof Promise, values: Promise.Thenable[], reducer: (total: U_6, current: R_6, index: number, arrayLength: number) => U_6, initialValue?: U_6): Promise; (dit: typeof Promise, values: R_7[], reducer: (total: U_7, current: R_7, index: number, arrayLength: number) => Promise.Thenable, initialValue?: U_7): Promise; (dit: typeof Promise, values: R[], reducer: (total: U, current: R, index: number, arrayLength: number) => U, initialValue?: U): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : R[] @@ -556,7 +556,7 @@ export declare class Promise implements Promise.Thenable { >initialValue : U static filter(dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; ->filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } +>filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_2, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_4, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_6[], filterer: (item: R_6, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => boolean): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> @@ -569,7 +569,7 @@ export declare class Promise implements Promise.Thenable { >Promise : any static filter(dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; ->filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } +>filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_4, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_6, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_8[], filterer: (item: R_8, index: number, arrayLength: number) => boolean): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[]> @@ -581,7 +581,7 @@ export declare class Promise implements Promise.Thenable { >arrayLength : number static filter(dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; ->filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } +>filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_2, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_4, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_6, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_8[], filterer: (item: R_8, index: number, arrayLength: number) => boolean): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable @@ -593,7 +593,7 @@ export declare class Promise implements Promise.Thenable { >Promise : any static filter(dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; ->filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } +>filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_2, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_6, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_8[], filterer: (item: R_8, index: number, arrayLength: number) => boolean): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable @@ -604,7 +604,7 @@ export declare class Promise implements Promise.Thenable { >arrayLength : number static filter(dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; ->filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } +>filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_2, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_4, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_6, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_8[], filterer: (item: R_8, index: number, arrayLength: number) => boolean): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] @@ -616,7 +616,7 @@ export declare class Promise implements Promise.Thenable { >Promise : any static filter(dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; ->filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } +>filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_2, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_4, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_8[], filterer: (item: R_8, index: number, arrayLength: number) => boolean): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : Promise.Thenable[] @@ -627,7 +627,7 @@ export declare class Promise implements Promise.Thenable { >arrayLength : number static filter(dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; ->filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } +>filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_2, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_4, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_6, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R_8[], filterer: (item: R_8, index: number, arrayLength: number) => boolean): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : R[] @@ -638,7 +638,7 @@ export declare class Promise implements Promise.Thenable { >Promise : any static filter(dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; ->filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } +>filter : { (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_1, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[]>, filterer: (item: R_2, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_3, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable, filterer: (item: R_4, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_5, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: Promise.Thenable[], filterer: (item: R_6, index: number, arrayLength: number) => boolean): Promise; (dit: typeof Promise, values: R_7[], filterer: (item: R_7, index: number, arrayLength: number) => Promise.Thenable): Promise; (dit: typeof Promise, values: R[], filterer: (item: R, index: number, arrayLength: number) => boolean): Promise; } >dit : typeof Promise >Promise : typeof Promise >values : R[] @@ -651,28 +651,28 @@ export declare class Promise implements Promise.Thenable { export declare module Promise { export interface Thenable { then(onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; ->then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; (onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; } +>then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U_1): Thenable; (onFulfilled: (value: R) => U_2, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U_3, onRejected?: (error: any) => U_3): Thenable; } >onFulfilled : (value: R) => Thenable >value : R >onRejected : (error: any) => Thenable >error : any then(onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; ->then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; (onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; } +>then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; (onFulfilled: (value: R) => U_3, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U_4, onRejected?: (error: any) => U_4): Thenable; } >onFulfilled : (value: R) => Thenable >value : R >onRejected : (error: any) => U >error : any then(onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; ->then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; (onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; } +>then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U_2): Thenable; (onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U_4, onRejected?: (error: any) => U_4): Thenable; } >onFulfilled : (value: R) => U >value : R >onRejected : (error: any) => Thenable >error : any then(onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; ->then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U): Thenable; (onFulfilled: (value: R) => U, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; } +>then : { (onFulfilled: (value: R) => Thenable, onRejected: (error: any) => Thenable): Thenable; (onFulfilled: (value: R) => Thenable, onRejected?: (error: any) => U_2): Thenable; (onFulfilled: (value: R) => U_3, onRejected: (error: any) => Thenable): Thenable; (onFulfilled?: (value: R) => U, onRejected?: (error: any) => U): Thenable; } >onFulfilled : (value: R) => U >value : R >onRejected : (error: any) => U @@ -704,9 +704,9 @@ fooProm = Promise.try(Promise, () => { >fooProm = Promise.try(Promise, () => { return foo;}) : Promise >fooProm : Promise >Promise.try(Promise, () => { return foo;}) : Promise ->Promise.try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } +>Promise.try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } >Promise : typeof Promise ->try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } +>try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } >Promise : typeof Promise >() => { return foo;} : () => Foo @@ -718,9 +718,9 @@ fooProm = Promise.try(Promise, () => { >fooProm = Promise.try(Promise, () => { return foo;}, arr) : Promise >fooProm : Promise >Promise.try(Promise, () => { return foo;}, arr) : Promise ->Promise.try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } +>Promise.try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } >Promise : typeof Promise ->try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } +>try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } >Promise : typeof Promise >() => { return foo;} : () => Foo @@ -734,9 +734,9 @@ fooProm = Promise.try(Promise, () => { >fooProm = Promise.try(Promise, () => { return foo;}, arr, x) : Promise >fooProm : Promise >Promise.try(Promise, () => { return foo;}, arr, x) : Promise ->Promise.try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } +>Promise.try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } >Promise : typeof Promise ->try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R, args?: any[], ctx?: any): Promise; } +>try : { (dit: typeof Promise, fn: () => Promise.Thenable, args?: any[], ctx?: any): Promise; (dit: typeof Promise, fn: () => R_1, args?: any[], ctx?: any): Promise; } >Promise : typeof Promise >() => { return foo;} : () => Foo diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance3.types b/tests/baselines/reference/callSignatureAssignabilityInInheritance3.types index b07e8757cddbf..c493f65778a73 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance3.types +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance3.types @@ -106,10 +106,10 @@ module Errors { }): boolean[]; }; a17: { ->a17 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +>a17 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } (x: { ->x : { (a: T): T; (a: T): T; } +>x : { (a: T): T; (a: T_1): T_1; } (a: T): T; >a : T @@ -119,7 +119,7 @@ module Errors { }): any[]; (x: { ->x : { (a: T): T; (a: T): T; } +>x : { (a: T): T; (a: T_1): T_1; } (a: T): T; >a : T diff --git a/tests/baselines/reference/callSignatureAssignabilityInInheritance4.types b/tests/baselines/reference/callSignatureAssignabilityInInheritance4.types index 55191a346a4a8..bc30e2f3fcaf0 100644 --- a/tests/baselines/reference/callSignatureAssignabilityInInheritance4.types +++ b/tests/baselines/reference/callSignatureAssignabilityInInheritance4.types @@ -72,7 +72,7 @@ interface A { // T >b : T a17: { ->a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } +>a17 : { (x: (a: T) => T): T[]; (x: (a: T_1) => T_1): T_1[]; } (x: (a: T) => T): T[]; >x : (a: T) => T @@ -84,10 +84,10 @@ interface A { // T }; a18: { ->a18 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +>a18 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } (x: { ->x : { (a: T): T; (a: T): T; } +>x : { (a: T): T; (a: T_1): T_1; } (a: T): T; >a : T @@ -97,7 +97,7 @@ interface A { // T }): any[]; (x: { ->x : { (a: T): T; (a: T): T; } +>x : { (a: T): T; (a: T_1): T_1; } (a: T): T; >a : T diff --git a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType.types b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType.types index cd3c5d006bc4d..40317309b7a3a 100644 --- a/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType.types +++ b/tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType.types @@ -46,7 +46,7 @@ var a: { } var a2: { ->a2 : { (x: T): number; (x: T): string; } +>a2 : { (x: T): number; (x: T_1): string; } (x: T): number; >x : T diff --git a/tests/baselines/reference/callbacksDontShareTypes.types b/tests/baselines/reference/callbacksDontShareTypes.types index addab08945042..43269fc3eb1ed 100644 --- a/tests/baselines/reference/callbacksDontShareTypes.types +++ b/tests/baselines/reference/callbacksDontShareTypes.types @@ -15,13 +15,13 @@ interface Collection { } interface Combinators { map(c: Collection, f: (x: T) => U): Collection; ->map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } +>map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } >c : Collection >f : (x: T) => U >x : T map(c: Collection, f: (x: T) => any): Collection; ->map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } +>map : { (c: Collection, f: (x: T_1) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } >c : Collection >f : (x: T) => any >x : T @@ -45,9 +45,9 @@ var rf1 = (x: number) => { return x.toFixed() }; var r1a = _.map(c2, (x) => { return x.toFixed() }); >r1a : Collection >_.map(c2, (x) => { return x.toFixed() }) : Collection ->_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } +>_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } >_ : Combinators ->map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } +>map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } >c2 : Collection >(x) => { return x.toFixed() } : (x: number) => string >x : number @@ -59,18 +59,18 @@ var r1a = _.map(c2, (x) => { return x.toFixed() }); var r1b = _.map(c2, rf1); // this line should not cause the following 2 to have errors >r1b : Collection >_.map(c2, rf1) : Collection ->_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } +>_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } >_ : Combinators ->map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } +>map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } >c2 : Collection >rf1 : (x: number) => string var r5a = _.map(c2, (x) => { return x.toFixed() }); >r5a : Collection >_.map(c2, (x) => { return x.toFixed() }) : Collection ->_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } +>_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } >_ : Combinators ->map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } +>map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } >c2 : Collection >(x) => { return x.toFixed() } : (x: number) => string >x : number @@ -82,9 +82,9 @@ var r5a = _.map(c2, (x) => { return x.toFixed() }); var r5b = _.map(c2, rf1); >r5b : Collection >_.map(c2, rf1) : Collection ->_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } +>_.map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } >_ : Combinators ->map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T) => any): Collection; } +>map : { (c: Collection, f: (x: T) => U): Collection; (c: Collection, f: (x: T_1) => any): Collection; } >c2 : Collection >rf1 : (x: number) => string diff --git a/tests/baselines/reference/circularContextualReturnType.types b/tests/baselines/reference/circularContextualReturnType.types index 870b86d76e574..113755d8f9f57 100644 --- a/tests/baselines/reference/circularContextualReturnType.types +++ b/tests/baselines/reference/circularContextualReturnType.types @@ -5,9 +5,9 @@ Object.freeze({ >Object.freeze({ foo() { return Object.freeze('a'); },}) : Readonly<{ foo(): string; }> ->Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >Object : ObjectConstructor ->freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >{ foo() { return Object.freeze('a'); },} : { foo(): string; } foo() { @@ -15,9 +15,9 @@ Object.freeze({ return Object.freeze('a'); >Object.freeze('a') : string ->Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >Object : ObjectConstructor ->freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >'a' : "a" }, diff --git a/tests/baselines/reference/classStaticBlock23(target=es2022).types b/tests/baselines/reference/classStaticBlock23(target=es2022).types index 074b7f5cb5034..30b05405a1f0f 100644 --- a/tests/baselines/reference/classStaticBlock23(target=es2022).types +++ b/tests/baselines/reference/classStaticBlock23(target=es2022).types @@ -13,9 +13,9 @@ const nums = [1, 2, 3].map(n => Promise.resolve(n)) >n => Promise.resolve(n) : (n: number) => Promise >n : number >Promise.resolve(n) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >n : number class C { diff --git a/tests/baselines/reference/classStaticBlock23(target=esnext).types b/tests/baselines/reference/classStaticBlock23(target=esnext).types index 074b7f5cb5034..30b05405a1f0f 100644 --- a/tests/baselines/reference/classStaticBlock23(target=esnext).types +++ b/tests/baselines/reference/classStaticBlock23(target=esnext).types @@ -13,9 +13,9 @@ const nums = [1, 2, 3].map(n => Promise.resolve(n)) >n => Promise.resolve(n) : (n: number) => Promise >n : number >Promise.resolve(n) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >n : number class C { diff --git a/tests/baselines/reference/coAndContraVariantInferences3.types b/tests/baselines/reference/coAndContraVariantInferences3.types index 823ee4fe994cb..e3c4cffd38ba0 100644 --- a/tests/baselines/reference/coAndContraVariantInferences3.types +++ b/tests/baselines/reference/coAndContraVariantInferences3.types @@ -36,7 +36,7 @@ type OverloadFunction = UnionToIntersection = { [P in OverloadKeys]: (args: OverloadParameters) => boolean | undefined; }; >OverloadBinders : OverloadBinders ->args : Parameters<{ [P in Extract]: T[P]; }[Extract]> +>args : Parameters<{ [P_1 in Extract]: T[P_1]; }[Extract]> type OverloadDeprecations = { [P in OverloadKeys]?: DeprecationOptions; }; >OverloadDeprecations : OverloadDeprecations @@ -173,21 +173,21 @@ declare const updateImportDeclaration: { } declare function every(array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; ->every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } +>every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T_1[] | undefined, callback: (element: T_1, index: number) => element is U_1): array is readonly U_1[] | undefined; (array: readonly T_2[] | undefined, callback: (element: T_2, index: number) => boolean): boolean; } >array : readonly T[] >callback : (element: T, index: number) => element is U >element : T >index : number declare function every(array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; ->every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } +>every : { (array: readonly T_1[], callback: (element: T_1, index: number) => element is U_1): array is readonly U_1[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T_3[] | undefined, callback: (element: T_3, index: number) => boolean): boolean; } >array : readonly T[] | undefined >callback : (element: T, index: number) => element is U >element : T >index : number declare function every(array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; ->every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } +>every : { (array: readonly T_1[], callback: (element: T_1, index: number) => element is U): array is readonly U[]; (array: readonly T_2[] | undefined, callback: (element: T_2, index: number) => element is U_1): array is readonly U_1[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } >array : readonly T[] | undefined >callback : (element: T, index: number) => boolean >element : T @@ -287,7 +287,7 @@ buildOverload("updateImportDeclaration") >modifiers : readonly Modifier[] | readonly Decorator[] | undefined >undefined : undefined >every(modifiers, isModifier) : boolean ->every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } +>every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T_1[] | undefined, callback: (element: T_1, index: number) => element is U_1): array is readonly U_1[] | undefined; (array: readonly T_2[] | undefined, callback: (element: T_2, index: number) => boolean): boolean; } >modifiers : readonly Modifier[] | readonly Decorator[] >isModifier : (node: Node) => node is Modifier @@ -343,7 +343,7 @@ buildOverload("updateImportDeclaration") >decorators : readonly Modifier[] | readonly Decorator[] | undefined >undefined : undefined >every(decorators, isDecorator) : boolean ->every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } +>every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T_1[] | undefined, callback: (element: T_1, index: number) => element is U_1): array is readonly U_1[] | undefined; (array: readonly T_2[] | undefined, callback: (element: T_2, index: number) => boolean): boolean; } >decorators : readonly Modifier[] | readonly Decorator[] >isDecorator : (node: Node) => node is Decorator @@ -409,13 +409,13 @@ function foo() { every(modifiers, isModifier); >every(modifiers, isModifier) : boolean ->every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } +>every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T_1[] | undefined, callback: (element: T_1, index: number) => element is U_1): array is readonly U_1[] | undefined; (array: readonly T_2[] | undefined, callback: (element: T_2, index: number) => boolean): boolean; } >modifiers : readonly Modifier[] | readonly Decorator[] >isModifier : (node: Node) => node is Modifier every(modifiers, isDecorator); >every(modifiers, isDecorator) : boolean ->every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T[] | undefined, callback: (element: T, index: number) => element is U): array is readonly U[] | undefined; (array: readonly T[] | undefined, callback: (element: T, index: number) => boolean): boolean; } +>every : { (array: readonly T[], callback: (element: T, index: number) => element is U): array is readonly U[]; (array: readonly T_1[] | undefined, callback: (element: T_1, index: number) => element is U_1): array is readonly U_1[] | undefined; (array: readonly T_2[] | undefined, callback: (element: T_2, index: number) => boolean): boolean; } >modifiers : readonly Modifier[] | readonly Decorator[] >isDecorator : (node: Node) => node is Decorator } diff --git a/tests/baselines/reference/complexRecursiveCollections.types b/tests/baselines/reference/complexRecursiveCollections.types index 0aa394d46b370..3c61e30dc16ed 100644 --- a/tests/baselines/reference/complexRecursiveCollections.types +++ b/tests/baselines/reference/complexRecursiveCollections.types @@ -22,7 +22,7 @@ interface Collection { // these seem necessary to push it over the top for memory usage reduce(reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; ->reduce : { (reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; (reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; } +>reduce : { (reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; (reducer: (reduction: V | R_1, value: V, key: K, iter: this) => R_1): R_1; } >reducer : (reduction: R, value: V, key: K, iter: this) => R >reduction : R >value : V @@ -32,7 +32,7 @@ interface Collection { >context : any reduce(reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; ->reduce : { (reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; (reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; } +>reduce : { (reducer: (reduction: R_1, value: V, key: K, iter: this) => R_1, initialReduction: R_1, context?: any): R_1; (reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; } >reducer : (reduction: V | R, value: V, key: K, iter: this) => R >reduction : V | R >value : V @@ -832,14 +832,14 @@ declare module Immutable { >collections : Collection[] zipWith(zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): OrderedSet; ->zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: any[]) => Z, ...collections: Collection[]): OrderedSet; } +>zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U_1, thirdValue: V) => Z_1, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: any[]) => Z_2, ...collections: Collection[]): OrderedSet; } >zipper : (value: T, otherValue: U) => Z >value : T >otherValue : U >otherCollection : Collection zipWith(zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): OrderedSet; ->zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: any[]) => Z, ...collections: Collection[]): OrderedSet; } +>zipWith : { (zipper: (value: T, otherValue: U_1) => Z_1, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: any[]) => Z_3, ...collections: Collection[]): OrderedSet; } >zipper : (value: T, otherValue: U, thirdValue: V) => Z >value : T >otherValue : U @@ -848,7 +848,7 @@ declare module Immutable { >thirdCollection : Collection zipWith(zipper: (...any: Array) => Z, ...collections: Array>): OrderedSet; ->zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: Array) => Z, ...collections: Array>): OrderedSet; } +>zipWith : { (zipper: (value: T, otherValue: U) => Z_1, otherCollection: Collection): OrderedSet; (zipper: (value: T, otherValue: U_1, thirdValue: V) => Z_2, otherCollection: Collection, thirdCollection: Collection): OrderedSet; (zipper: (...any: Array) => Z, ...collections: Array>): OrderedSet; } >zipper : (...any: Array) => Z >any : any[] >collections : Collection[] @@ -1151,22 +1151,22 @@ declare module Immutable { export module Keyed {} export function Keyed(collection: Iterable<[K, V]>): Seq.Keyed; ->Keyed : { (collection: Iterable<[K, V]>): Seq.Keyed; (obj: { [key: string]: V; }): Keyed; (): Keyed; (): Keyed; } +>Keyed : { (collection: Iterable<[K, V]>): Seq.Keyed; (obj: { [key: string]: V_1; }): Keyed; (): Keyed; (): Keyed; } >collection : Iterable<[K, V]> >Seq : any export function Keyed(obj: {[key: string]: V}): Seq.Keyed; ->Keyed : { (collection: Iterable<[K, V]>): Keyed; (obj: { [key: string]: V; }): Seq.Keyed; (): Keyed; (): Keyed; } +>Keyed : { (collection: Iterable<[K, V_1]>): Keyed; (obj: { [key: string]: V; }): Seq.Keyed; (): Keyed; (): Keyed; } >obj : { [key: string]: V; } >key : string >Seq : any export function Keyed(): Seq.Keyed; ->Keyed : { (collection: Iterable<[K, V]>): Keyed; (obj: { [key: string]: V; }): Keyed; (): Seq.Keyed; (): Keyed; } +>Keyed : { (collection: Iterable<[K_1, V_1]>): Keyed; (obj: { [key: string]: V_2; }): Keyed; (): Seq.Keyed; (): Keyed; } >Seq : any export function Keyed(): Seq.Keyed; ->Keyed : { (collection: Iterable<[K, V]>): Keyed; (obj: { [key: string]: V; }): Keyed; (): Keyed; (): Seq.Keyed; } +>Keyed : { (collection: Iterable<[K, V]>): Keyed; (obj: { [key: string]: V_1; }): Keyed; (): Keyed; (): Seq.Keyed; } >Seq : any export interface Keyed extends Seq, Collection.Keyed { @@ -1495,12 +1495,12 @@ declare module Immutable { export module Keyed {} export function Keyed(collection: Iterable<[K, V]>): Collection.Keyed; ->Keyed : { (collection: Iterable<[K, V]>): Collection.Keyed; (obj: { [key: string]: V; }): Keyed; } +>Keyed : { (collection: Iterable<[K, V]>): Collection.Keyed; (obj: { [key: string]: V_1; }): Keyed; } >collection : Iterable<[K, V]> >Collection : any export function Keyed(obj: {[key: string]: V}): Collection.Keyed; ->Keyed : { (collection: Iterable<[K, V]>): Keyed; (obj: { [key: string]: V; }): Collection.Keyed; } +>Keyed : { (collection: Iterable<[K, V_1]>): Keyed; (obj: { [key: string]: V; }): Collection.Keyed; } >obj : { [key: string]: V; } >key : string >Collection : any @@ -1644,7 +1644,7 @@ declare module Immutable { >Collection : any zipWith(zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): Collection.Indexed; ->zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): Collection.Indexed; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): Indexed; (zipper: (...any: any[]) => Z, ...collections: Collection[]): Indexed; } +>zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): Collection.Indexed; (zipper: (value: T, otherValue: U_1, thirdValue: V) => Z_1, otherCollection: Collection, thirdCollection: Collection): Indexed; (zipper: (...any: any[]) => Z_2, ...collections: Collection[]): Indexed; } >zipper : (value: T, otherValue: U) => Z >value : T >otherValue : U @@ -1652,7 +1652,7 @@ declare module Immutable { >Collection : any zipWith(zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): Collection.Indexed; ->zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): Indexed; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): Collection.Indexed; (zipper: (...any: any[]) => Z, ...collections: Collection[]): Indexed; } +>zipWith : { (zipper: (value: T, otherValue: U_1) => Z_1, otherCollection: Collection): Indexed; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): Collection.Indexed; (zipper: (...any: any[]) => Z_3, ...collections: Collection[]): Indexed; } >zipper : (value: T, otherValue: U, thirdValue: V) => Z >value : T >otherValue : U @@ -1662,7 +1662,7 @@ declare module Immutable { >Collection : any zipWith(zipper: (...any: Array) => Z, ...collections: Array>): Collection.Indexed; ->zipWith : { (zipper: (value: T, otherValue: U) => Z, otherCollection: Collection): Indexed; (zipper: (value: T, otherValue: U, thirdValue: V) => Z, otherCollection: Collection, thirdCollection: Collection): Indexed; (zipper: (...any: Array) => Z, ...collections: Array>): Collection.Indexed; } +>zipWith : { (zipper: (value: T, otherValue: U) => Z_1, otherCollection: Collection): Indexed; (zipper: (value: T, otherValue: U_1, thirdValue: V) => Z_2, otherCollection: Collection, thirdCollection: Collection): Indexed; (zipper: (...any: Array) => Z, ...collections: Array>): Collection.Indexed; } >zipper : (...any: Array) => Z >any : any[] >collections : Collection[] @@ -2100,7 +2100,7 @@ declare module Immutable { // Reducing a value reduce(reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; ->reduce : { (reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; (reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; } +>reduce : { (reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; (reducer: (reduction: V | R_1, value: V, key: K, iter: this) => R_1): R_1; } >reducer : (reduction: R, value: V, key: K, iter: this) => R >reduction : R >value : V @@ -2110,7 +2110,7 @@ declare module Immutable { >context : any reduce(reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; ->reduce : { (reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; (reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; } +>reduce : { (reducer: (reduction: R_1, value: V, key: K, iter: this) => R_1, initialReduction: R_1, context?: any): R_1; (reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; } >reducer : (reduction: V | R, value: V, key: K, iter: this) => R >reduction : V | R >value : V @@ -2118,7 +2118,7 @@ declare module Immutable { >iter : this reduceRight(reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; ->reduceRight : { (reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; (reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; } +>reduceRight : { (reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; (reducer: (reduction: V | R_1, value: V, key: K, iter: this) => R_1): R_1; } >reducer : (reduction: R, value: V, key: K, iter: this) => R >reduction : R >value : V @@ -2128,7 +2128,7 @@ declare module Immutable { >context : any reduceRight(reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; ->reduceRight : { (reducer: (reduction: R, value: V, key: K, iter: this) => R, initialReduction: R, context?: any): R; (reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; } +>reduceRight : { (reducer: (reduction: R_1, value: V, key: K, iter: this) => R_1, initialReduction: R_1, context?: any): R_1; (reducer: (reduction: V | R, value: V, key: K, iter: this) => R): R; } >reducer : (reduction: V | R, value: V, key: K, iter: this) => R >reduction : V | R >value : V diff --git a/tests/baselines/reference/computedPropertyNames33_ES5.types b/tests/baselines/reference/computedPropertyNames33_ES5.types index 4376750cd34a7..15698f8d3ec13 100644 --- a/tests/baselines/reference/computedPropertyNames33_ES5.types +++ b/tests/baselines/reference/computedPropertyNames33_ES5.types @@ -18,7 +18,7 @@ class C { [foo()]() { } >[foo()] : () => void >foo() : string ->foo : () => string +>foo : () => string }; return 0; diff --git a/tests/baselines/reference/computedPropertyNames33_ES6.types b/tests/baselines/reference/computedPropertyNames33_ES6.types index db3f90d15a40f..ac660000536ce 100644 --- a/tests/baselines/reference/computedPropertyNames33_ES6.types +++ b/tests/baselines/reference/computedPropertyNames33_ES6.types @@ -18,7 +18,7 @@ class C { [foo()]() { } >[foo()] : () => void >foo() : string ->foo : () => string +>foo : () => string }; return 0; diff --git a/tests/baselines/reference/computedTypesKeyofNoIndexSignatureType.types b/tests/baselines/reference/computedTypesKeyofNoIndexSignatureType.types index f4986ce449aff..a6a9e4e3920ed 100644 --- a/tests/baselines/reference/computedTypesKeyofNoIndexSignatureType.types +++ b/tests/baselines/reference/computedTypesKeyofNoIndexSignatureType.types @@ -2,7 +2,7 @@ === computedTypesKeyofNoIndexSignatureType.ts === type Compute = { [K in keyof A]: Compute; } & {}; ->Compute : { [K in keyof A]: { [K in keyof A[K]]: { [K in keyof A[K][K]]: { [K in keyof A[K][K][K]]: { [K in keyof A[K][K][K][K]]: { [K in keyof A[K][K][K][K][K]]: { [K in keyof A[K][K][K][K][K][K]]: { [K in keyof A[K][K][K][K][K][K][K]]: { [K in keyof A[K][K][K][K][K][K][K][K]]: { [K in keyof A[K][K][K][K][K][K][K][K][K]]: { [K in keyof A[K][K][K][K][K][K][K][K][K][K]]: any; }; }; }; }; }; }; }; }; }; }; } +>Compute : { [K in keyof A]: A[K] extends infer T ? { [K_1 in keyof T]: A[K][K_1] extends infer T_1 ? { [K_2 in keyof T_1]: A[K][K_1][K_2] extends infer T_2 ? { [K_3 in keyof T_2]: A[K][K_1][K_2][K_3] extends infer T_3 ? { [K_4 in keyof T_3]: A[K][K_1][K_2][K_3][K_4] extends infer T_4 ? { [K_5 in keyof T_4]: A[K][K_1][K_2][K_3][K_4][K_5] extends infer T_5 ? { [K_6 in keyof T_5]: A[K][K_1][K_2][K_3][K_4][K_5][K_6] extends infer T_6 ? { [K_7 in keyof T_6]: A[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7] extends infer T_7 ? { [K_8 in keyof T_7]: A[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8] extends infer T_8 ? { [K_9 in keyof T_8]: A[K][K_1][K_2][K_3][K_4][K_5][K_6][K_7][K_8][K_9] extends infer T_9 ? { [K_10 in keyof T_9]: any; } : never; } : never; } : never; } : never; } : never; } : never; } : never; } : never; } : never; } : never; } type EqualsTest = () => A extends T ? 1 : 0; >EqualsTest : EqualsTest diff --git a/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.types b/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.types index 03887183709b1..384597cd4baca 100644 --- a/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.types +++ b/tests/baselines/reference/conditionalTypeAssignabilityWhenDeferred.types @@ -90,12 +90,12 @@ function f(t: T) { onlyNullablePlease(x); // should work >onlyNullablePlease(x) : void ->onlyNullablePlease : (value: T) => void +>onlyNullablePlease : (value: T_1) => void >x : T | null onlyNullablePlease2(x); // should work >onlyNullablePlease2(x) : void ->onlyNullablePlease2 : (value: T) => void +>onlyNullablePlease2 : (value: T_1) => void >x : T | null } diff --git a/tests/baselines/reference/conditionalTypeContextualTypeSimplificationsSuceeds.types b/tests/baselines/reference/conditionalTypeContextualTypeSimplificationsSuceeds.types index fbd339c527774..da8eb7cf9fb02 100644 --- a/tests/baselines/reference/conditionalTypeContextualTypeSimplificationsSuceeds.types +++ b/tests/baselines/reference/conditionalTypeContextualTypeSimplificationsSuceeds.types @@ -9,10 +9,10 @@ interface Props { } function bad

( ->bad :

(attrs: string extends keyof P ? { [K in keyof P]: P[K]; } : { [K in keyof P]: P[K]; }) => void +>bad :

(attrs: string extends keyof P ? { [K in keyof P]: P[K]; } : { [K_1 in keyof P]: P[K_1]; }) => void attrs: string extends keyof P ? { [K in keyof P]: P[K] } : { [K in keyof P]: P[K] }) { } ->attrs : string extends keyof P ? { [K in keyof P]: P[K]; } : { [K in keyof P]: P[K]; } +>attrs : string extends keyof P ? { [K in keyof P]: P[K]; } : { [K_1 in keyof P]: P[K_1]; } function good1

( >good1 :

(attrs: string extends keyof P ? P : { [K in keyof P]: P[K]; }) => void @@ -28,7 +28,7 @@ function good2

( bad({ when: value => false }); >bad({ when: value => false }) : void ->bad :

(attrs: string extends keyof P ? { [K in keyof P]: P[K]; } : { [K in keyof P]: P[K]; }) => void +>bad :

(attrs: string extends keyof P ? { [K in keyof P]: P[K]; } : { [K_1 in keyof P]: P[K_1]; }) => void >{ when: value => false } : { when: (value: string) => false; } >when : (value: string) => false >value => false : (value: string) => false diff --git a/tests/baselines/reference/conditionalTypeDoesntSpinForever.types b/tests/baselines/reference/conditionalTypeDoesntSpinForever.types index 71522fb6f000e..2c12cc2d00c76 100644 --- a/tests/baselines/reference/conditionalTypeDoesntSpinForever.types +++ b/tests/baselines/reference/conditionalTypeDoesntSpinForever.types @@ -68,12 +68,12 @@ export enum PubSubRecordIsStoredInRedisAsA { buildPubSubRecordType(Object.assign({}, soFar, {name: instance as TYPE}) as SO_FAR & {name: TYPE}) as BuildPubSubRecordType >buildPubSubRecordType(Object.assign({}, soFar, {name: instance as TYPE}) as SO_FAR & {name: TYPE}) as BuildPubSubRecordType : BuildPubSubRecordType >buildPubSubRecordType(Object.assign({}, soFar, {name: instance as TYPE}) as SO_FAR & {name: TYPE}) : BuildPubSubRecordType ->buildPubSubRecordType : (soFar: SO_FAR) => BuildPubSubRecordType +>buildPubSubRecordType : (soFar: SO_FAR_1) => BuildPubSubRecordType >Object.assign({}, soFar, {name: instance as TYPE}) as SO_FAR & {name: TYPE} : SO_FAR & { name: TYPE; } >Object.assign({}, soFar, {name: instance as TYPE}) : SO_FAR & { name: TYPE; } ->Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >Object : ObjectConstructor ->assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >{} : {} >soFar : SO_FAR >{name: instance as TYPE} : { name: TYPE; } @@ -123,11 +123,11 @@ export enum PubSubRecordIsStoredInRedisAsA { buildPubSubRecordType(Object.assign({}, soFar, {storedAs: PubSubRecordIsStoredInRedisAsA.jsonEncodedRedisString})) as >buildPubSubRecordType(Object.assign({}, soFar, {storedAs: PubSubRecordIsStoredInRedisAsA.jsonEncodedRedisString})) as BuildPubSubRecordType : BuildPubSubRecordType >buildPubSubRecordType(Object.assign({}, soFar, {storedAs: PubSubRecordIsStoredInRedisAsA.jsonEncodedRedisString})) : BuildPubSubRecordType ->buildPubSubRecordType : (soFar: SO_FAR) => BuildPubSubRecordType +>buildPubSubRecordType : (soFar: SO_FAR_1) => BuildPubSubRecordType >Object.assign({}, soFar, {storedAs: PubSubRecordIsStoredInRedisAsA.jsonEncodedRedisString}) : SO_FAR & { storedAs: PubSubRecordIsStoredInRedisAsA; } ->Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >Object : ObjectConstructor ->assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >{} : {} >soFar : SO_FAR >{storedAs: PubSubRecordIsStoredInRedisAsA.jsonEncodedRedisString} : { storedAs: PubSubRecordIsStoredInRedisAsA.jsonEncodedRedisString; } @@ -147,11 +147,11 @@ export enum PubSubRecordIsStoredInRedisAsA { buildPubSubRecordType(Object.assign({}, soFar, {storedAs: PubSubRecordIsStoredInRedisAsA.redisHash})) as >buildPubSubRecordType(Object.assign({}, soFar, {storedAs: PubSubRecordIsStoredInRedisAsA.redisHash})) as BuildPubSubRecordType : BuildPubSubRecordType >buildPubSubRecordType(Object.assign({}, soFar, {storedAs: PubSubRecordIsStoredInRedisAsA.redisHash})) : BuildPubSubRecordType ->buildPubSubRecordType : (soFar: SO_FAR) => BuildPubSubRecordType +>buildPubSubRecordType : (soFar: SO_FAR_1) => BuildPubSubRecordType >Object.assign({}, soFar, {storedAs: PubSubRecordIsStoredInRedisAsA.redisHash}) : SO_FAR & { storedAs: PubSubRecordIsStoredInRedisAsA; } ->Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >Object : ObjectConstructor ->assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >{} : {} >soFar : SO_FAR >{storedAs: PubSubRecordIsStoredInRedisAsA.redisHash} : { storedAs: PubSubRecordIsStoredInRedisAsA.redisHash; } @@ -212,12 +212,12 @@ export enum PubSubRecordIsStoredInRedisAsA { buildPubSubRecordType(Object.assign({}, soFar, {identifier: instance as TYPE}) as SO_FAR & {identifier: TYPE}) as BuildPubSubRecordType >buildPubSubRecordType(Object.assign({}, soFar, {identifier: instance as TYPE}) as SO_FAR & {identifier: TYPE}) as BuildPubSubRecordType : BuildPubSubRecordType >buildPubSubRecordType(Object.assign({}, soFar, {identifier: instance as TYPE}) as SO_FAR & {identifier: TYPE}) : BuildPubSubRecordType ->buildPubSubRecordType : (soFar: SO_FAR) => BuildPubSubRecordType +>buildPubSubRecordType : (soFar: SO_FAR_1) => BuildPubSubRecordType >Object.assign({}, soFar, {identifier: instance as TYPE}) as SO_FAR & {identifier: TYPE} : SO_FAR & { identifier: TYPE; } >Object.assign({}, soFar, {identifier: instance as TYPE}) : SO_FAR & Record<"record", unknown> & { identifier: TYPE; } ->Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >Object : ObjectConstructor ->assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >{} : {} >soFar : SO_FAR & Record<"record", unknown> >{identifier: instance as TYPE} : { identifier: TYPE; } @@ -264,12 +264,12 @@ export enum PubSubRecordIsStoredInRedisAsA { buildPubSubRecordType(Object.assign({}, soFar, {record: instance as TYPE}) as SO_FAR & {record: TYPE}) as BuildPubSubRecordType >buildPubSubRecordType(Object.assign({}, soFar, {record: instance as TYPE}) as SO_FAR & {record: TYPE}) as BuildPubSubRecordType : BuildPubSubRecordType >buildPubSubRecordType(Object.assign({}, soFar, {record: instance as TYPE}) as SO_FAR & {record: TYPE}) : BuildPubSubRecordType ->buildPubSubRecordType : (soFar: SO_FAR) => BuildPubSubRecordType +>buildPubSubRecordType : (soFar: SO_FAR_1) => BuildPubSubRecordType >Object.assign({}, soFar, {record: instance as TYPE}) as SO_FAR & {record: TYPE} : SO_FAR & { record: TYPE; } >Object.assign({}, soFar, {record: instance as TYPE}) : SO_FAR & { record: TYPE; } ->Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >Object : ObjectConstructor ->assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >{} : {} >soFar : SO_FAR >{record: instance as TYPE} : { record: TYPE; } @@ -321,11 +321,11 @@ export enum PubSubRecordIsStoredInRedisAsA { buildPubSubRecordType(Object.assign({}, soFar, {maxMsToWaitBeforePublishing: instance})) as BuildPubSubRecordType, >buildPubSubRecordType(Object.assign({}, soFar, {maxMsToWaitBeforePublishing: instance})) as BuildPubSubRecordType : BuildPubSubRecordType >buildPubSubRecordType(Object.assign({}, soFar, {maxMsToWaitBeforePublishing: instance})) : BuildPubSubRecordType ->buildPubSubRecordType : (soFar: SO_FAR) => BuildPubSubRecordType +>buildPubSubRecordType : (soFar: SO_FAR_1) => BuildPubSubRecordType >Object.assign({}, soFar, {maxMsToWaitBeforePublishing: instance}) : SO_FAR & { maxMsToWaitBeforePublishing: number; } ->Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >Object : ObjectConstructor ->assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >{} : {} >soFar : SO_FAR >{maxMsToWaitBeforePublishing: instance} : { maxMsToWaitBeforePublishing: number; } @@ -340,11 +340,11 @@ export enum PubSubRecordIsStoredInRedisAsA { buildPubSubRecordType(Object.assign({}, soFar, {maxMsToWaitBeforePublishing: 0})) as BuildPubSubRecordType, >buildPubSubRecordType(Object.assign({}, soFar, {maxMsToWaitBeforePublishing: 0})) as BuildPubSubRecordType : BuildPubSubRecordType >buildPubSubRecordType(Object.assign({}, soFar, {maxMsToWaitBeforePublishing: 0})) : BuildPubSubRecordType ->buildPubSubRecordType : (soFar: SO_FAR) => BuildPubSubRecordType +>buildPubSubRecordType : (soFar: SO_FAR_1) => BuildPubSubRecordType >Object.assign({}, soFar, {maxMsToWaitBeforePublishing: 0}) : SO_FAR & { maxMsToWaitBeforePublishing: number; } ->Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >Object : ObjectConstructor ->assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >{} : {} >soFar : SO_FAR >{maxMsToWaitBeforePublishing: 0} : { maxMsToWaitBeforePublishing: number; } @@ -443,41 +443,41 @@ export enum PubSubRecordIsStoredInRedisAsA { >soFar : SO_FAR >Object.assign( {}, buildNameFieldConstructor(soFar), buildIdentifierFieldConstructor(soFar), buildRecordFieldConstructor(soFar), buildStoredAsConstructor(soFar), buildMaxMsToWaitBeforePublishingFieldConstructor(soFar), buildType(soFar) ) as BuildPubSubRecordType : BuildPubSubRecordType >Object.assign( {}, buildNameFieldConstructor(soFar), buildIdentifierFieldConstructor(soFar), buildRecordFieldConstructor(soFar), buildStoredAsConstructor(soFar), buildMaxMsToWaitBeforePublishingFieldConstructor(soFar), buildType(soFar) ) : any ->Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >Object : ObjectConstructor ->assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } {}, >{} : {} buildNameFieldConstructor(soFar), >buildNameFieldConstructor(soFar) : { name?: undefined; } | { name: (instance?: TYPE) => BuildPubSubRecordType; } ->buildNameFieldConstructor : (soFar: SO_FAR) => { name?: undefined; } | { name: (instance?: TYPE) => BuildPubSubRecordType; } +>buildNameFieldConstructor : (soFar: SO_FAR_1) => { name?: undefined; } | { name: (instance?: TYPE) => BuildPubSubRecordType; } >soFar : SO_FAR buildIdentifierFieldConstructor(soFar), >buildIdentifierFieldConstructor(soFar) : { identifier?: undefined; } | { identifier: (instance?: TYPE) => BuildPubSubRecordType; } ->buildIdentifierFieldConstructor : (soFar: SO_FAR) => { identifier?: undefined; } | { identifier: (instance?: TYPE) => BuildPubSubRecordType; } +>buildIdentifierFieldConstructor : (soFar: SO_FAR_1) => { identifier?: undefined; } | { identifier: (instance?: TYPE) => BuildPubSubRecordType; } >soFar : SO_FAR buildRecordFieldConstructor(soFar), >buildRecordFieldConstructor(soFar) : { record?: undefined; } | { record: (instance?: TYPE) => BuildPubSubRecordType; } ->buildRecordFieldConstructor : (soFar: SO_FAR) => { record?: undefined; } | { record: (instance?: TYPE) => BuildPubSubRecordType; } +>buildRecordFieldConstructor : (soFar: SO_FAR_1) => { record?: undefined; } | { record: (instance?: TYPE) => BuildPubSubRecordType; } >soFar : SO_FAR buildStoredAsConstructor(soFar), >buildStoredAsConstructor(soFar) : { storedAsJsonEncodedRedisString?: undefined; storedAsRedisHash?: undefined; } | { storedAsJsonEncodedRedisString: () => BuildPubSubRecordType; storedAsRedisHash: () => BuildPubSubRecordType; } ->buildStoredAsConstructor : (soFar: SO_FAR) => { storedAsJsonEncodedRedisString?: undefined; storedAsRedisHash?: undefined; } | { storedAsJsonEncodedRedisString: () => BuildPubSubRecordType; storedAsRedisHash: () => BuildPubSubRecordType; } +>buildStoredAsConstructor : (soFar: SO_FAR_1) => { storedAsJsonEncodedRedisString?: undefined; storedAsRedisHash?: undefined; } | { storedAsJsonEncodedRedisString: () => BuildPubSubRecordType; storedAsRedisHash: () => BuildPubSubRecordType; } >soFar : SO_FAR buildMaxMsToWaitBeforePublishingFieldConstructor(soFar), >buildMaxMsToWaitBeforePublishingFieldConstructor(soFar) : MaxMsToWaitBeforePublishingFieldConstructor ->buildMaxMsToWaitBeforePublishingFieldConstructor : (soFar: SO_FAR) => MaxMsToWaitBeforePublishingFieldConstructor +>buildMaxMsToWaitBeforePublishingFieldConstructor : (soFar: SO_FAR_1) => MaxMsToWaitBeforePublishingFieldConstructor >soFar : SO_FAR buildType(soFar) >buildType(soFar) : { type?: undefined; fields?: undefined; hasField?: undefined; } | { type: SO_FAR; fields: () => Set; hasField: (fieldName: string | number | symbol) => boolean; } ->buildType : (soFar: SO_FAR) => { type?: undefined; fields?: undefined; hasField?: undefined; } | { type: SO_FAR; fields: () => Set; hasField: (fieldName: string | number | symbol) => boolean; } +>buildType : (soFar: SO_FAR_1) => { type?: undefined; fields?: undefined; hasField?: undefined; } | { type: SO_FAR_1; fields: () => Set; hasField: (fieldName: string | number | symbol) => boolean; } >soFar : SO_FAR ) as BuildPubSubRecordType; diff --git a/tests/baselines/reference/conditionalTypes1.types b/tests/baselines/reference/conditionalTypes1.types index 5f9770492ded1..881eecd821190 100644 --- a/tests/baselines/reference/conditionalTypes1.types +++ b/tests/baselines/reference/conditionalTypes1.types @@ -436,37 +436,37 @@ function f20(n: number, b: boolean, x: number | boolean, y: T) zeroOf(5); // 0 >zeroOf(5) : 0 ->zeroOf : (value: T) => ZeroOf +>zeroOf : (value: T_1) => ZeroOf >5 : 5 zeroOf("hello"); // "" >zeroOf("hello") : "" ->zeroOf : (value: T) => ZeroOf +>zeroOf : (value: T_1) => ZeroOf >"hello" : "hello" zeroOf(true); // false >zeroOf(true) : false ->zeroOf : (value: T) => ZeroOf +>zeroOf : (value: T_1) => ZeroOf >true : true zeroOf(n); // 0 >zeroOf(n) : 0 ->zeroOf : (value: T) => ZeroOf +>zeroOf : (value: T_1) => ZeroOf >n : number zeroOf(b); // False >zeroOf(b) : false ->zeroOf : (value: T) => ZeroOf +>zeroOf : (value: T_1) => ZeroOf >b : boolean zeroOf(x); // 0 | false >zeroOf(x) : false | 0 ->zeroOf : (value: T) => ZeroOf +>zeroOf : (value: T_1) => ZeroOf >x : number | boolean zeroOf(y); // ZeroOf >zeroOf(y) : ZeroOf ->zeroOf : (value: T) => ZeroOf +>zeroOf : (value: T_1) => ZeroOf >y : T } @@ -915,10 +915,10 @@ function f50() { >false : false type Omit = { [P in keyof T]: If, never, P>; }[keyof T]; ->Omit : { [P in keyof T]: (T[P] extends never ? never : false) extends false ? P : never; }[keyof T] +>Omit : { [P in keyof T]: (T[P] extends infer T_1 ? T_1 extends T[P] ? T_1 extends never ? never : false : never : never) extends infer T_2 ? T_2 extends (T[P] extends infer T_1 ? T_1 extends T[P] ? T_1 extends never ? never : false : never : never) ? T_2 extends false ? P : never : never : never; }[keyof T] type Omit2 = { [P in keyof T]: If, never, P>; }[keyof T]; ->Omit2 : { [P in keyof T]: (T[P] extends U ? U extends T[P] ? true : false : false) extends false ? P : never; }[keyof T] +>Omit2 : { [P in keyof T]: (T[P] extends infer T_1 ? T_1 extends T[P] ? T_1 extends U ? U extends T_1 ? true : false : false : never : never) extends infer T_2 ? T_2 extends (T[P] extends infer T_1 ? T_1 extends T[P] ? T_1 extends U ? U extends T_1 ? true : false : false : never : never) ? T_2 extends false ? P : never : never : never; }[keyof T] type A = Omit<{ a: void; b: never; }>; // 'a' >A : "a" diff --git a/tests/baselines/reference/conditionalTypes2.types b/tests/baselines/reference/conditionalTypes2.types index 41b259a447daf..e4050b0a0b939 100644 --- a/tests/baselines/reference/conditionalTypes2.types +++ b/tests/baselines/reference/conditionalTypes2.types @@ -82,7 +82,7 @@ function getFunction(item: T) { if (isFunction(item)) { >isFunction(item) : boolean ->isFunction : (value: T) => value is Extract +>isFunction : (value: T_1) => value is Extract >item : T return item; @@ -99,7 +99,7 @@ function f10(x: T) { if (isFunction(x)) { >isFunction(x) : boolean ->isFunction : (value: T) => value is Extract +>isFunction : (value: T_1) => value is Extract >x : T const f: Function = x; @@ -249,7 +249,7 @@ class Vector implements Seq { >x : T partition2(predicate:(v:T)=>boolean): [Vector,Vector] { ->partition2 : { (predicate: (v: T) => v is U): [Vector, Vector>]; (predicate: (x: T) => boolean): [Vector, Vector]; } +>partition2 : { (predicate: (v: T) => v is U_1): [Vector, Vector>]; (predicate: (x: T) => boolean): [Vector, Vector]; } >predicate : (v: T) => boolean >v : T @@ -290,7 +290,7 @@ function foo(value: T) { if (isFunction(value)) { >isFunction(value) : boolean ->isFunction : (value: T) => value is Extract +>isFunction : (value: T_1) => value is Extract >value : T toString1(value); diff --git a/tests/baselines/reference/constraintSatisfactionWithAny.types b/tests/baselines/reference/constraintSatisfactionWithAny.types index 382296976e90e..96d7dd6ba72b0 100644 --- a/tests/baselines/reference/constraintSatisfactionWithAny.types +++ b/tests/baselines/reference/constraintSatisfactionWithAny.types @@ -14,7 +14,7 @@ function foo2(x: T): T { return null; } //function foo3(x: T): T { return null; } function foo4(x: T) => void>(x: T): T { return null; } ->foo4 : (x: T) => void>(x: T) => T +>foo4 : (x: T_1) => void>(x: T) => T >x : T >x : T @@ -34,7 +34,7 @@ foo2(a); //foo3(a); foo4(a); >foo4(a) : any ->foo4 : (x: T) => void>(x: T) => T +>foo4 : (x: T) => void>(x: T_1) => T_1 >a : any var b: number; @@ -53,7 +53,7 @@ foo2(b); //foo3(b); foo4(b); >foo4(b) : any ->foo4 : (x: T) => void>(x: T) => T +>foo4 : (x: T) => void>(x: T_1) => T_1 >b : number //function foo5(x: T, y: U): T { return null; } diff --git a/tests/baselines/reference/constructSignatureAssignabilityInInheritance4.types b/tests/baselines/reference/constructSignatureAssignabilityInInheritance4.types index 8708a9c578b3c..34f2ba81784c6 100644 --- a/tests/baselines/reference/constructSignatureAssignabilityInInheritance4.types +++ b/tests/baselines/reference/constructSignatureAssignabilityInInheritance4.types @@ -104,7 +104,7 @@ interface A { // T }; a20: { ->a20 : { new (x: { new (a: T): T; new (a: U): U; }): any[]; new (x: { new (a: T): T; new (a: U): U; }): any[]; } +>a20 : { new (x: { new (a: T): T; new (a: U): U; }): any[]; new (x: { new (a: T_1): T_1; new (a: U_1): U_1; }): any[]; } new (x: { >x : { new (a: T): T; new (a: U): U; } diff --git a/tests/baselines/reference/constructSignaturesWithIdenticalOverloads.types b/tests/baselines/reference/constructSignaturesWithIdenticalOverloads.types index a1beb3f89add5..2a0f7773d5d55 100644 --- a/tests/baselines/reference/constructSignaturesWithIdenticalOverloads.types +++ b/tests/baselines/reference/constructSignaturesWithIdenticalOverloads.types @@ -115,7 +115,7 @@ var r5 = new a(1, ''); >'' : "" var b: { ->b : { new (x: T, y: string): C2; new (x: T, y: string): C2; } +>b : { new (x: T, y: string): C2; new (x: T_1, y: string): C2; } new (x: T, y: string): C2; >x : T @@ -129,7 +129,7 @@ var b: { var r6 = new b(1, ''); >r6 : C2 >new b(1, '') : C2 ->b : { new (x: T, y: string): C2; new (x: T, y: string): C2; } +>b : { new (x: T, y: string): C2; new (x: T_1, y: string): C2; } >1 : 1 >'' : "" diff --git a/tests/baselines/reference/constructSignaturesWithOverloads.types b/tests/baselines/reference/constructSignaturesWithOverloads.types index 2056c0b62a6fe..986b7bce31878 100644 --- a/tests/baselines/reference/constructSignaturesWithOverloads.types +++ b/tests/baselines/reference/constructSignaturesWithOverloads.types @@ -116,7 +116,7 @@ var r5 = new a(1, ''); >'' : "" var b: { ->b : { new (x: T, y?: string): C2; new (x: T, y: string): C2; } +>b : { new (x: T, y?: string): C2; new (x: T_1, y: string): C2; } new(x: T, y?: string): C2; >x : T @@ -130,7 +130,7 @@ var b: { var r6 = new b(1, ''); >r6 : C2 >new b(1, '') : C2 ->b : { new (x: T, y?: string): C2; new (x: T, y: string): C2; } +>b : { new (x: T, y?: string): C2; new (x: T_1, y: string): C2; } >1 : 1 >'' : "" diff --git a/tests/baselines/reference/constructSignaturesWithOverloadsThatDifferOnlyByReturnType.types b/tests/baselines/reference/constructSignaturesWithOverloadsThatDifferOnlyByReturnType.types index 0909819bc0cae..207ecd14bce3b 100644 --- a/tests/baselines/reference/constructSignaturesWithOverloadsThatDifferOnlyByReturnType.types +++ b/tests/baselines/reference/constructSignaturesWithOverloadsThatDifferOnlyByReturnType.types @@ -60,7 +60,7 @@ var a: { } var b: { ->b : { new (x: T, y: string): C2; new (x: T, y: string): C; } +>b : { new (x: T, y: string): C2; new (x: T_1, y: string): C; } new (x: T, y: string): C2; >x : T diff --git a/tests/baselines/reference/contextualOverloadListFromArrayUnion.types b/tests/baselines/reference/contextualOverloadListFromArrayUnion.types index 9a862e77f6bff..cffadf46319d3 100644 --- a/tests/baselines/reference/contextualOverloadListFromArrayUnion.types +++ b/tests/baselines/reference/contextualOverloadListFromArrayUnion.types @@ -7,9 +7,9 @@ declare const y: never[] | string[]; export const yThen = y.map(item => item.length); >yThen : number[] >y.map(item => item.length) : number[] ->y.map : ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) +>y.map : ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: string, index: number, array: string[]) => U_1, thisArg?: any) => U_1[]) >y : never[] | string[] ->map : ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) +>map : ((callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: string, index: number, array: string[]) => U_1, thisArg?: any) => U_1[]) >item => item.length : (item: string) => number >item : string >item.length : number @@ -23,9 +23,9 @@ declare const y: number[][] | string[]; export const yThen = y.map(item => item.length); >yThen : number[] >y.map(item => item.length) : number[] ->y.map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: number[], index: number, array: number[][]) => U, thisArg?: any) => U[]) +>y.map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: number[], index: number, array: number[][]) => U_1, thisArg?: any) => U_1[]) >y : string[] | number[][] ->map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: number[], index: number, array: number[][]) => U, thisArg?: any) => U[]) +>map : ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: number[], index: number, array: number[][]) => U_1, thisArg?: any) => U_1[]) >item => item.length : (item: string | number[]) => number >item : string | number[] >item.length : number diff --git a/tests/baselines/reference/contextualSignatureInObjectFreeze.types b/tests/baselines/reference/contextualSignatureInObjectFreeze.types index 42443ae842f26..0d9e2b1093f6b 100644 --- a/tests/baselines/reference/contextualSignatureInObjectFreeze.types +++ b/tests/baselines/reference/contextualSignatureInObjectFreeze.types @@ -5,9 +5,9 @@ Object.freeze({ >Object.freeze({ f: function () { }}) : Readonly<{ f: () => void; }> ->Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >Object : ObjectConstructor ->freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >{ f: function () { }} : { f: () => void; } f: function () { } diff --git a/tests/baselines/reference/contextualSignatureInstantiation3.types b/tests/baselines/reference/contextualSignatureInstantiation3.types index 6fec2327263c0..00994b0cae4ec 100644 --- a/tests/baselines/reference/contextualSignatureInstantiation3.types +++ b/tests/baselines/reference/contextualSignatureInstantiation3.types @@ -9,9 +9,9 @@ function map(items: T[], f: (x: T) => U): U[]{ return items.map(f); >items.map(f) : U[] ->items.map : (callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[] +>items.map : (callbackfn: (value: T, index: number, array: T[]) => U_1, thisArg?: any) => U_1[] >items : T[] ->map : (callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[] +>map : (callbackfn: (value: T, index: number, array: T[]) => U_1, thisArg?: any) => U_1[] >f : (x: T) => U } diff --git a/tests/baselines/reference/contravariantInferenceAndTypeGuard.types b/tests/baselines/reference/contravariantInferenceAndTypeGuard.types index 61b58aea44ad0..7007cde95a38e 100644 --- a/tests/baselines/reference/contravariantInferenceAndTypeGuard.types +++ b/tests/baselines/reference/contravariantInferenceAndTypeGuard.types @@ -29,21 +29,21 @@ declare class List { >List : List filter(fn: FilterFn, context: TContext): List; ->filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn>): List; } +>filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext_1): List; (fn: IteratorFn>): List; } >fn : FilterFn >context : TContext filter(fn: FilterFn): List; ->filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn>): List; } +>filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn): List; (fn: IteratorFn, context: TContext_1): List; (fn: IteratorFn>): List; } >fn : FilterFn> filter(fn: IteratorFn, context: TContext): List; ->filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn>): List; } +>filter : { (fn: FilterFn, context: TContext_1): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn>): List; } >fn : IteratorFn >context : TContext filter(fn: IteratorFn): List; ->filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn): List; } +>filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext_1): List; (fn: IteratorFn): List; } >fn : IteratorFn> } interface Test { @@ -58,9 +58,9 @@ const list2 = new List(); const filter1 = list2.filter(function(item, node, list): item is Test { >filter1 : List >list2.filter(function(item, node, list): item is Test { this.b; // $ExpectType string item; // $ExpectType Test | null node; // $ExpectType ListItem list; // $ExpectType List return !!item;}, {b: 'c'}) : List ->list2.filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn>): List; } +>list2.filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext_1): List; (fn: IteratorFn>): List; } >list2 : List ->filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext): List; (fn: IteratorFn>): List; } +>filter : { (fn: FilterFn, context: TContext): List; (fn: FilterFn>): List; (fn: IteratorFn, context: TContext_1): List; (fn: IteratorFn>): List; } >function(item, node, list): item is Test { this.b; // $ExpectType string item; // $ExpectType Test | null node; // $ExpectType ListItem list; // $ExpectType List return !!item;} : (this: { b: string; }, item: Test | null, node: ListItem, list: List) => item is Test >item : Test | null >node : ListItem diff --git a/tests/baselines/reference/controlFlowGenericTypes.types b/tests/baselines/reference/controlFlowGenericTypes.types index b5ebc7a07ee5b..b76216b121e9a 100644 --- a/tests/baselines/reference/controlFlowGenericTypes.types +++ b/tests/baselines/reference/controlFlowGenericTypes.types @@ -110,7 +110,7 @@ function g1 | undefined>(x: T) { unbox(x); >unbox(x) : T ->unbox : (x: Box) => T +>unbox : (x: Box) => T_1 >x : Box } } @@ -127,7 +127,7 @@ function g2 | undefined>(x: T) { unbox(x); >unbox(x) : T ->unbox : (x: Box) => T +>unbox : (x: Box) => T_1 >x : Box } } @@ -144,7 +144,7 @@ function g3 | undefined>(x: T) { unbox(x); // Error >unbox(x) : T ->unbox : (x: Box) => T +>unbox : (x: Box) => T_1 >x : undefined } } @@ -160,7 +160,7 @@ function g4 | undefined>(x: T) { unbox(x); // Error >unbox(x) : unknown ->unbox : (x: Box) => T +>unbox : (x: Box) => T_1 >x : undefined } } diff --git a/tests/baselines/reference/correctOrderOfPromiseMethod.types b/tests/baselines/reference/correctOrderOfPromiseMethod.types index f9cdabadd1b2c..e9b12b6fcdfc5 100644 --- a/tests/baselines/reference/correctOrderOfPromiseMethod.types +++ b/tests/baselines/reference/correctOrderOfPromiseMethod.types @@ -32,9 +32,9 @@ async function countEverything(): Promise { >resultB : B[] >await Promise.all([ providerA(), providerB(), ]) : [A[], B[]] >Promise.all([ providerA(), providerB(), ]) : Promise<[A[], B[]]> ->Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >Promise : PromiseConstructor ->all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >[ providerA(), providerB(), ] : [Promise, Promise] providerA(), @@ -78,9 +78,9 @@ async function countEverything(): Promise { const expected: Promise<["a", "b", "c"]> = Promise.all(undefined as readonly ["a", "b", "c"]); >expected : Promise<["a", "b", "c"]> >Promise.all(undefined as readonly ["a", "b", "c"]) : Promise<["a", "b", "c"]> ->Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >Promise : PromiseConstructor ->all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >undefined as readonly ["a", "b", "c"] : readonly ["a", "b", "c"] >undefined : undefined diff --git a/tests/baselines/reference/correlatedUnions.types b/tests/baselines/reference/correlatedUnions.types index 8d328d6c66f79..eb4c434c405ec 100644 --- a/tests/baselines/reference/correlatedUnions.types +++ b/tests/baselines/reference/correlatedUnions.types @@ -354,9 +354,9 @@ function processEvents(events: Ev[]) { document.addEventListener(event.name, (ev) => event.callback(ev), { once: event.once }); >document.addEventListener(event.name, (ev) => event.callback(ev), { once: event.once }) : void ->document.addEventListener : { (type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void; (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void; } +>document.addEventListener : { (type: K_1, listener: (this: Document, ev: DocumentEventMap[K_1]) => any, options?: boolean | AddEventListenerOptions | undefined): void; (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void; } >document : Document ->addEventListener : { (type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void; (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void; } +>addEventListener : { (type: K_1, listener: (this: Document, ev: DocumentEventMap[K_1]) => any, options?: boolean | AddEventListenerOptions | undefined): void; (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void; } >event.name : K >event : Ev >name : K @@ -744,7 +744,7 @@ const ALL_BARS = [{ name: 'a'}, {name: 'b'}] as const; const BAR_LOOKUP = makeCompleteLookupMapping(ALL_BARS, 'name'); >BAR_LOOKUP : { a: { readonly name: "a"; }; b: { readonly name: "b"; }; } >makeCompleteLookupMapping(ALL_BARS, 'name') : { a: { readonly name: "a"; }; b: { readonly name: "b"; }; } ->makeCompleteLookupMapping : (ops: T, attr: Attr) => { [Item in T[number] as Item[Attr]]: Item; } +>makeCompleteLookupMapping : (ops: T, attr: Attr_1) => { [Item in T[number] as Item[Attr_1]]: Item; } >ALL_BARS : readonly [{ readonly name: "a"; }, { readonly name: "b"; }] >'name' : "name" diff --git a/tests/baselines/reference/crashIntypeCheckInvocationExpression.types b/tests/baselines/reference/crashIntypeCheckInvocationExpression.types index aecbd154780ec..d35fd9a30d94f 100644 --- a/tests/baselines/reference/crashIntypeCheckInvocationExpression.types +++ b/tests/baselines/reference/crashIntypeCheckInvocationExpression.types @@ -35,7 +35,7 @@ export var compileServer = task(() => { return doCompile(fileset, moduleType); >doCompile(fileset, moduleType) : any ->doCompile : (fileset: P0, moduleType: P1) => any +>doCompile : (fileset: P0_1, moduleType: P1_1) => any >fileset : any >moduleType : any diff --git a/tests/baselines/reference/crashIntypeCheckObjectCreationExpression.types b/tests/baselines/reference/crashIntypeCheckObjectCreationExpression.types index 121372f17815d..71b464049228f 100644 --- a/tests/baselines/reference/crashIntypeCheckObjectCreationExpression.types +++ b/tests/baselines/reference/crashIntypeCheckObjectCreationExpression.types @@ -10,9 +10,9 @@ export class BuildWorkspaceService { this.injectBuildService(new X(service)); >this.injectBuildService(new X(service)) : void ->this.injectBuildService : (service: P0) => void +>this.injectBuildService : (service: P0_1) => void >this : this ->injectBuildService : (service: P0) => void +>injectBuildService : (service: P0_1) => void >new X(service) : any >X : any >service : P0 diff --git a/tests/baselines/reference/declarationEmitDistributiveConditionalWithInfer.types b/tests/baselines/reference/declarationEmitDistributiveConditionalWithInfer.types index b3f1ab2f1136b..b440e40d15755 100644 --- a/tests/baselines/reference/declarationEmitDistributiveConditionalWithInfer.types +++ b/tests/baselines/reference/declarationEmitDistributiveConditionalWithInfer.types @@ -3,11 +3,11 @@ === declarationEmitDistributiveConditionalWithInfer.ts === // This function's type is changed on declaration export const fun = ( ->fun : (subFun: () => (Collection[Field] extends readonly (infer InnerArr)[] ? InnerArr : Collection[Field])[]) => void ->( subFun: () => FlatArray[]) => { } : (subFun: () => (Collection[Field] extends readonly (infer InnerArr)[] ? InnerArr : Collection[Field])[]) => void +>fun : (subFun: () => (Collection[Field] extends infer T ? T extends Collection[Field] ? T extends readonly (infer InnerArr)[] ? InnerArr : T : never : never)[]) => void +>( subFun: () => FlatArray[]) => { } : (subFun: () => (Collection[Field] extends infer T ? T extends Collection[Field] ? T extends readonly (infer InnerArr)[] ? InnerArr : T : never : never)[]) => void subFun: () ->subFun : () => (Collection[Field] extends readonly (infer InnerArr)[] ? InnerArr : Collection[Field])[] +>subFun : () => (Collection[Field] extends infer T ? T extends Collection[Field] ? T extends readonly (infer InnerArr)[] ? InnerArr : T : never : never)[] => FlatArray[]) => { }; diff --git a/tests/baselines/reference/declarationEmitFirstTypeArgumentGenericFunctionType.types b/tests/baselines/reference/declarationEmitFirstTypeArgumentGenericFunctionType.types index de2be505e8949..c94a76210159f 100644 --- a/tests/baselines/reference/declarationEmitFirstTypeArgumentGenericFunctionType.types +++ b/tests/baselines/reference/declarationEmitFirstTypeArgumentGenericFunctionType.types @@ -44,8 +44,8 @@ var prop2: Y() => Tany>; // space after second type argument >prop2 : Y() => Tany> var prop3: Y< () => Tany, () => Tany>; // space before first type argument ->prop3 : Y<(() => Tany), () => Tany> +>prop3 : Y<(() => Tany), () => Tany_1> var prop4: Y<(() => Tany), () => Tany>; // parenthesized first type argument ->prop4 : Y<(() => Tany), () => Tany> +>prop4 : Y<(() => Tany), () => Tany_1> diff --git a/tests/baselines/reference/declarationEmitInlinedDistributiveConditional.types b/tests/baselines/reference/declarationEmitInlinedDistributiveConditional.types index a63790608352f..1a305c08c8f06 100644 --- a/tests/baselines/reference/declarationEmitInlinedDistributiveConditional.types +++ b/tests/baselines/reference/declarationEmitInlinedDistributiveConditional.types @@ -3,7 +3,7 @@ === test.ts === import {dropPrivateProps1, dropPrivateProps2} from './api'; >dropPrivateProps1 : (obj: Obj) => { [K in import("internal").PublicKeys1]: Obj[K]; } ->dropPrivateProps2 : (obj: Obj) => { [K in keyof Obj extends `_${string}` ? never : keyof Obj]: Obj[K]; } +>dropPrivateProps2 : (obj: Obj) => { [K in keyof Obj extends infer T ? T extends keyof Obj ? T extends `_${string}` ? never : T : never : never]: Obj[K]; } const a = dropPrivateProps1({foo: 42, _bar: 'secret'}); // type is {foo: number} >a : { foo: number; } @@ -19,7 +19,7 @@ const a = dropPrivateProps1({foo: 42, _bar: 'secret'}); // type is {foo: number} const b = dropPrivateProps2({foo: 42, _bar: 'secret'}); // type is {foo: number, _bar: string} >b : { foo: number; } >dropPrivateProps2({foo: 42, _bar: 'secret'}) : { foo: number; } ->dropPrivateProps2 : (obj: Obj) => { [K in keyof Obj extends `_${string}` ? never : keyof Obj]: Obj[K]; } +>dropPrivateProps2 : (obj: Obj) => { [K in keyof Obj extends infer T ? T extends keyof Obj ? T extends `_${string}` ? never : T : never : never]: Obj[K]; } >{foo: 42, _bar: 'secret'} : { foo: number; _bar: string; } >foo : number >42 : 42 @@ -31,22 +31,22 @@ const b = dropPrivateProps2({foo: 42, _bar: 'secret'}); // type is {foo: number, === api.ts === import {excludePrivateKeys1, excludePrivateKeys2} from './internal'; >excludePrivateKeys1 : (obj: Obj) => { [K in import("internal").PublicKeys1]: Obj[K]; } ->excludePrivateKeys2 : (obj: Obj) => { [K in keyof Obj extends `_${string}` ? never : keyof Obj]: Obj[K]; } +>excludePrivateKeys2 : (obj: Obj) => { [K in keyof Obj extends infer T ? T extends keyof Obj ? T extends `_${string}` ? never : T : never : never]: Obj[K]; } export const dropPrivateProps1 = (obj: Obj) => excludePrivateKeys1(obj); >dropPrivateProps1 : (obj: Obj) => { [K in import("internal").PublicKeys1]: Obj[K]; } >(obj: Obj) => excludePrivateKeys1(obj) : (obj: Obj) => { [K in import("internal").PublicKeys1]: Obj[K]; } >obj : Obj >excludePrivateKeys1(obj) : { [K in import("internal").PublicKeys1]: Obj[K]; } ->excludePrivateKeys1 : (obj: Obj) => { [K in import("internal").PublicKeys1]: Obj[K]; } +>excludePrivateKeys1 : (obj: Obj_1) => { [K in import("internal").PublicKeys1]: Obj_1[K]; } >obj : Obj export const dropPrivateProps2 = (obj: Obj) => excludePrivateKeys2(obj); ->dropPrivateProps2 : (obj: Obj) => { [K in keyof Obj extends `_${string}` ? never : keyof Obj]: Obj[K]; } ->(obj: Obj) => excludePrivateKeys2(obj) : (obj: Obj) => { [K in keyof Obj extends `_${string}` ? never : keyof Obj]: Obj[K]; } +>dropPrivateProps2 : (obj: Obj) => { [K in keyof Obj extends infer T ? T extends keyof Obj ? T extends `_${string}` ? never : T : never : never]: Obj[K]; } +>(obj: Obj) => excludePrivateKeys2(obj) : (obj: Obj) => { [K in keyof Obj extends infer T ? T extends keyof Obj ? T extends `_${string}` ? never : T : never : never]: Obj[K]; } >obj : Obj ->excludePrivateKeys2(obj) : { [K in keyof Obj extends `_${string}` ? never : keyof Obj]: Obj[K]; } ->excludePrivateKeys2 : (obj: Obj) => { [K in keyof Obj extends `_${string}` ? never : keyof Obj]: Obj[K]; } +>excludePrivateKeys2(obj) : { [K in keyof Obj extends infer T ? T extends keyof Obj ? T extends `_${string}` ? never : T : never : never]: Obj[K]; } +>excludePrivateKeys2 : (obj: Obj_1) => { [K in keyof Obj_1 extends infer T ? T extends keyof Obj_1 ? T extends `_${string}` ? never : T : never : never]: Obj_1[K]; } >obj : Obj === internal.ts === diff --git a/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.types b/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.types index d5faf542d52a8..862a87659f258 100644 --- a/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.types +++ b/tests/baselines/reference/declarationEmitMappedTypeDistributivityPreservesConstraints.types @@ -26,9 +26,9 @@ export default { fn }; === reexport.ts === import test from "./types"; ->test : { fn: (sliceIndex: T) => { [K in keyof T["x"]]: Parameters; }; } +>test : { fn: unknown; } ? { [K in keyof T]: T_1["x"][K]; } : never; }>(sliceIndex: T_1) => T_1["x"] extends infer T_2 extends { [x: string]: (...params: unknown[]) => unknown; } ? { [K_1 in keyof T_2]: Parameters; } : never; } export default { test }; ->{ test } : { test: { fn: (sliceIndex: T) => { [K in keyof T["x"]]: Parameters; }; }; } ->test : { fn: (sliceIndex: T) => { [K in keyof T["x"]]: Parameters; }; } +>{ test } : { test: { fn: unknown; } ? { [K in keyof T]: T_1["x"][K]; } : never; }>(sliceIndex: T_1) => T_1["x"] extends infer T_2 extends { [x: string]: (...params: unknown[]) => unknown; } ? { [K_1 in keyof T_2]: Parameters; } : never; }; } +>test : { fn: unknown; } ? { [K in keyof T]: T_1["x"][K]; } : never; }>(sliceIndex: T_1) => T_1["x"] extends infer T_2 extends { [x: string]: (...params: unknown[]) => unknown; } ? { [K_1 in keyof T_2]: Parameters; } : never; } diff --git a/tests/baselines/reference/declarationEmitNestedGenerics.types b/tests/baselines/reference/declarationEmitNestedGenerics.types index 1cf100cb709f7..bb0cb8cc969e7 100644 --- a/tests/baselines/reference/declarationEmitNestedGenerics.types +++ b/tests/baselines/reference/declarationEmitNestedGenerics.types @@ -2,29 +2,29 @@ === declarationEmitNestedGenerics.ts === function f(p: T) { ->f : (p: T) => (x: T) => typeof p +>f : (p: T) => (x: T_1) => typeof p >p : T let g: (x: T) => typeof p = null as any; ->g : (x: T) => typeof p +>g : (x: T_1) => typeof p >x : T ->p : T +>p : T_1 >null as any : any return g; ->g : (x: T) => T +>g : (x: T_1) => T } function g(x: T) { ->g : (x: T) => T extends (infer T)[] ? T : T +>g : (x: T) => T extends (infer T_1)[] ? T_1 : T >x : T let y: typeof x extends (infer T)[] ? T : typeof x = null as any; ->y : T extends (infer T)[] ? T : T +>y : T extends (infer T_1)[] ? T_1 : T >x : T >x : T >null as any : any return y; ->y : T extends (infer T)[] ? T : T +>y : T extends (infer T_1)[] ? T_1 : T } diff --git a/tests/baselines/reference/declarationEmitObjectAssignedDefaultExport.types b/tests/baselines/reference/declarationEmitObjectAssignedDefaultExport.types index f9a7c6fbd242d..5b88017bbd3c2 100644 --- a/tests/baselines/reference/declarationEmitObjectAssignedDefaultExport.types +++ b/tests/baselines/reference/declarationEmitObjectAssignedDefaultExport.types @@ -80,9 +80,9 @@ export const C = styled.div``; export default Object.assign(A, { >Object.assign(A, { B, C}) : string & import("node_modules/styled-components/index").StyledComponentBase<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> & import("node_modules/styled-components/node_modules/hoist-non-react-statics/index").NonReactStatics<"div"> & { B: import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never>; C: import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never>; } ->Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >Object : ObjectConstructor ->assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >A : import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never> >{ B, C} : { B: import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never>; C: import("node_modules/styled-components/index").StyledComponent<"div", import("node_modules/styled-components/index").DefaultTheme, {}, never>; } diff --git a/tests/baselines/reference/declarationEmitOverloadedPrivateInference.types b/tests/baselines/reference/declarationEmitOverloadedPrivateInference.types index 52c6b79f3f193..7c611a05bc7f5 100644 --- a/tests/baselines/reference/declarationEmitOverloadedPrivateInference.types +++ b/tests/baselines/reference/declarationEmitOverloadedPrivateInference.types @@ -20,13 +20,13 @@ export class Wrapper { >Wrapper : Wrapper private proxy(fn: (options: T) => U): (options: T) => U; ->proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T) => U, noArgs: true): (options?: T) => U; } +>proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T_1) => U_1, noArgs: true): (options?: T_1) => U_1; } >fn : (options: T) => U >options : T >options : T private proxy(fn: (options?: T) => U, noArgs: true): (options?: T) => U; ->proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T) => U, noArgs: true): (options?: T) => U; } +>proxy : { (fn: (options: T_1) => U_1): (options: T_1) => U_1; (fn: (options?: T) => U, noArgs: true): (options?: T) => U; } >fn : (options?: T) => U >options : T >noArgs : true @@ -34,7 +34,7 @@ export class Wrapper { >options : T private proxy(fn: (options: T) => U) { ->proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T) => U, noArgs: true): (options?: T) => U; } +>proxy : { (fn: (options: T_1) => U_1): (options: T_1) => U_1; (fn: (options?: T_2) => U_2, noArgs: true): (options?: T_2) => U_2; } >fn : (options: T) => U >options : T @@ -49,18 +49,18 @@ export class Wrapper { Failure: this.proxy(noArgs, true), >Failure : (options?: unknown) => string >this.proxy(noArgs, true) : (options?: unknown) => string ->this.proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T) => U, noArgs: true): (options?: T) => U; } +>this.proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T_1) => U_1, noArgs: true): (options?: T_1) => U_1; } >this : this ->proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T) => U, noArgs: true): (options?: T) => U; } +>proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T_1) => U_1, noArgs: true): (options?: T_1) => U_1; } >noArgs : () => string >true : true Success: this.proxy(oneArg), >Success : (options: string) => string >this.proxy(oneArg) : (options: string) => string ->this.proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T) => U, noArgs: true): (options?: T) => U; } +>this.proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T_1) => U_1, noArgs: true): (options?: T_1) => U_1; } >this : this ->proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T) => U, noArgs: true): (options?: T) => U; } +>proxy : { (fn: (options: T) => U): (options: T) => U; (fn: (options?: T_1) => U_1, noArgs: true): (options?: T_1) => U_1; } >oneArg : (input: string) => string }; diff --git a/tests/baselines/reference/declarationEmitQualifiedAliasTypeArgument.types b/tests/baselines/reference/declarationEmitQualifiedAliasTypeArgument.types index afae11e60ede4..e58c743abbf0b 100644 --- a/tests/baselines/reference/declarationEmitQualifiedAliasTypeArgument.types +++ b/tests/baselines/reference/declarationEmitQualifiedAliasTypeArgument.types @@ -38,15 +38,15 @@ import { T, Q } from "./lib"; >Q : any import { create } from "./bbb"; ->create : () => () => import("bbb").INode +>create : () => () => import("bbb").INode export const fun = create(); >fun : () => import("bbb").INode >create() : () => import("bbb").INode ->create : () => () => import("bbb").INode +>create : () => () => import("bbb").INode export const fun2 = create(); >fun2 : () => import("bbb").INode >create() : () => import("bbb").INode ->create : () => () => import("bbb").INode +>create : () => () => import("bbb").INode diff --git a/tests/baselines/reference/declarationEmitShadowingInferNotRenamed.types b/tests/baselines/reference/declarationEmitShadowingInferNotRenamed.types index 99b48e91205a8..c897ed7594d1d 100644 --- a/tests/baselines/reference/declarationEmitShadowingInferNotRenamed.types +++ b/tests/baselines/reference/declarationEmitShadowingInferNotRenamed.types @@ -11,8 +11,8 @@ type UpdatedClient = C & {foo: number} >foo : number export const createClient = < ->createClient : Client> | (new (...args: any[]) => Client)>(clientDef: D) => D extends new (...args: any[]) => infer C ? UpdatedClient : { [K in keyof D]: D[K] extends new (...args: any[]) => infer C ? UpdatedClient : never; } ->< D extends | (new (...args: any[]) => Client) // accept class | Record Client> // or map of classes>( clientDef: D): D extends new (...args: any[]) => infer C ? UpdatedClient // return instance : { [K in keyof D]: D[K] extends new (...args: any[]) => infer C // or map of instances respectively ? UpdatedClient : never } => { return null as any} : Client> | (new (...args: any[]) => Client)>(clientDef: D) => D extends new (...args: any[]) => infer C ? UpdatedClient : { [K in keyof D]: D[K] extends new (...args: any[]) => infer C ? UpdatedClient : never; } +>createClient : Client> | (new (...args: any[]) => Client)>(clientDef: D) => D extends new (...args: any[]) => infer C ? UpdatedClient : { [K in keyof D]: D[K] extends new (...args: any[]) => infer C_1 ? UpdatedClient : never; } +>< D extends | (new (...args: any[]) => Client) // accept class | Record Client> // or map of classes>( clientDef: D): D extends new (...args: any[]) => infer C ? UpdatedClient // return instance : { [K in keyof D]: D[K] extends new (...args: any[]) => infer C // or map of instances respectively ? UpdatedClient : never } => { return null as any} : Client> | (new (...args: any[]) => Client)>(clientDef: D) => D extends new (...args: any[]) => infer C ? UpdatedClient : { [K in keyof D]: D[K] extends new (...args: any[]) => infer C_1 ? UpdatedClient : never; } D extends | (new (...args: any[]) => Client) // accept class diff --git a/tests/baselines/reference/declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.types b/tests/baselines/reference/declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.types index 0e82764175d1d..12e603a310728 100644 --- a/tests/baselines/reference/declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.types +++ b/tests/baselines/reference/declarationsWithRecursiveInternalTypesProduceUniqueTypeParams.types @@ -12,13 +12,13 @@ export type Value, U> = U[K]; >Value : Value export const updateIfChanged = (t: T) => { ->updateIfChanged : (t: T) => ((key: K) => (>(key: K) => (>>(key: K) => (>>>(key: K) => (>>>>(key: K) => (>>>>>(key: K) => (>>>>>>(key: K) => (>>>>>>>(key: K) => (>>>>>>>>(key: K) => (>>>>>>>>>(key: K) => (>>>>>>>>>>(key: K) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: T) => T) => T; set: (newU: T) => T; } ->(t: T) => { const reduce = (u: U, update: (u: U) => T) => { const set = (newU: U) => Object.is(u, newU) ? t : update(newU); return Object.assign( >(key: K) => reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }), { map: (updater: (u: U) => U) => set(updater(u)), set }); }; return reduce(t, (t: T) => t);} : (t: T) => ((key: K) => (>(key: K) => (>>(key: K) => (>>>(key: K) => (>>>>(key: K) => (>>>>>(key: K) => (>>>>>>(key: K) => (>>>>>>>(key: K) => (>>>>>>>>(key: K) => (>>>>>>>>>(key: K) => (>>>>>>>>>>(key: K) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: T) => T) => T; set: (newU: T) => T; } +>updateIfChanged : (t: T) => ((key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: T) => T) => T; set: (newU: T) => T; } +>(t: T) => { const reduce = (u: U, update: (u: U) => T) => { const set = (newU: U) => Object.is(u, newU) ? t : update(newU); return Object.assign( >(key: K) => reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }), { map: (updater: (u: U) => U) => set(updater(u)), set }); }; return reduce(t, (t: T) => t);} : (t: T) => ((key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: T) => T) => T; set: (newU: T) => T; } >t : T const reduce = (u: U, update: (u: U) => T) => { ->reduce : (u: U, update: (u: U) => T) => ((key: K) => (>(key: K) => (>>(key: K) => (>>>(key: K) => (>>>>(key: K) => (>>>>>(key: K) => (>>>>>>(key: K) => (>>>>>>>(key: K) => (>>>>>>>>(key: K) => (>>>>>>>>>(key: K) => (>>>>>>>>>>(key: K) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } ->(u: U, update: (u: U) => T) => { const set = (newU: U) => Object.is(u, newU) ? t : update(newU); return Object.assign( >(key: K) => reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }), { map: (updater: (u: U) => U) => set(updater(u)), set }); } : (u: U, update: (u: U) => T) => ((key: K) => (>(key: K) => (>>(key: K) => (>>>(key: K) => (>>>>(key: K) => (>>>>>(key: K) => (>>>>>>(key: K) => (>>>>>>>(key: K) => (>>>>>>>>(key: K) => (>>>>>>>>>(key: K) => (>>>>>>>>>>(key: K) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } +>reduce : (u: U, update: (u: U) => T) => ((key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } +>(u: U, update: (u: U) => T) => { const set = (newU: U) => Object.is(u, newU) ? t : update(newU); return Object.assign( >(key: K) => reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }), { map: (updater: (u: U) => U) => set(updater(u)), set }); } : (u: U, update: (u: U) => T) => ((key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } >u : U >update : (u: U) => T >u : U @@ -40,18 +40,18 @@ export const updateIfChanged = (t: T) => { >newU : U return Object.assign( ->Object.assign( >(key: K) => reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }), { map: (updater: (u: U) => U) => set(updater(u)), set }) : ((key: K) => (>(key: K) => (>>(key: K) => (>>>(key: K) => (>>>>(key: K) => (>>>>>(key: K) => (>>>>>>(key: K) => (>>>>>>>(key: K) => (>>>>>>>>(key: K) => (>>>>>>>>>(key: K) => (>>>>>>>>>>(key: K) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } ->Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>Object.assign( >(key: K) => reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }), { map: (updater: (u: U) => U) => set(updater(u)), set }) : ((key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } +>Object.assign : { (target: T_1, source: U_1): T_1 & U_1; (target: T_2, source1: U_2, source2: V): T_2 & U_2 & V; (target: T_3, source1: U_3, source2: V_1, source3: W): T_3 & U_3 & V_1 & W; (target: object, ...sources: any[]): any; } >Object : ObjectConstructor ->assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>assign : { (target: T_1, source: U_1): T_1 & U_1; (target: T_2, source1: U_2, source2: V): T_2 & U_2 & V; (target: T_3, source1: U_3, source2: V_1, source3: W): T_3 & U_3 & V_1 & W; (target: object, ...sources: any[]): any; } >(key: K) => ->>(key: K) => reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }) : (key: K) => (>(key: K) => (>>(key: K) => (>>>(key: K) => (>>>>(key: K) => (>>>>>(key: K) => (>>>>>>(key: K) => (>>>>>>>(key: K) => (>>>>>>>>(key: K) => (>>>>>>>>>(key: K) => (>>>>>>>>>>(key: K) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; } +>>(key: K) => reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }) : (key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; } >key : K reduce>(u[key as keyof U] as Value, (v: Value) => { ->reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }) : (>(key: K) => (>>(key: K) => (>>>(key: K) => (>>>>(key: K) => (>>>>>(key: K) => (>>>>>>(key: K) => (>>>>>>>(key: K) => (>>>>>>>>(key: K) => (>>>>>>>>>(key: K) => (>>>>>>>>>>(key: K) => (>>>>>>>>>>>(key: K) => any & { map: (updater: (u: Value>>>>>>>>>>>) => Value>>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; } ->reduce : (u: U, update: (u: U) => T) => ((key: K) => (>(key: K) => (>>(key: K) => (>>>(key: K) => (>>>>(key: K) => (>>>>>(key: K) => (>>>>>>(key: K) => (>>>>>>>(key: K) => (>>>>>>>>(key: K) => (>>>>>>>>>(key: K) => (>>>>>>>>>>(key: K) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } +>reduce>(u[key as keyof U] as Value, (v: Value) => { return update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })); }) : (>(key: K) => (>>(key: K) => (>>>(key: K) => (>>>>(key: K) => (>>>>>(key: K) => (>>>>>>(key: K) => (>>>>>>>(key: K) => (>>>>>>>>(key: K) => (>>>>>>>>>(key: K) => (>>>>>>>>>>(key: K) => (>>>>>>>>>>>(key: K) => any & { map: (updater: (u: Value>>>>>>>>>>>) => Value>>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; } +>reduce : (u: U, update: (u: U) => T) => ((key: K) => (>(key: K) => (>>(key: K) => (>>>(key: K) => (>>>>(key: K) => (>>>>>(key: K) => (>>>>>>(key: K) => (>>>>>>>(key: K) => (>>>>>>>>(key: K) => (>>>>>>>>>(key: K) => (>>>>>>>>>>(key: K) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } >u[key as keyof U] as Value : Value >u[key as keyof U] : U[keyof U] >u : U @@ -64,9 +64,9 @@ export const updateIfChanged = (t: T) => { >update(Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v })) : T >update : (u: U) => T >Object.assign(Array.isArray(u) ? [] : {}, u, { [key]: v }) : U & { [x: string]: Value; } ->Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>Object.assign : { (target: T_1, source: U_1): T_1 & U_1; (target: T_2, source1: U_2, source2: V): T_2 & U_2 & V; (target: T_3, source1: U_3, source2: V_1, source3: W): T_3 & U_3 & V_1 & W; (target: object, ...sources: any[]): any; } >Object : ObjectConstructor ->assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>assign : { (target: T_1, source: U_1): T_1 & U_1; (target: T_2, source1: U_2, source2: V): T_2 & U_2 & V; (target: T_3, source1: U_3, source2: V_1, source3: W): T_3 & U_3 & V_1 & W; (target: object, ...sources: any[]): any; } >Array.isArray(u) ? [] : {} : undefined[] | {} >Array.isArray(u) : boolean >Array.isArray : (arg: any) => arg is any[] @@ -97,8 +97,8 @@ export const updateIfChanged = (t: T) => { }; return reduce(t, (t: T) => t); ->reduce(t, (t: T) => t) : ((key: K) => (>(key: K) => (>>(key: K) => (>>>(key: K) => (>>>>(key: K) => (>>>>>(key: K) => (>>>>>>(key: K) => (>>>>>>>(key: K) => (>>>>>>>>(key: K) => (>>>>>>>>>(key: K) => (>>>>>>>>>>(key: K) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: T) => T) => T; set: (newU: T) => T; } ->reduce : (u: U, update: (u: U) => T) => ((key: K) => (>(key: K) => (>>(key: K) => (>>>(key: K) => (>>>>(key: K) => (>>>>>(key: K) => (>>>>>>(key: K) => (>>>>>>>(key: K) => (>>>>>>>>(key: K) => (>>>>>>>>>(key: K) => (>>>>>>>>>>(key: K) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } +>reduce(t, (t: T) => t) : ((key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: T) => T) => T; set: (newU: T) => T; } +>reduce : (u: U, update: (u: U) => T) => ((key: K) => (>(key: K_1) => (>>(key: K_2) => (>>>(key: K_3) => (>>>>(key: K_4) => (>>>>>(key: K_5) => (>>>>>>(key: K_6) => (>>>>>>>(key: K_7) => (>>>>>>>>(key: K_8) => (>>>>>>>>>(key: K_9) => (>>>>>>>>>>(key: K_10) => any & { map: (updater: (u: Value>>>>>>>>>>) => Value>>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>>) => Value>>>>>>>>>) => T; set: (newU: Value>>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>>) => Value>>>>>>>>) => T; set: (newU: Value>>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>>) => Value>>>>>>>) => T; set: (newU: Value>>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>>) => Value>>>>>>) => T; set: (newU: Value>>>>>>) => T; }) & { map: (updater: (u: Value>>>>>) => Value>>>>>) => T; set: (newU: Value>>>>>) => T; }) & { map: (updater: (u: Value>>>>) => Value>>>>) => T; set: (newU: Value>>>>) => T; }) & { map: (updater: (u: Value>>>) => Value>>>) => T; set: (newU: Value>>>) => T; }) & { map: (updater: (u: Value>>) => Value>>) => T; set: (newU: Value>>) => T; }) & { map: (updater: (u: Value>) => Value>) => T; set: (newU: Value>) => T; }) & { map: (updater: (u: Value) => Value) => T; set: (newU: Value) => T; }) & { map: (updater: (u: U) => U) => T; set: (newU: U) => T; } >t : T >(t: T) => t : (t: T) => T >t : T @@ -109,25 +109,25 @@ export const updateIfChanged = (t: T) => { // example from https://github.com/microsoft/TypeScript/issues/31605 export const testRecFun = (parent: T) => { ->testRecFun : (parent: T) => { result: T; deeper: (child: U) => { result: T & U; deeper: (child: U) => { result: T & U & U; deeper: (child: U) => { result: T & U & U & U; deeper: (child: U) => { result: T & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } ->(parent: T) => { return { result: parent, deeper: (child: U) => testRecFun({ ...parent, ...child }) };} : (parent: T) => { result: T; deeper: (child: U) => { result: T & U; deeper: (child: U) => { result: T & U & U; deeper: (child: U) => { result: T & U & U & U; deeper: (child: U) => { result: T & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } +>testRecFun : (parent: T) => { result: T; deeper: (child: U) => { result: T & U; deeper: (child: U_1) => { result: T & U & U_1; deeper: (child: U_2) => { result: T & U & U_1 & U_2; deeper: (child: U_3) => { result: T & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: T & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } +>(parent: T) => { return { result: parent, deeper: (child: U) => testRecFun({ ...parent, ...child }) };} : (parent: T) => { result: T; deeper: (child: U) => { result: T & U; deeper: (child: U_1) => { result: T & U & U_1; deeper: (child: U_2) => { result: T & U & U_1 & U_2; deeper: (child: U_3) => { result: T & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: T & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } >parent : T return { ->{ result: parent, deeper: (child: U) => testRecFun({ ...parent, ...child }) } : { result: T; deeper: (child: U) => { result: T & U; deeper: (child: U) => { result: T & U & U; deeper: (child: U) => { result: T & U & U & U; deeper: (child: U) => { result: T & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } +>{ result: parent, deeper: (child: U) => testRecFun({ ...parent, ...child }) } : { result: T; deeper: (child: U) => { result: T & U; deeper: (child: U_1) => { result: T & U & U_1; deeper: (child: U_2) => { result: T & U & U_1 & U_2; deeper: (child: U_3) => { result: T & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: T & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } result: parent, >result : T >parent : T deeper: (child: U) => ->deeper : (child: U) => { result: T & U; deeper: (child: U) => { result: T & U & U; deeper: (child: U) => { result: T & U & U & U; deeper: (child: U) => { result: T & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U & U & U; deeper: any; }; }; }; }; }; }; }; }; }; }; } ->(child: U) => testRecFun({ ...parent, ...child }) : (child: U) => { result: T & U; deeper: (child: U) => { result: T & U & U; deeper: (child: U) => { result: T & U & U & U; deeper: (child: U) => { result: T & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U & U & U; deeper: any; }; }; }; }; }; }; }; }; }; }; } +>deeper : (child: U) => { result: T & U; deeper: (child: U_1) => { result: T & U & U_1; deeper: (child: U_2) => { result: T & U & U_1 & U_2; deeper: (child: U_3) => { result: T & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: T & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9 & U_10; deeper: any; }; }; }; }; }; }; }; }; }; }; } +>(child: U) => testRecFun({ ...parent, ...child }) : (child: U) => { result: T & U; deeper: (child: U_1) => { result: T & U & U_1; deeper: (child: U_2) => { result: T & U & U_1 & U_2; deeper: (child: U_3) => { result: T & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: T & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9 & U_10; deeper: any; }; }; }; }; }; }; }; }; }; }; } >child : U testRecFun({ ...parent, ...child }) ->testRecFun({ ...parent, ...child }) : { result: T & U; deeper: (child: U) => { result: T & U & U; deeper: (child: U) => { result: T & U & U & U; deeper: (child: U) => { result: T & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } ->testRecFun : (parent: T) => { result: T; deeper: (child: U) => { result: T & U; deeper: (child: U) => { result: T & U & U; deeper: (child: U) => { result: T & U & U & U; deeper: (child: U) => { result: T & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } +>testRecFun({ ...parent, ...child }) : { result: T & U; deeper: (child: U) => { result: T & U & U; deeper: (child: U) => { result: T & U & U & U; deeper: (child: U) => { result: T & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } +>testRecFun : (parent: T) => { result: T; deeper: (child: U) => { result: T & U; deeper: (child: U) => { result: T & U & U; deeper: (child: U) => { result: T & U & U & U; deeper: (child: U) => { result: T & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } >{ ...parent, ...child } : T & U >parent : T >child : U @@ -137,9 +137,9 @@ export const testRecFun = (parent: T) => { let p1 = testRecFun({ one: '1' }) ->p1 : { result: { one: string; }; deeper: (child: U) => { result: { one: string; } & U; deeper: (child: U) => { result: { one: string; } & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } ->testRecFun({ one: '1' }) : { result: { one: string; }; deeper: (child: U) => { result: { one: string; } & U; deeper: (child: U) => { result: { one: string; } & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } ->testRecFun : (parent: T) => { result: T; deeper: (child: U) => { result: T & U; deeper: (child: U) => { result: T & U & U; deeper: (child: U) => { result: T & U & U & U; deeper: (child: U) => { result: T & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: T & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } +>p1 : { result: { one: string; }; deeper: (child: U) => { result: { one: string; } & U; deeper: (child: U_1) => { result: { one: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } +>testRecFun({ one: '1' }) : { result: { one: string; }; deeper: (child: U) => { result: { one: string; } & U; deeper: (child: U_1) => { result: { one: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } +>testRecFun : (parent: T) => { result: T; deeper: (child: U) => { result: T & U; deeper: (child: U_1) => { result: T & U & U_1; deeper: (child: U_2) => { result: T & U & U_1 & U_2; deeper: (child: U_3) => { result: T & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: T & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: T & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } >{ one: '1' } : { one: string; } >one : string >'1' : "1" @@ -148,16 +148,16 @@ void p1.result.one; >void p1.result.one : undefined >p1.result.one : string >p1.result : { one: string; } ->p1 : { result: { one: string; }; deeper: (child: U) => { result: { one: string; } & U; deeper: (child: U) => { result: { one: string; } & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } +>p1 : { result: { one: string; }; deeper: (child: U) => { result: { one: string; } & U; deeper: (child: U_1) => { result: { one: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } >result : { one: string; } >one : string let p2 = p1.deeper({ two: '2' }) ->p2 : { result: { one: string; } & { two: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } ->p1.deeper({ two: '2' }) : { result: { one: string; } & { two: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } ->p1.deeper : (child: U) => { result: { one: string; } & U; deeper: (child: U) => { result: { one: string; } & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U & U & U; deeper: any; }; }; }; }; }; }; }; }; }; }; } ->p1 : { result: { one: string; }; deeper: (child: U) => { result: { one: string; } & U; deeper: (child: U) => { result: { one: string; } & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } ->deeper : (child: U) => { result: { one: string; } & U; deeper: (child: U) => { result: { one: string; } & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & U & U & U & U & U & U & U & U & U & U & U; deeper: any; }; }; }; }; }; }; }; }; }; }; } +>p2 : { result: { one: string; } & { two: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } +>p1.deeper({ two: '2' }) : { result: { one: string; } & { two: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } +>p1.deeper : (child: U) => { result: { one: string; } & U; deeper: (child: U_1) => { result: { one: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9 & U_10; deeper: any; }; }; }; }; }; }; }; }; }; }; } +>p1 : { result: { one: string; }; deeper: (child: U) => { result: { one: string; } & U; deeper: (child: U_1) => { result: { one: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } +>deeper : (child: U) => { result: { one: string; } & U; deeper: (child: U_1) => { result: { one: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => { result: { one: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9 & U_10; deeper: any; }; }; }; }; }; }; }; }; }; }; } >{ two: '2' } : { two: string; } >two : string >'2' : "2" @@ -166,7 +166,7 @@ void p2.result.one; >void p2.result.one : undefined >p2.result.one : string >p2.result : { one: string; } & { two: string; } ->p2 : { result: { one: string; } & { two: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } +>p2 : { result: { one: string; } & { two: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } >result : { one: string; } & { two: string; } >one : string @@ -174,16 +174,16 @@ void p2.result.two; >void p2.result.two : undefined >p2.result.two : string >p2.result : { one: string; } & { two: string; } ->p2 : { result: { one: string; } & { two: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } +>p2 : { result: { one: string; } & { two: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } >result : { one: string; } & { two: string; } >two : string let p3 = p2.deeper({ three: '3' }) ->p3 : { result: { one: string; } & { two: string; } & { three: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } ->p2.deeper({ three: '3' }) : { result: { one: string; } & { two: string; } & { three: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } ->p2.deeper : (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U & U & U; deeper: any; }; }; }; }; }; }; }; }; }; }; } ->p2 : { result: { one: string; } & { two: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } ->deeper : (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & U & U & U & U & U & U & U & U & U & U & U; deeper: any; }; }; }; }; }; }; }; }; }; }; } +>p3 : { result: { one: string; } & { two: string; } & { three: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } +>p2.deeper({ three: '3' }) : { result: { one: string; } & { two: string; } & { three: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } +>p2.deeper : (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9 & U_10; deeper: any; }; }; }; }; }; }; }; }; }; }; } +>p2 : { result: { one: string; } & { two: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } +>deeper : (child: U) => { result: { one: string; } & { two: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => { result: { one: string; } & { two: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9 & U_10; deeper: any; }; }; }; }; }; }; }; }; }; }; } >{ three: '3' } : { three: string; } >three : string >'3' : "3" @@ -192,7 +192,7 @@ void p3.result.one; >void p3.result.one : undefined >p3.result.one : string >p3.result : { one: string; } & { two: string; } & { three: string; } ->p3 : { result: { one: string; } & { two: string; } & { three: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } +>p3 : { result: { one: string; } & { two: string; } & { three: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } >result : { one: string; } & { two: string; } & { three: string; } >one : string @@ -200,7 +200,7 @@ void p3.result.two; >void p3.result.two : undefined >p3.result.two : string >p3.result : { one: string; } & { two: string; } & { three: string; } ->p3 : { result: { one: string; } & { two: string; } & { three: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } +>p3 : { result: { one: string; } & { two: string; } & { three: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } >result : { one: string; } & { two: string; } & { three: string; } >two : string @@ -208,7 +208,7 @@ void p3.result.three; >void p3.result.three : undefined >p3.result.three : string >p3.result : { one: string; } & { two: string; } & { three: string; } ->p3 : { result: { one: string; } & { two: string; } & { three: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U & U & U; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U & U & U & U & U & U & U & U & U & U; deeper: (child: U) => any; }; }; }; }; }; }; }; }; }; }; } +>p3 : { result: { one: string; } & { two: string; } & { three: string; }; deeper: (child: U) => { result: { one: string; } & { two: string; } & { three: string; } & U; deeper: (child: U_1) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1; deeper: (child: U_2) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2; deeper: (child: U_3) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3; deeper: (child: U_4) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4; deeper: (child: U_5) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5; deeper: (child: U_6) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6; deeper: (child: U_7) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7; deeper: (child: U_8) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8; deeper: (child: U_9) => { result: { one: string; } & { two: string; } & { three: string; } & U & U_1 & U_2 & U_3 & U_4 & U_5 & U_6 & U_7 & U_8 & U_9; deeper: (child: U_10) => any; }; }; }; }; }; }; }; }; }; }; } >result : { one: string; } & { two: string; } & { three: string; } >three : string diff --git a/tests/baselines/reference/decoratorOnTypeAlias.types b/tests/baselines/reference/decoratorOnTypeAlias.types index 06434b6386c90..6938b10cb2e0a 100644 --- a/tests/baselines/reference/decoratorOnTypeAlias.types +++ b/tests/baselines/reference/decoratorOnTypeAlias.types @@ -6,7 +6,7 @@ declare function dec(target: T): T; >target : T @dec ->dec : (target: T) => T +>dec : (target: T_1) => T_1 type T = number; >T : number diff --git a/tests/baselines/reference/deferredLookupTypeResolution.types b/tests/baselines/reference/deferredLookupTypeResolution.types index 65afeb1bd22f2..2d8ef11ae7796 100644 --- a/tests/baselines/reference/deferredLookupTypeResolution.types +++ b/tests/baselines/reference/deferredLookupTypeResolution.types @@ -39,7 +39,7 @@ function f2(a: A) { return f1(a, 'x'); >f1(a, 'x') : { [P in A | "x"]: any; } ->f1 : (a: A, b: B) => { [P in A | B]: any; } +>f1 : (a: A_1, b: B) => { [P in A_1 | B]: any; } >a : A >'x' : "x" } diff --git a/tests/baselines/reference/dependentDestructuredVariables.types b/tests/baselines/reference/dependentDestructuredVariables.types index 3b89a4048d89c..25f18a848374b 100644 --- a/tests/baselines/reference/dependentDestructuredVariables.types +++ b/tests/baselines/reference/dependentDestructuredVariables.types @@ -457,13 +457,13 @@ function unrefined1(ab: AB): void { printValue(value); >printValue(value) : void ->printValue : (t: T) => void +>printValue : (t: T_1) => void >value : T } else { printValueList(value); >printValueList(value) : void ->printValueList : (t: T[]) => void +>printValueList : (t: T_1[]) => void >value : T[] } } diff --git a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types index 1dcbc8a77c1d7..c5d38cad8c9ab 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types @@ -205,9 +205,9 @@ const iterable = { return Promise.resolve({ >Promise.resolve({ done: items.length === 0, value, }) : Promise<{ done: boolean; value: number; }> ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >{ done: items.length === 0, value, } : { done: boolean; value: number; } done: items.length === 0, diff --git a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types index 1dcbc8a77c1d7..c5d38cad8c9ab 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types @@ -205,9 +205,9 @@ const iterable = { return Promise.resolve({ >Promise.resolve({ done: items.length === 0, value, }) : Promise<{ done: boolean; value: number; }> ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >{ done: items.length === 0, value, } : { done: boolean; value: number; } done: items.length === 0, diff --git a/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.types b/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.types index 8b085cfd066e5..ca032217d3a3d 100644 --- a/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.types +++ b/tests/baselines/reference/doNotElaborateAssignabilityToTypeParameters.types @@ -9,7 +9,7 @@ async function foo(x: T): Promise { >yaddable : Yadda | Awaited >await getXOrYadda(x) : Yadda | Awaited >getXOrYadda(x) : T | Yadda ->getXOrYadda : (x: T) => T | Yadda +>getXOrYadda : (x: T_1) => T_1 | Yadda >x : T return yaddable; diff --git a/tests/baselines/reference/doubleMixinConditionalTypeBaseClassWorks.types b/tests/baselines/reference/doubleMixinConditionalTypeBaseClassWorks.types index 938c886fdeae5..665d8c2e13756 100644 --- a/tests/baselines/reference/doubleMixinConditionalTypeBaseClassWorks.types +++ b/tests/baselines/reference/doubleMixinConditionalTypeBaseClassWorks.types @@ -6,8 +6,8 @@ type Constructor = new (...args: any[]) => {}; >args : any[] const Mixin1 = (Base: C) => class extends Base { private _fooPrivate: {}; } ->Mixin1 : (Base: C) => { new (...args: any[]): (Anonymous class); prototype: Mixin1.(Anonymous class); } & C ->(Base: C) => class extends Base { private _fooPrivate: {}; } : (Base: C) => { new (...args: any[]): (Anonymous class); prototype: Mixin1.(Anonymous class); } & C +>Mixin1 : (Base: C_1) => { new (...args: any[]): (Anonymous class); prototype: Mixin1.(Anonymous class); } & C_1 +>(Base: C) => class extends Base { private _fooPrivate: {}; } : (Base: C_1) => { new (...args: any[]): (Anonymous class); prototype: Mixin1.(Anonymous class); } & C_1 >Base : C >class extends Base { private _fooPrivate: {}; } : { new (...args: any[]): (Anonymous class); prototype: Mixin1.(Anonymous class); } & C >Base : {} @@ -15,12 +15,12 @@ const Mixin1 = (Base: C) => class extends Base { private type FooConstructor = typeof Mixin1 extends (a: Constructor) => infer Cls ? Cls : never; >FooConstructor : { new (...args: any[]): Mixin1.(Anonymous class); prototype: Mixin1.(Anonymous class); } & Constructor ->Mixin1 : (Base: C) => { new (...args: any[]): (Anonymous class); prototype: Mixin1.(Anonymous class); } & C +>Mixin1 : (Base: C_1) => { new (...args: any[]): (Anonymous class); prototype: Mixin1.(Anonymous class); } & C_1 >a : Constructor const Mixin2 = (Base: C) => class extends Base {}; ->Mixin2 : .(Anonymous class); prototype: Mixin1.(Anonymous class); } & Constructor>(Base: C) => { new (...args: any[]): (Anonymous class); prototype: Mixin2.(Anonymous class); } & C ->(Base: C) => class extends Base {} : .(Anonymous class); prototype: Mixin1.(Anonymous class); } & Constructor>(Base: C) => { new (...args: any[]): (Anonymous class); prototype: Mixin2.(Anonymous class); } & C +>Mixin2 : .(Anonymous class); prototype: Mixin1.(Anonymous class); } & Constructor>(Base: C_1) => { new (...args: any[]): (Anonymous class); prototype: Mixin2.(Anonymous class); } & C_1 +>(Base: C) => class extends Base {} : .(Anonymous class); prototype: Mixin1.(Anonymous class); } & Constructor>(Base: C_1) => { new (...args: any[]): (Anonymous class); prototype: Mixin2.(Anonymous class); } & C_1 >Base : C >class extends Base {} : { new (...args: any[]): (Anonymous class); prototype: Mixin2.(Anonymous class); } & C >Base : Mixin1.(Anonymous class) @@ -28,8 +28,8 @@ const Mixin2 = (Base: C) => class extends Base {}; class C extends Mixin2(Mixin1(Object)) {} >C : C >Mixin2(Mixin1(Object)) : Mixin2<{ new (...args: any[]): Mixin1.(Anonymous class); prototype: Mixin1.(Anonymous class); } & ObjectConstructor>.(Anonymous class) & Mixin1.(Anonymous class) & Object ->Mixin2 : .(Anonymous class); prototype: Mixin1.(Anonymous class); } & Constructor>(Base: C) => { new (...args: any[]): (Anonymous class); prototype: Mixin2.(Anonymous class); } & C +>Mixin2 : .(Anonymous class); prototype: Mixin1.(Anonymous class); } & Constructor>(Base: C_1) => { new (...args: any[]): (Anonymous class); prototype: Mixin2.(Anonymous class); } & C_1 >Mixin1(Object) : { new (...args: any[]): Mixin1.(Anonymous class); prototype: Mixin1.(Anonymous class); } & ObjectConstructor ->Mixin1 : (Base: C) => { new (...args: any[]): (Anonymous class); prototype: Mixin1.(Anonymous class); } & C +>Mixin1 : (Base: C_1) => { new (...args: any[]): (Anonymous class); prototype: Mixin1.(Anonymous class); } & C_1 >Object : ObjectConstructor diff --git a/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.types b/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.types index 983671d105a54..f2b16d7f6a277 100644 --- a/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.types +++ b/tests/baselines/reference/duplicateOverloadInTypeAugmentation1.types @@ -3,7 +3,7 @@ === duplicateOverloadInTypeAugmentation1.ts === interface Array { reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, ->reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } +>reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U_1, currentValue: T, currentIndex: number, array: T[]) => U_1, initialValue: U_1): U_1; } >callbackfn : (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T >previousValue : T >currentValue : T @@ -14,7 +14,7 @@ interface Array { >initialValue : T reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, ->reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } +>reduce : { (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; (callbackfn: (previousValue: U_1, currentValue: T, currentIndex: number, array: T[]) => U_1, initialValue: U_1): U_1; (callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: T): T; (callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } >callbackfn : (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U >previousValue : U >currentValue : T @@ -30,9 +30,9 @@ var a: Array; var r5 = a.reduce((x, y) => x + y); >r5 : string >a.reduce((x, y) => x + y) : string ->a.reduce : { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue?: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; } +>a.reduce : { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue?: string): string; (callbackfn: (previousValue: U_1, currentValue: string, currentIndex: number, array: string[]) => U_1, initialValue: U_1): U_1; } >a : string[] ->reduce : { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue?: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; } +>reduce : { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue?: string): string; (callbackfn: (previousValue: U_1, currentValue: string, currentIndex: number, array: string[]) => U_1, initialValue: U_1): U_1; } >(x, y) => x + y : (x: string, y: string) => string >x : string >y : string diff --git a/tests/baselines/reference/enumAssignabilityInInheritance.types b/tests/baselines/reference/enumAssignabilityInInheritance.types index 555f0a23bcf1d..f1bbea0277f17 100644 --- a/tests/baselines/reference/enumAssignabilityInInheritance.types +++ b/tests/baselines/reference/enumAssignabilityInInheritance.types @@ -225,19 +225,19 @@ var r4 = foo11(E.A); >A : E declare function foo12(x: (x: T) => T): (x: T) => T; ->foo12 : { (x: (x: T) => T): (x: T) => T; (x: E): E; } +>foo12 : { (x: (x: T) => T): (x: T_1) => T_1; (x: E): E; } >x : (x: T) => T >x : T >x : T declare function foo12(x: E): E; ->foo12 : { (x: (x: T) => T): (x: T) => T; (x: E): E; } +>foo12 : { (x: (x: T) => T): (x: T_1) => T_1; (x: E): E; } >x : E var r4 = foo12(E.A); >r4 : E >foo12(E.A) : E ->foo12 : { (x: (x: T) => T): (x: T) => T; (x: E): E; } +>foo12 : { (x: (x: T) => T): (x: T_1) => T_1; (x: E): E; } >E.A : E >E : typeof E >A : E diff --git a/tests/baselines/reference/es2018ObjectAssign.types b/tests/baselines/reference/es2018ObjectAssign.types index 117f1d2993e23..e964daf53c0c2 100644 --- a/tests/baselines/reference/es2018ObjectAssign.types +++ b/tests/baselines/reference/es2018ObjectAssign.types @@ -4,9 +4,9 @@ const test = Object.assign({}, { test: true }); >test : { test: boolean; } >Object.assign({}, { test: true }) : { test: boolean; } ->Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >Object : ObjectConstructor ->assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >{} : {} >{ test: true } : { test: true; } >test : true diff --git a/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.types b/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.types index dcaa2c3349f00..d251cc23f73fb 100644 --- a/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.types +++ b/tests/baselines/reference/es5-asyncFunctionLongObjectLiteral.types @@ -14,45 +14,45 @@ const fooShort = async () => { >a : number >await Promise.resolve(0) : number >Promise.resolve(0) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >0 : 0 b: await Promise.resolve(1), >b : number >await Promise.resolve(1) : number >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 c: await Promise.resolve(2), >c : number >await Promise.resolve(2) : number >Promise.resolve(2) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >2 : 2 d: await Promise.resolve(3), >d : number >await Promise.resolve(3) : number >Promise.resolve(3) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >3 : 3 e: await Promise.resolve(4), >e : number >await Promise.resolve(4) : number >Promise.resolve(4) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >4 : 4 }; @@ -69,90 +69,90 @@ const fooLong = async () => { >a : number >await Promise.resolve(0) : number >Promise.resolve(0) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >0 : 0 b: await Promise.resolve(1), >b : number >await Promise.resolve(1) : number >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 c: await Promise.resolve(2), >c : number >await Promise.resolve(2) : number >Promise.resolve(2) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >2 : 2 d: await Promise.resolve(3), >d : number >await Promise.resolve(3) : number >Promise.resolve(3) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >3 : 3 e: await Promise.resolve(4), >e : number >await Promise.resolve(4) : number >Promise.resolve(4) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >4 : 4 f: await Promise.resolve(5), >f : number >await Promise.resolve(5) : number >Promise.resolve(5) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >5 : 5 g: await Promise.resolve(6), >g : number >await Promise.resolve(6) : number >Promise.resolve(6) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >6 : 6 h: await Promise.resolve(7), >h : number >await Promise.resolve(7) : number >Promise.resolve(7) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >7 : 7 i: await Promise.resolve(8), >i : number >await Promise.resolve(8) : number >Promise.resolve(8) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >8 : 8 j: await Promise.resolve(9), >j : number >await Promise.resolve(9) : number >Promise.resolve(9) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >9 : 9 }; diff --git a/tests/baselines/reference/exportDefaultAsyncFunction2.types b/tests/baselines/reference/exportDefaultAsyncFunction2.types index aa9fb12da349c..b00a4fe4c8509 100644 --- a/tests/baselines/reference/exportDefaultAsyncFunction2.types +++ b/tests/baselines/reference/exportDefaultAsyncFunction2.types @@ -21,9 +21,9 @@ export default async(() => await(Promise.resolve(1))); >await(Promise.resolve(1)) : any >await : (...args: any[]) => any >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 === b.ts === diff --git a/tests/baselines/reference/expressionTypeNodeShouldError.types b/tests/baselines/reference/expressionTypeNodeShouldError.types index 59b0698d15c63..5bc0f1671b451 100644 --- a/tests/baselines/reference/expressionTypeNodeShouldError.types +++ b/tests/baselines/reference/expressionTypeNodeShouldError.types @@ -33,9 +33,9 @@ class C { const nodes = document.getElementsByTagName("li"); >nodes : HTMLCollectionOf >document.getElementsByTagName("li") : HTMLCollectionOf ->document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } +>document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K_1): HTMLCollectionOf; (qualifiedName: K_2): HTMLCollectionOf; (qualifiedName: K_3): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } >document : Document ->getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } +>getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K_1): HTMLCollectionOf; (qualifiedName: K_2): HTMLCollectionOf; (qualifiedName: K_3): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } >"li" : "li" type ItemType = "".typeof(nodes.item(0)); @@ -74,9 +74,9 @@ class C2 { const nodes2 = document.getElementsByTagName("li"); >nodes2 : HTMLCollectionOf >document.getElementsByTagName("li") : HTMLCollectionOf ->document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } +>document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K_1): HTMLCollectionOf; (qualifiedName: K_2): HTMLCollectionOf; (qualifiedName: K_3): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } >document : Document ->getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } +>getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K_1): HTMLCollectionOf; (qualifiedName: K_2): HTMLCollectionOf; (qualifiedName: K_3): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } >"li" : "li" type ItemType2 = 4..typeof(nodes.item(0)); @@ -116,9 +116,9 @@ class C3 { const nodes3 = document.getElementsByTagName("li"); >nodes3 : HTMLCollectionOf >document.getElementsByTagName("li") : HTMLCollectionOf ->document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } +>document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K_1): HTMLCollectionOf; (qualifiedName: K_2): HTMLCollectionOf; (qualifiedName: K_3): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } >document : Document ->getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } +>getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K_1): HTMLCollectionOf; (qualifiedName: K_2): HTMLCollectionOf; (qualifiedName: K_3): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } >"li" : "li" type ItemType3 = true.typeof(nodes.item(0)); diff --git a/tests/baselines/reference/fixingTypeParametersRepeatedly2.types b/tests/baselines/reference/fixingTypeParametersRepeatedly2.types index ee0fee44db74d..d28e41bc02449 100644 --- a/tests/baselines/reference/fixingTypeParametersRepeatedly2.types +++ b/tests/baselines/reference/fixingTypeParametersRepeatedly2.types @@ -34,13 +34,13 @@ var result = foo(derived, d => d.toBase()); // bar should type check just like foo. // The same error should be observed in both cases. declare function bar(x: T, func: (p: T) => T): T; ->bar : { (x: T, func: (p: T) => T): T; (x: T, func: (p: T) => T): T; } +>bar : { (x: T, func: (p: T) => T): T; (x: T_1, func: (p: T_1) => T_1): T_1; } >x : T >func : (p: T) => T >p : T declare function bar(x: T, func: (p: T) => T): T; ->bar : { (x: T, func: (p: T) => T): T; (x: T, func: (p: T) => T): T; } +>bar : { (x: T_1, func: (p: T_1) => T_1): T_1; (x: T, func: (p: T) => T): T; } >x : T >func : (p: T) => T >p : T @@ -48,7 +48,7 @@ declare function bar(x: T, func: (p: T) => T): T; var result = bar(derived, d => d.toBase()); >result : Derived >bar(derived, d => d.toBase()) : Base ->bar : { (x: T, func: (p: T) => T): T; (x: T, func: (p: T) => T): T; } +>bar : { (x: T, func: (p: T) => T): T; (x: T_1, func: (p: T_1) => T_1): T_1; } >derived : Derived >d => d.toBase() : (d: Derived) => Base >d : Derived diff --git a/tests/baselines/reference/fixingTypeParametersRepeatedly3.types b/tests/baselines/reference/fixingTypeParametersRepeatedly3.types index 06ca06fc9dd78..17961996eb438 100644 --- a/tests/baselines/reference/fixingTypeParametersRepeatedly3.types +++ b/tests/baselines/reference/fixingTypeParametersRepeatedly3.types @@ -34,13 +34,13 @@ var result = foo(derived, d => d.toBase()); // bar should type check just like foo. // result2 should have the same type as result declare function bar(x: T, func: (p: T) => T): T; ->bar : { (x: T, func: (p: T) => T): T; (x: T, func: (p: T) => T): T; } +>bar : { (x: T, func: (p: T) => T): T; (x: T_1, func: (p: T_1) => T_1): T_1; } >x : T >func : (p: T) => T >p : T declare function bar(x: T, func: (p: T) => T): T; ->bar : { (x: T, func: (p: T) => T): T; (x: T, func: (p: T) => T): T; } +>bar : { (x: T_1, func: (p: T_1) => T_1): T_1; (x: T, func: (p: T) => T): T; } >x : T >func : (p: T) => T >p : T @@ -48,7 +48,7 @@ declare function bar(x: T, func: (p: T) => T): T; var result2 = bar(derived, d => d.toBase()); >result2 : Base >bar(derived, d => d.toBase()) : Base ->bar : { (x: T, func: (p: T) => T): T; (x: T, func: (p: T) => T): T; } +>bar : { (x: T, func: (p: T) => T): T; (x: T_1, func: (p: T_1) => T_1): T_1; } >derived : Derived >d => d.toBase() : (d: Derived) => Base >d : Derived diff --git a/tests/baselines/reference/functionConstraintSatisfaction.types b/tests/baselines/reference/functionConstraintSatisfaction.types index 9dceb5cb7d048..17e6ecc1b68ac 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction.types +++ b/tests/baselines/reference/functionConstraintSatisfaction.types @@ -117,7 +117,7 @@ var b2: { new (x: T): T }; >x : T var c2: { (x: T): T; (x: T, y: T): T }; ->c2 : { (x: T): T; (x: T, y: T): T; } +>c2 : { (x: T): T; (x: T_1, y: T_1): T_1; } >x : T >x : T >y : T @@ -174,10 +174,10 @@ var r15 = foo(b2); >b2 : new (x: T) => T var r16 = foo(c2); ->r16 : { (x: T): T; (x: T, y: T): T; } ->foo(c2) : { (x: T): T; (x: T, y: T): T; } +>r16 : { (x: T): T; (x: T_1, y: T_1): T_1; } +>foo(c2) : { (x: T): T; (x: T_1, y: T_1): T_1; } >foo : (x: T) => T ->c2 : { (x: T): T; (x: T, y: T): T; } +>c2 : { (x: T): T; (x: T_1, y: T_1): T_1; } interface F2 extends Function { foo: string; } >foo : string @@ -198,12 +198,12 @@ function foo2(x: T, y: U) { foo(x); >foo(x) : T ->foo : (x: T) => T +>foo : (x: T_1) => T_1 >x : T foo(y); >foo(y) : U ->foo : (x: T) => T +>foo : (x: T_1) => T_1 >y : U } //function foo2(x: T, y: U) { diff --git a/tests/baselines/reference/functionConstraintSatisfaction2.types b/tests/baselines/reference/functionConstraintSatisfaction2.types index 5afa5131f4522..c5274022c9bc9 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction2.types +++ b/tests/baselines/reference/functionConstraintSatisfaction2.types @@ -128,12 +128,12 @@ function fff(x: T, y: U) { foo2(x); >foo2(x) : (x: string) => string ->foo2 : string>(x: T) => T +>foo2 : string>(x: T_1) => T_1 >x : T foo2(y); >foo2(y) : (x: string) => string ->foo2 : string>(x: T) => T +>foo2 : string>(x: T_1) => T_1 >y : U } diff --git a/tests/baselines/reference/functionConstraintSatisfaction3.types b/tests/baselines/reference/functionConstraintSatisfaction3.types index 04f24e0eb78aa..40e81c9e4fea8 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction3.types +++ b/tests/baselines/reference/functionConstraintSatisfaction3.types @@ -99,7 +99,7 @@ var b2: { new (x: T): T }; >x : T var c2: { (x: T): T; (x: T, y: T): T }; ->c2 : { (x: T): T; (x: T, y: T): T; } +>c2 : { (x: T): T; (x: T_1, y: T_1): T_1; } >x : T >x : T >y : T @@ -127,8 +127,8 @@ var r12 = foo(i2); >i2 : I2 var r15 = foo(c2); ->r15 : { (x: T): T; (x: T, y: T): T; } ->foo(c2) : { (x: T): T; (x: T, y: T): T; } +>r15 : { (x: T): T; (x: T_1, y: T_1): T_1; } +>foo(c2) : { (x: T): T; (x: T_1, y: T_1): T_1; } >foo : string>(x: T) => T ->c2 : { (x: T): T; (x: T, y: T): T; } +>c2 : { (x: T): T; (x: T_1, y: T_1): T_1; } diff --git a/tests/baselines/reference/functionLiteralForOverloads.types b/tests/baselines/reference/functionLiteralForOverloads.types index a14efc3498616..3e2f77e9c17a8 100644 --- a/tests/baselines/reference/functionLiteralForOverloads.types +++ b/tests/baselines/reference/functionLiteralForOverloads.types @@ -18,7 +18,7 @@ var f: { >x : any var f2: { ->f2 : { (x: string): string; (x: number): number; } +>f2 : { (x: string): string; (x: number): number; } (x: string): string; >x : string @@ -32,7 +32,7 @@ var f2: { >x : any var f3: { ->f3 : { (x: T): string; (x: T): number; } +>f3 : { (x: T): string; (x: T_1): number; } (x: T): string; >x : T @@ -46,7 +46,7 @@ var f3: { >x : any var f4: { ->f4 : { (x: string): T; (x: number): T; } +>f4 : { (x: string): T; (x: number): T_1; } (x: string): T; >x : string diff --git a/tests/baselines/reference/functionLiteralForOverloads2.types b/tests/baselines/reference/functionLiteralForOverloads2.types index 382796dc8501f..089495a66f3d1 100644 --- a/tests/baselines/reference/functionLiteralForOverloads2.types +++ b/tests/baselines/reference/functionLiteralForOverloads2.types @@ -42,7 +42,7 @@ var f: { >C : typeof C var f2: { ->f2 : { new (x: string): C; new (x: number): C; } +>f2 : { new (x: string): C; new (x: number): C; } new(x: string): C; >x : string @@ -54,7 +54,7 @@ var f2: { >C : typeof C var f3: { ->f3 : { new (x: string): D; new (x: number): D; } +>f3 : { new (x: string): D; new (x: number): D; } new(x: string): D; >x : string diff --git a/tests/baselines/reference/functionLiterals.types b/tests/baselines/reference/functionLiterals.types index 67fdf33fec661..db5fcd843790e 100644 --- a/tests/baselines/reference/functionLiterals.types +++ b/tests/baselines/reference/functionLiterals.types @@ -118,7 +118,7 @@ c.func5 = c.func4; // generic versions var b2: { ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } +>b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } func1(x: T): number; // Method signature >func1 : (x: T) => number @@ -137,70 +137,70 @@ var b2: { b2.func1 = b2.func2; >b2.func1 = b2.func2 : (x: T) => number >b2.func1 : (x: T) => number ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } +>b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } >func1 : (x: T) => number >b2.func2 : (x: T) => number ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } +>b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } >func2 : (x: T) => number b2.func1 = b2.func3; >b2.func1 = b2.func3 : (x: T) => number >b2.func1 : (x: T) => number ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } +>b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } >func1 : (x: T) => number >b2.func3 : (x: T) => number ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } +>b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } >func3 : (x: T) => number b2.func2 = b2.func1; >b2.func2 = b2.func1 : (x: T) => number >b2.func2 : (x: T) => number ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } +>b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } >func2 : (x: T) => number >b2.func1 : (x: T) => number ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } +>b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } >func1 : (x: T) => number b2.func2 = b2.func3; >b2.func2 = b2.func3 : (x: T) => number >b2.func2 : (x: T) => number ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } +>b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } >func2 : (x: T) => number >b2.func3 : (x: T) => number ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } +>b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } >func3 : (x: T) => number b2.func3 = b2.func1; >b2.func3 = b2.func1 : (x: T) => number >b2.func3 : (x: T) => number ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } +>b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } >func3 : (x: T) => number >b2.func1 : (x: T) => number ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } +>b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } >func1 : (x: T) => number b2.func3 = b2.func2; >b2.func3 = b2.func2 : (x: T) => number >b2.func3 : (x: T) => number ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } +>b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } >func3 : (x: T) => number >b2.func2 : (x: T) => number ->b2 : { func1(x: T): number; func2: (x: T) => number; func3: (x: T) => number; } +>b2 : { func1(x: T): number; func2: (x: T_1) => number; func3: (x: T_2) => number; } >func2 : (x: T) => number var c2: { ->c2 : { func4(x: T): number; func4(s: T): string; func5: { (x: T): number; (s: T): string; }; } +>c2 : { func4(x: T): number; func4(s: T_1): string; func5: { (x: T_2): number; (s: T_3): string; }; } func4(x: T): number; ->func4 : { (x: T): number; (s: T): string; } +>func4 : { (x: T): number; (s: T_1): string; } >x : T func4(s: T): string; ->func4 : { (x: T): number; (s: T): string; } +>func4 : { (x: T_1): number; (s: T): string; } >s : T func5: { ->func5 : { (x: T): number; (s: T): string; } +>func5 : { (x: T): number; (s: T_1): string; } (x: T): number; >x : T @@ -213,20 +213,20 @@ var c2: { // no errors c2.func4 = c2.func5; ->c2.func4 = c2.func5 : { (x: T): number; (s: T): string; } ->c2.func4 : { (x: T): number; (s: T): string; } ->c2 : { func4(x: T): number; func4(s: T): string; func5: { (x: T): number; (s: T): string; }; } ->func4 : { (x: T): number; (s: T): string; } ->c2.func5 : { (x: T): number; (s: T): string; } ->c2 : { func4(x: T): number; func4(s: T): string; func5: { (x: T): number; (s: T): string; }; } ->func5 : { (x: T): number; (s: T): string; } +>c2.func4 = c2.func5 : { (x: T): number; (s: T_1): string; } +>c2.func4 : { (x: T): number; (s: T_1): string; } +>c2 : { func4(x: T): number; func4(s: T_1): string; func5: { (x: T_2): number; (s: T_3): string; }; } +>func4 : { (x: T): number; (s: T_1): string; } +>c2.func5 : { (x: T): number; (s: T_1): string; } +>c2 : { func4(x: T): number; func4(s: T_1): string; func5: { (x: T_2): number; (s: T_3): string; }; } +>func5 : { (x: T): number; (s: T_1): string; } c2.func5 = c2.func4; ->c2.func5 = c2.func4 : { (x: T): number; (s: T): string; } ->c2.func5 : { (x: T): number; (s: T): string; } ->c2 : { func4(x: T): number; func4(s: T): string; func5: { (x: T): number; (s: T): string; }; } ->func5 : { (x: T): number; (s: T): string; } ->c2.func4 : { (x: T): number; (s: T): string; } ->c2 : { func4(x: T): number; func4(s: T): string; func5: { (x: T): number; (s: T): string; }; } ->func4 : { (x: T): number; (s: T): string; } +>c2.func5 = c2.func4 : { (x: T): number; (s: T_1): string; } +>c2.func5 : { (x: T): number; (s: T_1): string; } +>c2 : { func4(x: T): number; func4(s: T_1): string; func5: { (x: T_2): number; (s: T_3): string; }; } +>func5 : { (x: T): number; (s: T_1): string; } +>c2.func4 : { (x: T): number; (s: T_1): string; } +>c2 : { func4(x: T): number; func4(s: T_1): string; func5: { (x: T_2): number; (s: T_3): string; }; } +>func4 : { (x: T): number; (s: T_1): string; } diff --git a/tests/baselines/reference/functionOverloadErrors.types b/tests/baselines/reference/functionOverloadErrors.types index a0b1ceb1213c4..f30725307e382 100644 --- a/tests/baselines/reference/functionOverloadErrors.types +++ b/tests/baselines/reference/functionOverloadErrors.types @@ -127,13 +127,13 @@ interface List { >parents : List> } function fn12>>(); ->fn12 : { >>(): any; >(): any; } +>fn12 : { >>(): any; >(): any; } function fn12>(); ->fn12 : { >>(): any; >(): any; } +>fn12 : { >>(): any; >(): any; } function fn12() { } ->fn12 : { >>(): any; >(): any; } +>fn12 : { >>(): any; >(): any; } //Function overloads that differ by accessibility class cls { @@ -238,13 +238,13 @@ function fn14() { //Function overloads where return types are different infinitely recursive type reference function fn15>>(): T; ->fn15 : { >>(): T; >(): T; } +>fn15 : { >>(): T; >(): T_1; } function fn15>(): T; ->fn15 : { >>(): T; >(): T; } +>fn15 : { >>(): T_1; >(): T; } function fn15() { ->fn15 : { >>(): T; >(): T; } +>fn15 : { >>(): T; >(): T_1; } return undefined; >undefined : undefined diff --git a/tests/baselines/reference/functionOverloadsOnGenericArity1.types b/tests/baselines/reference/functionOverloadsOnGenericArity1.types index 0aa317231e28b..88ba3efd7d58b 100644 --- a/tests/baselines/reference/functionOverloadsOnGenericArity1.types +++ b/tests/baselines/reference/functionOverloadsOnGenericArity1.types @@ -4,10 +4,10 @@ // overloading on arity not allowed interface C { f(): string; ->f : { (): string; (): string; } +>f : { (): string; (): string; } f(): string; ->f : { (): string; (): string; } +>f : { (): string; (): string; } (): string; (): string; diff --git a/tests/baselines/reference/functionOverloadsOnGenericArity2.types b/tests/baselines/reference/functionOverloadsOnGenericArity2.types index 181cbed9b62f8..b164491bee435 100644 --- a/tests/baselines/reference/functionOverloadsOnGenericArity2.types +++ b/tests/baselines/reference/functionOverloadsOnGenericArity2.types @@ -3,14 +3,14 @@ === functionOverloadsOnGenericArity2.ts === interface I { then(p: string): string; ->then : { (p: string): string; (p: string): string; (p: string): Date; } +>then : { (p: string): string; (p: string): string; (p: string): Date; } >p : string then(p: string): string; ->then : { (p: string): string; (p: string): string; (p: string): Date; } +>then : { (p: string): string; (p: string): string; (p: string): Date; } >p : string then(p: string): Date; ->then : { (p: string): string; (p: string): string; (p: string): Date; } +>then : { (p: string): string; (p: string): string; (p: string): Date; } >p : string } diff --git a/tests/baselines/reference/functionOverloadsRecursiveGenericReturnType.types b/tests/baselines/reference/functionOverloadsRecursiveGenericReturnType.types index 702ea4a3b60a5..4b8ed7f6134c6 100644 --- a/tests/baselines/reference/functionOverloadsRecursiveGenericReturnType.types +++ b/tests/baselines/reference/functionOverloadsRecursiveGenericReturnType.types @@ -16,15 +16,15 @@ class A{ } function Choice(args: T[]): A; ->Choice : { (args: T[]): A; (...v_args: T[]): A; } +>Choice : { (args: T[]): A; (...v_args: T_1[]): A; } >args : T[] function Choice(...v_args: T[]): A; ->Choice : { (args: T[]): A; (...v_args: T[]): A; } +>Choice : { (args: T_1[]): A; (...v_args: T[]): A; } >v_args : T[] function Choice(...v_args: any[]): A{ ->Choice : { (args: T[]): A; (...v_args: T[]): A; } +>Choice : { (args: T_1[]): A; (...v_args: T_2[]): A; } >v_args : any[] return new A(); diff --git a/tests/baselines/reference/functionTypeArgumentArityErrors.types b/tests/baselines/reference/functionTypeArgumentArityErrors.types index 89984d094a363..c30f77ed4fedb 100644 --- a/tests/baselines/reference/functionTypeArgumentArityErrors.types +++ b/tests/baselines/reference/functionTypeArgumentArityErrors.types @@ -3,33 +3,33 @@ === functionTypeArgumentArityErrors.ts === // Overloaded functions with default type arguments declare function f1(): void; ->f1 : { (): void; (): void; } +>f1 : { (): void; (): void; } declare function f1(): void; ->f1 : { (): void; (): void; } +>f1 : { (): void; (): void; } f1(); >f1() : void ->f1 : { (): void; (): void; } +>f1 : { (): void; (): void; } f1(); >f1() : void ->f1 : { (): void; (): void; } +>f1 : { (): void; (): void; } // Overloaded functions with no default type arguments declare function f2(): void; ->f2 : { (): void; (): void; } +>f2 : { (): void; (): void; } declare function f2(): void; ->f2 : { (): void; (): void; } +>f2 : { (): void; (): void; } f2(); >f2() : void ->f2 : { (): void; (): void; } +>f2 : { (): void; (): void; } f2(); >f2() : void ->f2 : { (): void; (): void; } +>f2 : { (): void; (): void; } // Overloaded non-generic functions declare function f3(): void; diff --git a/tests/baselines/reference/funduleUsedAcrossFileBoundary.types b/tests/baselines/reference/funduleUsedAcrossFileBoundary.types index e359846981d42..18d60cc551e39 100644 --- a/tests/baselines/reference/funduleUsedAcrossFileBoundary.types +++ b/tests/baselines/reference/funduleUsedAcrossFileBoundary.types @@ -25,7 +25,7 @@ function promiseWithCancellation(promise: Q.Promise) { var deferred = Q.defer(); // used to be an error >deferred : string >Q.defer() : string ->Q.defer : () => string +>Q.defer : () => string >Q : typeof Q ->defer : () => string +>defer : () => string } diff --git a/tests/baselines/reference/generatorReturnContextualType.types b/tests/baselines/reference/generatorReturnContextualType.types index c58f064f64b05..e79fb4a548b7d 100644 --- a/tests/baselines/reference/generatorReturnContextualType.types +++ b/tests/baselines/reference/generatorReturnContextualType.types @@ -49,9 +49,9 @@ async function* f3(): AsyncGenerator { return Promise.resolve({ x: 'x' }); >Promise.resolve({ x: 'x' }) : Promise<{ x: "x"; }> ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >{ x: 'x' } : { x: "x"; } >x : "x" >'x' : "x" @@ -63,9 +63,9 @@ async function* g3(): AsyncIterator { return Promise.resolve({ x: 'x' }); >Promise.resolve({ x: 'x' }) : Promise<{ x: "x"; }> ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >{ x: 'x' } : { x: "x"; } >x : "x" >'x' : "x" @@ -83,9 +83,9 @@ async function* f4(): AsyncGenerator { return Promise.resolve(ret); // Error >Promise.resolve(ret) : Promise<{ x: string; }> ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >ret : { x: string; } } @@ -101,9 +101,9 @@ async function* g4(): AsyncIterator { return Promise.resolve(ret); // Error >Promise.resolve(ret) : Promise<{ x: string; }> ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >ret : { x: string; } } diff --git a/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types b/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types index 6f38079c6a953..a1f14fcec119c 100644 --- a/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types +++ b/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.types @@ -66,12 +66,12 @@ module m3 { interface Promise { then(cb: (x: T) => Promise): Promise; ->then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } +>then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } >cb : (x: T) => Promise >x : T then(cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; ->then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } +>then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } >cb : (x: T) => Promise >x : T >error : (error: any) => Promise @@ -88,9 +88,9 @@ module m3 { var newPromise = numPromise.then(testFunction); >newPromise : Promise >numPromise.then(testFunction) : Promise ->numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } +>numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } >numPromise : Promise ->then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } +>then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } >testFunction : (n: number) => Promise } @@ -101,12 +101,12 @@ module m4 { interface Promise { then(cb: (x: T) => Promise): Promise; ->then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } +>then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } >cb : (x: T) => Promise >x : T then(cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; ->then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } +>then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } >cb : (x: T) => Promise >x : T >error : (error: any) => Promise @@ -127,9 +127,9 @@ module m4 { var newPromise = numPromise.then(testFunction); >newPromise : Promise >numPromise.then(testFunction) : Promise ->numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } +>numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } >numPromise : Promise ->then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } +>then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } >testFunction : { (n: number): Promise; (s: string): Promise; } } @@ -140,19 +140,19 @@ module m5 { interface Promise { then(cb: (x: T) => Promise): Promise; ->then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => U, progress?: (preservation: any) => void): Promise; } +>then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => U_2, progress?: (preservation: any) => void): Promise; } >cb : (x: T) => Promise >x : T then(cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; ->then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => U, progress?: (preservation: any) => void): Promise; } +>then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => U_3, progress?: (preservation: any) => void): Promise; } >cb : (x: T) => Promise >x : T >error : (error: any) => Promise >error : any then(cb: (x: T) => Promise, error?: (error: any) => U, progress?: (preservation: any) => void): Promise; ->then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => U, progress?: (preservation: any) => void): Promise; } +>then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => U, progress?: (preservation: any) => void): Promise; } >cb : (x: T) => Promise >x : T >error : (error: any) => U @@ -175,9 +175,9 @@ module m5 { var newPromise = numPromise.then(testFunction); >newPromise : Promise >numPromise.then(testFunction) : Promise ->numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => U, progress?: (preservation: any) => void): Promise; } +>numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => U_2, progress?: (preservation: any) => void): Promise; } >numPromise : Promise ->then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => U, progress?: (preservation: any) => void): Promise; } +>then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => U_2, progress?: (preservation: any) => void): Promise; } >testFunction : { (n: number): Promise; (s: string): Promise; } } @@ -188,12 +188,12 @@ module m6 { interface Promise { then(cb: (x: T) => Promise): Promise; ->then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } +>then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } >cb : (x: T) => Promise >x : T then(cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; ->then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } +>then : { (cb: (x: T) => Promise): Promise; (cb: (x: T) => Promise, error?: (error: any) => Promise): Promise; } >cb : (x: T) => Promise >x : T >error : (error: any) => Promise @@ -218,9 +218,9 @@ module m6 { var newPromise = numPromise.then(testFunction); >newPromise : Promise >numPromise.then(testFunction) : Promise ->numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } +>numPromise.then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } >numPromise : Promise ->then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } +>then : { (cb: (x: number) => Promise): Promise; (cb: (x: number) => Promise, error?: (error: any) => Promise): Promise; } >testFunction : { (n: number): Promise; (s: string): Promise; (b: boolean): Promise; } } diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments.types b/tests/baselines/reference/genericCallWithFunctionTypedArguments.types index b48593f1053be..a6e0e28620222 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments.types +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments.types @@ -128,7 +128,7 @@ function other(t: T, u: U) { var r10 = foo2(1, (x: T) => ''); // error >r10 : string >foo2(1, (x: T) => '') : string ->foo2 : (x: T, cb: (a: T) => U) => U +>foo2 : (x: T_1, cb: (a: T_1) => U_1) => U_1 >1 : 1 >(x: T) => '' : (x: T) => string >x : T @@ -137,7 +137,7 @@ function other(t: T, u: U) { var r10 = foo2(1, (x) => ''); // string >r10 : string >foo2(1, (x) => '') : string ->foo2 : (x: T, cb: (a: T) => U) => U +>foo2 : (x: T_1, cb: (a: T_1) => U_1) => U_1 >1 : 1 >(x) => '' : (x: number) => string >x : number @@ -146,7 +146,7 @@ function other(t: T, u: U) { var r11 = foo3(1, (x: T) => '', ''); // error >r11 : string >foo3(1, (x: T) => '', '') : string ->foo3 : (x: T, cb: (a: T) => U, y: U) => U +>foo3 : (x: T_1, cb: (a: T_1) => U_1, y: U_1) => U_1 >1 : 1 >(x: T) => '' : (x: T) => string >x : T @@ -156,7 +156,7 @@ function other(t: T, u: U) { var r11b = foo3(1, (x: T) => '', 1); // error >r11b : string >foo3(1, (x: T) => '', 1) : string ->foo3 : (x: T, cb: (a: T) => U, y: U) => U +>foo3 : (x: T_1, cb: (a: T_1) => U_1, y: U_1) => U_1 >1 : 1 >(x: T) => '' : (x: T) => string >x : T @@ -166,7 +166,7 @@ function other(t: T, u: U) { var r12 = foo3(1, function (a) { return '' }, 1); // error >r12 : number >foo3(1, function (a) { return '' }, 1) : 1 ->foo3 : (x: T, cb: (a: T) => U, y: U) => U +>foo3 : (x: T_1, cb: (a: T_1) => U_1, y: U_1) => U_1 >1 : 1 >function (a) { return '' } : (a: number) => string >a : number diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments3.types b/tests/baselines/reference/genericCallWithFunctionTypedArguments3.types index e90d9bf059a36..c38c6b22ecdeb 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments3.types +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments3.types @@ -32,7 +32,7 @@ var r = foo4(a); // T is {} (candidates boolean and string), U is any (candidate >a : { (x: boolean): boolean; (x: string): any; } var b: { ->b : { (x: boolean): T; (x: T): any; } +>b : { (x: boolean): T; (x: T_1): any; } (x: boolean): T; >x : boolean @@ -45,5 +45,5 @@ var r2 = foo4(b); // T is {} (candidates boolean and {}), U is any (candidates a >r2 : any >foo4(b) : any >foo4 : (cb: (x: T) => U) => U ->b : { (x: boolean): T; (x: T): any; } +>b : { (x: boolean): T; (x: T_1): any; } diff --git a/tests/baselines/reference/genericCallWithFunctionTypedArguments4.types b/tests/baselines/reference/genericCallWithFunctionTypedArguments4.types index 272a2c3bdc041..9c047c204cf19 100644 --- a/tests/baselines/reference/genericCallWithFunctionTypedArguments4.types +++ b/tests/baselines/reference/genericCallWithFunctionTypedArguments4.types @@ -40,7 +40,7 @@ var r = foo4(a); // T is {} (candidates boolean and string), U is {} (candidates >a : { new (x: boolean): C; new (x: string): D; } var b: { ->b : { new (x: boolean): T; new (x: T): any; } +>b : { new (x: boolean): T; new (x: T_1): any; } new(x: boolean): T; >x : boolean @@ -53,5 +53,5 @@ var r2 = foo4(b); // T is {} (candidates boolean and {}), U is any (candidates a >r2 : any >foo4(b) : any >foo4 : (cb: new (x: T) => U) => U ->b : { new (x: boolean): T; new (x: T): any; } +>b : { new (x: boolean): T; new (x: T_1): any; } diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments.types b/tests/baselines/reference/genericCallWithGenericSignatureArguments.types index d3c0799798894..98e9ec59813f4 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments.types +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments.types @@ -105,7 +105,7 @@ function other(x: T) { var r6 = foo((a: T) => a, (b: T) => b); // T => T >r6 : (x: T) => T >foo((a: T) => a, (b: T) => b) : (x: T) => T ->foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T +>foo : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 >(a: T) => a : (a: T) => T >a : T >a : T @@ -116,7 +116,7 @@ function other(x: T) { var r6b = foo((a) => a, (b) => b); // {} => {} >r6b : (x: unknown) => unknown >foo((a) => a, (b) => b) : (x: unknown) => unknown ->foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T +>foo : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 >(a) => a : (a: unknown) => unknown >a : unknown >a : unknown @@ -132,7 +132,7 @@ function other2(x: T) { var r7 = foo((a: T) => a, (b: T) => b); // T => T >r7 : (x: T) => T >foo((a: T) => a, (b: T) => b) : (x: T) => T ->foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T +>foo : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 >(a: T) => a : (a: T) => T >a : T >a : T @@ -143,7 +143,7 @@ function other2(x: T) { var r7b = foo((a) => a, (b) => b); // {} => {} >r7b : (x: unknown) => unknown >foo((a) => a, (b) => b) : (x: unknown) => unknown ->foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T +>foo : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 >(a) => a : (a: unknown) => unknown >a : unknown >a : unknown @@ -183,7 +183,7 @@ function other3(x: T) { var r8 = foo2((a: Date) => a, (b: Date) => b); // Date => Date >r8 : (x: Date) => Date >foo2((a: Date) => a, (b: Date) => b) : (x: Date) => Date ->foo2 : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T +>foo2 : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 >(a: Date) => a : (a: Date) => Date >a : Date >a : Date diff --git a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types index bd69fa37a8671..7ef5b6208cc3f 100644 --- a/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types +++ b/tests/baselines/reference/genericCallWithGenericSignatureArguments2.types @@ -41,7 +41,7 @@ module onlyT { var r7 = foo((a: T) => a, (b: T) => b); // T => T >r7 : (x: T) => T >foo((a: T) => a, (b: T) => b) : (x: T) => T ->foo : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T +>foo : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 >(a: T) => a : (a: T) => T >a : T >a : T @@ -86,7 +86,7 @@ module onlyT { var r7 = foo2((a: T) => a, (b: T) => b); // error >r7 : (x: Date) => Date >foo2((a: T) => a, (b: T) => b) : (x: Date) => Date ->foo2 : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T +>foo2 : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 >(a: T) => a : (a: T) => T >a : T >a : T @@ -97,7 +97,7 @@ module onlyT { var r7b = foo2((a) => a, (b) => b); // valid, T is inferred to be Date >r7b : (x: Date) => Date >foo2((a) => a, (b) => b) : (x: Date) => Date ->foo2 : (a: (x: T) => T, b: (x: T) => T) => (x: T) => T +>foo2 : (a: (x: T_1) => T_1, b: (x: T_1) => T_1) => (x: T_1) => T_1 >(a) => a : (a: Date) => Date >a : Date >a : Date @@ -186,7 +186,7 @@ module TU { var r7 = foo((a: T) => a, (b: T) => b); >r7 : (x: T) => T >foo((a: T) => a, (b: T) => b) : (x: T) => T ->foo : (a: (x: T) => T, b: (x: U) => U) => (x: T) => T +>foo : (a: (x: T_1) => T_1, b: (x: U) => U) => (x: T_1) => T_1 >(a: T) => a : (a: T) => T >a : T >a : T @@ -230,7 +230,7 @@ module TU { var r7 = foo2((a: T) => a, (b: T) => b); >r7 : (x: Date) => Date >foo2((a: T) => a, (b: T) => b) : (x: Date) => Date ->foo2 : (a: (x: T) => T, b: (x: U) => U) => (x: T) => T +>foo2 : (a: (x: T_1) => T_1, b: (x: U) => U) => (x: T_1) => T_1 >(a: T) => a : (a: T) => T >a : T >a : T @@ -241,7 +241,7 @@ module TU { var r7b = foo2((a) => a, (b) => b); >r7b : (x: Date) => Date >foo2((a) => a, (b) => b) : (x: Date) => Date ->foo2 : (a: (x: T) => T, b: (x: U) => U) => (x: T) => T +>foo2 : (a: (x: T_1) => T_1, b: (x: U) => U) => (x: T_1) => T_1 >(a) => a : (a: Date) => Date >a : Date >a : Date diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.types index 5d49a931ac1a1..07ad3a976db5e 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.types @@ -107,14 +107,14 @@ function other() { var r4 = foo(c, d); >r4 : (x: C) => D >foo(c, d) : (x: C) => D ->foo : (t: T, t2: U) => (x: T) => U +>foo : (t: T_1, t2: U_1) => (x: T_1) => U_1 >c : C >d : D var r5 = foo(c, d); // error >r5 : (x: T) => U >foo(c, d) : (x: T) => U ->foo : (t: T, t2: U) => (x: T) => U +>foo : (t: T_1, t2: U_1) => (x: T_1) => U_1 >c : C >d : D } diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.types index 028821a714c5d..78aa3d3ef1c12 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.types @@ -58,7 +58,7 @@ function other() { var r5 = foo(c, d); // error >r5 : (x: T) => U >foo(c, d) : (x: T) => U ->foo : (t: T, t2: U) => (x: T) => U +>foo : (t: T_1, t2: U_1) => (x: T_1) => U_1 >c : C >d : D } diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexers.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexers.types index 8220631c4c61c..615ee6af6291d 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexers.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexers.types @@ -44,7 +44,7 @@ function other(arg: T) { var r2 = foo(b); >r2 : { [x: string]: Object; [x: number]: T; } >foo(b) : { [x: string]: Object; [x: number]: T; } ->foo : (x: T) => T +>foo : (x: T_1) => T_1 >b : { [x: string]: Object; [x: number]: T; } var d = r2[1]; diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexersErrors.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexersErrors.types index 50eafa8e6cca0..eaf45da4bff3a 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexersErrors.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexersErrors.types @@ -28,7 +28,7 @@ function other(arg: T) { var r2 = foo(b); // T >r2 : { [x: string]: Object; [x: number]: T; } >foo(b) : { [x: string]: Object; [x: number]: T; } ->foo : (x: T) => T +>foo : (x: T_1) => T_1 >b : { [x: string]: Object; [x: number]: T; } } @@ -49,7 +49,7 @@ function other3(arg: T) { var r2 = foo(b); >r2 : { [x: string]: Object; [x: number]: T; } >foo(b) : { [x: string]: Object; [x: number]: T; } ->foo : (x: T) => T +>foo : (x: T_1) => T_1 >b : { [x: string]: Object; [x: number]: T; } var d = r2[1]; diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndNumericIndexer.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndNumericIndexer.types index cb4e798aaede5..a36e1b88a5896 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndNumericIndexer.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndNumericIndexer.types @@ -32,7 +32,7 @@ function other(arg: T) { var r2 = foo(b); // T >r2 : { [x: number]: T; } >foo(b) : { [x: number]: T; } ->foo : (x: T) => T +>foo : (x: T_1) => T_1 >b : { [x: number]: T; } } @@ -47,7 +47,7 @@ function other2(arg: T) { var r2 = foo(b); >r2 : { [x: number]: T; } >foo(b) : { [x: number]: T; } ->foo : (x: T) => T +>foo : (x: T_1) => T_1 >b : { [x: number]: T; } var d = r2[1]; @@ -68,7 +68,7 @@ function other3(arg: T) { var r2 = foo(b); >r2 : { [x: number]: T; } >foo(b) : { [x: number]: T; } ->foo : (x: T) => T +>foo : (x: T_1) => T_1 >b : { [x: number]: T; } var d = r2[1]; diff --git a/tests/baselines/reference/genericCallWithObjectTypeArgsAndStringIndexer.types b/tests/baselines/reference/genericCallWithObjectTypeArgsAndStringIndexer.types index c60817ce664dc..c159cfb5c1438 100644 --- a/tests/baselines/reference/genericCallWithObjectTypeArgsAndStringIndexer.types +++ b/tests/baselines/reference/genericCallWithObjectTypeArgsAndStringIndexer.types @@ -32,7 +32,7 @@ function other(arg: T) { var r2 = foo(b); // T >r2 : { [x: string]: T; } >foo(b) : { [x: string]: T; } ->foo : (x: T) => T +>foo : (x: T_1) => T_1 >b : { [x: string]: T; } } @@ -47,7 +47,7 @@ function other2(arg: T) { var r2 = foo(b); >r2 : { [x: string]: T; } >foo(b) : { [x: string]: T; } ->foo : (x: T) => T +>foo : (x: T_1) => T_1 >b : { [x: string]: T; } var d: Date = r2['hm']; // ok @@ -68,7 +68,7 @@ function other3(arg: T) { var r2 = foo(b); >r2 : { [x: string]: T; } >foo(b) : { [x: string]: T; } ->foo : (x: T) => T +>foo : (x: T_1) => T_1 >b : { [x: string]: T; } var d: Date = r2['hm']; // ok diff --git a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments.types b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments.types index f631e18c3b999..94df87dabc2eb 100644 --- a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments.types +++ b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments.types @@ -73,7 +73,7 @@ module GenericParameter { >a : { new (x: boolean): string; new (x: number): boolean; } var b: { new(x: T): string; new(x: number): T; } ->b : { new (x: T): string; new (x: number): T; } +>b : { new (x: T): string; new (x: number): T_1; } >x : T >x : number @@ -81,7 +81,7 @@ module GenericParameter { >r7 : { new (x: unknown): string; new (x: number): unknown; } >foo5(b) : { new (x: unknown): string; new (x: number): unknown; } >foo5 : (cb: { new (x: T): string; new (x: number): T; }) => { new (x: T): string; new (x: number): T; } ->b : { new (x: T): string; new (x: number): T; } +>b : { new (x: T): string; new (x: number): T_1; } function foo6(cb: { new(x: T): string; new(x: T, y?: T): string }) { >foo6 : (cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } @@ -104,7 +104,7 @@ module GenericParameter { >r9 : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } >foo6(b) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } >foo6 : (cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } ->b : { new (x: T): string; new (x: number): T; } +>b : { new (x: T): string; new (x: number): T_1; } function foo7(x:T, cb: { new(x: T): string; new(x: T, y?: T): string }) { >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } @@ -123,15 +123,15 @@ module GenericParameter { >foo7(1, b) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } >1 : 1 ->b : { new (x: T): string; new (x: number): T; } +>b : { new (x: T): string; new (x: number): T_1; } var c: { new (x: T): string; (x: number): T; } ->c : { (x: number): T; new (x: T): string; } +>c : { (x: number): T; new (x: T_1): string; } >x : T >x : number var c2: { new (x: T): string; new(x: number): T; } ->c2 : { new (x: T): string; new (x: number): T; } +>c2 : { new (x: T): string; new (x: number): T_1; } >x : T >x : number @@ -140,12 +140,12 @@ module GenericParameter { >foo7(1, c) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } >1 : 1 ->c : { (x: number): T; new (x: T): string; } +>c : { (x: number): T; new (x: T_1): string; } var r15 = foo7(1, c2); // new any => string; new(x:any, y?:any) => string >r15 : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } >foo7(1, c2) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } >1 : 1 ->c2 : { new (x: T): string; new (x: number): T; } +>c2 : { new (x: T): string; new (x: number): T_1; } } diff --git a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types index c4646605194bd..791ce86fc9574 100644 --- a/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types +++ b/tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.types @@ -102,7 +102,7 @@ module GenericParameter { >a : new (x: T) => T var c: { new(x: T): number; new(x: number): T; } ->c : { new (x: T): number; new (x: number): T; } +>c : { new (x: T): number; new (x: number): T_1; } >x : T >x : number @@ -111,5 +111,5 @@ module GenericParameter { >foo7(1, c) : { new (x: unknown): string; new (x: unknown, y?: unknown): string; } >foo7 : (x: T, cb: { new (x: T): string; new (x: T, y?: T): string; }) => { new (x: T): string; new (x: T, y?: T): string; } >1 : 1 ->c : { new (x: T): number; new (x: number): T; } +>c : { new (x: T): number; new (x: number): T_1; } } diff --git a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types index 4da446b036475..bb7832a8e3a99 100644 --- a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types +++ b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.types @@ -71,7 +71,7 @@ module GenericParameter { >x : any var a: { (x: T): string; (x: number): T; } ->a : { (x: T): string; (x: number): T; } +>a : { (x: T): string; (x: number): T_1; } >x : T >x : number @@ -79,7 +79,7 @@ module GenericParameter { >r7 : { (x: unknown): string; (x: number): unknown; } >foo5(a) : { (x: unknown): string; (x: number): unknown; } >foo5 : (cb: { (x: T): string; (x: number): T; }) => { (x: T): string; (x: number): T; } ->a : { (x: T): string; (x: number): T; } +>a : { (x: T): string; (x: number): T_1; } function foo6(cb: { (x: T): string; (x: T, y?: T): string }) { >foo6 : (cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } @@ -148,7 +148,7 @@ module GenericParameter { >'' : "" var a: { (x: T): string; (x: number): T; } ->a : { (x: T): string; (x: number): T; } +>a : { (x: T): string; (x: number): T_1; } >x : T >x : number @@ -157,5 +157,5 @@ module GenericParameter { >foo7(1, a) : { (x: unknown): string; (x: unknown, y?: unknown): string; } >foo7 : (x: T, cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } >1 : 1 ->a : { (x: T): string; (x: number): T; } +>a : { (x: T): string; (x: number): T_1; } } diff --git a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types index d399c833b8e63..af5874bcd73b5 100644 --- a/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types +++ b/tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.types @@ -99,7 +99,7 @@ module GenericParameter { >x : T var a: { (x: T): number; (x: number): T; } ->a : { (x: T): number; (x: number): T; } +>a : { (x: T): number; (x: number): T_1; } >x : T >x : number @@ -108,5 +108,5 @@ module GenericParameter { >foo7(1, a) : { (x: unknown): string; (x: unknown, y?: unknown): string; } >foo7 : (x: T, cb: { (x: T): string; (x: T, y?: T): string; }) => { (x: T): string; (x: T, y?: T): string; } >1 : 1 ->a : { (x: T): number; (x: number): T; } +>a : { (x: T): number; (x: number): T_1; } } diff --git a/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types b/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types index 7867512a8c658..c895b4259dff3 100644 --- a/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types +++ b/tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.types @@ -222,9 +222,9 @@ module WithCandidates { var r10 = c.foo2(1, (x: T) => ''); // error >r10 : string >c.foo2(1, (x: T) => '') : string ->c.foo2 : (x: T, cb: (a: T) => U) => U +>c.foo2 : (x: T_1, cb: (a: T_1) => U_1) => U_1 >c : C ->foo2 : (x: T, cb: (a: T) => U) => U +>foo2 : (x: T_1, cb: (a: T_1) => U_1) => U_1 >1 : 1 >(x: T) => '' : (x: T) => string >x : T @@ -233,9 +233,9 @@ module WithCandidates { var r10 = c.foo2(1, (x) => ''); // string >r10 : string >c.foo2(1, (x) => '') : string ->c.foo2 : (x: T, cb: (a: T) => U) => U +>c.foo2 : (x: T_1, cb: (a: T_1) => U_1) => U_1 >c : C ->foo2 : (x: T, cb: (a: T) => U) => U +>foo2 : (x: T_1, cb: (a: T_1) => U_1) => U_1 >1 : 1 >(x) => '' : (x: number) => string >x : number @@ -244,9 +244,9 @@ module WithCandidates { var r11 = c3.foo3(1, (x: T) => '', ''); // error >r11 : string >c3.foo3(1, (x: T) => '', '') : string ->c3.foo3 : (x: T, cb: (a: T) => U, y: U) => U +>c3.foo3 : (x: T_1, cb: (a: T_1) => U_1, y: U_1) => U_1 >c3 : C3 ->foo3 : (x: T, cb: (a: T) => U, y: U) => U +>foo3 : (x: T_1, cb: (a: T_1) => U_1, y: U_1) => U_1 >1 : 1 >(x: T) => '' : (x: T) => string >x : T @@ -256,9 +256,9 @@ module WithCandidates { var r11b = c3.foo3(1, (x: T) => '', 1); // error >r11b : string >c3.foo3(1, (x: T) => '', 1) : string ->c3.foo3 : (x: T, cb: (a: T) => U, y: U) => U +>c3.foo3 : (x: T_1, cb: (a: T_1) => U_1, y: U_1) => U_1 >c3 : C3 ->foo3 : (x: T, cb: (a: T) => U, y: U) => U +>foo3 : (x: T_1, cb: (a: T_1) => U_1, y: U_1) => U_1 >1 : 1 >(x: T) => '' : (x: T) => string >x : T @@ -268,9 +268,9 @@ module WithCandidates { var r12 = c3.foo3(1, function (a) { return '' }, 1); // error >r12 : number >c3.foo3(1, function (a) { return '' }, 1) : 1 ->c3.foo3 : (x: T, cb: (a: T) => U, y: U) => U +>c3.foo3 : (x: T_1, cb: (a: T_1) => U_1, y: U_1) => U_1 >c3 : C3 ->foo3 : (x: T, cb: (a: T) => U, y: U) => U +>foo3 : (x: T_1, cb: (a: T_1) => U_1, y: U_1) => U_1 >1 : 1 >function (a) { return '' } : (a: number) => string >a : number diff --git a/tests/baselines/reference/genericClassWithStaticFactory.types b/tests/baselines/reference/genericClassWithStaticFactory.types index ff1a0f5c8e36a..f9f7265327ccb 100644 --- a/tests/baselines/reference/genericClassWithStaticFactory.types +++ b/tests/baselines/reference/genericClassWithStaticFactory.types @@ -37,11 +37,11 @@ module Editor { var entry = this.listFactory.MakeEntry(data); >entry : List >this.listFactory.MakeEntry(data) : List ->this.listFactory.MakeEntry : (data: T) => List +>this.listFactory.MakeEntry : (data: T_1) => List >this.listFactory : ListFactory >this : this >listFactory : ListFactory ->MakeEntry : (data: T) => List +>MakeEntry : (data: T_1) => List >data : T this.prev.next = entry; @@ -205,11 +205,11 @@ module Editor { var entry = this.listFactory.MakeEntry(data); >entry : List >this.listFactory.MakeEntry(data) : List ->this.listFactory.MakeEntry : (data: T) => List +>this.listFactory.MakeEntry : (data: T_1) => List >this.listFactory : ListFactory >this : this >listFactory : ListFactory ->MakeEntry : (data: T) => List +>MakeEntry : (data: T_1) => List >data : T entry.data = data; @@ -275,11 +275,11 @@ module Editor { else { return this.listFactory.RemoveEntry(this.next); >this.listFactory.RemoveEntry(this.next) : List ->this.listFactory.RemoveEntry : (entry: List) => List +>this.listFactory.RemoveEntry : (entry: List) => List >this.listFactory : ListFactory >this : this >listFactory : ListFactory ->RemoveEntry : (entry: List) => List +>RemoveEntry : (entry: List) => List >this.next : List >this : this >next : List @@ -340,11 +340,11 @@ module Editor { var entry: List = this.listFactory.MakeEntry(data); >entry : List >this.listFactory.MakeEntry(data) : List ->this.listFactory.MakeEntry : (data: T) => List +>this.listFactory.MakeEntry : (data: T_1) => List >this.listFactory : ListFactory >this : this >listFactory : ListFactory ->MakeEntry : (data: T) => List +>MakeEntry : (data: T_1) => List >data : T entry.next = this.next; @@ -430,11 +430,11 @@ module Editor { var entry = this.listFactory.MakeEntry(data); >entry : List >this.listFactory.MakeEntry(data) : List ->this.listFactory.MakeEntry : (data: T) => List +>this.listFactory.MakeEntry : (data: T_1) => List >this.listFactory : ListFactory >this : this >listFactory : ListFactory ->MakeEntry : (data: T) => List +>MakeEntry : (data: T_1) => List >data : T return this.insertEntryBefore(entry); diff --git a/tests/baselines/reference/genericClassesRedeclaration.types b/tests/baselines/reference/genericClassesRedeclaration.types index f750be2dee68e..e8b5a92a5f619 100644 --- a/tests/baselines/reference/genericClassesRedeclaration.types +++ b/tests/baselines/reference/genericClassesRedeclaration.types @@ -9,7 +9,7 @@ declare module TypeScript { >s : string } function createIntrinsicsObject(): IIndexable; ->createIntrinsicsObject : { (): IIndexable; (): IIndexable; } +>createIntrinsicsObject : { (): IIndexable; (): IIndexable; } interface IHashTable { getAllKeys(): string[]; @@ -168,7 +168,7 @@ declare module TypeScript { >s : string } function createIntrinsicsObject(): IIndexable; ->createIntrinsicsObject : { (): IIndexable; (): IIndexable; } +>createIntrinsicsObject : { (): IIndexable; (): IIndexable; } interface IHashTable { getAllKeys(): string[]; diff --git a/tests/baselines/reference/genericCombinators2.types b/tests/baselines/reference/genericCombinators2.types index fde53f61296ca..52c8059977be3 100644 --- a/tests/baselines/reference/genericCombinators2.types +++ b/tests/baselines/reference/genericCombinators2.types @@ -18,14 +18,14 @@ interface Collection { interface Combinators { map(c: Collection, f: (x: T, y: U) => any): Collection; ->map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } +>map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T_1, y: U_1) => V): Collection; } >c : Collection >f : (x: T, y: U) => any >x : T >y : U map(c: Collection, f: (x: T, y: U) => V): Collection; ->map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } +>map : { (c: Collection, f: (x: T_1, y: U_1) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } >c : Collection >f : (x: T, y: U) => V >x : T @@ -51,9 +51,9 @@ var rf1 = (x: number, y: string) => { return x.toFixed() }; var r5a = _.map(c2, (x, y) => { return x.toFixed() }); >r5a : Collection >_.map(c2, (x, y) => { return x.toFixed() }) : Collection ->_.map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } +>_.map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T_1, y: U_1) => V): Collection; } >_ : Combinators ->map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } +>map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T_1, y: U_1) => V): Collection; } >c2 : Collection >(x, y) => { return x.toFixed() } : (x: number, y: string) => string >x : number @@ -66,9 +66,9 @@ var r5a = _.map(c2, (x, y) => { return x.toFixed() }); var r5b = _.map(c2, rf1); >r5b : Collection >_.map(c2, rf1) : Collection ->_.map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } +>_.map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T_1, y: U_1) => V): Collection; } >_ : Combinators ->map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T, y: U) => V): Collection; } +>map : { (c: Collection, f: (x: T, y: U) => any): Collection; (c: Collection, f: (x: T_1, y: U_1) => V): Collection; } >c2 : Collection >rf1 : (x: number, y: string) => string diff --git a/tests/baselines/reference/genericContextualTypes1.types b/tests/baselines/reference/genericContextualTypes1.types index 32420da7d5490..6e6f2fdc2c1ce 100644 --- a/tests/baselines/reference/genericContextualTypes1.types +++ b/tests/baselines/reference/genericContextualTypes1.types @@ -144,9 +144,9 @@ const arrayMap = (f: (x: T) => U) => (a: T[]) => a.map(f); >(a: T[]) => a.map(f) : (a: T[]) => U[] >a : T[] >a.map(f) : U[] ->a.map : (callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[] +>a.map : (callbackfn: (value: T, index: number, array: T[]) => U_1, thisArg?: any) => U_1[] >a : T[] ->map : (callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[] +>map : (callbackfn: (value: T, index: number, array: T[]) => U_1, thisArg?: any) => U_1[] >f : (x: T) => U const arrayFilter = (f: (x: T) => boolean) => (a: T[]) => a.filter(f); diff --git a/tests/baselines/reference/genericFunctionInference1.types b/tests/baselines/reference/genericFunctionInference1.types index d0654810eec23..fc0b360cd8c38 100644 --- a/tests/baselines/reference/genericFunctionInference1.types +++ b/tests/baselines/reference/genericFunctionInference1.types @@ -2,13 +2,13 @@ === genericFunctionInference1.ts === declare function pipe(ab: (...args: A) => B): (...args: A) => B; ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >ab : (...args: A) => B >args : A >args : A declare function pipe(ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A_1) => B_1): (...args: A_1) => B_1; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A_3) => B_3, bc: (b: B_3) => C_1, cd: (c: C_1) => D): (...args: A_3) => D; } >ab : (...args: A) => B >args : A >bc : (b: B) => C @@ -16,7 +16,7 @@ declare function pipe(ab: (...args: A) => B, bc: (b: B) = >args : A declare function pipe(ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A_1) => B_1): (...args: A_1) => B_1; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1): (...args: A_2) => C_1; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } >ab : (...args: A) => B >args : A >bc : (b: B) => C @@ -42,27 +42,27 @@ declare function foo(x: T): T; const f00 = pipe(list); >f00 : (a: T) => T[] >pipe(list) : (a: T) => T[] ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >list : (a: T) => T[] const f01 = pipe(list, box); >f01 : (a: T) => { value: T[]; } >pipe(list, box) : (a: T) => { value: T[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >list : (a: T) => T[] >box : (x: V) => { value: V; } const f02 = pipe(box, list); >f02 : (x: V) => { value: V; }[] >pipe(box, list) : (x: V) => { value: V; }[] ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >box : (x: V) => { value: V; } >list : (a: T) => T[] const f03 = pipe(x => list(x), box); >f03 : (x: any) => { value: any[]; } >pipe(x => list(x), box) : (x: any) => { value: any[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >x => list(x) : (x: any) => any[] >x : any >list(x) : any[] @@ -73,7 +73,7 @@ const f03 = pipe(x => list(x), box); const f04 = pipe(list, x => box(x)); >f04 : (a: T) => { value: T[]; } >pipe(list, x => box(x)) : (a: T) => { value: T[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >list : (a: T) => T[] >x => box(x) : (x: T[]) => { value: T[]; } >x : T[] @@ -84,7 +84,7 @@ const f04 = pipe(list, x => box(x)); const f05 = pipe(x => list(x), x => box(x)) >f05 : (x: any) => { value: any[]; } >pipe(x => list(x), x => box(x)) : (x: any) => { value: any[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >x => list(x) : (x: any) => any[] >x : any >list(x) : any[] @@ -99,36 +99,36 @@ const f05 = pipe(x => list(x), x => box(x)) const f06 = pipe(list, pipe(box)); >f06 : (a: T) => { value: T[]; } >pipe(list, pipe(box)) : (a: T) => { value: T[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >list : (a: T) => T[] >pipe(box) : (x: T[]) => { value: T[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >box : (x: V) => { value: V; } const f07 = pipe(x => list(x), pipe(box)); >f07 : (x: any) => { value: any[]; } >pipe(x => list(x), pipe(box)) : (x: any) => { value: any[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >x => list(x) : (x: any) => any[] >x : any >list(x) : any[] >list : (a: T) => T[] >x : any >pipe(box) : (x: any[]) => { value: any[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >box : (x: V) => { value: V; } const f08 = pipe(x => list(x), pipe(x => box(x))); >f08 : (x: any) => { value: any[]; } >pipe(x => list(x), pipe(x => box(x))) : (x: any) => { value: any[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >x => list(x) : (x: any) => any[] >x : any >list(x) : any[] >list : (a: T) => T[] >x : any >pipe(x => box(x)) : (x: any[]) => { value: any[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >x => box(x) : (x: any[]) => { value: any[]; } >x : any[] >box(x) : { value: any[]; } @@ -138,7 +138,7 @@ const f08 = pipe(x => list(x), pipe(x => box(x))); const f09 = pipe(list, x => x.length); >f09 : (a: T) => number >pipe(list, x => x.length) : (a: T) => number ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >list : (a: T) => T[] >x => x.length : (x: T[]) => number >x : T[] @@ -149,13 +149,13 @@ const f09 = pipe(list, x => x.length); const f10 = pipe(foo); >f10 : (x: T) => T >pipe(foo) : (x: T) => T ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >foo : (x: T) => T const f11 = pipe(foo, foo); >f11 : (x: T) => T >pipe(foo, foo) : (x: T) => T ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >foo : (x: T) => T >foo : (x: T) => T @@ -163,7 +163,7 @@ const g00: (x: T) => T[] = pipe(list); >g00 : (x: T) => T[] >x : T >pipe(list) : (a: T) => T[] ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >list : (a: T) => T[] const g01: (x: T) => { value: T[] } = pipe(list, box); @@ -171,7 +171,7 @@ const g01: (x: T) => { value: T[] } = pipe(list, box); >x : T >value : T[] >pipe(list, box) : (a: T) => { value: T[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >list : (a: T) => T[] >box : (x: V) => { value: V; } @@ -180,7 +180,7 @@ const g02: (x: T) => { value: T }[] = pipe(box, list); >x : T >value : T >pipe(box, list) : (x: T) => { value: T; }[] ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >box : (x: V) => { value: V; } >list : (a: T) => T[] @@ -189,7 +189,7 @@ const g03: (x: T) => { value: T[] } = pipe(x => list(x), box); >x : T >value : T[] >pipe(x => list(x), box) : (x: T) => { value: T[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >x => list(x) : (x: T) => T[] >x : T >list(x) : T[] @@ -202,7 +202,7 @@ const g04: (x: T) => { value: T[] } = pipe(list, x => box(x)); >x : T >value : T[] >pipe(list, x => box(x)) : (a: T) => { value: T[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >list : (a: T) => T[] >x => box(x) : (x: T[]) => { value: T[]; } >x : T[] @@ -215,7 +215,7 @@ const g05: (x: T) => { value: T[] } = pipe(x => list(x), x => box(x)) >x : T >value : T[] >pipe(x => list(x), x => box(x)) : (x: T) => { value: T[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >x => list(x) : (x: T) => T[] >x : T >list(x) : T[] @@ -232,10 +232,10 @@ const g06: (x: T) => { value: T[] } = pipe(list, pipe(box)); >x : T >value : T[] >pipe(list, pipe(box)) : (a: T) => { value: T[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >list : (a: T) => T[] >pipe(box) : (x: T[]) => { value: T[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >box : (x: V) => { value: V; } const g07: (x: T) => { value: T[] } = pipe(x => list(x), pipe(box)); @@ -243,14 +243,14 @@ const g07: (x: T) => { value: T[] } = pipe(x => list(x), pipe(box)); >x : T >value : T[] >pipe(x => list(x), pipe(box)) : (x: T) => { value: T[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >x => list(x) : (x: T) => T[] >x : T >list(x) : T[] >list : (a: T) => T[] >x : T >pipe(box) : (x: T[]) => { value: T[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >box : (x: V) => { value: V; } const g08: (x: T) => { value: T[] } = pipe(x => list(x), pipe(x => box(x))); @@ -258,14 +258,14 @@ const g08: (x: T) => { value: T[] } = pipe(x => list(x), pipe(x => box(x))); >x : T >value : T[] >pipe(x => list(x), pipe(x => box(x))) : (x: T) => { value: T[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >x => list(x) : (x: T) => T[] >x : T >list(x) : T[] >list : (a: T) => T[] >x : T >pipe(x => box(x)) : (x: T[]) => { value: T[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >x => box(x) : (x: T[]) => { value: T[]; } >x : T[] >box(x) : { value: T[]; } @@ -276,7 +276,7 @@ const g09: (x: T) => number = pipe(list, x => x.length); >g09 : (x: T) => number >x : T >pipe(list, x => x.length) : (a: T) => number ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >list : (a: T) => T[] >x => x.length : (x: T[]) => number >x : T[] @@ -289,7 +289,7 @@ const g10: (x: T) => T = pipe(foo); >value : T >x : T >pipe(foo) : (x: T) => T ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >foo : (x: T) => T const g12: (x: T) => T = pipe(foo, foo); @@ -297,7 +297,7 @@ const g12: (x: T) => T = pipe(foo, foo); >value : T >x : T >pipe(foo, foo) : (x: T) => T ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >foo : (x: T) => T >foo : (x: T) => T @@ -461,14 +461,14 @@ declare const list2: { let f70 = pipe(list2, box); >f70 : (a: T) => { value: T[]; } >pipe(list2, box) : (a: T) => { value: T[]; } ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >list2 : { (a: T): T[]; foo: string; bar(): number; } >box : (x: V) => { value: V; } let f71 = pipe(box, list2); >f71 : (x: V) => { value: V; }[] >pipe(box, list2) : (x: V) => { value: V; }[] ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >box : (x: V) => { value: V; } >list2 : { (a: T): T[]; foo: string; bar(): number; } @@ -712,9 +712,9 @@ const map = (transform: (t: T) => U) => >(arr: T[]) => arr.map(transform) : (arr: T[]) => U[] >arr : T[] >arr.map(transform) : U[] ->arr.map : (callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[] +>arr.map : (callbackfn: (value: T, index: number, array: T[]) => U_1, thisArg?: any) => U_1[] >arr : T[] ->map : (callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any) => U[] +>map : (callbackfn: (value: T, index: number, array: T[]) => U_1, thisArg?: any) => U_1[] >transform : (t: T) => U const identityStr = (t: string) => t; @@ -781,7 +781,7 @@ declare const MyComponent1: Component<{ foo: 1 }>; const enhance = pipe( >enhance :

(C: Component

) => Component

>pipe( myHoc1, myHoc2,) :

(C: Component

) => Component

->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } myHoc1, >myHoc1 :

(C: Component

) => Component

@@ -802,7 +802,7 @@ const MyComponent2 = enhance(MyComponent1); const fn20 = pipe((_a?: {}) => 1); >fn20 : (_a?: {} | undefined) => number >pipe((_a?: {}) => 1) : (_a?: {} | undefined) => number ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } >(_a?: {}) => 1 : (_a?: {}) => number >_a : {} | undefined >1 : 1 @@ -816,7 +816,7 @@ type Fn = (n: number) => number; const fn30: Fn = pipe( >fn30 : Fn >pipe( x => x + 1, x => x * 2,) : (x: number) => number ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } x => x + 1, >x => x + 1 : (x: number) => number @@ -837,9 +837,9 @@ const fn30: Fn = pipe( const promise = Promise.resolve(1); >promise : Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 promise.then( @@ -850,7 +850,7 @@ promise.then( pipe( >pipe( x => x + 1, x => x * 2, ) : (x: number) => number ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } x => x + 1, >x => x + 1 : (x: number) => number @@ -885,7 +885,7 @@ declare const identity: (value: T) => T; const fn40 = pipe( >fn40 : () => string | undefined >pipe( getString, string => orUndefined(string), identity,) : () => string | undefined ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } getString, >getString : () => string @@ -914,7 +914,7 @@ declare const first: (ts: T[]) => T; const fn60 = pipe( >fn60 : () => string >pipe( getArray, x => x, first,) : () => string ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } getArray, >getArray : () => string[] @@ -932,7 +932,7 @@ const fn60 = pipe( const fn61 = pipe( >fn61 : () => string >pipe( getArray, identity, first,) : () => string ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } getArray, >getArray : () => string[] @@ -948,7 +948,7 @@ const fn61 = pipe( const fn62 = pipe( >fn62 : () => string >pipe( getArray, x => x, x => first(x),) : () => string ->pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A) => B, bc: (b: B) => C): (...args: A) => C; (ab: (...args: A) => B, bc: (b: B) => C, cd: (c: C) => D): (...args: A) => D; } +>pipe : { (ab: (...args: A) => B): (...args: A) => B; (ab: (...args: A_1) => B_1, bc: (b: B_1) => C): (...args: A_1) => C; (ab: (...args: A_2) => B_2, bc: (b: B_2) => C_1, cd: (c: C_1) => D): (...args: A_2) => D; } getArray, >getArray : () => string[] diff --git a/tests/baselines/reference/genericFunctionSpecializations1.types b/tests/baselines/reference/genericFunctionSpecializations1.types index 47aec2c85d3b1..9643b006432c9 100644 --- a/tests/baselines/reference/genericFunctionSpecializations1.types +++ b/tests/baselines/reference/genericFunctionSpecializations1.types @@ -6,7 +6,7 @@ function foo3(test: string); // error >test : string function foo3(test: T) { } ->foo3 : (test: string) => any +>foo3 : (test: string) => any >test : T function foo4(test: string); // valid @@ -14,6 +14,6 @@ function foo4(test: string); // valid >test : string function foo4(test: T) { } ->foo4 : (test: string) => any +>foo4 : (test: string) => any >test : T diff --git a/tests/baselines/reference/genericFunctions3.types b/tests/baselines/reference/genericFunctions3.types index 57e8ee2dad5e1..6656cf361b451 100644 --- a/tests/baselines/reference/genericFunctions3.types +++ b/tests/baselines/reference/genericFunctions3.types @@ -12,7 +12,7 @@ function from(arg: boolean): Query; // was Error: Overload signature is no >arg : boolean function from(arg: any): Query { ->from : (arg: boolean) => Query +>from : (arg: boolean) => Query >arg : any return undefined; diff --git a/tests/baselines/reference/genericFunctionsAndConditionalInference.types b/tests/baselines/reference/genericFunctionsAndConditionalInference.types index 4ab543ed0f7ee..8cdfc41e883fb 100644 --- a/tests/baselines/reference/genericFunctionsAndConditionalInference.types +++ b/tests/baselines/reference/genericFunctionsAndConditionalInference.types @@ -110,7 +110,7 @@ const orphaned = (at: Ops) => at.dict(ok(at)) >at : Ops >dict :

(p: { [k in keyof P]: Result; }) => Result >ok(at) : { lr: Result>; } ->ok : >(at: Ops) => { lr: Result>; } +>ok : >(at: Ops) => { lr: Result>; } >at : Ops const leftOk = ok(left) diff --git a/tests/baselines/reference/genericMemberFunction.types b/tests/baselines/reference/genericMemberFunction.types index 736737cc02975..f7559cf1bafea 100644 --- a/tests/baselines/reference/genericMemberFunction.types +++ b/tests/baselines/reference/genericMemberFunction.types @@ -56,7 +56,7 @@ export class BuildResult{ >removedFiles.forEach : any >removedFiles : any >forEach : any ->(each: FileWithErrors) => { this.removeFile(each); } : (each: FileWithErrors) => void +>(each: FileWithErrors) => { this.removeFile(each); } : (each: FileWithErrors) => void >each : FileWithErrors this.removeFile(each); diff --git a/tests/baselines/reference/genericOverloadSignatures.types b/tests/baselines/reference/genericOverloadSignatures.types index 2d6b34295b86d..2de7c3b8277a0 100644 --- a/tests/baselines/reference/genericOverloadSignatures.types +++ b/tests/baselines/reference/genericOverloadSignatures.types @@ -10,24 +10,24 @@ interface A { } function f(a: T); ->f : { (a: T): any; (a: T): any; } +>f : { (a: T): any; (a: T_1): any; } >a : T function f(a: T); ->f : { (a: T): any; (a: T): any; } +>f : { (a: T_1): any; (a: T): any; } >a : T function f(a) { } ->f : { (a: T): any; (a: T): any; } +>f : { (a: T): any; (a: T_1): any; } >a : any interface I2 { f(x: T): number; ->f : { (x: T): number; (x: T): string; } +>f : { (x: T): number; (x: T_1): string; } >x : T f(x: T): string; ->f : { (x: T): number; (x: T): string; } +>f : { (x: T_1): number; (x: T): string; } >x : T } @@ -45,7 +45,7 @@ class C2 { >C2 : C2 } var b: { ->b : { new (x: T, y: string): C2; new (x: T, y: string): C2; } +>b : { new (x: T, y: string): C2; new (x: T_1, y: string): C2; } new (x: T, y: string): C2; >x : T diff --git a/tests/baselines/reference/genericRecursiveImplicitConstructorErrors3.types b/tests/baselines/reference/genericRecursiveImplicitConstructorErrors3.types index 704f4e112e931..1b16d2260ef89 100644 --- a/tests/baselines/reference/genericRecursiveImplicitConstructorErrors3.types +++ b/tests/baselines/reference/genericRecursiveImplicitConstructorErrors3.types @@ -42,9 +42,9 @@ module TypeScript { >this.getScopedNameEx(scopeSymbol, useConstraintInName).toString() : any >this.getScopedNameEx(scopeSymbol, useConstraintInName).toString : any >this.getScopedNameEx(scopeSymbol, useConstraintInName) : any ->this.getScopedNameEx : (scopeSymbol?: any, useConstraintInName?: boolean, getPrettyTypeName?: boolean, getTypeParamMarkerInfo?: boolean) => any +>this.getScopedNameEx : (scopeSymbol?: any, useConstraintInName?: boolean, getPrettyTypeName?: boolean, getTypeParamMarkerInfo?: boolean) => any >this : this ->getScopedNameEx : (scopeSymbol?: any, useConstraintInName?: boolean, getPrettyTypeName?: boolean, getTypeParamMarkerInfo?: boolean) => any +>getScopedNameEx : (scopeSymbol?: any, useConstraintInName?: boolean, getPrettyTypeName?: boolean, getTypeParamMarkerInfo?: boolean) => any >scopeSymbol : any >useConstraintInName : boolean >toString : any @@ -115,9 +115,9 @@ module TypeScript { return MemberName.create(elementMemberName, "", "[]"); >MemberName.create(elementMemberName, "", "[]") : any ->MemberName.create : (arg1: any, arg2?: any, arg3?: any) => any +>MemberName.create : (arg1: any, arg2?: any, arg3?: any) => any >MemberName : typeof MemberName ->create : (arg1: any, arg2?: any, arg3?: any) => any +>create : (arg1: any, arg2?: any, arg3?: any) => any >elementMemberName : any >"" : "" >"[]" : "[]" diff --git a/tests/baselines/reference/genericSpecializationToTypeLiteral1.types b/tests/baselines/reference/genericSpecializationToTypeLiteral1.types index fc6e30d2ebffc..f3a3711f628a0 100644 --- a/tests/baselines/reference/genericSpecializationToTypeLiteral1.types +++ b/tests/baselines/reference/genericSpecializationToTypeLiteral1.types @@ -4,7 +4,7 @@ interface IEnumerable { zip(second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; ->zip : { (second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (second: T[], resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (...params: any[]): IEnumerable; } +>zip : { (second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (second: T[], resultSelector: (first: T, second: T, index: number) => TResult_1): IEnumerable; (...params: any[]): IEnumerable; } >second : IEnumerable >resultSelector : (first: T, second: T, index: number) => TResult >first : T @@ -12,7 +12,7 @@ interface IEnumerable { >index : number zip(second: T[], resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; ->zip : { (second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (second: T[], resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (...params: any[]): IEnumerable; } +>zip : { (second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult_1): IEnumerable; (second: T[], resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (...params: any[]): IEnumerable; } >second : T[] >resultSelector : (first: T, second: T, index: number) => TResult >first : T @@ -20,15 +20,15 @@ interface IEnumerable { >index : number zip(...params: any[]): IEnumerable; // last one is selector ->zip : { (second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (second: T[], resultSelector: (first: T, second: T, index: number) => TResult): IEnumerable; (...params: any[]): IEnumerable; } +>zip : { (second: IEnumerable, resultSelector: (first: T, second: T, index: number) => TResult_1): IEnumerable; (second: T[], resultSelector: (first: T, second: T, index: number) => TResult_2): IEnumerable; (...params: any[]): IEnumerable; } >params : any[] merge(...params: IEnumerable[]): IEnumerable; ->merge : { (...params: IEnumerable[]): IEnumerable; (...params: T[][]): IEnumerable; } +>merge : { (...params: IEnumerable[]): IEnumerable; (...params: T[][]): IEnumerable; } >params : IEnumerable[] merge(...params: T[][]): IEnumerable; ->merge : { (...params: IEnumerable[]): IEnumerable; (...params: T[][]): IEnumerable; } +>merge : { (...params: IEnumerable[]): IEnumerable; (...params: T[][]): IEnumerable; } >params : T[][] @@ -46,39 +46,39 @@ interface IEnumerable { >second : IEnumerable sequenceEqual(second: IEnumerable): boolean; ->sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare): boolean; } +>sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare_1): boolean; } >second : IEnumerable sequenceEqual(second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; ->sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare): boolean; } +>sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare_1): boolean; } >second : IEnumerable >compareSelector : (element: T) => TCompare >element : T sequenceEqual(second: T[]): boolean; ->sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare): boolean; } +>sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare_1): boolean; } >second : T[] sequenceEqual(second: T[], compareSelector: (element: T) => TCompare): boolean; ->sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare): boolean; } +>sequenceEqual : { (second: IEnumerable): boolean; (second: IEnumerable, compareSelector: (element: T) => TCompare_1): boolean; (second: T[]): boolean; (second: T[], compareSelector: (element: T) => TCompare): boolean; } >second : T[] >compareSelector : (element: T) => TCompare >element : T toDictionary(keySelector: (element: T) => TKey): IDictionary; ->toDictionary : { (keySelector: (element: T) => TKey): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue, compareSelector: (key: TKey) => TCompare): IDictionary; } +>toDictionary : { (keySelector: (element: T) => TKey): IDictionary; (keySelector: (element: T) => TKey_1, elementSelector: (element: T) => TValue): IDictionary; (keySelector: (element: T) => TKey_2, elementSelector: (element: T) => TValue_1, compareSelector: (key: TKey_2) => TCompare): IDictionary; } >keySelector : (element: T) => TKey >element : T toDictionary(keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue): IDictionary; ->toDictionary : { (keySelector: (element: T) => TKey): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue, compareSelector: (key: TKey) => TCompare): IDictionary; } +>toDictionary : { (keySelector: (element: T) => TKey_1): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue): IDictionary; (keySelector: (element: T) => TKey_3, elementSelector: (element: T) => TValue_1, compareSelector: (key: TKey_3) => TCompare): IDictionary; } >keySelector : (element: T) => TKey >element : T >elementSelector : (element: T) => TValue >element : T toDictionary(keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue, compareSelector: (key: TKey) => TCompare): IDictionary; ->toDictionary : { (keySelector: (element: T) => TKey): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue, compareSelector: (key: TKey) => TCompare): IDictionary; } +>toDictionary : { (keySelector: (element: T) => TKey_1): IDictionary; (keySelector: (element: T) => TKey_2, elementSelector: (element: T) => TValue_1): IDictionary; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TValue, compareSelector: (key: TKey) => TCompare): IDictionary; } >keySelector : (element: T) => TKey >element : T >elementSelector : (element: T) => TValue diff --git a/tests/baselines/reference/genericStaticAnyTypeFunction.types b/tests/baselines/reference/genericStaticAnyTypeFunction.types index adb1c5840fcd1..6f54d5adc07f2 100644 --- a/tests/baselines/reference/genericStaticAnyTypeFunction.types +++ b/tests/baselines/reference/genericStaticAnyTypeFunction.types @@ -23,9 +23,9 @@ class A { return this.one(source, 42); // should not error >this.one(source, 42) : T ->this.one : (source: T, value: number) => T +>this.one : (source: T_1, value: number) => T_1 >this : typeof A ->one : (source: T, value: number) => T +>one : (source: T_1, value: number) => T_1 >source : T >42 : 42 diff --git a/tests/baselines/reference/genericTypeParameterEquivalence2.types b/tests/baselines/reference/genericTypeParameterEquivalence2.types index 3801db764a15e..c8c6dd8a0618d 100644 --- a/tests/baselines/reference/genericTypeParameterEquivalence2.types +++ b/tests/baselines/reference/genericTypeParameterEquivalence2.types @@ -68,7 +68,7 @@ function filter(f: (a: A) => boolean, ar: A[]): A[] { forEach(ar, (el) => { >forEach(ar, (el) => { if (f(el)) { ret.push(el); } } ) : void ->forEach : (list: A[], f: (a: A, n?: number) => void) => void +>forEach : (list: A_1[], f: (a: A_1, n?: number) => void) => void >ar : A[] >(el) => { if (f(el)) { ret.push(el); } } : (el: A) => void >el : A @@ -151,10 +151,10 @@ function countWhere_1(pred: (a: A) => boolean): (a: A[]) => number { return compose(length2, cfilter(pred)); >compose(length2, cfilter(pred)) : (a: A[]) => number ->compose : (f: (b: B) => C, g: (a: A) => B) => (a: A) => C ->length2 : (ar: A[]) => number +>compose : (f: (b: B) => C, g: (a: A_1) => B) => (a: A_1) => C +>length2 : (ar: A_1[]) => number >cfilter(pred) : (bx: A[]) => A[] ->cfilter : (ax: (a: A) => boolean) => (bx: A[]) => A[] +>cfilter : (ax: (a: A_1) => boolean) => (bx: A_1[]) => A_1[] >pred : (a: A) => boolean } @@ -167,12 +167,12 @@ function countWhere_2(pred: (a: A) => boolean): (a: A[]) => number { var where = cfilter(pred); >where : (bx: A[]) => A[] >cfilter(pred) : (bx: A[]) => A[] ->cfilter : (ax: (a: A) => boolean) => (bx: A[]) => A[] +>cfilter : (ax: (a: A_1) => boolean) => (bx: A_1[]) => A_1[] >pred : (a: A) => boolean return compose(length2, where); >compose(length2, where) : (a: A[]) => number ->compose : (f: (b: B) => C, g: (a: A) => B) => (a: A) => C ->length2 : (ar: A[]) => number +>compose : (f: (b: B) => C, g: (a: A_1) => B) => (a: A_1) => C +>length2 : (ar: A_1[]) => number >where : (bx: A[]) => A[] } diff --git a/tests/baselines/reference/genericUnboundedTypeParamAssignability.types b/tests/baselines/reference/genericUnboundedTypeParamAssignability.types index a4e0288566a46..1f4e75775a371 100644 --- a/tests/baselines/reference/genericUnboundedTypeParamAssignability.types +++ b/tests/baselines/reference/genericUnboundedTypeParamAssignability.types @@ -40,17 +40,17 @@ function user(t: T) { f1(t); >f1(t) : void ->f1 : (o: T) => void +>f1 : (o: T_1) => void >t : T f2(t); // error in strict, unbounded T doesn't satisfy the constraint >f2(t) : void ->f2 : (o: T) => void +>f2 : (o: T_1) => void >t : T f3(t); // error in strict, unbounded T doesn't satisfy the constraint >f3(t) : void ->f3 : >(o: T) => void +>f3 : >(o: T_1) => void >t : T t.toString(); // error, for the same reason as f1() diff --git a/tests/baselines/reference/genericsWithDuplicateTypeParameters1.types b/tests/baselines/reference/genericsWithDuplicateTypeParameters1.types index 0b12ed15d2960..1c3d0168087f7 100644 --- a/tests/baselines/reference/genericsWithDuplicateTypeParameters1.types +++ b/tests/baselines/reference/genericsWithDuplicateTypeParameters1.types @@ -32,8 +32,8 @@ interface I { } var m = { ->m : { a: () => void; b: (a: X, b: X) => X; } ->{ a: function f() {}, b: function f2(a: X, b: X): X { return null; }} : { a: () => void; b: (a: X, b: X) => X; } +>m : { a: () => void; b: (a: X_1, b: X_1) => X_1; } +>{ a: function f() {}, b: function f2(a: X, b: X): X { return null; }} : { a: () => void; b: (a: X_1, b: X_1) => X_1; } a: function f() {}, >a : () => void diff --git a/tests/baselines/reference/grammarAmbiguities.types b/tests/baselines/reference/grammarAmbiguities.types index e4f63fedbb0b5..88ecd7d422b35 100644 --- a/tests/baselines/reference/grammarAmbiguities.types +++ b/tests/baselines/reference/grammarAmbiguities.types @@ -19,14 +19,14 @@ f(g(7)); >f(g(7)) : any >f : (n: any) => any >g(7) : any ->g : (x: any) => any +>g : (x: any) => any >7 : 7 f(g < A, B > 7); // Should error >f(g < A, B > 7) : any >f : (n: any) => any >g < A : boolean ->g : (x: any) => any +>g : (x: any) => any >A : any >B > 7 : boolean >B : any @@ -36,7 +36,7 @@ f(g < A, B > +(7)); // Should error >f(g < A, B > +(7)) : any >f : (n: any) => any >g < A : boolean ->g : (x: any) => any +>g : (x: any) => any >A : any >B > +(7) : boolean >B : any diff --git a/tests/baselines/reference/higherOrderMappedIndexLookupInference.types b/tests/baselines/reference/higherOrderMappedIndexLookupInference.types index 0bc2704e4ad6d..0d9211f896a5a 100644 --- a/tests/baselines/reference/higherOrderMappedIndexLookupInference.types +++ b/tests/baselines/reference/higherOrderMappedIndexLookupInference.types @@ -36,7 +36,7 @@ function f2(a: () => T[K], b: () => } function f3(a: () => { [K in keyof T]: T[K] }, b: () => { [K in keyof U]: U[K] }) { ->f3 : (a: () => { [K in keyof T]: T[K]; }, b: () => { [K in keyof U]: U[K]; }) => void +>f3 : (a: () => { [K in keyof T]: T[K]; }, b: () => { [K_1 in keyof U]: U[K_1]; }) => void >a : () => { [K in keyof T]: T[K]; } >b : () => { [K in keyof U]: U[K]; } diff --git a/tests/baselines/reference/identicalCallSignatures.types b/tests/baselines/reference/identicalCallSignatures.types index 33bd279903d7b..893f070b1ba7b 100644 --- a/tests/baselines/reference/identicalCallSignatures.types +++ b/tests/baselines/reference/identicalCallSignatures.types @@ -26,7 +26,7 @@ interface I2 { } var a: { ->a : { (x: any): number; (x: any): number; (x: T): T; (x: T): T; } +>a : { (x: any): number; (x: any): number; (x: T): T; (x: T_1): T_1; } (x): number; >x : any diff --git a/tests/baselines/reference/identityAndDivergentNormalizedTypes.types b/tests/baselines/reference/identityAndDivergentNormalizedTypes.types index e91f24524e386..61304c4c954a0 100644 --- a/tests/baselines/reference/identityAndDivergentNormalizedTypes.types +++ b/tests/baselines/reference/identityAndDivergentNormalizedTypes.types @@ -57,7 +57,7 @@ const tmp = ( ) => { post(path, { body }) >post(path, { body }) : void ->post : (path: PATH, { body, ...options }: Omit & { body: PostBody; }) => void +>post : (path: PATH_1, { body, ...options }: Omit & { body: PostBody; }) => void >path : PATH >{ body } : { body: PostBody; } >body : PostBody diff --git a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types index 89f3cf6c9b4fd..7d001af103620 100644 --- a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types +++ b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types @@ -9,9 +9,9 @@ function truePromise(): Promise { return Promise.resolve(true); >Promise.resolve(true) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >true : true } @@ -415,9 +415,9 @@ const f1: F = () => { return Promise.all([ >Promise.all([ { name: "David Gomes", age: 23, position: "GOALKEEPER", }, { name: "Cristiano Ronaldo", age: 33, position: "STRIKER", } ]) : Promise<({ name: string; age: number; position: "GOALKEEPER"; } | { name: string; age: number; position: "STRIKER"; })[]> ->Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >Promise : PromiseConstructor ->all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >[ { name: "David Gomes", age: 23, position: "GOALKEEPER", }, { name: "Cristiano Ronaldo", age: 33, position: "STRIKER", } ] : ({ name: string; age: number; position: "GOALKEEPER"; } | { name: string; age: number; position: "STRIKER"; })[] { >{ name: "David Gomes", age: 23, position: "GOALKEEPER", } : { name: string; age: number; position: "GOALKEEPER"; } diff --git a/tests/baselines/reference/inferTypes1.types b/tests/baselines/reference/inferTypes1.types index 3ce2bf2dd5011..f3b34af033753 100644 --- a/tests/baselines/reference/inferTypes1.types +++ b/tests/baselines/reference/inferTypes1.types @@ -480,7 +480,7 @@ const result = invoker('test', true)({ test: (a: boolean) => 123 }) >result : number >invoker('test', true)({ test: (a: boolean) => 123 }) : number >invoker('test', true) : any>>(obj: T) => ReturnType ->invoker : (key: K, ...args: A) => any>>(obj: T) => ReturnType +>invoker : (key: K, ...args: A_1) => any>>(obj: T) => ReturnType >'test' : "test" >true : true >{ test: (a: boolean) => 123 } : { test: (a: boolean) => number; } diff --git a/tests/baselines/reference/inferTypes2.types b/tests/baselines/reference/inferTypes2.types index c5e034b6aacb6..ee9de71441a75 100644 --- a/tests/baselines/reference/inferTypes2.types +++ b/tests/baselines/reference/inferTypes2.types @@ -13,7 +13,7 @@ export function bar(obj: T) { return foo(obj); >foo(obj) : T extends () => infer P ? P : never ->foo : (obj: T) => T extends () => infer P ? P : never +>foo : (obj: T_1) => T_1 extends () => infer P ? P : never >obj : T } @@ -31,7 +31,7 @@ export function bar2(obj: T) { return foo2(obj); >foo2(obj) : T extends { x: infer P extends number ? infer P : string; } ? P : never ->foo2 : (obj: T) => T extends { x: infer P extends number ? infer P : string; } ? P : never +>foo2 : (obj: T_1) => T_1 extends { x: infer P extends number ? infer P : string; } ? P : never >obj : T } diff --git a/tests/baselines/reference/inferenceDoesNotAddUndefinedOrNull.types b/tests/baselines/reference/inferenceDoesNotAddUndefinedOrNull.types index 2605a92fbc0d4..1e2a96b305ede 100644 --- a/tests/baselines/reference/inferenceDoesNotAddUndefinedOrNull.types +++ b/tests/baselines/reference/inferenceDoesNotAddUndefinedOrNull.types @@ -13,11 +13,11 @@ interface Node { } declare function toArray(value: T | T[]): T[]; ->toArray : { (value: T | T[]): T[]; (value: T | readonly T[]): readonly T[]; } +>toArray : { (value: T | T[]): T[]; (value: T_1 | readonly T_1[]): readonly T_1[]; } >value : T | T[] declare function toArray(value: T | readonly T[]): readonly T[]; ->toArray : { (value: T | T[]): T[]; (value: T | readonly T[]): readonly T[]; } +>toArray : { (value: T_1 | T_1[]): T_1[]; (value: T | readonly T[]): readonly T[]; } >value : T | readonly T[] function flatMapChildren(node: Node, cb: (child: Node) => readonly T[] | T | undefined): readonly T[] { @@ -32,9 +32,9 @@ function flatMapChildren(node: Node, cb: (child: Node) => readonly T[] | T | node.forEachChild(child => { >node.forEachChild(child => { const value = cb(child); if (value !== undefined) { result.push(...toArray(value)); } }) : void | undefined ->node.forEachChild : (cbNode: (node: Node) => T | undefined, cbNodeArray?: ((nodes: NodeArray) => T | undefined) | undefined) => T | undefined +>node.forEachChild : (cbNode: (node: Node) => T_1 | undefined, cbNodeArray?: ((nodes: NodeArray) => T_1 | undefined) | undefined) => T_1 | undefined >node : Node ->forEachChild : (cbNode: (node: Node) => T | undefined, cbNodeArray?: ((nodes: NodeArray) => T | undefined) | undefined) => T | undefined +>forEachChild : (cbNode: (node: Node) => T_1 | undefined, cbNodeArray?: ((nodes: NodeArray) => T_1 | undefined) | undefined) => T_1 | undefined >child => { const value = cb(child); if (value !== undefined) { result.push(...toArray(value)); } } : (child: Node) => void >child : Node @@ -56,7 +56,7 @@ function flatMapChildren(node: Node, cb: (child: Node) => readonly T[] | T | >push : (...items: T[]) => number >...toArray(value) : T >toArray(value) : readonly T[] ->toArray : { (value: T | T[]): T[]; (value: T | readonly T[]): readonly T[]; } +>toArray : { (value: T_1 | T_1[]): T_1[]; (value: T_2 | readonly T_2[]): readonly T_2[]; } >value : readonly T[] | (T & ({} | null)) } }); @@ -76,9 +76,9 @@ function flatMapChildren2(node: Node, cb: (child: Node) => readonly T[] | T | node.forEachChild(child => { >node.forEachChild(child => { const value = cb(child); if (value !== null) { result.push(...toArray(value)); } }) : void | undefined ->node.forEachChild : (cbNode: (node: Node) => T | undefined, cbNodeArray?: ((nodes: NodeArray) => T | undefined) | undefined) => T | undefined +>node.forEachChild : (cbNode: (node: Node) => T_1 | undefined, cbNodeArray?: ((nodes: NodeArray) => T_1 | undefined) | undefined) => T_1 | undefined >node : Node ->forEachChild : (cbNode: (node: Node) => T | undefined, cbNodeArray?: ((nodes: NodeArray) => T | undefined) | undefined) => T | undefined +>forEachChild : (cbNode: (node: Node) => T_1 | undefined, cbNodeArray?: ((nodes: NodeArray) => T_1 | undefined) | undefined) => T_1 | undefined >child => { const value = cb(child); if (value !== null) { result.push(...toArray(value)); } } : (child: Node) => void >child : Node @@ -99,7 +99,7 @@ function flatMapChildren2(node: Node, cb: (child: Node) => readonly T[] | T | >push : (...items: T[]) => number >...toArray(value) : T >toArray(value) : readonly T[] ->toArray : { (value: T | T[]): T[]; (value: T | readonly T[]): readonly T[]; } +>toArray : { (value: T_1 | T_1[]): T_1[]; (value: T_2 | readonly T_2[]): readonly T_2[]; } >value : readonly T[] | (T & ({} | undefined)) } }); diff --git a/tests/baselines/reference/inferenceLimit.types b/tests/baselines/reference/inferenceLimit.types index 815514070a785..6bf6c45db64a2 100644 --- a/tests/baselines/reference/inferenceLimit.types +++ b/tests/baselines/reference/inferenceLimit.types @@ -78,9 +78,9 @@ export class BrokenClass { >Promise.all(result.map(populateItems)) .then((orders: Array) => { resolve(orders); }) : Promise >Promise.all(result.map(populateItems)) .then : (onfulfilled?: (value: unknown[]) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >Promise.all(result.map(populateItems)) : Promise ->Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >Promise : PromiseConstructor ->all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >result.map(populateItems) : Promise[] >result.map : (callbackfn: (value: MyModule.MyModel, index: number, array: MyModule.MyModel[]) => U, thisArg?: any) => U[] >result : MyModule.MyModel[] diff --git a/tests/baselines/reference/infinitelyExpandingTypes5.types b/tests/baselines/reference/infinitelyExpandingTypes5.types index c6e1e88234195..9ba91ec0090eb 100644 --- a/tests/baselines/reference/infinitelyExpandingTypes5.types +++ b/tests/baselines/reference/infinitelyExpandingTypes5.types @@ -15,15 +15,15 @@ interface Enumerator { } function from(array: T[]): Query; ->from : { (array: T[]): Query; (enumerator: Enumerator): Query; } +>from : { (array: T[]): Query; (enumerator: Enumerator): Query; } >array : T[] function from(enumerator: Enumerator): Query; ->from : { (array: T[]): Query; (enumerator: Enumerator): Query; } +>from : { (array: T_1[]): Query; (enumerator: Enumerator): Query; } >enumerator : Enumerator function from(arg: any): any { ->from : { (array: T[]): Query; (enumerator: Enumerator): Query; } +>from : { (array: T[]): Query; (enumerator: Enumerator): Query; } >arg : any return undefined; diff --git a/tests/baselines/reference/inlineMappedTypeModifierDeclarationEmit.types b/tests/baselines/reference/inlineMappedTypeModifierDeclarationEmit.types index 3119c709d5d0a..c489f0eb68d2a 100644 --- a/tests/baselines/reference/inlineMappedTypeModifierDeclarationEmit.types +++ b/tests/baselines/reference/inlineMappedTypeModifierDeclarationEmit.types @@ -2,17 +2,17 @@ === index.ts === import { test1, test2 } from "./other"; ->test1 : (obj: T, k: K) => { [P in Exclude]: T[P]; } +>test1 : (obj: T, k: K) => Exclude extends infer T_1 extends keyof T ? { [P in T_1]: T[P]; } : never >test2 : (obj: T, k: K) => { [P in Exclude]: T[P]; } export function wrappedTest1(obj: T, k: K) { ->wrappedTest1 : (obj: T, k: K) => { [P in Exclude]: T[P]; } +>wrappedTest1 : (obj: T, k: K) => Exclude extends infer T_1 extends keyof T ? { [P in T_1]: T[P]; } : never >obj : T >k : K return test1(obj, k); ->test1(obj, k) : { [P in Exclude]: T[P]; } ->test1 : (obj: T, k: K) => { [P in Exclude]: T[P]; } +>test1(obj, k) : Exclude extends infer T_1 extends keyof T ? { [P in T_1]: T[P]; } : never +>test1 : (obj: T_1, k: K_1) => Exclude extends infer T_2 extends keyof T_1 ? { [P in T_2]: T_1[P]; } : never >obj : T >k : K } @@ -24,7 +24,7 @@ export function wrappedTest2(obj: T, k: K) { return test2(obj, k); >test2(obj, k) : { [P in Exclude]: T[P]; } ->test2 : (obj: T, k: K) => { [P in Exclude]: T[P]; } +>test2 : (obj: T_1, k: K_1) => { [P in Exclude]: T_1[P]; } >obj : T >k : K } @@ -43,7 +43,7 @@ export type Obj = { export const processedInternally1 = wrappedTest1({} as Obj, "a"); >processedInternally1 : { readonly foo: string; } >wrappedTest1({} as Obj, "a") : { readonly foo: string; } ->wrappedTest1 : (obj: T, k: K) => { [P in Exclude]: T[P]; } +>wrappedTest1 : (obj: T, k: K) => Exclude extends infer T_1 extends keyof T ? { [P in T_1]: T[P]; } : never >{} as Obj : Obj >{} : {} >"a" : "a" diff --git a/tests/baselines/reference/instanceMemberInitialization.types b/tests/baselines/reference/instanceMemberInitialization.types index 1bc23ebf9659f..6cfd0467e1f30 100644 --- a/tests/baselines/reference/instanceMemberInitialization.types +++ b/tests/baselines/reference/instanceMemberInitialization.types @@ -44,12 +44,12 @@ class MyMap { >MyMap : MyMap constructor(private readonly Map_: { new(): any }) {} ->Map_ : new () => any +>Map_ : new () => any private readonly store = new this.Map_(); >store : any >new this.Map_() : any ->this.Map_ : new () => any +>this.Map_ : new () => any >this : this ->Map_ : new () => any +>Map_ : new () => any } diff --git a/tests/baselines/reference/instantiateContextualTypes.types b/tests/baselines/reference/instantiateContextualTypes.types index d6294322f3d31..24ba01d0a5b85 100644 --- a/tests/baselines/reference/instantiateContextualTypes.types +++ b/tests/baselines/reference/instantiateContextualTypes.types @@ -344,9 +344,9 @@ class Interesting { >Promise.resolve().then(() => { if (1 < 2) { return 'SOMETHING'; } return 'ELSE'; }) : Promise<"SOMETHING" | "ELSE"> >Promise.resolve().then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => { if (1 < 2) { return 'SOMETHING'; } return 'ELSE'; } : () => "SOMETHING" | "ELSE" @@ -371,9 +371,9 @@ class Interesting { >Promise.resolve().then(() => { return 'ELSE'; }) : Promise<"SOMETHING" | "ELSE"> >Promise.resolve().then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => { return 'ELSE'; } : () => "ELSE" @@ -390,9 +390,9 @@ class Interesting { >Promise.resolve().then(() => { if (1 < 2) { return 'SOMETHING'; } return 'SOMETHING'; }) : Promise<"SOMETHING" | "ELSE"> >Promise.resolve().then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >then : (onfulfilled?: ((value: void) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => { if (1 < 2) { return 'SOMETHING'; } return 'SOMETHING'; } : () => "SOMETHING" diff --git a/tests/baselines/reference/instantiationExpressions.types b/tests/baselines/reference/instantiationExpressions.types index e1a69947e0378..11410cfb0f22b 100644 --- a/tests/baselines/reference/instantiationExpressions.types +++ b/tests/baselines/reference/instantiationExpressions.types @@ -2,57 +2,57 @@ === instantiationExpressions.ts === declare function fx(x: T): T; ->fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +>fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } >x : T declare function fx(x: T, n: number): T; ->fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +>fx : { (x: T_1): T_1; (x: T, n: number): T; (t: [T_3, U]): [T_3, U]; } >x : T >n : number declare function fx(t: [T, U]): [T, U]; ->fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +>fx : { (x: T_1): T_1; (x: T_2, n: number): T_2; (t: [T, U]): [T, U]; } >t : [T, U] function f1() { >f1 : () => void let f0 = fx<>; // Error ->f0 : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } ->fx<> : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } ->fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +>f0 : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } +>fx<> : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } +>fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } let f1 = fx; // { (x: string): string; (x: string, n: number): string; } >f1 : { (x: string): string; (x: string, n: number): string; } >fx : { (x: string): string; (x: string, n: number): string; } ->fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +>fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } let f2 = fx; // (t: [string, number]) => [string, number] >f2 : (t: [string, number]) => [string, number] >fx : (t: [string, number]) => [string, number] ->fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +>fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } let f3 = fx; // Error >f3 : {} >fx : {} ->fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +>fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } } type T10 = typeof fx<>; // Error ->T10 : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } ->fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +>T10 : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } +>fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } type T11 = typeof fx; // { (x: string): string; (x: string, n: number): string; } >T11 : typeof fx ->fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +>fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } type T12 = typeof fx; // (t: [string, number]) => [string, number] >T12 : typeof fx ->fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +>fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } type T13 = typeof fx; // Error >T13 : typeof fx ->fx : { (x: T): T; (x: T, n: number): T; (t: [T, U]): [T, U]; } +>fx : { (x: T): T; (x: T_1, n: number): T_1; (t: [T_2, U]): [T_2, U]; } function f2() { >f2 : () => void @@ -419,16 +419,16 @@ function f37(f: ((a: T) => T) | (new (a: string, b: number) => string[])) { } function f38(x: A) => A) | ((x: B) => B[]), U>(f: T | U | ((x: C) => C[][])) { ->f38 : (x: A) => A) | ((x: B) => B[]), U>(f: T | U | ((x: C) => C[][])) => void +>f38 : (x: A_1) => A_1) | ((x: B) => B[]), U>(f: T | U | ((x: C_1) => C_1[][])) => void >x : A >x : B ->f : T | U | ((x: C) => C[][]) +>f : T | U | ((x: C_1) => C_1[][]) >x : C let fs = f; // U | ((x: string) => string) | ((x: string) => string[]) | ((x: string) => string[][]) >fs : U | ((x: string) => string) | ((x: string) => string[]) | ((x: string) => string[][]) >f : U | ((x: string) => string) | ((x: string) => string[]) | ((x: string) => string[][]) ->f : T | U | ((x: C) => C[][]) +>f : T | U | ((x: C_1) => C_1[][]) } function makeBox(value: T) { @@ -442,14 +442,14 @@ function makeBox(value: T) { type BoxFunc = typeof makeBox; // (value: T) => { value: T } >BoxFunc : typeof makeBox ->makeBox : (value: T) => { value: T; } +>makeBox : (value: T_1) => { value: T_1; } type StringBoxFunc = BoxFunc; // (value: string) => { value: string } >StringBoxFunc : (value: string) => { value: string; } type Box = ReturnType>; // { value: T } >Box : { value: T; } ->makeBox : (value: T) => { value: T; } +>makeBox : (value: T_1) => { value: T_1; } type StringBox = Box; // { value: string } >StringBox : { value: string; } @@ -481,7 +481,7 @@ type T32 = InstanceType>; // { b: B } >T32 : { b: B; } declare const g2: { ->g2 : { (a: T): T; new (b: T): T; } +>g2 : { (a: T): T; new (b: T_1): T_1; } (a: T): T; >a : T @@ -492,14 +492,14 @@ declare const g2: { type T40 = typeof g2; // Error >T40 : typeof g2 ->g2 : { (a: T): T; new (b: T): T; } +>g2 : { (a: T): T; new (b: T_1): T_1; } type T41 = typeof g2; // Error >T41 : typeof g2 ->g2 : { (a: T): T; new (b: T): T; } +>g2 : { (a: T): T; new (b: T_1): T_1; } declare const g3: { ->g3 : { (a: T): T; new (b: T): T; } +>g3 : { (a: T): T; new (b: T_1): T_1; } (a: T): T; >a : T @@ -510,9 +510,9 @@ declare const g3: { type T50 = typeof g3; // (a: U) => U >T50 : typeof g3 ->g3 : { (a: T): T; new (b: T): T; } +>g3 : { (a: T): T; new (b: T_1): T_1; } type T51 = typeof g3; // (b: U) => U >T51 : typeof g3 ->g3 : { (a: T): T; new (b: T): T; } +>g3 : { (a: T): T; new (b: T_1): T_1; } diff --git a/tests/baselines/reference/intersectionSatisfiesConstraint.types b/tests/baselines/reference/intersectionSatisfiesConstraint.types index 49e5eda86e073..4774f714a9e7a 100644 --- a/tests/baselines/reference/intersectionSatisfiesConstraint.types +++ b/tests/baselines/reference/intersectionSatisfiesConstraint.types @@ -20,9 +20,9 @@ const myFirstFunction = (param1: T) >newParam : T & { otherProperty: number; } >otherProperty : number >Object.assign(param1, { otherProperty: 3 }) : T & { otherProperty: number; } ->Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>Object.assign : { (target: T_1, source: U): T_1 & U; (target: T_2, source1: U_1, source2: V): T_2 & U_1 & V; (target: T_3, source1: U_2, source2: V_1, source3: W): T_3 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >Object : ObjectConstructor ->assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>assign : { (target: T_1, source: U): T_1 & U; (target: T_2, source1: U_1, source2: V): T_2 & U_1 & V; (target: T_3, source1: U_2, source2: V_1, source3: W): T_3 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >param1 : T >{ otherProperty: 3 } : { otherProperty: number; } >otherProperty : number @@ -30,7 +30,7 @@ const myFirstFunction = (param1: T) mySecondFunction(newParam) >mySecondFunction(newParam) : { commonProperty: number; otherProperty: number; } ->mySecondFunction : (newParam: T) => T +>mySecondFunction : (newParam: T_1) => T_1 >newParam : (FirstInterface | SecondInterface) & { otherProperty: number; } } diff --git a/tests/baselines/reference/intersectionTypeInference3.types b/tests/baselines/reference/intersectionTypeInference3.types index 8e400d8d5b9e0..3c06132b207f7 100644 --- a/tests/baselines/reference/intersectionTypeInference3.types +++ b/tests/baselines/reference/intersectionTypeInference3.types @@ -28,15 +28,15 @@ const c1 = Array.from(a).concat(Array.from(b)); >Array.from(a).concat(Array.from(b)) : A[] >Array.from(a).concat : { (...items: ConcatArray[]): A[]; (...items: (A | ConcatArray)[]): A[]; } >Array.from(a) : A[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >a : Set >concat : { (...items: ConcatArray[]): A[]; (...items: (A | ConcatArray)[]): A[]; } >Array.from(b) : A[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >b : Set // Simpler repro diff --git a/tests/baselines/reference/intersectionWithConflictingPrivates.types b/tests/baselines/reference/intersectionWithConflictingPrivates.types index c41b1e2af1859..a3b616ad106bd 100644 --- a/tests/baselines/reference/intersectionWithConflictingPrivates.types +++ b/tests/baselines/reference/intersectionWithConflictingPrivates.types @@ -146,9 +146,9 @@ class Foo { return Promise.resolve(undefined); >Promise.resolve(undefined) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >undefined : undefined } } diff --git a/tests/baselines/reference/intersectionsAndEmptyObjects.types b/tests/baselines/reference/intersectionsAndEmptyObjects.types index 62204807d68b3..e3595e7dc15eb 100644 --- a/tests/baselines/reference/intersectionsAndEmptyObjects.types +++ b/tests/baselines/reference/intersectionsAndEmptyObjects.types @@ -78,9 +78,9 @@ const intersectDictionaries = ( ): F1 & F2 => Object.assign({}, d1, d2); >Object.assign({}, d1, d2) : {} & F1 & F2 ->Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>Object.assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >Object : ObjectConstructor ->assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>assign : { (target: T, source: U): T & U; (target: T_1, source1: U_1, source2: V): T_1 & U_1 & V; (target: T_2, source1: U_2, source2: V_1, source3: W): T_2 & U_2 & V_1 & W; (target: object, ...sources: any[]): any; } >{} : {} >d1 : F1 >d2 : F2 diff --git a/tests/baselines/reference/intersectionsOfLargeUnions.types b/tests/baselines/reference/intersectionsOfLargeUnions.types index 824077b94a292..bf66e419d13b9 100644 --- a/tests/baselines/reference/intersectionsOfLargeUnions.types +++ b/tests/baselines/reference/intersectionsOfLargeUnions.types @@ -66,7 +66,7 @@ export function assertNodeProperty< if (assertNodeTagName(node, tagName)) { >assertNodeTagName(node, tagName) : boolean ->assertNodeTagName : (node: Node | null, tagName: T) => node is U +>assertNodeTagName : (node: Node | null, tagName: T_1) => node is U >node : Node | null >tagName : T diff --git a/tests/baselines/reference/intersectionsOfLargeUnions2.types b/tests/baselines/reference/intersectionsOfLargeUnions2.types index a8934f54eb55e..d990a4731f3f4 100644 --- a/tests/baselines/reference/intersectionsOfLargeUnions2.types +++ b/tests/baselines/reference/intersectionsOfLargeUnions2.types @@ -80,7 +80,7 @@ export function assertNodeProperty< if (assertNodeTagName(node, tagName)) { >assertNodeTagName(node, tagName) : boolean ->assertNodeTagName : (node: Node | null, tagName: T) => node is U +>assertNodeTagName : (node: Node | null, tagName: T_1) => node is U >node : Node | null >tagName : T diff --git a/tests/baselines/reference/ipromise2.types b/tests/baselines/reference/ipromise2.types index 8087bff1791e9..ff92db3c4eddf 100644 --- a/tests/baselines/reference/ipromise2.types +++ b/tests/baselines/reference/ipromise2.types @@ -4,7 +4,7 @@ declare module Windows.Foundation { export interface IPromise { then(success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >success : (value: T) => IPromise >value : T >error : (error: any) => IPromise @@ -15,7 +15,7 @@ declare module Windows.Foundation { >Foundation : any then(success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_3, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_4, error?: (error: any) => U_4, progress?: (progress: any) => void): IPromise; } >success : (value: T) => IPromise >value : T >error : (error: any) => U @@ -26,7 +26,7 @@ declare module Windows.Foundation { >Foundation : any then(success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_4, error?: (error: any) => U_4, progress?: (progress: any) => void): IPromise; } >success : (value: T) => U >value : T >error : (error: any) => IPromise @@ -37,7 +37,7 @@ declare module Windows.Foundation { >Foundation : any then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } >success : (value: T) => U >value : T >error : (error: any) => U @@ -69,9 +69,9 @@ var p: Windows.Foundation.IPromise; var p2 = p.then(function (s) { >p2 : Windows.Foundation.IPromise >p.then(function (s) { return 34;} ) : Windows.Foundation.IPromise ->p.then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +>p.then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U_2, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Windows.Foundation.IPromise; } >p : Windows.Foundation.IPromise ->then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +>then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U_2, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Windows.Foundation.IPromise; } >function (s) { return 34;} : (s: string) => number >s : string diff --git a/tests/baselines/reference/ipromise3.types b/tests/baselines/reference/ipromise3.types index cf709a04439e9..9e89b5f24fb03 100644 --- a/tests/baselines/reference/ipromise3.types +++ b/tests/baselines/reference/ipromise3.types @@ -3,7 +3,7 @@ === ipromise3.ts === interface IPromise3 { then(success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void ): IPromise3; ->then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; } +>then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_2, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise3; } >success : (value: T) => IPromise3 >value : T >error : (error: any) => IPromise3 @@ -12,7 +12,7 @@ interface IPromise3 { >progress : any then(success?: (value: T) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void ): IPromise3; ->then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; } +>then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_4, error?: (error: any) => U_4, progress?: (progress: any) => void): IPromise3; } >success : (value: T) => IPromise3 >value : T >error : (error: any) => U @@ -21,7 +21,7 @@ interface IPromise3 { >progress : any then(success?: (value: T) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void ): IPromise3; ->then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; } +>then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_4, error?: (error: any) => U_4, progress?: (progress: any) => void): IPromise3; } >success : (value: T) => U >value : T >error : (error: any) => IPromise3 @@ -30,7 +30,7 @@ interface IPromise3 { >progress : any then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void ): IPromise3; ->then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; } +>then : { (success?: (value: T) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => IPromise3, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U_3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; } >success : (value: T) => U >value : T >error : (error: any) => U @@ -53,9 +53,9 @@ var p1: IPromise3; var p2: IPromise3 = p1.then(function (x) { >p2 : IPromise3 >p1.then(function (x) { return x;}) : IPromise3 ->p1.then : { (success?: (value: string) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; } +>p1.then : { (success?: (value: string) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => IPromise3, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U_2, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise3; } >p1 : IPromise3 ->then : { (success?: (value: string) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => IPromise3, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise3; } +>then : { (success?: (value: string) => IPromise3, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => IPromise3, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U_2, error?: (error: any) => IPromise3, progress?: (progress: any) => void): IPromise3; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise3; } >function (x) { return x;} : (x: string) => string >x : string diff --git a/tests/baselines/reference/ipromise4.types b/tests/baselines/reference/ipromise4.types index 4141cf7d085c1..332c250b6e7fd 100644 --- a/tests/baselines/reference/ipromise4.types +++ b/tests/baselines/reference/ipromise4.types @@ -4,7 +4,7 @@ declare module Windows.Foundation { export interface IPromise { then(success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >success : (value: T) => IPromise >value : T >error : (error: any) => IPromise @@ -15,7 +15,7 @@ declare module Windows.Foundation { >Foundation : any then(success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_3, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_4, error?: (error: any) => U_4, progress?: (progress: any) => void): IPromise; } >success : (value: T) => IPromise >value : T >error : (error: any) => U @@ -26,7 +26,7 @@ declare module Windows.Foundation { >Foundation : any then(success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: T) => U_4, error?: (error: any) => U_4, progress?: (progress: any) => void): IPromise; } >success : (value: T) => U >value : T >error : (error: any) => IPromise @@ -37,7 +37,7 @@ declare module Windows.Foundation { >Foundation : any then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void ): Windows.Foundation.IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } >success : (value: T) => U >value : T >error : (error: any) => U @@ -65,23 +65,23 @@ var p: Windows.Foundation.IPromise = null; p.then(function (x) { } ); // should not error >p.then(function (x) { } ) : Windows.Foundation.IPromise ->p.then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +>p.then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U_2, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Windows.Foundation.IPromise; } >p : Windows.Foundation.IPromise ->then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +>then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U_2, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Windows.Foundation.IPromise; } >function (x) { } : (x: number) => void >x : number p.then(function (x) { return "hello"; } ).then(function (x) { return x } ); // should not error >p.then(function (x) { return "hello"; } ).then(function (x) { return x } ) : Windows.Foundation.IPromise ->p.then(function (x) { return "hello"; } ).then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +>p.then(function (x) { return "hello"; } ).then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U_2, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Windows.Foundation.IPromise; } >p.then(function (x) { return "hello"; } ) : Windows.Foundation.IPromise ->p.then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +>p.then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U_2, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Windows.Foundation.IPromise; } >p : Windows.Foundation.IPromise ->then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +>then : { (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => Windows.Foundation.IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U_2, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Windows.Foundation.IPromise; } >function (x) { return "hello"; } : (x: number) => string >x : number >"hello" : "hello" ->then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Windows.Foundation.IPromise; } +>then : { (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => Windows.Foundation.IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U_2, error?: (error: any) => Windows.Foundation.IPromise, progress?: (progress: any) => void): Windows.Foundation.IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Windows.Foundation.IPromise; } >function (x) { return x } : (x: string) => string >x : string >x : string diff --git a/tests/baselines/reference/isDeclarationVisibleNodeKinds.types b/tests/baselines/reference/isDeclarationVisibleNodeKinds.types index 9581f9d403a8d..38da8a8daca45 100644 --- a/tests/baselines/reference/isDeclarationVisibleNodeKinds.types +++ b/tests/baselines/reference/isDeclarationVisibleNodeKinds.types @@ -6,7 +6,7 @@ module schema { >schema : typeof schema export function createValidator1(schema: any): (data: T) => T { ->createValidator1 : (schema: any) => (data: T) => T +>createValidator1 : (schema: any) => (data: T_1) => T_1 >schema : any >data : T @@ -20,7 +20,7 @@ module schema { >schema : typeof schema export function createValidator2(schema: any): new (data: T) => T { ->createValidator2 : (schema: any) => new (data: T) => T +>createValidator2 : (schema: any) => new (data: T_1) => T_1 >schema : any >data : T @@ -34,7 +34,7 @@ module schema { >schema : typeof schema export function createValidator3(schema: any): number | { new (data: T): T; } { ->createValidator3 : (schema: any) => number | (new (data: T) => T) +>createValidator3 : (schema: any) => number | (new (data: T_1) => T_1) >schema : any >data : T @@ -48,7 +48,7 @@ module schema { >schema : typeof schema export function createValidator4(schema: any): { new (data: T): T; }[] { ->createValidator4 : (schema: any) => (new (data: T) => T)[] +>createValidator4 : (schema: any) => (new (data: T_1) => T_1)[] >schema : any >data : T @@ -63,7 +63,7 @@ module schema { >schema : typeof schema export function createValidator5(schema: any): { new (data: T): T } { ->createValidator5 : (schema: any) => new (data: T) => T +>createValidator5 : (schema: any) => new (data: T_1) => T_1 >schema : any >data : T @@ -77,7 +77,7 @@ module schema { >schema : typeof schema export function createValidator6(schema: any): [ new (data: T) => T, number] { ->createValidator6 : (schema: any) => [new (data: T) => T, number] +>createValidator6 : (schema: any) => [new (data: T_1) => T_1, number] >schema : any >data : T @@ -91,7 +91,7 @@ module schema { >schema : typeof schema export function createValidator7(schema: any): (new (data: T)=>T )[] { ->createValidator7 : (schema: any) => (new (data: T) => T)[] +>createValidator7 : (schema: any) => (new (data: T_1) => T_1)[] >schema : any >data : T @@ -105,7 +105,7 @@ module schema { >schema : typeof schema export function createValidator8(schema: any): Array<{ (data: T) : T}> { ->createValidator8 : (schema: any) => ((data: T) => T)[] +>createValidator8 : (schema: any) => ((data: T_1) => T_1)[] >schema : any >data : T @@ -122,7 +122,7 @@ module schema { >T : T get createValidator9(): (data: T) => T { ->createValidator9 : (data: T) => T +>createValidator9 : (data: T_1) => T_1 >data : T return undefined; @@ -130,8 +130,8 @@ module schema { } set createValidator10(v: (data: T) => T) { ->createValidator10 : (data: T) => T ->v : (data: T) => T +>createValidator10 : (data: T_1) => T_1 +>v : (data: T_1) => T_1 >data : T } } diff --git a/tests/baselines/reference/isomorphicMappedTypeInference.types b/tests/baselines/reference/isomorphicMappedTypeInference.types index e54496d2da2c3..32b74150e53ee 100644 --- a/tests/baselines/reference/isomorphicMappedTypeInference.types +++ b/tests/baselines/reference/isomorphicMappedTypeInference.types @@ -53,7 +53,7 @@ function boxify(obj: T): Boxified { >result : Boxified >k : Extract >box(obj[k]) : Box]> ->box : (x: T) => Box +>box : (x: T_1) => Box >obj[k] : T[Extract] >obj : T >k : Extract @@ -81,7 +81,7 @@ function unboxify(obj: Boxified): T { >result : T >k : Extract >unbox(obj[k]) : T[Extract] ->unbox : (x: Box) => T +>unbox : (x: Box) => T_1 >obj[k] : Boxified[Extract] >obj : Boxified >k : Extract diff --git a/tests/baselines/reference/jsDeclarationsInterfaces.types b/tests/baselines/reference/jsDeclarationsInterfaces.types index 28724c97cc22b..31be3a1660dda 100644 --- a/tests/baselines/reference/jsDeclarationsInterfaces.types +++ b/tests/baselines/reference/jsDeclarationsInterfaces.types @@ -39,18 +39,18 @@ export interface C { >x : Q method(): number; ->method : { (): number; (a: T & Q): Q & number; (a?: number): number; (...args: any[]): number; } +>method : { (): number; (a: T & Q_1): Q_1 & number; (a?: number): number; (...args: any[]): number; } method(a: T & Q): Q & number; ->method : { (): number; (a: T & Q): Q & number; (a?: number): number; (...args: any[]): number; } +>method : { (): number; (a: T & Q): Q & number; (a?: number): number; (...args: any[]): number; } >a : T & Q method(a?: number): number; ->method : { (): number; (a: T & Q): Q & number; (a?: number): number; (...args: any[]): number; } +>method : { (): number; (a: T & Q_2): Q_2 & number; (a?: number): number; (...args: any[]): number; } >a : number method(...args: any[]): number; ->method : { (): number; (a: T & Q): Q & number; (a?: number): number; (...args: any[]): number; } +>method : { (): number; (a: T & Q_2): Q_2 & number; (a?: number): number; (...args: any[]): number; } >args : any[] optMethod?(): number; diff --git a/tests/baselines/reference/jsDeclarationsJSDocRedirectedLookups.types b/tests/baselines/reference/jsDeclarationsJSDocRedirectedLookups.types index 27c96856ebdaf..b34118a2c6ee2 100644 --- a/tests/baselines/reference/jsDeclarationsJSDocRedirectedLookups.types +++ b/tests/baselines/reference/jsDeclarationsJSDocRedirectedLookups.types @@ -44,9 +44,9 @@ /** @type {promise} */const j = Promise.resolve(0); >j : Promise >Promise.resolve(0) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >0 : 0 /** @type {Object} */const k = {x: "x"}; diff --git a/tests/baselines/reference/jsEnumTagOnObjectFrozen.types b/tests/baselines/reference/jsEnumTagOnObjectFrozen.types index 13c49404861be..fc74d19b2c52d 100644 --- a/tests/baselines/reference/jsEnumTagOnObjectFrozen.types +++ b/tests/baselines/reference/jsEnumTagOnObjectFrozen.types @@ -51,9 +51,9 @@ cbThing(type => { const Thing = Object.freeze({ >Thing : Readonly<{ a: "thing"; b: "chill"; }> >Object.freeze({ a: "thing", b: "chill"}) : Readonly<{ a: "thing"; b: "chill"; }> ->Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >Object : ObjectConstructor ->freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >{ a: "thing", b: "chill"} : { a: "thing"; b: "chill"; } a: "thing", diff --git a/tests/baselines/reference/jsFileCompilationAwaitModifier.types b/tests/baselines/reference/jsFileCompilationAwaitModifier.types index 43ea3e42b60b3..66b81938a5da2 100644 --- a/tests/baselines/reference/jsFileCompilationAwaitModifier.types +++ b/tests/baselines/reference/jsFileCompilationAwaitModifier.types @@ -10,9 +10,9 @@ class Foo { await Promise.resolve(1); >await Promise.resolve(1) : number >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 } @@ -23,9 +23,9 @@ class Foo { await Promise.resolve(1); >await Promise.resolve(1) : number >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 } } diff --git a/tests/baselines/reference/jsFileFunctionOverloads.types b/tests/baselines/reference/jsFileFunctionOverloads.types index bc19c779f0fe2..7352d516b13ad 100644 --- a/tests/baselines/reference/jsFileFunctionOverloads.types +++ b/tests/baselines/reference/jsFileFunctionOverloads.types @@ -63,7 +63,7 @@ function flatMap(array, iterable = identity) { >flatMap : { (array: T[], iterable: (x: T) => U[]): U[]; (array: T[][]): T[]; } >array : unknown[] >iterable : (x: unknown) => unknown ->identity : (x: T) => T +>identity : (x: T_1) => T_1 /** @type {unknown[]} */ const result = []; diff --git a/tests/baselines/reference/jsFileFunctionOverloads2.types b/tests/baselines/reference/jsFileFunctionOverloads2.types index 987d80a5d89b7..d266dbeeb1bab 100644 --- a/tests/baselines/reference/jsFileFunctionOverloads2.types +++ b/tests/baselines/reference/jsFileFunctionOverloads2.types @@ -58,7 +58,7 @@ function flatMap(array, iterable = identity) { >flatMap : { (array: T[], iterable: (x: T) => U[]): U[]; (array: T[][]): T[]; } >array : unknown[] >iterable : (x: unknown) => unknown ->identity : (x: T) => T +>identity : (x: T_1) => T_1 /** @type {unknown[]} */ const result = []; diff --git a/tests/baselines/reference/jsdocArrayObjectPromiseImplicitAny.types b/tests/baselines/reference/jsdocArrayObjectPromiseImplicitAny.types index b1b43ac0b9572..00f2bec535331 100644 --- a/tests/baselines/reference/jsdocArrayObjectPromiseImplicitAny.types +++ b/tests/baselines/reference/jsdocArrayObjectPromiseImplicitAny.types @@ -29,18 +29,18 @@ function returnAnyArray(arr) { var anyPromise = Promise.resolve(5); >anyPromise : Promise >Promise.resolve(5) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >5 : 5 /** @type {Promise} */ var numberPromise = Promise.resolve(5); >numberPromise : Promise >Promise.resolve(5) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >5 : 5 /** diff --git a/tests/baselines/reference/jsdocArrayObjectPromiseNoImplicitAny.types b/tests/baselines/reference/jsdocArrayObjectPromiseNoImplicitAny.types index 21b75fdd91bfd..6bf0817335768 100644 --- a/tests/baselines/reference/jsdocArrayObjectPromiseNoImplicitAny.types +++ b/tests/baselines/reference/jsdocArrayObjectPromiseNoImplicitAny.types @@ -29,18 +29,18 @@ function returnNotAnyArray(arr) { var notAnyPromise = Promise.resolve(5); >notAnyPromise : Promise >Promise.resolve(5) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >5 : 5 /** @type {Promise} */ var numberPromise = Promise.resolve(5); >numberPromise : Promise >Promise.resolve(5) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >5 : 5 /** diff --git a/tests/baselines/reference/jsxComplexSignatureHasApplicabilityError.types b/tests/baselines/reference/jsxComplexSignatureHasApplicabilityError.types index 0b8476c8ee204..56342bfc23c12 100644 --- a/tests/baselines/reference/jsxComplexSignatureHasApplicabilityError.types +++ b/tests/baselines/reference/jsxComplexSignatureHasApplicabilityError.types @@ -41,8 +41,8 @@ export function createReactSingleSelect< >React : any return (props) => { ->(props) => { return ( > {...props} multi={false} autosize={false} value={props.value} onChange={(value) => { if (props.onChange) { props.onChange(value === null ? undefined : value); } }} /> ); } : (props: Omit, keyof Omit & keyof Props>> & Props> & { children?: React.ReactNode; }) => JSX.Element ->props : Omit, keyof Omit & keyof Props>> & Props> & { children?: React.ReactNode; } +>(props) => { return ( > {...props} multi={false} autosize={false} value={props.value} onChange={(value) => { if (props.onChange) { props.onChange(value === null ? undefined : value); } }} /> ); } : (props: Omit, keyof Omit & keyof Props>> & Props> & { children?: React.ReactNode; }) => JSX.Element +>props : Omit, keyof Omit & keyof Props>> & Props> & { children?: React.ReactNode; } return ( >( > {...props} multi={false} autosize={false} value={props.value} onChange={(value) => { if (props.onChange) { props.onChange(value === null ? undefined : value); } }} /> ) : JSX.Element @@ -52,7 +52,7 @@ export function createReactSingleSelect< >ReactSelectClass : typeof ReactSelectClass {...props} ->props : Omit, keyof Omit & keyof Props>> & Props> & { children?: React.ReactNode; } +>props : Omit, keyof Omit & keyof Props>> & Props> & { children?: React.ReactNode; } multi={false} >multi : false @@ -65,7 +65,7 @@ export function createReactSingleSelect< value={props.value} >value : ExtractValueType | Option> | undefined >props.value : ExtractValueType | Option> | undefined ->props : Omit, keyof Omit & keyof Props>> & Props> & { children?: React.ReactNode; } +>props : Omit, keyof Omit & keyof Props>> & Props> & { children?: React.ReactNode; } >value : ExtractValueType | Option> | undefined onChange={(value) => { @@ -75,13 +75,13 @@ export function createReactSingleSelect< if (props.onChange) { >props.onChange : ((value: Option> | undefined) => void) | undefined ->props : Omit, keyof Omit & keyof Props>> & Props> & { children?: React.ReactNode; } +>props : Omit, keyof Omit & keyof Props>> & Props> & { children?: React.ReactNode; } >onChange : ((value: Option> | undefined) => void) | undefined props.onChange(value === null ? undefined : value); >props.onChange(value === null ? undefined : value) : void >props.onChange : (value: Option> | undefined) => void ->props : Omit, keyof Omit & keyof Props>> & Props> & { children?: React.ReactNode; } +>props : Omit, keyof Omit & keyof Props>> & Props> & { children?: React.ReactNode; } >onChange : (value: Option> | undefined) => void >value === null ? undefined : value : Option> | Options> | undefined >value === null : boolean diff --git a/tests/baselines/reference/jsxFragmentFactoryNoUnusedLocals.types b/tests/baselines/reference/jsxFragmentFactoryNoUnusedLocals.types index 8c32907a0c23e..67b12ab229bba 100644 --- a/tests/baselines/reference/jsxFragmentFactoryNoUnusedLocals.types +++ b/tests/baselines/reference/jsxFragmentFactoryNoUnusedLocals.types @@ -4,7 +4,7 @@ /// import { Fragment, createElement } from "react" >Fragment : import("react").ComponentType<{}> ->createElement : { (type: "input", props?: import("react").InputHTMLAttributes & import("react").ClassAttributes, ...children: import("react").ReactNode[]): import("react").DetailedReactHTMLElement, HTMLInputElement>;

, T extends HTMLElement>(type: keyof import("react").ReactHTML, props?: import("react").ClassAttributes & P, ...children: import("react").ReactNode[]): import("react").DetailedReactHTMLElement;

, T extends SVGElement>(type: keyof import("react").ReactSVG, props?: import("react").ClassAttributes & P, ...children: import("react").ReactNode[]): import("react").ReactSVGElement;

, T extends Element>(type: string, props?: import("react").ClassAttributes & P, ...children: import("react").ReactNode[]): import("react").DOMElement;

(type: import("react").SFC

, props?: import("react").Attributes & P, ...children: import("react").ReactNode[]): import("react").SFCElement

;

(type: import("react").ClassType, import("react").ClassicComponentClass

>, props?: import("react").ClassAttributes> & P, ...children: import("react").ReactNode[]): import("react").CElement>; , C extends import("react").ComponentClass>(type: import("react").ClassType, props?: import("react").ClassAttributes & P, ...children: import("react").ReactNode[]): import("react").CElement;

(type: string | import("react").SFC

| import("react").ComponentClass, props?: import("react").Attributes & P, ...children: import("react").ReactNode[]): import("react").ReactElement

; } +>createElement : { (type: "input", props?: import("react").InputHTMLAttributes & import("react").ClassAttributes, ...children: import("react").ReactNode[]): import("react").DetailedReactHTMLElement, HTMLInputElement>;

, T extends HTMLElement>(type: keyof import("react").ReactHTML, props?: import("react").ClassAttributes & P, ...children: import("react").ReactNode[]): import("react").DetailedReactHTMLElement; , T_1 extends SVGElement>(type: keyof import("react").ReactSVG, props?: import("react").ClassAttributes & P_1, ...children: import("react").ReactNode[]): import("react").ReactSVGElement; , T_2 extends Element>(type: string, props?: import("react").ClassAttributes & P_2, ...children: import("react").ReactNode[]): import("react").DOMElement; (type: import("react").SFC, props?: import("react").Attributes & P_3, ...children: import("react").ReactNode[]): import("react").SFCElement; (type: import("react").ClassType, import("react").ClassicComponentClass>, props?: import("react").ClassAttributes> & P_4, ...children: import("react").ReactNode[]): import("react").CElement>; , C extends import("react").ComponentClass>(type: import("react").ClassType, props?: import("react").ClassAttributes & P_5, ...children: import("react").ReactNode[]): import("react").CElement; (type: string | import("react").SFC | import("react").ComponentClass, props?: import("react").Attributes & P_6, ...children: import("react").ReactNode[]): import("react").ReactElement; } type CounterProps = { >CounterProps : { count?: number; } diff --git a/tests/baselines/reference/jsxGenericComponentWithSpreadingResultOfGenericFunction.types b/tests/baselines/reference/jsxGenericComponentWithSpreadingResultOfGenericFunction.types index 56834662a92b3..3ee7e5d05f785 100644 --- a/tests/baselines/reference/jsxGenericComponentWithSpreadingResultOfGenericFunction.types +++ b/tests/baselines/reference/jsxGenericComponentWithSpreadingResultOfGenericFunction.types @@ -6,12 +6,12 @@ // repro #51577 declare function omit(names: readonly K[], obj: T): Omit; ->omit : { (names: readonly K[], obj: T): Omit; (names: readonly K[]): (obj: T) => Omit; } +>omit : { (names: readonly K[], obj: T): Omit; (names: readonly K_1[]): (obj: T_1) => Omit; } >names : readonly K[] >obj : T declare function omit(names: readonly K[]): (obj: T) => Omit; ->omit : { (names: readonly K[], obj: T): Omit; (names: readonly K[]): (obj: T) => Omit; } +>omit : { (names: readonly K_1[], obj: T): Omit; (names: readonly K[]): (obj: T_1) => Omit; } >names : readonly K[] >obj : T @@ -28,7 +28,7 @@ declare function GenericComponent(props: T): null > : JSX.Element >GenericComponent : (props: T) => null >omit(['bar'], otherProps) : Omit<{ bar: string; qwe: boolean; }, "bar"> ->omit : { (names: readonly K[], obj: T): Omit; (names: readonly K[]): (obj: T) => Omit; } +>omit : { (names: readonly K[], obj: T): Omit; (names: readonly K_1[]): (obj: T_1) => Omit; } >['bar'] : "bar"[] >'bar' : "bar" >otherProps : { bar: string; qwe: boolean; } diff --git a/tests/baselines/reference/jsxIntrinsicElementsCompatability.types b/tests/baselines/reference/jsxIntrinsicElementsCompatability.types index 081cf511ba704..2883d7acb76d2 100644 --- a/tests/baselines/reference/jsxIntrinsicElementsCompatability.types +++ b/tests/baselines/reference/jsxIntrinsicElementsCompatability.types @@ -24,7 +24,7 @@ function Test(el: T) { return > : JSX.Element ->SomeComponent : (props: { element?: T | undefined; } & JSX.IntrinsicElements[T]) => JSX.Element +>SomeComponent : (props: { element?: T_1 | undefined; } & JSX.IntrinsicElements[T_1]) => JSX.Element >element : T >el : T } diff --git a/tests/baselines/reference/jsxLocalNamespaceIndexSignatureNoCrash.types b/tests/baselines/reference/jsxLocalNamespaceIndexSignatureNoCrash.types index 0ade289218e44..d48983aceab31 100644 --- a/tests/baselines/reference/jsxLocalNamespaceIndexSignatureNoCrash.types +++ b/tests/baselines/reference/jsxLocalNamespaceIndexSignatureNoCrash.types @@ -9,9 +9,9 @@ export class X { return document.createElement('p'); >document.createElement('p') : HTMLParagraphElement ->document.createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; } +>document.createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K_1, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K_1]; (tagName: string, options?: ElementCreationOptions): HTMLElement; } >document : Document ->createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; } +>createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K_1, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K_1]; (tagName: string, options?: ElementCreationOptions): HTMLElement; } >'p' : "p" } } diff --git a/tests/baselines/reference/keyofAndIndexedAccess.types b/tests/baselines/reference/keyofAndIndexedAccess.types index 2214533983129..21a20a2e4ff51 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.types +++ b/tests/baselines/reference/keyofAndIndexedAccess.types @@ -537,14 +537,14 @@ function f33(shape: S, key: K) { let name = getProperty(shape, "name"); >name : S["name"] >getProperty(shape, "name") : S["name"] ->getProperty : (obj: T, key: K) => T[K] +>getProperty : (obj: T, key: K_1) => T[K_1] >shape : S >"name" : "name" let prop = getProperty(shape, key); >prop : S[K] >getProperty(shape, key) : S[K] ->getProperty : (obj: T, key: K) => T[K] +>getProperty : (obj: T, key: K_1) => T[K_1] >shape : S >key : K @@ -1401,30 +1401,30 @@ class OtherPerson { // Modified repro from #12544 function path(obj: T, key1: K1): T[K1]; ->path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } +>path : { (obj: T, key1: K1): T[K1]; (obj: T_1, key1: K1_1, key2: K2): T_1[K1_1][K2]; (obj: T_2, key1: K1_2, key2: K2_1, key3: K3): T_2[K1_2][K2_1][K3]; (obj: any, ...keys: (string | number)[]): any; } >obj : T >key1 : K1 function path(obj: T, key1: K1, key2: K2): T[K1][K2]; ->path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } +>path : { (obj: T_1, key1: K1_1): T_1[K1_1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T_3, key1: K1_3, key2: K2_1, key3: K3): T_3[K1_3][K2_1][K3]; (obj: any, ...keys: (string | number)[]): any; } >obj : T >key1 : K1 >key2 : K2 function path(obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; ->path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } +>path : { (obj: T_1, key1: K1_1): T_1[K1_1]; (obj: T_2, key1: K1_2, key2: K2_1): T_2[K1_2][K2_1]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } >obj : T >key1 : K1 >key2 : K2 >key3 : K3 function path(obj: any, ...keys: (string | number)[]): any; ->path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } +>path : { (obj: T, key1: K1): T[K1]; (obj: T_1, key1: K1_1, key2: K2): T_1[K1_1][K2]; (obj: T_2, key1: K1_2, key2: K2_1, key3: K3): T_2[K1_2][K2_1][K3]; (obj: any, ...keys: (string | number)[]): any; } >obj : any >keys : (string | number)[] function path(obj: any, ...keys: (string | number)[]): any { ->path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } +>path : { (obj: T, key1: K1): T[K1]; (obj: T_1, key1: K1_1, key2: K2): T_1[K1_1][K2]; (obj: T_2, key1: K1_2, key2: K2_1, key3: K3): T_2[K1_2][K2_1][K3]; (obj: any, ...keys: (string | number)[]): any; } >obj : any >keys : (string | number)[] @@ -1468,14 +1468,14 @@ function f1(thing: Thing) { let x1 = path(thing, 'a'); // { x: number, y: string } >x1 : { x: number; y: string; } >path(thing, 'a') : { x: number; y: string; } ->path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } +>path : { (obj: T, key1: K1): T[K1]; (obj: T_1, key1: K1_1, key2: K2): T_1[K1_1][K2]; (obj: T_2, key1: K1_2, key2: K2_1, key3: K3): T_2[K1_2][K2_1][K3]; (obj: any, ...keys: (string | number)[]): any; } >thing : Thing >'a' : "a" let x2 = path(thing, 'a', 'y'); // string >x2 : string >path(thing, 'a', 'y') : string ->path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } +>path : { (obj: T, key1: K1): T[K1]; (obj: T_1, key1: K1_1, key2: K2): T_1[K1_1][K2]; (obj: T_2, key1: K1_2, key2: K2_1, key3: K3): T_2[K1_2][K2_1][K3]; (obj: any, ...keys: (string | number)[]): any; } >thing : Thing >'a' : "a" >'y' : "y" @@ -1483,14 +1483,14 @@ function f1(thing: Thing) { let x3 = path(thing, 'b'); // boolean >x3 : boolean >path(thing, 'b') : boolean ->path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } +>path : { (obj: T, key1: K1): T[K1]; (obj: T_1, key1: K1_1, key2: K2): T_1[K1_1][K2]; (obj: T_2, key1: K1_2, key2: K2_1, key3: K3): T_2[K1_2][K2_1][K3]; (obj: any, ...keys: (string | number)[]): any; } >thing : Thing >'b' : "b" let x4 = path(thing, ...['a', 'x']); // any >x4 : any >path(thing, ...['a', 'x']) : any ->path : { (obj: T, key1: K1): T[K1]; (obj: T, key1: K1, key2: K2): T[K1][K2]; (obj: T, key1: K1, key2: K2, key3: K3): T[K1][K2][K3]; (obj: any, ...keys: (string | number)[]): any; } +>path : { (obj: T, key1: K1): T[K1]; (obj: T_1, key1: K1_1, key2: K2): T_1[K1_1][K2]; (obj: T_2, key1: K1_2, key2: K2_1, key3: K3): T_2[K1_2][K2_1][K3]; (obj: any, ...keys: (string | number)[]): any; } >thing : Thing >...['a', 'x'] : string >['a', 'x'] : [string, string] @@ -1850,10 +1850,10 @@ class Form { this.childFormFactories[prop](value) >this.childFormFactories[prop](value) : Form ->this.childFormFactories[prop] : { [K in keyof T]: (v: T[K]) => Form; }[K] ->this.childFormFactories : { [K in keyof T]: (v: T[K]) => Form; } +>this.childFormFactories[prop] : { [K_1 in keyof T]: (v: T[K_1]) => Form; }[K] +>this.childFormFactories : { [K_1 in keyof T]: (v: T[K_1]) => Form; } >this : this ->childFormFactories : { [K in keyof T]: (v: T[K]) => Form; } +>childFormFactories : { [K_1 in keyof T]: (v: T[K_1]) => Form; } >prop : K >value : T[K] } @@ -1876,9 +1876,9 @@ class SampleClass

{ >this : this >props : Readonly

>Object.freeze(props) : Readonly

->Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >Object : ObjectConstructor ->freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >props : P } } @@ -1910,7 +1910,7 @@ class AnotherSampleClass extends SampleClass { >super(merge(props, foo)) : void >super : typeof SampleClass >merge(props, foo) : T & Foo ->merge : (obj1: T, obj2: U) => T & U +>merge : (obj1: T_1, obj2: U) => T_1 & U >props : T >foo : Foo } @@ -2063,14 +2063,14 @@ function fn(o: T, k: K) { take<{} | null | undefined>(o[k]); >take<{} | null | undefined>(o[k]) : void ->take : (p: T) => void +>take : (p: T_1) => void >o[k] : T[K] >o : T >k : K take(o[k]); >take(o[k]) : void ->take : (p: T) => void +>take : (p: T_1) => void >o[k] : T[K] >o : T >k : K diff --git a/tests/baselines/reference/literalTypeWidening.types b/tests/baselines/reference/literalTypeWidening.types index fc2a63d8e929d..49eb29aa4a039 100644 --- a/tests/baselines/reference/literalTypeWidening.types +++ b/tests/baselines/reference/literalTypeWidening.types @@ -302,7 +302,7 @@ function isSuccess(result: Result): result is T { return !isFailure(result); >!isFailure(result) : boolean >isFailure(result) : boolean ->isFailure : (result: Result) => result is "FAILURE" +>isFailure : (result: Result) => result is "FAILURE" >result : Result } diff --git a/tests/baselines/reference/mappedTypeAsClauses.types b/tests/baselines/reference/mappedTypeAsClauses.types index f92414a60d1fa..00323af7598b8 100644 --- a/tests/baselines/reference/mappedTypeAsClauses.types +++ b/tests/baselines/reference/mappedTypeAsClauses.types @@ -35,10 +35,10 @@ type TP1 = TypeFromDefs<{ name: 'a', type: string } | { name: 'b', type: number // No array or tuple type mapping when 'as N' clause present type TA1 = Getters; ->TA1 : { getConcat: () => { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; }; getIndexOf: () => (searchElement: string, fromIndex?: number | undefined) => number; getLastIndexOf: () => (searchElement: string, fromIndex?: number | undefined) => number; getSlice: () => (start?: number | undefined, end?: number | undefined) => string[]; getLength: () => number; getToString: () => () => string; getToLocaleString: () => () => string; getPop: () => () => string | undefined; getPush: () => (...items: string[]) => number; getJoin: () => (separator?: string | undefined) => string; getReverse: () => () => string[]; getShift: () => () => string | undefined; getSort: () => (compareFn?: ((a: string, b: string) => number) | undefined) => string[]; getSplice: () => { (start: number, deleteCount?: number | undefined): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; }; getUnshift: () => (...items: string[]) => number; getEvery: () => { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean; }; getSome: () => (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any) => boolean; getForEach: () => (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void; getMap: () => (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]; getFilter: () => { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): S[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string[]; }; getReduce: () => { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; }; getReduceRight: () => { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; }; } +>TA1 : { getConcat: () => { (...items: ConcatArray[]): string[]; (...items: (string | ConcatArray)[]): string[]; }; getIndexOf: () => (searchElement: string, fromIndex?: number | undefined) => number; getLastIndexOf: () => (searchElement: string, fromIndex?: number | undefined) => number; getSlice: () => (start?: number | undefined, end?: number | undefined) => string[]; getLength: () => number; getToString: () => () => string; getToLocaleString: () => () => string; getPop: () => () => string | undefined; getPush: () => (...items: string[]) => number; getJoin: () => (separator?: string | undefined) => string; getReverse: () => () => string[]; getShift: () => () => string | undefined; getSort: () => (compareFn?: ((a: string, b: string) => number) | undefined) => string[]; getSplice: () => { (start: number, deleteCount?: number | undefined): string[]; (start: number, deleteCount: number, ...items: string[]): string[]; }; getUnshift: () => (...items: string[]) => number; getEvery: () => { (predicate: (value: string, index: number, array: string[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): boolean; }; getSome: () => (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any) => boolean; getForEach: () => (callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any) => void; getMap: () => (callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]; getFilter: () => { (predicate: (value: string, index: number, array: string[]) => value is S_1, thisArg?: any): S_1[]; (predicate: (value: string, index: number, array: string[]) => unknown, thisArg?: any): string[]; }; getReduce: () => { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U_1, currentValue: string, currentIndex: number, array: string[]) => U_1, initialValue: U_1): U_1; }; getReduceRight: () => { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U_2, currentValue: string, currentIndex: number, array: string[]) => U_2, initialValue: U_2): U_2; }; } type TA2 = Getters<[number, boolean]>; ->TA2 : { getConcat: () => { (...items: ConcatArray[]): (number | boolean)[]; (...items: (number | boolean | ConcatArray)[]): (number | boolean)[]; }; getIndexOf: () => (searchElement: number | boolean, fromIndex?: number | undefined) => number; getLastIndexOf: () => (searchElement: number | boolean, fromIndex?: number | undefined) => number; getSlice: () => (start?: number | undefined, end?: number | undefined) => (number | boolean)[]; getLength: () => 2; getToString: () => () => string; getToLocaleString: () => () => string; getPop: () => () => number | boolean | undefined; getPush: () => (...items: (number | boolean)[]) => number; getJoin: () => (separator?: string | undefined) => string; getReverse: () => () => (number | boolean)[]; getShift: () => () => number | boolean | undefined; getSort: () => (compareFn?: ((a: number | boolean, b: number | boolean) => number) | undefined) => [number, boolean]; getSplice: () => { (start: number, deleteCount?: number | undefined): (number | boolean)[]; (start: number, deleteCount: number, ...items: (number | boolean)[]): (number | boolean)[]; }; getUnshift: () => (...items: (number | boolean)[]) => number; getEvery: () => { (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => unknown, thisArg?: any): boolean; }; getSome: () => (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => unknown, thisArg?: any) => boolean; getForEach: () => (callbackfn: (value: number | boolean, index: number, array: (number | boolean)[]) => void, thisArg?: any) => void; getMap: () => (callbackfn: (value: number | boolean, index: number, array: (number | boolean)[]) => U, thisArg?: any) => U[]; getFilter: () => { (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => value is S, thisArg?: any): S[]; (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => unknown, thisArg?: any): (number | boolean)[]; }; getReduce: () => { (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean): number | boolean; (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean, initialValue: number | boolean): number | boolean; (callbackfn: (previousValue: U, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => U, initialValue: U): U; }; getReduceRight: () => { (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean): number | boolean; (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean, initialValue: number | boolean): number | boolean; (callbackfn: (previousValue: U, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => U, initialValue: U): U; }; get0: () => number; get1: () => boolean; } +>TA2 : { getConcat: () => { (...items: ConcatArray[]): (number | boolean)[]; (...items: (number | boolean | ConcatArray)[]): (number | boolean)[]; }; getIndexOf: () => (searchElement: number | boolean, fromIndex?: number | undefined) => number; getLastIndexOf: () => (searchElement: number | boolean, fromIndex?: number | undefined) => number; getSlice: () => (start?: number | undefined, end?: number | undefined) => (number | boolean)[]; getLength: () => 2; getToString: () => () => string; getToLocaleString: () => () => string; getPop: () => () => number | boolean | undefined; getPush: () => (...items: (number | boolean)[]) => number; getJoin: () => (separator?: string | undefined) => string; getReverse: () => () => (number | boolean)[]; getShift: () => () => number | boolean | undefined; getSort: () => (compareFn?: ((a: number | boolean, b: number | boolean) => number) | undefined) => [number, boolean]; getSplice: () => { (start: number, deleteCount?: number | undefined): (number | boolean)[]; (start: number, deleteCount: number, ...items: (number | boolean)[]): (number | boolean)[]; }; getUnshift: () => (...items: (number | boolean)[]) => number; getEvery: () => { (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => unknown, thisArg?: any): boolean; }; getSome: () => (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => unknown, thisArg?: any) => boolean; getForEach: () => (callbackfn: (value: number | boolean, index: number, array: (number | boolean)[]) => void, thisArg?: any) => void; getMap: () => (callbackfn: (value: number | boolean, index: number, array: (number | boolean)[]) => U, thisArg?: any) => U[]; getFilter: () => { (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => value is S_1, thisArg?: any): S_1[]; (predicate: (value: number | boolean, index: number, array: (number | boolean)[]) => unknown, thisArg?: any): (number | boolean)[]; }; getReduce: () => { (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean): number | boolean; (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean, initialValue: number | boolean): number | boolean; (callbackfn: (previousValue: U_1, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => U_1, initialValue: U_1): U_1; }; getReduceRight: () => { (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean): number | boolean; (callbackfn: (previousValue: number | boolean, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => number | boolean, initialValue: number | boolean): number | boolean; (callbackfn: (previousValue: U_2, currentValue: number | boolean, currentIndex: number, array: (number | boolean)[]) => U_2, initialValue: U_2): U_2; }; get0: () => number; get1: () => boolean; } // Filtering using 'as N' clause diff --git a/tests/baselines/reference/mappedTypeConstraints2.types b/tests/baselines/reference/mappedTypeConstraints2.types index b6fc0403e98ef..c0f19fe9cc475 100644 --- a/tests/baselines/reference/mappedTypeConstraints2.types +++ b/tests/baselines/reference/mappedTypeConstraints2.types @@ -95,9 +95,9 @@ function validate(obj: T, bounds: NumericBoundsOf) { >key : string >val : any >Object.entries(obj) : [string, any][] ->Object.entries : { (o: { [s: string]: T; } | ArrayLike): [string, T][]; (o: {}): [string, any][]; } +>Object.entries : { (o: { [s: string]: T_1; } | ArrayLike): [string, T_1][]; (o: {}): [string, any][]; } >Object : ObjectConstructor ->entries : { (o: { [s: string]: T; } | ArrayLike): [string, T][]; (o: {}): [string, any][]; } +>entries : { (o: { [s: string]: T_1; } | ArrayLike): [string, T_1][]; (o: {}): [string, any][]; } >obj : T const boundsForKey = bounds[key as keyof NumericBoundsOf]; diff --git a/tests/baselines/reference/mappedTypeGenericInstantiationPreservesHomomorphism.types b/tests/baselines/reference/mappedTypeGenericInstantiationPreservesHomomorphism.types index 13e83c4d38f97..26c36a31b120d 100644 --- a/tests/baselines/reference/mappedTypeGenericInstantiationPreservesHomomorphism.types +++ b/tests/baselines/reference/mappedTypeGenericInstantiationPreservesHomomorphism.types @@ -10,14 +10,14 @@ type PrivateMapped = {[K in keyof Obj]: Obj[K]}; === api.ts === import {usePrivateType} from './internal'; ->usePrivateType : (...args: T) => { [K in keyof T[any]]: T[any][K]; } +>usePrivateType : (...args: T) => T[any] extends infer T_1 ? { [K in keyof T_1]: T[any][K]; } : never export const mappedUnionWithPrivateType = (...args: T) => usePrivateType(...args); ->mappedUnionWithPrivateType : (...args: T) => { [K in keyof T[any]]: T[any][K]; } ->(...args: T) => usePrivateType(...args) : (...args: T) => { [K in keyof T[any]]: T[any][K]; } +>mappedUnionWithPrivateType : (...args: T) => T[any] extends infer T_1 ? { [K in keyof T_1]: T[any][K]; } : never +>(...args: T) => usePrivateType(...args) : (...args: T) => T[any] extends infer T_1 ? { [K in keyof T_1]: T[any][K]; } : never >args : T ->usePrivateType(...args) : { [K in keyof T[any]]: T[any][K]; } ->usePrivateType : (...args: T) => { [K in keyof T[any]]: T[any][K]; } +>usePrivateType(...args) : T[any] extends infer T_1 ? { [K in keyof T_1]: T[any][K]; } : never +>usePrivateType : (...args: T_1) => T_1[any] extends infer T_2 ? { [K in keyof T_2]: T_1[any][K]; } : never >...args : unknown >args : T diff --git a/tests/baselines/reference/mappedTypeMultiInference.types b/tests/baselines/reference/mappedTypeMultiInference.types index d79fb03fc85ec..97491773a8ba3 100644 --- a/tests/baselines/reference/mappedTypeMultiInference.types +++ b/tests/baselines/reference/mappedTypeMultiInference.types @@ -7,7 +7,7 @@ interface Style { } declare function mergeStyleSets( ->mergeStyleSets : (...cssSets: { [P in K]?: Style; }[]) => { [P in K]: Style; } +>mergeStyleSets : (...cssSets: { [P in K]?: Style; }[]) => { [P_1 in K]: Style; } ...cssSets: { [P in K]?: Style }[]): { [P in K]: Style }; >cssSets : { [P in K]?: Style; }[] @@ -20,7 +20,7 @@ declare function mergeStyleSets( let x = mergeStyleSets( >x : { a: Style; b: Style; } >mergeStyleSets( {}, { a: { flashy: true }, }, { b: { flashy: true }, },) : { a: Style; b: Style; } ->mergeStyleSets : (...cssSets: { [P in K]?: Style; }[]) => { [P in K]: Style; } +>mergeStyleSets : (...cssSets: { [P in K]?: Style; }[]) => { [P_1 in K]: Style; } {}, >{} : {} diff --git a/tests/baselines/reference/mappedTypeRelationships.types b/tests/baselines/reference/mappedTypeRelationships.types index 34af985f430d6..368c8a584e816 100644 --- a/tests/baselines/reference/mappedTypeRelationships.types +++ b/tests/baselines/reference/mappedTypeRelationships.types @@ -511,7 +511,7 @@ function f62(x: Identity, y: Readonly) { } function f70(x: { [P in keyof T]: T[P] }, y: { [P in keyof T]: T[P] }) { ->f70 : (x: { [P in keyof T]: T[P]; }, y: { [P in keyof T]: T[P]; }) => void +>f70 : (x: { [P in keyof T]: T[P]; }, y: { [P_1 in keyof T]: T[P_1]; }) => void >x : { [P in keyof T]: T[P]; } >y : { [P in keyof T]: T[P]; } @@ -527,7 +527,7 @@ function f70(x: { [P in keyof T]: T[P] }, y: { [P in keyof T]: T[P] }) { } function f71(x: { [P in keyof T]: T[P] }, y: { [P in keyof T]: U[P] }) { ->f71 : (x: { [P in keyof T]: T[P]; }, y: { [P in keyof T]: U[P]; }) => void +>f71 : (x: { [P in keyof T]: T[P]; }, y: { [P_1 in keyof T]: U[P_1]; }) => void >x : { [P in keyof T]: T[P]; } >y : { [P in keyof T]: U[P]; } @@ -543,7 +543,7 @@ function f71(x: { [P in keyof T]: T[P] }, y: { [P in keyof T]: U } function f72(x: { [P in keyof T]: T[P] }, y: { [P in keyof U]: U[P] }) { ->f72 : (x: { [P in keyof T]: T[P]; }, y: { [P in keyof U]: U[P]; }) => void +>f72 : (x: { [P in keyof T]: T[P]; }, y: { [P_1 in keyof U]: U[P_1]; }) => void >x : { [P in keyof T]: T[P]; } >y : { [P in keyof U]: U[P]; } @@ -559,7 +559,7 @@ function f72(x: { [P in keyof T]: T[P] }, y: { [P in keyof U]: U } function f73(x: { [P in K]: T[P] }, y: { [P in keyof T]: T[P] }) { ->f73 : (x: { [P in K]: T[P]; }, y: { [P in keyof T]: T[P]; }) => void +>f73 : (x: { [P in K]: T[P]; }, y: { [P_1 in keyof T]: T[P_1]; }) => void >x : { [P in K]: T[P]; } >y : { [P in keyof T]: T[P]; } @@ -575,7 +575,7 @@ function f73(x: { [P in K]: T[P] }, y: { [P in keyof T]: T } function f74(x: { [P in K]: T[P] }, y: { [P in keyof U]: U[P] }) { ->f74 : (x: { [P in K]: T[P]; }, y: { [P in keyof U]: U[P]; }) => void +>f74 : (x: { [P in K]: T[P]; }, y: { [P_1 in keyof U]: U[P_1]; }) => void >x : { [P in K]: T[P]; } >y : { [P in keyof U]: U[P]; } @@ -591,7 +591,7 @@ function f74(x: { [P in K]: T[P] }, y: { [P i } function f75(x: { [P in K]: T[P] }, y: { [P in keyof T]: U[P] }) { ->f75 : (x: { [P in K]: T[P]; }, y: { [P in keyof T]: U[P]; }) => void +>f75 : (x: { [P in K]: T[P]; }, y: { [P_1 in keyof T]: U[P_1]; }) => void >x : { [P in K]: T[P]; } >y : { [P in keyof T]: U[P]; } @@ -607,7 +607,7 @@ function f75(x: { [P in K]: T[P] }, y: { [P i } function f76(x: { [P in K]: T[P] }, y: { [P in K]: U[P] }) { ->f76 : (x: { [P in K]: T[P]; }, y: { [P in K]: U[P]; }) => void +>f76 : (x: { [P in K]: T[P]; }, y: { [P_1 in K]: U[P_1]; }) => void >x : { [P in K]: T[P]; } >y : { [P in K]: U[P]; } diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types index c49cadf3bc2ce..4d9bf2b86fb35 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types @@ -5,10 +5,10 @@ declare let tgt2: number[]; >tgt2 : number[] declare let src2: { [K in keyof number[] as Exclude]: (number[])[K] }; ->src2 : { [x: number]: number; toString: () => string; toLocaleString: () => 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; 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_1, thisArg?: any): S_1[]; (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_1, currentValue: number, currentIndex: number, array: number[]) => U_1, initialValue: U_1): U_1; }; 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_2, currentValue: number, currentIndex: number, array: number[]) => U_2, initialValue: U_2): U_2; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S_2, thisArg?: any): S_2; (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_3 | readonly U_3[], thisArg?: This) => U_3[]; 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; 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; 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_1, thisArg?: any): S_1[]; (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_1, currentValue: number, currentIndex: number, array: number[]) => U_1, initialValue: U_1): U_1; }; 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_2, currentValue: number, currentIndex: number, array: number[]) => U_2, initialValue: U_2): U_2; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S_2, thisArg?: any): S_2; (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_3 | readonly U_3[], thisArg?: This) => U_3[]; 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; 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; 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_1, thisArg?: any): S_1[]; (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_1, currentValue: number, currentIndex: number, array: number[]) => U_1, initialValue: U_1): U_1; }; 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_2, currentValue: number, currentIndex: number, array: number[]) => U_2, initialValue: U_2): U_2; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S_2, thisArg?: any): S_2; (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_3 | readonly U_3[], thisArg?: This) => U_3[]; 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.types b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types index 242454d5d1543..0938c9402a3d6 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types @@ -2,8 +2,8 @@ === 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; 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; 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; 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; 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_1, thisArg?: any): S_1[]; (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_1, currentValue: number, currentIndex: number, array: number[]) => U_1, initialValue: U_1): U_1; }; 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_2, currentValue: number, currentIndex: number, array: number[]) => U_2, initialValue: U_2): U_2; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S_2, thisArg?: any): S_2; (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_3 | readonly U_3[], thisArg?: This) => U_3[]; 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; 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_1, thisArg?: any): S_1[]; (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_1, currentValue: number, currentIndex: number, array: number[]) => U_1, initialValue: U_1): U_1; }; 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_2, currentValue: number, currentIndex: number, array: number[]) => U_2, initialValue: U_2): U_2; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S_2, thisArg?: any): S_2; (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_3 | readonly U_3[], thisArg?: This) => U_3[]; 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; 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_1, thisArg?: any): S_1[]; (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_1, currentValue: number, currentIndex: number, array: number[]) => U_1, initialValue: U_1): U_1; }; 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_2, currentValue: number, currentIndex: number, array: number[]) => U_2, initialValue: U_2): U_2; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S_2, thisArg?: any): S_2; (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_3 | readonly U_3[], thisArg?: This) => U_3[]; 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/mappedTypesArraysTuples.types b/tests/baselines/reference/mappedTypesArraysTuples.types index 478205548a5ff..980552084f4c9 100644 --- a/tests/baselines/reference/mappedTypesArraysTuples.types +++ b/tests/baselines/reference/mappedTypesArraysTuples.types @@ -257,7 +257,7 @@ function acceptMappedArray(arr: T) { >acceptArray(mapArray(arr)) : void >acceptArray : (arr: any[]) => void >mapArray(arr) : Mapped ->mapArray : (arr: T) => Mapped +>mapArray : (arr: T_1) => Mapped >arr : T } diff --git a/tests/baselines/reference/methodSignaturesWithOverloads.types b/tests/baselines/reference/methodSignaturesWithOverloads.types index 267ffae213f75..90f0eaead1582 100644 --- a/tests/baselines/reference/methodSignaturesWithOverloads.types +++ b/tests/baselines/reference/methodSignaturesWithOverloads.types @@ -27,18 +27,18 @@ var c: { }; var c2: { ->c2 : { func4?(x: T): number; func4?(s: T): string; func5?: { (x: T): number; (s: T): string; }; } +>c2 : { func4?(x: T): number; func4?(s: T_1): string; func5?: { (x: T_2): number; (s: T_3): string; }; } func4(x: T): number; ->func4 : { (x: T): number; (s: T): string; } +>func4 : { (x: T): number; (s: T_1): string; } >x : T func4? (s: T): string; // error, mismatched optionality ->func4 : { (x: T): number; (s: T): string; } +>func4 : { (x: T_1): number; (s: T): string; } >s : T func5?: { ->func5 : { (x: T): number; (s: T): string; } +>func5 : { (x: T): number; (s: T_1): string; } (x: T): number; >x : T diff --git a/tests/baselines/reference/methodSignaturesWithOverloads2.types b/tests/baselines/reference/methodSignaturesWithOverloads2.types index f71bb7a2c4365..5db07de7f1412 100644 --- a/tests/baselines/reference/methodSignaturesWithOverloads2.types +++ b/tests/baselines/reference/methodSignaturesWithOverloads2.types @@ -47,18 +47,18 @@ c.func5 = c.func4; var c2: { ->c2 : { func4?(x: T): number; func4?(s: T): string; func5?: { (x: T): number; (s: T): string; }; } +>c2 : { func4?(x: T): number; func4?(s: T_1): string; func5?: { (x: T_2): number; (s: T_3): string; }; } func4?(x: T): number; ->func4 : { (x: T): number; (s: T): string; } +>func4 : { (x: T): number; (s: T_1): string; } >x : T func4? (s: T): string; ->func4 : { (x: T): number; (s: T): string; } +>func4 : { (x: T_1): number; (s: T): string; } >s : T func5?: { ->func5 : { (x: T): number; (s: T): string; } +>func5 : { (x: T): number; (s: T_1): string; } (x: T): number; >x : T @@ -71,20 +71,20 @@ var c2: { // no errors c2.func4 = c2.func5; ->c2.func4 = c2.func5 : { (x: T): number; (s: T): string; } ->c2.func4 : { (x: T): number; (s: T): string; } ->c2 : { func4?(x: T): number; func4?(s: T): string; func5?: { (x: T): number; (s: T): string; }; } ->func4 : { (x: T): number; (s: T): string; } ->c2.func5 : { (x: T): number; (s: T): string; } ->c2 : { func4?(x: T): number; func4?(s: T): string; func5?: { (x: T): number; (s: T): string; }; } ->func5 : { (x: T): number; (s: T): string; } +>c2.func4 = c2.func5 : { (x: T): number; (s: T_1): string; } +>c2.func4 : { (x: T): number; (s: T_1): string; } +>c2 : { func4?(x: T): number; func4?(s: T_1): string; func5?: { (x: T_2): number; (s: T_3): string; }; } +>func4 : { (x: T): number; (s: T_1): string; } +>c2.func5 : { (x: T): number; (s: T_1): string; } +>c2 : { func4?(x: T): number; func4?(s: T_1): string; func5?: { (x: T_2): number; (s: T_3): string; }; } +>func5 : { (x: T): number; (s: T_1): string; } c2.func5 = c2.func4; ->c2.func5 = c2.func4 : { (x: T): number; (s: T): string; } ->c2.func5 : { (x: T): number; (s: T): string; } ->c2 : { func4?(x: T): number; func4?(s: T): string; func5?: { (x: T): number; (s: T): string; }; } ->func5 : { (x: T): number; (s: T): string; } ->c2.func4 : { (x: T): number; (s: T): string; } ->c2 : { func4?(x: T): number; func4?(s: T): string; func5?: { (x: T): number; (s: T): string; }; } ->func4 : { (x: T): number; (s: T): string; } +>c2.func5 = c2.func4 : { (x: T): number; (s: T_1): string; } +>c2.func5 : { (x: T): number; (s: T_1): string; } +>c2 : { func4?(x: T): number; func4?(s: T_1): string; func5?: { (x: T_2): number; (s: T_3): string; }; } +>func5 : { (x: T): number; (s: T_1): string; } +>c2.func4 : { (x: T): number; (s: T_1): string; } +>c2 : { func4?(x: T): number; func4?(s: T_1): string; func5?: { (x: T_2): number; (s: T_3): string; }; } +>func4 : { (x: T): number; (s: T_1): string; } diff --git a/tests/baselines/reference/missingTypeArguments3.types b/tests/baselines/reference/missingTypeArguments3.types index 039f051e8dbe8..38a989e8598f2 100644 --- a/tests/baselines/reference/missingTypeArguments3.types +++ b/tests/baselines/reference/missingTypeArguments3.types @@ -9,12 +9,12 @@ declare module linq { >keySelector : string GroupBy(keySelector: (element: T) => TKey): Enumerable>; ->GroupBy : { (keySelector: (element: T) => TKey): Enumerable>; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TElement): Enumerable>; } +>GroupBy : { (keySelector: (element: T) => TKey): Enumerable>; (keySelector: (element: T) => TKey_1, elementSelector: (element: T) => TElement): Enumerable>; } >keySelector : (element: T) => TKey >element : T GroupBy(keySelector: (element: T) => TKey, elementSelector: (element: T) => TElement): Enumerable>; ->GroupBy : { (keySelector: (element: T) => TKey): Enumerable>; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TElement): Enumerable>; } +>GroupBy : { (keySelector: (element: T) => TKey_1): Enumerable>; (keySelector: (element: T) => TKey, elementSelector: (element: T) => TElement): Enumerable>; } >keySelector : (element: T) => TKey >element : T >elementSelector : (element: T) => TElement diff --git a/tests/baselines/reference/mixinIntersectionIsValidbaseType.types b/tests/baselines/reference/mixinIntersectionIsValidbaseType.types index 3a0c598897849..55a48f76e20db 100644 --- a/tests/baselines/reference/mixinIntersectionIsValidbaseType.types +++ b/tests/baselines/reference/mixinIntersectionIsValidbaseType.types @@ -62,7 +62,7 @@ const AMixin = & Initable>(SuperClass: K) => { >class A extends Serializable(SuperClass) { } : { new (...args: any[]): A; prototype: AMixin.A; init(...args: any[]): void; } & K >A : { new (...args: any[]): A; prototype: AMixin.A; init(...args: any[]): void; } & K >Serializable(SuperClass) : Serializable.SerializableLocal & Initable ->Serializable : & Initable>(SuperClass: K) => { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K +>Serializable : & Initable>(SuperClass: K_1) => { new (...args: any[]): SerializableLocal; prototype: Serializable.SerializableLocal; init(...args: any[]): void; } & K_1 >SuperClass : K }; diff --git a/tests/baselines/reference/modularizeLibrary_Dom.iterable.types b/tests/baselines/reference/modularizeLibrary_Dom.iterable.types index b76acfa4075f7..143d98a71321a 100644 --- a/tests/baselines/reference/modularizeLibrary_Dom.iterable.types +++ b/tests/baselines/reference/modularizeLibrary_Dom.iterable.types @@ -4,9 +4,9 @@ for (const element of document.getElementsByTagName("a")) { >element : HTMLAnchorElement >document.getElementsByTagName("a") : HTMLCollectionOf ->document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } +>document.getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K_1): HTMLCollectionOf; (qualifiedName: K_2): HTMLCollectionOf; (qualifiedName: K_3): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } >document : Document ->getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } +>getElementsByTagName : { (qualifiedName: K): HTMLCollectionOf; (qualifiedName: K_1): HTMLCollectionOf; (qualifiedName: K_2): HTMLCollectionOf; (qualifiedName: K_3): HTMLCollectionOf; (qualifiedName: string): HTMLCollectionOf; } >"a" : "a" element.href; diff --git a/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.types b/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.types index bb8b8ce62b8ce..fa860410bc8ea 100644 --- a/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.types +++ b/tests/baselines/reference/modularizeLibrary_ErrorFromUsingWellknownSymbolWithOutES6WellknownSymbolLib.types @@ -9,9 +9,9 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from(arguments) : any[] ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; } >arguments : IArguments } diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types index 5a58fb78c7702..0f884c4ce16c4 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types @@ -10,9 +10,9 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from(arguments) : any[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >arguments : IArguments } diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types index 404d2c9e3478d..37e1440f523be 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types @@ -10,9 +10,9 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from(arguments) : any[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >arguments : IArguments } diff --git a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types index b24319a29a60b..8a55354867061 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types +++ b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types @@ -10,9 +10,9 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from(arguments) : any[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >arguments : IArguments } diff --git a/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types index d3fd6ec8f1f61..53df319fe798a 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types +++ b/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types @@ -10,9 +10,9 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from(arguments) : any[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >arguments : IArguments } diff --git a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.types b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.types index e045b8e7f3a40..3ab7709b6ada5 100644 --- a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.types +++ b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6ArrayLib.types @@ -10,9 +10,9 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from(arguments) : any[] ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; } >arguments : IArguments } diff --git a/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.types b/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.types index b019d153b53ef..2483dfde8b4a0 100644 --- a/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.types +++ b/tests/baselines/reference/modularizeLibrary_UsingES5LibES6ArrayLibES6WellknownSymbolLib.types @@ -9,9 +9,9 @@ function f(x: number, y: number, z: number) { return Array.from(arguments); >Array.from(arguments) : any[] ->Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; } >Array : ArrayConstructor ->from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; } >arguments : IArguments } diff --git a/tests/baselines/reference/narrowingGenericTypeFromInstanceof01.types b/tests/baselines/reference/narrowingGenericTypeFromInstanceof01.types index 664cc9830213e..8c706492cab4b 100644 --- a/tests/baselines/reference/narrowingGenericTypeFromInstanceof01.types +++ b/tests/baselines/reference/narrowingGenericTypeFromInstanceof01.types @@ -31,7 +31,7 @@ function test(x: A | B) { acceptA(x); >acceptA(x) : void ->acceptA : (a: A) => void +>acceptA : (a: A) => void >x : B } @@ -42,7 +42,7 @@ function test(x: A | B) { acceptA(x); >acceptA(x) : void ->acceptA : (a: A) => void +>acceptA : (a: A) => void >x : A } @@ -53,7 +53,7 @@ function test(x: A | B) { acceptB(x); >acceptB(x) : void ->acceptB : (b: B) => void +>acceptB : (b: B) => void >x : B } @@ -64,7 +64,7 @@ function test(x: A | B) { acceptB(x); >acceptB(x) : void ->acceptB : (b: B) => void +>acceptB : (b: B) => void >x : B } } diff --git a/tests/baselines/reference/neverInference.types b/tests/baselines/reference/neverInference.types index df0ede1c2bff4..ddc003ba155b9 100644 --- a/tests/baselines/reference/neverInference.types +++ b/tests/baselines/reference/neverInference.types @@ -72,9 +72,9 @@ f2(Array.from([0]), [], (a1, a2) => a1 - a2); >f2(Array.from([0]), [], (a1, a2) => a1 - a2) : void >f2 : (as1: a[], as2: a[], cmp: (a1: a, a2: a) => number) => void >Array.from([0]) : number[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >[0] : number[] >0 : 0 >[] : never[] @@ -89,9 +89,9 @@ f2(Array.from([]), [0], (a1, a2) => a1 - a2); >f2(Array.from([]), [0], (a1, a2) => a1 - a2) : void >f2 : (as1: a[], as2: a[], cmp: (a1: a, a2: a) => number) => void >Array.from([]) : never[] ->Array.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[]; } +>Array.from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >Array : ArrayConstructor ->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[]; } +>from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T_2[]; (iterable: Iterable | ArrayLike, mapfn: (v: T_3, k: number) => U_1, thisArg?: any): U_1[]; } >[] : never[] >[0] : number[] >0 : 0 diff --git a/tests/baselines/reference/newOperator.types b/tests/baselines/reference/newOperator.types index 27c6490b29f58..9e41aedf65417 100644 --- a/tests/baselines/reference/newOperator.types +++ b/tests/baselines/reference/newOperator.types @@ -109,13 +109,13 @@ new ctorUnion(""); // Error on union with incompatible constructors declare const ctorUnion2: (new (a: T) => void) | (new (a: string) => void) ->ctorUnion2 : (new (a: T) => void) | (new (a: string) => void) +>ctorUnion2 : (new (a: T) => void) | (new (a: string) => void) >a : T >a : string new ctorUnion2(""); >new ctorUnion2("") : any ->ctorUnion2 : (new (a: T) => void) | (new (a: string) => void) +>ctorUnion2 : (new (a: T) => void) | (new (a: string) => void) >"" : "" module M { diff --git a/tests/baselines/reference/noCrashOnThisTypeUsage.types b/tests/baselines/reference/noCrashOnThisTypeUsage.types index f359cad8a6fc4..ee7812a6c6b5c 100644 --- a/tests/baselines/reference/noCrashOnThisTypeUsage.types +++ b/tests/baselines/reference/noCrashOnThisTypeUsage.types @@ -36,7 +36,7 @@ export class ObservableValue { notifyListeners(this, { >notifyListeners(this, { type: "update", object: this, newValue, oldValue }) : void ->notifyListeners : (listenable: IListenable, change: T) => void +>notifyListeners : (listenable: IListenable, change: T_1) => void >this : this >{ type: "update", object: this, newValue, oldValue } : { type: string; object: this; newValue: T; oldValue: any; } diff --git a/tests/baselines/reference/noImplicitReturnsInAsync1.types b/tests/baselines/reference/noImplicitReturnsInAsync1.types index 8db38d2de77ad..33657f1a0997b 100644 --- a/tests/baselines/reference/noImplicitReturnsInAsync1.types +++ b/tests/baselines/reference/noImplicitReturnsInAsync1.types @@ -17,8 +17,8 @@ async function test(isError: boolean = false) { >x : string >await Promise.resolve("The test is passed without an error.") : string >Promise.resolve("The test is passed without an error.") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"The test is passed without an error." : "The test is passed without an error." } diff --git a/tests/baselines/reference/nonInferrableTypePropagation2.types b/tests/baselines/reference/nonInferrableTypePropagation2.types index 6e7f14976a433..a8eda79ab8380 100644 --- a/tests/baselines/reference/nonInferrableTypePropagation2.types +++ b/tests/baselines/reference/nonInferrableTypePropagation2.types @@ -31,7 +31,7 @@ interface Refinement { } declare const filter: { ->filter : { (refinement: Refinement): (as: readonly A[]) => readonly B[]; (predicate: Predicate): (bs: readonly B[]) => readonly B[]; (predicate: Predicate): (as: readonly A[]) => readonly A[]; } +>filter : { (refinement: Refinement): (as: readonly A[]) => readonly B[]; (predicate: Predicate): (bs: readonly B_1[]) => readonly B_1[]; (predicate: Predicate): (as: readonly A_2[]) => readonly A_2[]; } (refinement: Refinement): (as: ReadonlyArray) => ReadonlyArray >refinement : Refinement @@ -67,7 +67,7 @@ const x = pipe(es, filter(exists((n) => n > 0))) >pipe : (a: A, ab: (a: A) => B) => B >es : Either[] >filter(exists((n) => n > 0)) : (as: readonly Either[]) => readonly Either[] ->filter : { (refinement: Refinement): (as: readonly A[]) => readonly B[]; (predicate: Predicate): (bs: readonly B[]) => readonly B[]; (predicate: Predicate): (as: readonly A[]) => readonly A[]; } +>filter : { (refinement: Refinement): (as: readonly A[]) => readonly B[]; (predicate: Predicate): (bs: readonly B_1[]) => readonly B_1[]; (predicate: Predicate): (as: readonly A_2[]) => readonly A_2[]; } >exists((n) => n > 0) : (ma: Either) => boolean >exists : (predicate: Predicate) => (ma: Either) => boolean >(n) => n > 0 : (n: number) => boolean diff --git a/tests/baselines/reference/nonnullAssertionPropegatesContextualType.types b/tests/baselines/reference/nonnullAssertionPropegatesContextualType.types index c836923851e46..486bd1489b54b 100644 --- a/tests/baselines/reference/nonnullAssertionPropegatesContextualType.types +++ b/tests/baselines/reference/nonnullAssertionPropegatesContextualType.types @@ -5,8 +5,8 @@ let rect2: SVGRectElement = document.querySelector('.svg-rectangle')!; // Error: >rect2 : SVGRectElement >document.querySelector('.svg-rectangle')! : SVGRectElement >document.querySelector('.svg-rectangle') : SVGRectElement | null ->document.querySelector : { (selectors: K): HTMLElementTagNameMap[K] | null; (selectors: K): SVGElementTagNameMap[K] | null; (selectors: K): MathMLElementTagNameMap[K] | null; (selectors: K): HTMLElementDeprecatedTagNameMap[K] | null; (selectors: string): E | null; } +>document.querySelector : { (selectors: K): HTMLElementTagNameMap[K] | null; (selectors: K_1): SVGElementTagNameMap[K_1] | null; (selectors: K_2): MathMLElementTagNameMap[K_2] | null; (selectors: K_3): HTMLElementDeprecatedTagNameMap[K_3] | null; (selectors: string): E | null; } >document : Document ->querySelector : { (selectors: K): HTMLElementTagNameMap[K] | null; (selectors: K): SVGElementTagNameMap[K] | null; (selectors: K): MathMLElementTagNameMap[K] | null; (selectors: K): HTMLElementDeprecatedTagNameMap[K] | null; (selectors: string): E | null; } +>querySelector : { (selectors: K): HTMLElementTagNameMap[K] | null; (selectors: K_1): SVGElementTagNameMap[K_1] | null; (selectors: K_2): MathMLElementTagNameMap[K_2] | null; (selectors: K_3): HTMLElementDeprecatedTagNameMap[K_3] | null; (selectors: string): E | null; } >'.svg-rectangle' : ".svg-rectangle" diff --git a/tests/baselines/reference/objectFreeze.types b/tests/baselines/reference/objectFreeze.types index 6d90bc8476af3..f981450bff347 100644 --- a/tests/baselines/reference/objectFreeze.types +++ b/tests/baselines/reference/objectFreeze.types @@ -4,9 +4,9 @@ const f = Object.freeze(function foo(a: number, b: string) { return false; }); >f : (a: number, b: string) => false >Object.freeze(function foo(a: number, b: string) { return false; }) : (a: number, b: string) => false ->Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >Object : ObjectConstructor ->freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >function foo(a: number, b: string) { return false; } : (a: number, b: string) => false >foo : (a: number, b: string) => false >a : number @@ -28,9 +28,9 @@ class C { constructor(a: number) { } } const c = Object.freeze(C); >c : typeof C >Object.freeze(C) : typeof C ->Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >Object : ObjectConstructor ->freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >C : typeof C new c(1); @@ -41,9 +41,9 @@ new c(1); const a = Object.freeze([1, 2, 3]); >a : readonly number[] >Object.freeze([1, 2, 3]) : readonly number[] ->Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >Object : ObjectConstructor ->freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >[1, 2, 3] : number[] >1 : 1 >2 : 2 @@ -64,9 +64,9 @@ a[0] = a[2].toString(); const o = Object.freeze({ a: 1, b: "string", c: true }); >o : Readonly<{ a: 1; b: "string"; c: true; }> >Object.freeze({ a: 1, b: "string", c: true }) : Readonly<{ a: 1; b: "string"; c: true; }> ->Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >Object : ObjectConstructor ->freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >{ a: 1, b: "string", c: true } : { a: 1; b: "string"; c: true; } >a : 1 >1 : 1 diff --git a/tests/baselines/reference/objectFreezeLiteralsDontWiden.types b/tests/baselines/reference/objectFreezeLiteralsDontWiden.types index 90a644f8153eb..ac537997f401b 100644 --- a/tests/baselines/reference/objectFreezeLiteralsDontWiden.types +++ b/tests/baselines/reference/objectFreezeLiteralsDontWiden.types @@ -4,9 +4,9 @@ const PUPPETEER_REVISIONS = Object.freeze({ >PUPPETEER_REVISIONS : Readonly<{ chromium: "1011831"; firefox: "latest"; }> >Object.freeze({ chromium: '1011831', firefox: 'latest',}) : Readonly<{ chromium: "1011831"; firefox: "latest"; }> ->Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >Object : ObjectConstructor ->freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >{ chromium: '1011831', firefox: 'latest',} : { chromium: "1011831"; firefox: "latest"; } chromium: '1011831', diff --git a/tests/baselines/reference/objectFromEntries.types b/tests/baselines/reference/objectFromEntries.types index 72f77e39a908d..9f019c56f6d77 100644 --- a/tests/baselines/reference/objectFromEntries.types +++ b/tests/baselines/reference/objectFromEntries.types @@ -45,9 +45,9 @@ const o3 = Object.fromEntries(new Map([[Symbol("key"), "value"]])); const frozenArray = Object.freeze([['a', 1], ['b', 2], ['c', 3]]); >frozenArray : readonly (string | number)[][] >Object.freeze([['a', 1], ['b', 2], ['c', 3]]) : readonly (string | number)[][] ->Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >Object : ObjectConstructor ->freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >[['a', 1], ['b', 2], ['c', 3]] : (string | number)[][] >['a', 1] : (string | number)[] >'a' : "a" @@ -70,9 +70,9 @@ const o4 = Object.fromEntries(frozenArray); const frozenArray2: readonly [string, number][] = Object.freeze([['a', 1], ['b', 2], ['c', 3]]); >frozenArray2 : readonly [string, number][] >Object.freeze([['a', 1], ['b', 2], ['c', 3]]) : readonly [string, number][] ->Object.freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>Object.freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >Object : ObjectConstructor ->freeze : { (f: T): T; (o: T): Readonly; (o: T): Readonly; } +>freeze : { (f: T): T; (o: T_1): Readonly; (o: T_2): Readonly; } >[['a', 1], ['b', 2], ['c', 3]] : [string, number][] >['a', 1] : [string, number] >'a' : "a" diff --git a/tests/baselines/reference/objectLiteralParameterResolution.types b/tests/baselines/reference/objectLiteralParameterResolution.types index 1f9a5ed02b23b..16ee9499a694f 100644 --- a/tests/baselines/reference/objectLiteralParameterResolution.types +++ b/tests/baselines/reference/objectLiteralParameterResolution.types @@ -3,12 +3,12 @@ === objectLiteralParameterResolution.ts === interface Foo{ extend(target: T, ...objs: any[]): T; ->extend : { (target: T, ...objs: any[]): T; (deep: boolean, target: T, ...objs: any[]): T; } +>extend : { (target: T, ...objs: any[]): T; (deep: boolean, target: T_1, ...objs: any[]): T_1; } >target : T >objs : any[] extend(deep: boolean, target: T, ...objs: any[]): T; ->extend : { (target: T, ...objs: any[]): T; (deep: boolean, target: T, ...objs: any[]): T; } +>extend : { (target: T_1, ...objs: any[]): T_1; (deep: boolean, target: T, ...objs: any[]): T; } >deep : boolean >target : T >objs : any[] @@ -19,9 +19,9 @@ declare var $: Foo; var s = $.extend({ >s : { type: string; data: string; success: any; error: any; dataType: string; converters: { "text json": string; }; traditional: boolean; timeout: number; } >$.extend({ type: "GET" , data: "data" , success: wrapSuccessCallback(requestContext, callback) , error: wrapErrorCallback(requestContext, errorCallback) , dataType: "json" , converters: { "text json": "" }, traditional: true , timeout: 12, }, "") : { type: string; data: string; success: any; error: any; dataType: string; converters: { "text json": string; }; traditional: boolean; timeout: number; } ->$.extend : { (target: T, ...objs: any[]): T; (deep: boolean, target: T, ...objs: any[]): T; } +>$.extend : { (target: T, ...objs: any[]): T; (deep: boolean, target: T_1, ...objs: any[]): T_1; } >$ : Foo ->extend : { (target: T, ...objs: any[]): T; (deep: boolean, target: T, ...objs: any[]): T; } +>extend : { (target: T, ...objs: any[]): T; (deep: boolean, target: T_1, ...objs: any[]): T_1; } >{ type: "GET" , data: "data" , success: wrapSuccessCallback(requestContext, callback) , error: wrapErrorCallback(requestContext, errorCallback) , dataType: "json" , converters: { "text json": "" }, traditional: true , timeout: 12, } : { type: string; data: string; success: any; error: any; dataType: string; converters: { "text json": string; }; traditional: true; timeout: number; } type: "GET" , diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.types index c045e076d973f..2dcd983f62a0e 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.types @@ -40,13 +40,13 @@ interface I2 { } var a: { foo(x: Z): Z } ->a : { foo(x: Z): Z; } +>a : { foo(x: Z): Z; } >foo : (x: Z) => Z >x : Z var b = { foo(x: A) { return x; } }; ->b : { foo(x: A): A; } ->{ foo(x: A) { return x; } } : { foo(x: A): A; } +>b : { foo(x: A_1): A_1; } +>{ foo(x: A) { return x; } } : { foo(x: A_1): A_1; } >foo : (x: A) => A >x : A >x : A @@ -100,31 +100,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: { foo(x: Z): Z; }): any; } ->x : { foo(x: Z): Z; } ->a : { foo(x: Z): Z; } +>foo3 : { (x: typeof a): any; (x: { foo(x: Z): Z; }): any; } +>x : { foo(x: Z): Z; } +>a : { foo(x: Z): Z; } function foo3(x: typeof a); // error ->foo3 : { (x: { foo(x: Z): Z; }): any; (x: typeof a): any; } ->x : { foo(x: Z): Z; } ->a : { foo(x: Z): Z; } +>foo3 : { (x: { foo(x: Z): Z; }): any; (x: typeof a): any; } +>x : { foo(x: Z): Z; } +>a : { foo(x: Z): Z; } function foo3(x: any) { } ->foo3 : { (x: { foo(x: Z): Z; }): any; (x: { foo(x: Z): Z; }): any; } +>foo3 : { (x: { foo(x: Z): Z; }): any; (x: { foo(x: Z): Z; }): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo(x: A): A; }): any; } ->x : { foo(x: A): A; } ->b : { foo(x: A): A; } +>foo4 : { (x: typeof b): any; (x: { foo(x: A_1): A_1; }): any; } +>x : { foo(x: A_1): A_1; } +>b : { foo(x: A_1): A_1; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo(x: A): A; }): any; (x: typeof b): any; } ->x : { foo(x: A): A; } ->b : { foo(x: A): A; } +>foo4 : { (x: { foo(x: A_1): A_1; }): any; (x: typeof b): any; } +>x : { foo(x: A_1): A_1; } +>b : { foo(x: A_1): A_1; } function foo4(x: any) { } ->foo4 : { (x: { foo(x: A): A; }): any; (x: { foo(x: A): A; }): any; } +>foo4 : { (x: { foo(x: A_1): A_1; }): any; (x: { foo(x: A_1): A_1; }): any; } >x : any function foo5(x: A); @@ -164,16 +164,16 @@ function foo6(x: any) { } >x : any function foo7(x: A); ->foo7 : { (x: A): any; (x: { foo(x: Z): Z; }): any; } +>foo7 : { (x: A): any; (x: { foo(x: Z): Z; }): any; } >x : A function foo7(x: typeof a); // no error, bug? >foo7 : { (x: A): any; (x: typeof a): any; } ->x : { foo(x: Z): Z; } ->a : { foo(x: Z): Z; } +>x : { foo(x: Z): Z; } +>a : { foo(x: Z): Z; } function foo7(x: any) { } ->foo7 : { (x: A): any; (x: { foo(x: Z): Z; }): any; } +>foo7 : { (x: A): any; (x: { foo(x: Z): Z; }): any; } >x : any function foo8(x: B); @@ -201,29 +201,29 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: { foo(x: Z): Z; }): any; } +>foo10 : { (x: B): any; (x: { foo(x: Z): Z; }): any; } >x : B function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } ->x : { foo(x: Z): Z; } ->a : { foo(x: Z): Z; } +>x : { foo(x: Z): Z; } +>a : { foo(x: Z): Z; } function foo10(x: any) { } ->foo10 : { (x: B): any; (x: { foo(x: Z): Z; }): any; } +>foo10 : { (x: B): any; (x: { foo(x: Z): Z; }): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo(x: A): A; }): any; } +>foo11 : { (x: B): any; (x: { foo(x: A_1): A_1; }): any; } >x : B function foo11(x: typeof b); // ok >foo11 : { (x: B): any; (x: typeof b): any; } ->x : { foo(x: A): A; } ->b : { foo(x: A): A; } +>x : { foo(x: A_1): A_1; } +>b : { foo(x: A_1): A_1; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo(x: A): A; }): any; } +>foo11 : { (x: B): any; (x: { foo(x: A_1): A_1; }): any; } >x : any function foo12(x: I, number, Date, string>); @@ -251,29 +251,29 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: { foo(x: Z): Z; }): any; } +>foo13 : { (x: I): any; (x: { foo(x: Z): Z; }): any; } >x : I function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } ->x : { foo(x: Z): Z; } ->a : { foo(x: Z): Z; } +>x : { foo(x: Z): Z; } +>a : { foo(x: Z): Z; } function foo13(x: any) { } ->foo13 : { (x: I): any; (x: { foo(x: Z): Z; }): any; } +>foo13 : { (x: I): any; (x: { foo(x: Z): Z; }): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo(x: A): A; }): any; } +>foo14 : { (x: I): any; (x: { foo(x: A_1): A_1; }): any; } >x : I function foo14(x: typeof b); // ok >foo14 : { (x: I): any; (x: typeof b): any; } ->x : { foo(x: A): A; } ->b : { foo(x: A): A; } +>x : { foo(x: A_1): A_1; } +>b : { foo(x: A_1): A_1; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo(x: A): A; }): any; } +>foo14 : { (x: I): any; (x: { foo(x: A_1): A_1; }): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.types b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.types index cb54b27ab74fc..71e4b96912eef 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.types @@ -45,8 +45,8 @@ var a: { foo(x: Z): Z } >x : Z var b = { foo(x: A) { return x; } }; ->b : { foo(x: A): A; } ->{ foo(x: A) { return x; } } : { foo(x: A): A; } +>b : { foo(x: A_1): A_1; } +>{ foo(x: A) { return x; } } : { foo(x: A_1): A_1; } >foo : (x: A) => A >x : A >x : A @@ -114,17 +114,17 @@ function foo3(x: any) { } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { foo(x: A): A; }): any; } ->x : { foo(x: A): A; } ->b : { foo(x: A): A; } +>foo4 : { (x: typeof b): any; (x: { foo(x: A_1): A_1; }): any; } +>x : { foo(x: A_1): A_1; } +>b : { foo(x: A_1): A_1; } function foo4(x: typeof b); // error ->foo4 : { (x: { foo(x: A): A; }): any; (x: typeof b): any; } ->x : { foo(x: A): A; } ->b : { foo(x: A): A; } +>foo4 : { (x: { foo(x: A_1): A_1; }): any; (x: typeof b): any; } +>x : { foo(x: A_1): A_1; } +>b : { foo(x: A_1): A_1; } function foo4(x: any) { } ->foo4 : { (x: { foo(x: A): A; }): any; (x: { foo(x: A): A; }): any; } +>foo4 : { (x: { foo(x: A_1): A_1; }): any; (x: { foo(x: A_1): A_1; }): any; } >x : any function foo5(x: A); @@ -214,16 +214,16 @@ function foo10(x: any) { } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { foo(x: A): A; }): any; } +>foo11 : { (x: B): any; (x: { foo(x: A_1): A_1; }): any; } >x : B function foo11(x: typeof b); // ok >foo11 : { (x: B): any; (x: typeof b): any; } ->x : { foo(x: A): A; } ->b : { foo(x: A): A; } +>x : { foo(x: A_1): A_1; } +>b : { foo(x: A_1): A_1; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { foo(x: A): A; }): any; } +>foo11 : { (x: B): any; (x: { foo(x: A_1): A_1; }): any; } >x : any function foo12(x: I); @@ -264,16 +264,16 @@ function foo13(x: any) { } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { foo(x: A): A; }): any; } +>foo14 : { (x: I): any; (x: { foo(x: A_1): A_1; }): any; } >x : I function foo14(x: typeof b); // ok >foo14 : { (x: I): any; (x: typeof b): any; } ->x : { foo(x: A): A; } ->b : { foo(x: A): A; } +>x : { foo(x: A_1): A_1; } +>b : { foo(x: A_1): A_1; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { foo(x: A): A; }): any; } +>foo14 : { (x: I): any; (x: { foo(x: A_1): A_1; }): any; } >x : any function foo15(x: I2); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.types index 6fae02bf0cd03..76e4322804983 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.types @@ -114,7 +114,7 @@ function foo5(x: typeof b): string; // ok >b : { "new"(x: T): T; } function foo5(x: any): any { } ->foo5 : { (x: new (x: T) => T): number; (x: { "new"(x: T): T; }): string; } +>foo5 : { (x: new (x: T) => T): number; (x: { "new"(x: T_1): T_1; }): string; } >x : any function foo8(x: B); diff --git a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.types b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.types index 477e469cc1482..ff0245a6f9fa7 100644 --- a/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.types +++ b/tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.types @@ -28,12 +28,12 @@ interface I2 { } var a: { new (x: Z): C; } ->a : new (x: Z) => C +>a : new (x: Z) => C >x : Z var b = { new(x: A) { return x; } }; ->b : { "new"(x: A): A; } ->{ new(x: A) { return x; } } : { "new"(x: A): A; } +>b : { "new"(x: A): A; } +>{ new(x: A) { return x; } } : { "new"(x: A): A; } >new : (x: A) => A >x : A >x : A @@ -75,31 +75,31 @@ function foo2(x: any) { } >x : any function foo3(x: typeof a); ->foo3 : { (x: typeof a): any; (x: new (x: Z) => C): any; } ->x : new (x: Z) => C ->a : new (x: Z) => C +>foo3 : { (x: typeof a): any; (x: new (x: Z) => C): any; } +>x : new (x: Z) => C +>a : new (x: Z) => C function foo3(x: typeof a); // error ->foo3 : { (x: new (x: Z) => C): any; (x: typeof a): any; } ->x : new (x: Z) => C ->a : new (x: Z) => C +>foo3 : { (x: new (x: Z) => C): any; (x: typeof a): any; } +>x : new (x: Z) => C +>a : new (x: Z) => C function foo3(x: any) { } ->foo3 : { (x: new (x: Z) => C): any; (x: new (x: Z) => C): any; } +>foo3 : { (x: new (x: Z) => C): any; (x: new (x: Z) => C): any; } >x : any function foo4(x: typeof b); ->foo4 : { (x: typeof b): any; (x: { "new"(x: A): A; }): any; } ->x : { "new"(x: A): A; } ->b : { "new"(x: A): A; } +>foo4 : { (x: typeof b): any; (x: { "new"(x: A): A; }): any; } +>x : { "new"(x: A): A; } +>b : { "new"(x: A): A; } function foo4(x: typeof b); // error ->foo4 : { (x: { "new"(x: A): A; }): any; (x: typeof b): any; } ->x : { "new"(x: A): A; } ->b : { "new"(x: A): A; } +>foo4 : { (x: { "new"(x: A): A; }): any; (x: typeof b): any; } +>x : { "new"(x: A): A; } +>b : { "new"(x: A): A; } function foo4(x: any) { } ->foo4 : { (x: { "new"(x: A): A; }): any; (x: { "new"(x: A): A; }): any; } +>foo4 : { (x: { "new"(x: A): A; }): any; (x: { "new"(x: A): A; }): any; } >x : any function foo8(x: B); @@ -127,29 +127,29 @@ function foo9(x: any) { } >x : any function foo10(x: B); ->foo10 : { (x: B): any; (x: new (x: Z) => C): any; } +>foo10 : { (x: B): any; (x: new (x: Z) => C): any; } >x : B function foo10(x: typeof a); // ok >foo10 : { (x: B): any; (x: typeof a): any; } ->x : new (x: Z) => C ->a : new (x: Z) => C +>x : new (x: Z) => C +>a : new (x: Z) => C function foo10(x: any) { } ->foo10 : { (x: B): any; (x: new (x: Z) => C): any; } +>foo10 : { (x: B): any; (x: new (x: Z) => C): any; } >x : any function foo11(x: B); ->foo11 : { (x: B): any; (x: { "new"(x: A): A; }): any; } +>foo11 : { (x: B): any; (x: { "new"(x: A): A; }): any; } >x : B function foo11(x: typeof b); // ok >foo11 : { (x: B): any; (x: typeof b): any; } ->x : { "new"(x: A): A; } ->b : { "new"(x: A): A; } +>x : { "new"(x: A): A; } +>b : { "new"(x: A): A; } function foo11(x: any) { } ->foo11 : { (x: B): any; (x: { "new"(x: A): A; }): any; } +>foo11 : { (x: B): any; (x: { "new"(x: A): A; }): any; } >x : any function foo12(x: I, number, Date, string>); @@ -177,28 +177,28 @@ function foo12b(x: any) { } >x : any function foo13(x: I); ->foo13 : { (x: I): any; (x: new (x: Z) => C): any; } +>foo13 : { (x: I): any; (x: new (x: Z) => C): any; } >x : I function foo13(x: typeof a); // ok >foo13 : { (x: I): any; (x: typeof a): any; } ->x : new (x: Z) => C ->a : new (x: Z) => C +>x : new (x: Z) => C +>a : new (x: Z) => C function foo13(x: any) { } ->foo13 : { (x: I): any; (x: new (x: Z) => C): any; } +>foo13 : { (x: I): any; (x: new (x: Z) => C): any; } >x : any function foo14(x: I); ->foo14 : { (x: I): any; (x: { "new"(x: A): A; }): any; } +>foo14 : { (x: I): any; (x: { "new"(x: A): A; }): any; } >x : I function foo14(x: typeof b); // ok >foo14 : { (x: I): any; (x: typeof b): any; } ->x : { "new"(x: A): A; } ->b : { "new"(x: A): A; } +>x : { "new"(x: A): A; } +>b : { "new"(x: A): A; } function foo14(x: any) { } ->foo14 : { (x: I): any; (x: { "new"(x: A): A; }): any; } +>foo14 : { (x: I): any; (x: { "new"(x: A): A; }): any; } >x : any diff --git a/tests/baselines/reference/overloadEquivalenceWithStatics.types b/tests/baselines/reference/overloadEquivalenceWithStatics.types index 34f2a6a191acc..2afd40c7ebe65 100644 --- a/tests/baselines/reference/overloadEquivalenceWithStatics.types +++ b/tests/baselines/reference/overloadEquivalenceWithStatics.types @@ -5,15 +5,15 @@ class A1 { >A1 : A1 static B(v: A1): A1; // 1 ->B : { (v: A1): A1; (v: S): A1; } +>B : { (v: A1): A1; (v: S_1): A1; } >v : A1 static B(v: S): A1; // 2 : Error Duplicate signature ->B : { (v: A1): A1; (v: S): A1; } +>B : { (v: A1): A1; (v: S): A1; } >v : S static B(v: any): A1 { ->B : { (v: A1): A1; (v: S): A1; } +>B : { (v: A1): A1; (v: S_2): A1; } >v : any return null; diff --git a/tests/baselines/reference/overloadGenericFunctionWithRestArgs.types b/tests/baselines/reference/overloadGenericFunctionWithRestArgs.types index 1ae6249ac7d27..ef553bd154056 100644 --- a/tests/baselines/reference/overloadGenericFunctionWithRestArgs.types +++ b/tests/baselines/reference/overloadGenericFunctionWithRestArgs.types @@ -18,7 +18,7 @@ function Choice(...v_args: T[]): A; >v_args : T[] function Choice(...v_args: T[]): A { ->Choice : (...v_args: T[]) => A +>Choice : (...v_args: T_1[]) => A >v_args : T[] return new A(); diff --git a/tests/baselines/reference/overloadResolution.types b/tests/baselines/reference/overloadResolution.types index 9397627e23cfc..970c47c0f50c1 100644 --- a/tests/baselines/reference/overloadResolution.types +++ b/tests/baselines/reference/overloadResolution.types @@ -110,34 +110,34 @@ fn2('', 0); // OK // Generic overloads with differing arity called without type arguments function fn3(n: T): string; ->fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +>fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U_1, t: T_2): number; } >n : T function fn3(s: string, t: T, u: U): U; ->fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +>fn3 : { (n: T_1): string; (s: string, t: T, u: U): U; (v: V, u: U_1, t: T_3): number; } >s : string >t : T >u : U function fn3(v: V, u: U, t: T): number; ->fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +>fn3 : { (n: T_1): string; (s: string, t: T_2, u: U_1): U_1; (v: V, u: U, t: T): number; } >v : V >u : U >t : T function fn3() { return null; } ->fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +>fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U_1, t: T_2): number; } var s = fn3(3); >s : string >fn3(3) : string ->fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +>fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U_1, t: T_2): number; } >3 : 3 var s = fn3('', 3, ''); >s : string >fn3('', 3, '') : "" ->fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +>fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U_1, t: T_2): number; } >'' : "" >3 : 3 >'' : "" @@ -145,7 +145,7 @@ var s = fn3('', 3, ''); var n = fn3(5, 5, 5); >n : number >fn3(5, 5, 5) : number ->fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +>fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U_1, t: T_2): number; } >5 : 5 >5 : 5 >5 : 5 @@ -157,13 +157,13 @@ var n: number; var s = fn3(4); >s : string >fn3(4) : string ->fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +>fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U_1, t: T_2): number; } >4 : 4 var s = fn3('', '', ''); >s : string >fn3('', '', '') : string ->fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +>fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U_1, t: T_2): number; } >'' : "" >'' : "" >'' : "" @@ -171,7 +171,7 @@ var s = fn3('', '', ''); var n = fn3('', '', 3); >n : number >fn3('', '', 3) : number ->fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +>fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U_1, t: T_2): number; } >'' : "" >'' : "" >3 : 3 @@ -179,84 +179,84 @@ var n = fn3('', '', 3); // Generic overloads with differing arity called with type argument count that doesn't match any overload fn3(); // Error >fn3() : string ->fn3 : { (n: T): string; (s: string, t: T, u: U): U; (v: V, u: U, t: T): number; } +>fn3 : { (n: T): string; (s: string, t: T_1, u: U): U; (v: V, u: U_1, t: T_2): number; } // Generic overloads with constraints called with type arguments that satisfy the constraints function fn4(n: T, m: U); ->fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +>fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } >n : T >m : U function fn4(n: T, m: U); ->fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +>fn4 : { (n: T_1, m: U_1): any; (n: T, m: U): any; } >n : T >m : U function fn4() { } ->fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +>fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } fn4('', 3); >fn4('', 3) : any ->fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +>fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } >'' : "" >3 : 3 fn4(3, ''); // Error >fn4(3, '') : any ->fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +>fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } >3 : 3 >'' : "" fn4('', 3); // Error >fn4('', 3) : any ->fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +>fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } >'' : "" >3 : 3 fn4(3, ''); >fn4(3, '') : any ->fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +>fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } >3 : 3 >'' : "" // Generic overloads with constraints called without type arguments but with types that satisfy the constraints fn4('', 3); >fn4('', 3) : any ->fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +>fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } >'' : "" >3 : 3 fn4(3, ''); >fn4(3, '') : any ->fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +>fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } >3 : 3 >'' : "" fn4(3, undefined); >fn4(3, undefined) : any ->fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +>fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } >3 : 3 >undefined : undefined fn4('', null); >fn4('', null) : any ->fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +>fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } >'' : "" // Generic overloads with constraints called with type arguments that do not satisfy the constraints fn4(null, null); // Error >fn4(null, null) : any ->fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +>fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } // Generic overloads with constraints called without type arguments but with types that do not satisfy the constraints fn4(true, null); // Error >fn4(true, null) : any ->fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +>fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } >true : true fn4(null, true); // Error >fn4(null, true) : any ->fn4 : { (n: T, m: U): any; (n: T, m: U): any; } +>fn4 : { (n: T, m: U): any; (n: T_1, m: U_1): any; } >true : true // Non - generic overloads where contextual typing of function arguments has errors diff --git a/tests/baselines/reference/overloadedStaticMethodSpecialization.types b/tests/baselines/reference/overloadedStaticMethodSpecialization.types index fc079f7bea7fc..902e11e77e9e2 100644 --- a/tests/baselines/reference/overloadedStaticMethodSpecialization.types +++ b/tests/baselines/reference/overloadedStaticMethodSpecialization.types @@ -5,15 +5,15 @@ class A { >A : A static B(v: A): A; ->B : { (v: A): A; (v: S): A; } +>B : { (v: A): A; (v: S_1): A; } >v : A static B(v: S): A; ->B : { (v: A): A; (v: S): A; } +>B : { (v: A): A; (v: S): A; } >v : S static B(v: any): A { ->B : { (v: A): A; (v: S): A; } +>B : { (v: A): A; (v: S_2): A; } >v : any return null; diff --git a/tests/baselines/reference/overloadsAndTypeArgumentArity.types b/tests/baselines/reference/overloadsAndTypeArgumentArity.types index 7956332bdbcf4..e33e4b0877383 100644 --- a/tests/baselines/reference/overloadsAndTypeArgumentArity.types +++ b/tests/baselines/reference/overloadsAndTypeArgumentArity.types @@ -2,28 +2,28 @@ === overloadsAndTypeArgumentArity.ts === declare function Callbacks(flags?: string): void; ->Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } +>Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } >flags : string declare function Callbacks(flags?: string): void; ->Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } +>Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } >flags : string declare function Callbacks(flags?: string): void; ->Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } +>Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } >flags : string declare function Callbacks(flags?: string): void; ->Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } +>Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } >flags : string Callbacks('s'); // no error >Callbacks('s') : void ->Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } +>Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } >'s' : "s" new Callbacks('s'); // no error >new Callbacks('s') : any ->Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } +>Callbacks : { (flags?: string): void; (flags?: string): void; (flags?: string): void; (flags?: string): void; } >'s' : "s" diff --git a/tests/baselines/reference/overloadsWithConstraints.types b/tests/baselines/reference/overloadsWithConstraints.types index 2b9f68755b825..f9987595196a8 100644 --- a/tests/baselines/reference/overloadsWithConstraints.types +++ b/tests/baselines/reference/overloadsWithConstraints.types @@ -2,16 +2,16 @@ === overloadsWithConstraints.ts === declare function f(x: T): T; ->f : { (x: T): T; (x: T): T; } +>f : { (x: T): T; (x: T_1): T_1; } >x : T declare function f(x: T): T ->f : { (x: T): T; (x: T): T; } +>f : { (x: T_1): T_1; (x: T): T; } >x : T var v = f(""); >v : string >f("") : string ->f : { (x: T): T; (x: T): T; } +>f : { (x: T): T; (x: T_1): T_1; } >"" : "" diff --git a/tests/baselines/reference/override19.types b/tests/baselines/reference/override19.types index 8aa0d3c811bed..d075039baf17b 100644 --- a/tests/baselines/reference/override19.types +++ b/tests/baselines/reference/override19.types @@ -27,7 +27,7 @@ class A { class B extends CreateMixin(Context, A) { >B : B >CreateMixin(Context, A) : A & { context: Context; } ->CreateMixin : (Context: C, Base: T) => T & (new (...args: any[]) => { context: InstanceType; }) +>CreateMixin : (Context: C_1, Base: T) => T & (new (...args: any[]) => { context: InstanceType; }) >Context : typeof Context >A : typeof A @@ -38,7 +38,7 @@ class B extends CreateMixin(Context, A) { class C extends CreateMixin(Context, A) { >C : C >CreateMixin(Context, A) : A & { context: Context; } ->CreateMixin : (Context: C, Base: T) => T & (new (...args: any[]) => { context: InstanceType; }) +>CreateMixin : (Context: C_1, Base: T) => T & (new (...args: any[]) => { context: InstanceType; }) >Context : typeof Context >A : typeof A diff --git a/tests/baselines/reference/parenthesizedContexualTyping1.types b/tests/baselines/reference/parenthesizedContexualTyping1.types index 5358172f30ff2..140e4acc2521c 100644 --- a/tests/baselines/reference/parenthesizedContexualTyping1.types +++ b/tests/baselines/reference/parenthesizedContexualTyping1.types @@ -2,13 +2,13 @@ === parenthesizedContexualTyping1.ts === function fun(g: (x: T) => T, x: T): T; ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >g : (x: T) => T >x : T >x : T function fun(g: (x: T) => T, h: (y: T) => T, x: T): T; ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +>fun : { (g: (x: T_1) => T_1, x: T_1): T_1; (g: (x: T) => T, h: (y: T) => T, x: T): T; } >g : (x: T) => T >x : T >h : (y: T) => T @@ -16,7 +16,7 @@ function fun(g: (x: T) => T, h: (y: T) => T, x: T): T; >x : T function fun(g: (x: T) => T, x: T): T { ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +>fun : { (g: (x: T_1) => T_1, x: T_1): T_1; (g: (x: T_2) => T_2, h: (y: T_2) => T_2, x: T_2): T_2; } >g : (x: T) => T >x : T >x : T @@ -30,7 +30,7 @@ function fun(g: (x: T) => T, x: T): T { var a = fun(x => x, 10); >a : number >fun(x => x, 10) : number ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >x => x : (x: number) => number >x : number >x : number @@ -39,7 +39,7 @@ var a = fun(x => x, 10); var b = fun((x => x), 10); >b : number >fun((x => x), 10) : number ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >(x => x) : (x: number) => number >x => x : (x: number) => number >x : number @@ -49,7 +49,7 @@ var b = fun((x => x), 10); var c = fun(((x => x)), 10); >c : number >fun(((x => x)), 10) : number ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >((x => x)) : (x: number) => number >(x => x) : (x: number) => number >x => x : (x: number) => number @@ -60,7 +60,7 @@ var c = fun(((x => x)), 10); var d = fun((((x => x))), 10); >d : number >fun((((x => x))), 10) : number ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >(((x => x))) : (x: number) => number >((x => x)) : (x: number) => number >(x => x) : (x: number) => number @@ -72,7 +72,7 @@ var d = fun((((x => x))), 10); var e = fun(x => x, x => x, 10); >e : number >fun(x => x, x => x, 10) : number ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >x => x : (x: number) => number >x : number >x : number @@ -84,7 +84,7 @@ var e = fun(x => x, x => x, 10); var f = fun((x => x), (x => x), 10); >f : number >fun((x => x), (x => x), 10) : number ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >(x => x) : (x: number) => number >x => x : (x: number) => number >x : number @@ -98,7 +98,7 @@ var f = fun((x => x), (x => x), 10); var g = fun(((x => x)), ((x => x)), 10); >g : number >fun(((x => x)), ((x => x)), 10) : number ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >((x => x)) : (x: number) => number >(x => x) : (x: number) => number >x => x : (x: number) => number @@ -114,7 +114,7 @@ var g = fun(((x => x)), ((x => x)), 10); var h = fun((((x => x))), ((x => x)), 10); >h : number >fun((((x => x))), ((x => x)), 10) : number ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >(((x => x))) : (x: number) => number >((x => x)) : (x: number) => number >(x => x) : (x: number) => number @@ -132,7 +132,7 @@ var h = fun((((x => x))), ((x => x)), 10); var i = fun((Math.random() < 0.5 ? x => x : x => undefined), 10); >i : any >fun((Math.random() < 0.5 ? x => x : x => undefined), 10) : any ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >(Math.random() < 0.5 ? x => x : x => undefined) : (x: number) => any >Math.random() < 0.5 ? x => x : x => undefined : (x: number) => any >Math.random() < 0.5 : boolean @@ -152,7 +152,7 @@ var i = fun((Math.random() < 0.5 ? x => x : x => undefined), 10); var j = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), 10); >j : any >fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), 10) : any ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >(Math.random() < 0.5 ? (x => x) : (x => undefined)) : (x: number) => any >Math.random() < 0.5 ? (x => x) : (x => undefined) : (x: number) => any >Math.random() < 0.5 : boolean @@ -174,7 +174,7 @@ var j = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), 10); var k = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), x => x, 10); >k : any >fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), x => x, 10) : any ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >(Math.random() < 0.5 ? (x => x) : (x => undefined)) : (x: number) => any >Math.random() < 0.5 ? (x => x) : (x => undefined) : (x: number) => any >Math.random() < 0.5 : boolean @@ -199,7 +199,7 @@ var k = fun((Math.random() < 0.5 ? (x => x) : (x => undefined)), x => x, 10); var l = fun(((Math.random() < 0.5 ? ((x => x)) : ((x => undefined)))), ((x => x)), 10); >l : any >fun(((Math.random() < 0.5 ? ((x => x)) : ((x => undefined)))), ((x => x)), 10) : any ->fun : { (g: (x: T) => T, x: T): T; (g: (x: T) => T, h: (y: T) => T, x: T): T; } +>fun : { (g: (x: T) => T, x: T): T; (g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >((Math.random() < 0.5 ? ((x => x)) : ((x => undefined)))) : (x: number) => any >(Math.random() < 0.5 ? ((x => x)) : ((x => undefined))) : (x: number) => any >Math.random() < 0.5 ? ((x => x)) : ((x => undefined)) : (x: number) => any diff --git a/tests/baselines/reference/parenthesizedContexualTyping2.types b/tests/baselines/reference/parenthesizedContexualTyping2.types index 523fe6663e0b4..6b38396e89950 100644 --- a/tests/baselines/reference/parenthesizedContexualTyping2.types +++ b/tests/baselines/reference/parenthesizedContexualTyping2.types @@ -14,18 +14,18 @@ type FuncType = (x: (p: T) => T) => typeof x; >x : (p: T) => T function fun(f: FuncType, x: T): T; ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } >f : FuncType >x : T function fun(f: FuncType, g: FuncType, x: T): T; ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +>fun : { (f: FuncType, x: T_1): T_1; (f: FuncType, g: FuncType, x: T): T; } >f : FuncType >g : FuncType >x : T function fun(...rest: any[]): T { ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +>fun : { (f: FuncType, x: T_1): T_1; (f: FuncType, g: FuncType, x: T_2): T_2; } >rest : any[] return undefined; @@ -35,7 +35,7 @@ function fun(...rest: any[]): T { var a = fun(x => { x(undefined); return x; }, 10); >a : number >fun(x => { x(undefined); return x; }, 10) : 10 ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T >x(undefined) : number @@ -47,7 +47,7 @@ var a = fun(x => { x(undefined); return x; }, 10); var b = fun((x => { x(undefined); return x; }), 10); >b : number >fun((x => { x(undefined); return x; }), 10) : 10 ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T @@ -60,7 +60,7 @@ var b = fun((x => { x(undefined); return x; }), 10); var c = fun(((x => { x(undefined); return x; })), 10); >c : number >fun(((x => { x(undefined); return x; })), 10) : 10 ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T @@ -74,7 +74,7 @@ var c = fun(((x => { x(undefined); return x; })), 10); var d = fun((((x => { x(undefined); return x; }))), 10); >d : number >fun((((x => { x(undefined); return x; }))), 10) : 10 ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } >(((x => { x(undefined); return x; }))) : (x: (p: T) => T) => (p: T) => T >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T @@ -89,7 +89,7 @@ var d = fun((((x => { x(undefined); return x; }))), 10); var e = fun(x => { x(undefined); return x; }, x => { x(undefined); return x; }, 10); >e : number >fun(x => { x(undefined); return x; }, x => { x(undefined); return x; }, 10) : 10 ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T >x(undefined) : number @@ -107,7 +107,7 @@ var e = fun(x => { x(undefined); return x; }, x => { x(undefined var f = fun((x => { x(undefined); return x; }),(x => { x(undefined); return x; }), 10); >f : number >fun((x => { x(undefined); return x; }),(x => { x(undefined); return x; }), 10) : 10 ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T @@ -127,7 +127,7 @@ var f = fun((x => { x(undefined); return x; }),(x => { x(undefin var g = fun(((x => { x(undefined); return x; })),((x => { x(undefined); return x; })), 10); >g : number >fun(((x => { x(undefined); return x; })),((x => { x(undefined); return x; })), 10) : 10 ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T @@ -149,7 +149,7 @@ var g = fun(((x => { x(undefined); return x; })),((x => { x(unde var h = fun((((x => { x(undefined); return x; }))),((x => { x(undefined); return x; })), 10); >h : number >fun((((x => { x(undefined); return x; }))),((x => { x(undefined); return x; })), 10) : 10 ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } >(((x => { x(undefined); return x; }))) : (x: (p: T) => T) => (p: T) => T >((x => { x(undefined); return x; })) : (x: (p: T) => T) => (p: T) => T >(x => { x(undefined); return x; }) : (x: (p: T) => T) => (p: T) => T @@ -173,7 +173,7 @@ var h = fun((((x => { x(undefined); return x; }))),((x => { x(un var i = fun((Math.random() < 0.5 ? x => { x(undefined); return x; } : x => undefined), 10); >i : number >fun((Math.random() < 0.5 ? x => { x(undefined); return x; } : x => undefined), 10) : 10 ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } >(Math.random() < 0.5 ? x => { x(undefined); return x; } : x => undefined) : (x: (p: T) => T) => any >Math.random() < 0.5 ? x => { x(undefined); return x; } : x => undefined : (x: (p: T) => T) => any >Math.random() < 0.5 : boolean @@ -196,7 +196,7 @@ var i = fun((Math.random() < 0.5 ? x => { x(undefined); return x; } : x var j = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)), 10); >j : number >fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)), 10) : 10 ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } >(Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)) : (x: (p: T) => T) => any >Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined) : (x: (p: T) => T) => any >Math.random() < 0.5 : boolean @@ -221,7 +221,7 @@ var j = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : var k = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)), x => { x(undefined); return x; }, 10); >k : number >fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)), x => { x(undefined); return x; }, 10) : 10 ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } >(Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)) : (x: (p: T) => T) => any >Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined) : (x: (p: T) => T) => any >Math.random() < 0.5 : boolean @@ -252,7 +252,7 @@ var k = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : var l = fun(((Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined)))),((x => { x(undefined); return x; })), 10); >l : number >fun(((Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined)))),((x => { x(undefined); return x; })), 10) : 10 ->fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T): T; } +>fun : { (f: FuncType, x: T): T; (f: FuncType, g: FuncType, x: T_1): T_1; } >((Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined)))) : (x: (p: T) => T) => any >(Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined))) : (x: (p: T) => T) => any >Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined)) : (x: (p: T) => T) => any diff --git a/tests/baselines/reference/parenthesizedContexualTyping3.types b/tests/baselines/reference/parenthesizedContexualTyping3.types index e27d93edf2572..5fcca9fb3d0c7 100644 --- a/tests/baselines/reference/parenthesizedContexualTyping3.types +++ b/tests/baselines/reference/parenthesizedContexualTyping3.types @@ -7,14 +7,14 @@ * tempFun - Can't have fun for too long. */ function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >tempStrs : TemplateStringsArray >g : (x: T) => T >x : T >x : T function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, x: T_1): T_1; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } >tempStrs : TemplateStringsArray >g : (x: T) => T >x : T @@ -23,7 +23,7 @@ function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => >x : T function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T { ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, x: T_1): T_1; (tempStrs: TemplateStringsArray, g: (x: T_2) => T_2, h: (y: T_2) => T_2, x: T_2): T_2; } >tempStrs : TemplateStringsArray >g : (x: T) => T >x : T @@ -38,7 +38,7 @@ function tempFun(tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T { var a = tempFun `${ x => x } ${ 10 }` >a : number >tempFun `${ x => x } ${ 10 }` : number ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >`${ x => x } ${ 10 }` : string >x => x : (x: number) => number >x : number @@ -48,7 +48,7 @@ var a = tempFun `${ x => x } ${ 10 }` var b = tempFun `${ (x => x) } ${ 10 }` >b : number >tempFun `${ (x => x) } ${ 10 }` : number ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >`${ (x => x) } ${ 10 }` : string >(x => x) : (x: number) => number >x => x : (x: number) => number @@ -59,7 +59,7 @@ var b = tempFun `${ (x => x) } ${ 10 }` var c = tempFun `${ ((x => x)) } ${ 10 }` >c : number >tempFun `${ ((x => x)) } ${ 10 }` : number ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >`${ ((x => x)) } ${ 10 }` : string >((x => x)) : (x: number) => number >(x => x) : (x: number) => number @@ -71,7 +71,7 @@ var c = tempFun `${ ((x => x)) } ${ 10 }` var d = tempFun `${ x => x } ${ x => x } ${ 10 }` >d : number >tempFun `${ x => x } ${ x => x } ${ 10 }` : number ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >`${ x => x } ${ x => x } ${ 10 }` : string >x => x : (x: number) => number >x : number @@ -84,7 +84,7 @@ var d = tempFun `${ x => x } ${ x => x } ${ 10 }` var e = tempFun `${ x => x } ${ (x => x) } ${ 10 }` >e : number >tempFun `${ x => x } ${ (x => x) } ${ 10 }` : number ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >`${ x => x } ${ (x => x) } ${ 10 }` : string >x => x : (x: number) => number >x : number @@ -98,7 +98,7 @@ var e = tempFun `${ x => x } ${ (x => x) } ${ 10 }` var f = tempFun `${ x => x } ${ ((x => x)) } ${ 10 }` >f : number >tempFun `${ x => x } ${ ((x => x)) } ${ 10 }` : number ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >`${ x => x } ${ ((x => x)) } ${ 10 }` : string >x => x : (x: number) => number >x : number @@ -113,7 +113,7 @@ var f = tempFun `${ x => x } ${ ((x => x)) } ${ 10 }` var g = tempFun `${ (x => x) } ${ (((x => x))) } ${ 10 }` >g : number >tempFun `${ (x => x) } ${ (((x => x))) } ${ 10 }` : number ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >`${ (x => x) } ${ (((x => x))) } ${ 10 }` : string >(x => x) : (x: number) => number >x => x : (x: number) => number @@ -130,7 +130,7 @@ var g = tempFun `${ (x => x) } ${ (((x => x))) } ${ 10 }` var h = tempFun `${ (x => x) } ${ (((x => x))) } ${ undefined }` >h : any >tempFun `${ (x => x) } ${ (((x => x))) } ${ undefined }` : any ->tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T) => T, h: (y: T) => T, x: T): T; } +>tempFun : { (tempStrs: TemplateStringsArray, g: (x: T) => T, x: T): T; (tempStrs: TemplateStringsArray, g: (x: T_1) => T_1, h: (y: T_1) => T_1, x: T_1): T_1; } >`${ (x => x) } ${ (((x => x))) } ${ undefined }` : string >(x => x) : (x: any) => any >x => x : (x: any) => any diff --git a/tests/baselines/reference/parserOverloadOnConstants1.types b/tests/baselines/reference/parserOverloadOnConstants1.types index 4c402a620efbd..0b9c8e5e665a7 100644 --- a/tests/baselines/reference/parserOverloadOnConstants1.types +++ b/tests/baselines/reference/parserOverloadOnConstants1.types @@ -3,18 +3,18 @@ === parserOverloadOnConstants1.ts === interface Document { createElement(tagName: string): HTMLElement; ->createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } +>createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K_1, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K_1]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } >tagName : string createElement(tagName: 'canvas'): HTMLCanvasElement; ->createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: 'canvas'): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } +>createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K_1, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K_1]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: 'canvas'): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } >tagName : "canvas" createElement(tagName: 'div'): HTMLDivElement; ->createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: 'div'): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } +>createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K_1, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K_1]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: 'div'): HTMLDivElement; (tagName: "span"): HTMLSpanElement; } >tagName : "div" createElement(tagName: 'span'): HTMLSpanElement; ->createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: 'span'): HTMLSpanElement; } +>createElement : { (tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; (tagName: K_1, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K_1]; (tagName: string, options?: ElementCreationOptions): HTMLElement; (tagName: string): HTMLElement; (tagName: "canvas"): HTMLCanvasElement; (tagName: "div"): HTMLDivElement; (tagName: 'span'): HTMLSpanElement; } >tagName : "span" } diff --git a/tests/baselines/reference/privateNameMethodAsync.types b/tests/baselines/reference/privateNameMethodAsync.types index 16c78c8c6b293..168a950daaa8f 100644 --- a/tests/baselines/reference/privateNameMethodAsync.types +++ b/tests/baselines/reference/privateNameMethodAsync.types @@ -9,9 +9,9 @@ const C = class { >#bar : () => Promise >await Promise.resolve(42) : number >Promise.resolve(42) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >42 : 42 async foo() { @@ -66,9 +66,9 @@ const C = class { >(await Promise.resolve(42)) : number >await Promise.resolve(42) : number >Promise.resolve(42) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >42 : 42 } } diff --git a/tests/baselines/reference/privateNameStaticMethodAsync.types b/tests/baselines/reference/privateNameStaticMethodAsync.types index 204d27adff012..cef370fbace84 100644 --- a/tests/baselines/reference/privateNameStaticMethodAsync.types +++ b/tests/baselines/reference/privateNameStaticMethodAsync.types @@ -9,9 +9,9 @@ const C = class { >#bar : () => Promise >await Promise.resolve(42) : number >Promise.resolve(42) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >42 : 42 static async foo() { @@ -66,9 +66,9 @@ const C = class { >(await Promise.resolve(42)) : number >await Promise.resolve(42) : number >Promise.resolve(42) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >42 : 42 } async static *#bazBad() { yield 42; } diff --git a/tests/baselines/reference/promisePermutations.types b/tests/baselines/reference/promisePermutations.types index 86772c630671c..e2fbf785100cd 100644 --- a/tests/baselines/reference/promisePermutations.types +++ b/tests/baselines/reference/promisePermutations.types @@ -3,7 +3,7 @@ === promisePermutations.ts === interface Promise { then(success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >success : (value: T) => Promise >value : T >error : (error: any) => Promise @@ -12,7 +12,7 @@ interface Promise { >progress : any then(success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_3, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_4, error?: (error: any) => U_4, progress?: (progress: any) => void): Promise; } >success : (value: T) => Promise >value : T >error : (error: any) => U @@ -21,7 +21,7 @@ interface Promise { >progress : any then(success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_2, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_4, error?: (error: any) => U_4, progress?: (progress: any) => void): Promise; } >success : (value: T) => U >value : T >error : (error: any) => Promise @@ -30,7 +30,7 @@ interface Promise { >progress : any then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_2, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_3, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >success : (value: T) => U >value : T >error : (error: any) => U @@ -50,7 +50,7 @@ interface Promise { interface IPromise { then(success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >success : (value: T) => IPromise >value : T >error : (error: any) => IPromise @@ -59,7 +59,7 @@ interface IPromise { >progress : any then(success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_4, error?: (error: any) => U_4, progress?: (progress: any) => void): IPromise; } >success : (value: T) => IPromise >value : T >error : (error: any) => U @@ -68,7 +68,7 @@ interface IPromise { >progress : any then(success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_4, error?: (error: any) => U_4, progress?: (progress: any) => void): IPromise; } >success : (value: T) => U >value : T >error : (error: any) => IPromise @@ -77,7 +77,7 @@ interface IPromise { >progress : any then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } >success : (value: T) => U >value : T >error : (error: any) => U @@ -212,20 +212,20 @@ declare function testFunction11P(x: string): Promise; >x : string declare function testFunction12(x: T): IPromise; ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } >x : T declare function testFunction12(x: T, y: T): IPromise; ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>testFunction12 : { (x: T_1): IPromise; (x: T, y: T): IPromise; } >x : T >y : T declare function testFunction12P(x: T): IPromise; ->testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +>testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } >x : T declare function testFunction12P(x: T, y: T): Promise; ->testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +>testFunction12P : { (x: T_1): IPromise; (x: T, y: T): Promise; } >x : T >y : T @@ -235,9 +235,9 @@ var r1: IPromise; var r1a = r1.then(testFunction, testFunction, testFunction); >r1a : IPromise >r1.then(testFunction, testFunction, testFunction) : IPromise ->r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r1 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction : () => IPromise >testFunction : () => IPromise >testFunction : () => IPromise @@ -245,15 +245,15 @@ var r1a = r1.then(testFunction, testFunction, testFunction); var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction); >r1b : IPromise >r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction) : IPromise ->r1.then(testFunction, testFunction, testFunction).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r1.then(testFunction, testFunction, testFunction).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r1.then(testFunction, testFunction, testFunction) : IPromise ->r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r1 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction : () => IPromise >testFunction : () => IPromise >testFunction : () => IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction : () => IPromise >testFunction : () => IPromise >testFunction : () => IPromise @@ -261,9 +261,9 @@ var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, t var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); >r1c : IPromise >r1.then(testFunctionP, testFunctionP, testFunctionP) : IPromise ->r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r1 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunctionP : () => Promise >testFunctionP : () => Promise >testFunctionP : () => Promise @@ -274,9 +274,9 @@ var s1: Promise; var s1a = s1.then(testFunction, testFunction, testFunction); >s1a : Promise> >s1.then(testFunction, testFunction, testFunction) : Promise> ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >testFunction : () => IPromise >testFunction : () => IPromise @@ -284,9 +284,9 @@ var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1b : Promise >s1.then(testFunctionP, testFunctionP, testFunctionP) : Promise ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >testFunctionP : () => Promise >testFunctionP : () => Promise @@ -294,9 +294,9 @@ var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1c : Promise> >s1.then(testFunctionP, testFunction, testFunction) : Promise> ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >testFunction : () => IPromise >testFunction : () => IPromise @@ -304,15 +304,15 @@ var s1c = s1.then(testFunctionP, testFunction, testFunction); var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); >s1d : Promise> >s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction) : Promise> ->s1.then(testFunctionP, testFunction, testFunction).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then(testFunctionP, testFunction, testFunction).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s1.then(testFunctionP, testFunction, testFunction) : Promise> ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >testFunction : () => IPromise >testFunction : () => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >testFunction : () => IPromise >testFunction : () => IPromise @@ -324,9 +324,9 @@ var r2: IPromise<{ x: number; }>; var r2a = r2.then(testFunction2, testFunction2, testFunction2); >r2a : IPromise<{ x: number; }> >r2.then(testFunction2, testFunction2, testFunction2) : IPromise<{ x: number; }> ->r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r2 : IPromise<{ x: number; }> ->then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -334,15 +334,15 @@ var r2a = r2.then(testFunction2, testFunction2, testFunction2); var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >r2b : IPromise<{ x: number; }> >r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : IPromise<{ x: number; }> ->r2.then(testFunction2, testFunction2, testFunction2).then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r2.then(testFunction2, testFunction2, testFunction2).then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r2.then(testFunction2, testFunction2, testFunction2) : IPromise<{ x: number; }> ->r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r2 : IPromise<{ x: number; }> ->then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> ->then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -354,9 +354,9 @@ var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); >s2a : Promise> >s2.then(testFunction2, testFunction2, testFunction2) : Promise> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -364,9 +364,9 @@ var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); >s2b : Promise<{ x: number; }> >s2.then(testFunction2P, testFunction2P, testFunction2P) : Promise<{ x: number; }> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction2P : () => Promise<{ x: number; }> >testFunction2P : () => Promise<{ x: number; }> >testFunction2P : () => Promise<{ x: number; }> @@ -374,9 +374,9 @@ var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); >s2c : Promise> >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction2P : () => Promise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -384,15 +384,15 @@ var s2c = s2.then(testFunction2P, testFunction2, testFunction2); var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >s2d : Promise> >s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : Promise> ->s2.then(testFunction2P, testFunction2, testFunction2).then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then(testFunction2P, testFunction2, testFunction2).then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction2P : () => Promise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -403,9 +403,9 @@ var r3: IPromise; var r3a = r3.then(testFunction3, testFunction3, testFunction3); >r3a : IPromise >r3.then(testFunction3, testFunction3, testFunction3) : IPromise ->r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r3 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -413,15 +413,15 @@ var r3a = r3.then(testFunction3, testFunction3, testFunction3); var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); >r3b : IPromise >r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : IPromise ->r3.then(testFunction3, testFunction3, testFunction3).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r3.then(testFunction3, testFunction3, testFunction3).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r3.then(testFunction3, testFunction3, testFunction3) : IPromise ->r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r3 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -432,9 +432,9 @@ var s3: Promise; var s3a = s3.then(testFunction3, testFunction3, testFunction3); >s3a : Promise> >s3.then(testFunction3, testFunction3, testFunction3) : Promise> ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -442,9 +442,9 @@ var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3b : Promise >s3.then(testFunction3P, testFunction3P, testFunction3P) : Promise ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction3P : (x: number) => Promise >testFunction3P : (x: number) => Promise >testFunction3P : (x: number) => Promise @@ -452,9 +452,9 @@ var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3c : Promise> >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction3P : (x: number) => Promise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -462,15 +462,15 @@ var s3c = s3.then(testFunction3P, testFunction3, testFunction3); var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); // error >s3d : Promise >s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : Promise ->s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction3P : (x: number) => Promise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -489,9 +489,9 @@ var sPromise: (x: any) => Promise; var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error >r4a : IPromise >r4.then(testFunction4, testFunction4, testFunction4) : IPromise ->r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r4 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise @@ -499,15 +499,15 @@ var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok >r4b : IPromise >r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4) : IPromise ->r4.then(sIPromise, testFunction4, testFunction4).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r4.then(sIPromise, testFunction4, testFunction4).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r4.then(sIPromise, testFunction4, testFunction4) : IPromise ->r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r4 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise @@ -518,9 +518,9 @@ var s4: Promise; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error >s4a : Promise >s4.then(testFunction4, testFunction4, testFunction4) : Promise ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise @@ -528,9 +528,9 @@ var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4b : Promise >s4.then(testFunction4P, testFunction4P, testFunction4P) : Promise ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction4P : (x: number, y?: string) => Promise >testFunction4P : (x: number, y?: string) => Promise >testFunction4P : (x: number, y?: string) => Promise @@ -538,9 +538,9 @@ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4c : Promise >s4.then(testFunction4P, testFunction4, testFunction4) : Promise ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction4P : (x: number, y?: string) => Promise >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise @@ -548,15 +548,15 @@ var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); >s4d : Promise> >s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4) : Promise> ->s4.then(sIPromise, testFunction4P, testFunction4).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then(sIPromise, testFunction4P, testFunction4).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s4.then(sIPromise, testFunction4P, testFunction4) : Promise> ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >testFunction4P : (x: number, y?: string) => Promise >testFunction4 : (x: number, y?: string) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >testFunction4P : (x: number, y?: string) => Promise >testFunction4 : (x: number, y?: string) => IPromise @@ -567,9 +567,9 @@ var r5: IPromise; var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error >r5a : IPromise >r5.then(testFunction5, testFunction5, testFunction5) : IPromise ->r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r5 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise @@ -577,15 +577,15 @@ var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r5b : IPromise >r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise ->r5.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r5.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r5.then(sIPromise, sIPromise, sIPromise) : IPromise ->r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r5 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -596,9 +596,9 @@ var s5: Promise; var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error >s5a : Promise >s5.then(testFunction5, testFunction5, testFunction5) : Promise ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise @@ -606,9 +606,9 @@ var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5b : Promise >s5.then(testFunction5P, testFunction5P, testFunction5P) : Promise ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction5P : (x: number, cb: (a: string) => string) => Promise >testFunction5P : (x: number, cb: (a: string) => string) => Promise >testFunction5P : (x: number, cb: (a: string) => string) => Promise @@ -616,9 +616,9 @@ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5c : Promise >s5.then(testFunction5P, testFunction5, testFunction5) : Promise ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction5P : (x: number, cb: (a: string) => string) => Promise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise @@ -626,15 +626,15 @@ var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s5d : Promise> >s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> ->s5.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s5.then(sPromise, sPromise, sPromise) : Promise ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -645,9 +645,9 @@ var r6: IPromise; var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error >r6a : IPromise >r6.then(testFunction6, testFunction6, testFunction6) : IPromise ->r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r6 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise @@ -655,15 +655,15 @@ var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r6b : IPromise >r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise ->r6.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r6.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r6.then(sIPromise, sIPromise, sIPromise) : IPromise ->r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r6 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -674,9 +674,9 @@ var s6: Promise; var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error >s6a : Promise >s6.then(testFunction6, testFunction6, testFunction6) : Promise ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise @@ -684,9 +684,9 @@ var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6b : Promise >s6.then(testFunction6P, testFunction6P, testFunction6P) : Promise ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction6P : (x: number, cb: (a: T) => T) => Promise >testFunction6P : (x: number, cb: (a: T) => T) => Promise >testFunction6P : (x: number, cb: (a: T) => T) => Promise @@ -694,9 +694,9 @@ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6c : Promise >s6.then(testFunction6P, testFunction6, testFunction6) : Promise ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction6P : (x: number, cb: (a: T) => T) => Promise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise @@ -704,15 +704,15 @@ var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s6d : Promise> >s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> ->s6.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s6.then(sPromise, sPromise, sPromise) : Promise ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -723,9 +723,9 @@ var r7: IPromise; var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error >r7a : IPromise >r7.then(testFunction7, testFunction7, testFunction7) : IPromise ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r7 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction7 : (cb: (a: T) => T) => IPromise >testFunction7 : (cb: (a: T) => T) => IPromise >testFunction7 : (cb: (a: T) => T) => IPromise @@ -733,15 +733,15 @@ var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r7b : IPromise >r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise ->r7.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r7.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r7.then(sIPromise, sIPromise, sIPromise) : IPromise ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r7 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -752,9 +752,9 @@ var s7: Promise; var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error >s7a : IPromise >r7.then(testFunction7, testFunction7, testFunction7) : IPromise ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r7 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction7 : (cb: (a: T) => T) => IPromise >testFunction7 : (cb: (a: T) => T) => IPromise >testFunction7 : (cb: (a: T) => T) => IPromise @@ -762,9 +762,9 @@ var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error >s7b : IPromise >r7.then(testFunction7P, testFunction7P, testFunction7P) : IPromise ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r7 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction7P : (cb: (a: T) => T) => Promise >testFunction7P : (cb: (a: T) => T) => Promise >testFunction7P : (cb: (a: T) => T) => Promise @@ -772,9 +772,9 @@ var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error >s7c : IPromise >r7.then(testFunction7P, testFunction7, testFunction7) : IPromise ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r7 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction7P : (cb: (a: T) => T) => Promise >testFunction7 : (cb: (a: T) => T) => IPromise >testFunction7 : (cb: (a: T) => T) => IPromise @@ -782,15 +782,15 @@ var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? >s7d : IPromise >r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise) : IPromise ->r7.then(sPromise, sPromise, sPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r7.then(sPromise, sPromise, sPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r7.then(sPromise, sPromise, sPromise) : IPromise ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r7 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise @@ -809,9 +809,9 @@ var nPromise: (x: any) => Promise; var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error >r8a : IPromise >r8.then(testFunction8, testFunction8, testFunction8) : IPromise ->r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r8 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise @@ -819,15 +819,15 @@ var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >r8b : IPromise >r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : IPromise ->r8.then(nIPromise, nIPromise, nIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r8.then(nIPromise, nIPromise, nIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r8.then(nIPromise, nIPromise, nIPromise) : IPromise ->r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r8 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -838,9 +838,9 @@ var s8: Promise; var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error >s8a : Promise >s8.then(testFunction8, testFunction8, testFunction8) : Promise ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise @@ -848,9 +848,9 @@ var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >s8b : Promise >s8.then(testFunction8P, testFunction8P, testFunction8P) : Promise ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction8P : (x: T, cb: (a: T) => T) => Promise >testFunction8P : (x: T, cb: (a: T) => T) => Promise >testFunction8P : (x: T, cb: (a: T) => T) => Promise @@ -858,9 +858,9 @@ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error >s8c : Promise >s8.then(testFunction8P, testFunction8, testFunction8) : Promise ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction8P : (x: T, cb: (a: T) => T) => Promise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise @@ -868,15 +868,15 @@ var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >s8d : Promise> >s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : Promise> ->s8.then(nIPromise, nIPromise, nIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then(nIPromise, nIPromise, nIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s8.then(nIPromise, nIPromise, nIPromise) : Promise> ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -887,9 +887,9 @@ var r9: IPromise; var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error >r9a : IPromise >r9.then(testFunction9, testFunction9, testFunction9) : IPromise ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r9 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise @@ -897,9 +897,9 @@ var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok >r9b : IPromise >r9.then(sIPromise, sIPromise, sIPromise) : IPromise ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r9 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -907,9 +907,9 @@ var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok >r9c : IPromise >r9.then(nIPromise, nIPromise, nIPromise) : IPromise ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r9 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -917,9 +917,9 @@ var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok var r9d = r9.then(testFunction, sIPromise, nIPromise); // ok >r9d : IPromise >r9.then(testFunction, sIPromise, nIPromise) : IPromise ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r9 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction : () => IPromise >sIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -927,15 +927,15 @@ var r9d = r9.then(testFunction, sIPromise, nIPromise); // ok var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r9e : IPromise >r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise ->r9.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r9.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r9.then(testFunction, nIPromise, sIPromise) : IPromise ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r9 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction : () => IPromise >nIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -946,9 +946,9 @@ var s9: Promise; var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error >s9a : Promise >s9.then(testFunction9, testFunction9, testFunction9) : Promise ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise @@ -956,9 +956,9 @@ var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9b : Promise >s9.then(testFunction9P, testFunction9P, testFunction9P) : Promise ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction9P : (x: T, cb: (a: U) => U) => Promise >testFunction9P : (x: T, cb: (a: U) => U) => Promise >testFunction9P : (x: T, cb: (a: U) => U) => Promise @@ -966,9 +966,9 @@ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9c : Promise >s9.then(testFunction9P, testFunction9, testFunction9) : Promise ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction9P : (x: T, cb: (a: U) => U) => Promise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise @@ -976,9 +976,9 @@ var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9d : Promise >s9.then(sPromise, sPromise, sPromise) : Promise ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise @@ -986,9 +986,9 @@ var s9d = s9.then(sPromise, sPromise, sPromise); // ok var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9e : Promise >s9.then(nPromise, nPromise, nPromise) : Promise ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >nPromise : (x: any) => Promise >nPromise : (x: any) => Promise >nPromise : (x: any) => Promise @@ -996,9 +996,9 @@ var s9e = s9.then(nPromise, nPromise, nPromise); // ok var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9f : Promise >s9.then(testFunction, sIPromise, nIPromise) : Promise ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >sIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1006,15 +1006,15 @@ var s9f = s9.then(testFunction, sIPromise, nIPromise); // error var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >s9g : Promise> >s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : Promise> ->s9.then(testFunction, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then(testFunction, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s9.then(testFunction, nIPromise, sIPromise) : Promise> ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >nIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -1030,9 +1030,9 @@ var r10 = testFunction10(x => x); var r10a = r10.then(testFunction10, testFunction10, testFunction10); // ok >r10a : IPromise >r10.then(testFunction10, testFunction10, testFunction10) : IPromise ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r10 : IPromise ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise @@ -1040,9 +1040,9 @@ var r10a = r10.then(testFunction10, testFunction10, testFunction10); // ok var r10b = r10.then(sIPromise, sIPromise, sIPromise); // ok >r10b : IPromise >r10.then(sIPromise, sIPromise, sIPromise) : IPromise ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r10 : IPromise ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -1050,9 +1050,9 @@ var r10b = r10.then(sIPromise, sIPromise, sIPromise); // ok var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok >r10c : IPromise >r10.then(nIPromise, nIPromise, nIPromise) : IPromise ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r10 : IPromise ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1060,9 +1060,9 @@ var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok var r10d = r10.then(testFunction, sIPromise, nIPromise); // ok >r10d : IPromise >r10.then(testFunction, sIPromise, nIPromise) : IPromise ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r10 : IPromise ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction : () => IPromise >sIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1070,15 +1070,15 @@ var r10d = r10.then(testFunction, sIPromise, nIPromise); // ok var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r10e : IPromise >r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise ->r10.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r10.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r10.then(testFunction, nIPromise, sIPromise) : IPromise ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r10 : IPromise ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction : () => IPromise >nIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -1094,9 +1094,9 @@ var s10 = testFunction10P(x => x); var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok >s10a : Promise> >s10.then(testFunction10, testFunction10, testFunction10) : Promise> ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise @@ -1104,9 +1104,9 @@ var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok >s10b : Promise >s10.then(testFunction10P, testFunction10P, testFunction10P) : Promise ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction10P : (cb: (a: U) => U) => Promise >testFunction10P : (cb: (a: U) => U) => Promise >testFunction10P : (cb: (a: U) => U) => Promise @@ -1114,9 +1114,9 @@ var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok >s10c : Promise >s10.then(testFunction10P, testFunction10, testFunction10) : Promise ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction10P : (cb: (a: U) => U) => Promise >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise @@ -1124,9 +1124,9 @@ var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10d : Promise >s10.then(sPromise, sPromise, sPromise) : Promise ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise @@ -1134,9 +1134,9 @@ var s10d = s10.then(sPromise, sPromise, sPromise); // ok var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10e : Promise> >s10.then(nIPromise, nPromise, nIPromise) : Promise> ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >nIPromise : (x: any) => IPromise >nPromise : (x: any) => Promise >nIPromise : (x: any) => IPromise @@ -1144,9 +1144,9 @@ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10f : Promise >s10.then(testFunctionP, sIPromise, nIPromise) : Promise ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >sIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1154,15 +1154,15 @@ var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok >s10g : Promise> >s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise) : Promise> ->s10.then(testFunctionP, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then(testFunctionP, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s10.then(testFunctionP, nIPromise, sIPromise) : Promise> ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >nIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -1173,9 +1173,9 @@ var r11: IPromise; var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error >r11a : IPromise >r11.then(testFunction11, testFunction11, testFunction11) : IPromise ->r11.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r11.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r11 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } @@ -1186,9 +1186,9 @@ var s11: Promise; var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok >s11a : Promise >s11.then(testFunction11, testFunction11, testFunction11) : Promise ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s11 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } @@ -1196,9 +1196,9 @@ var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error >s11b : Promise >s11.then(testFunction11P, testFunction11P, testFunction11P) : Promise ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s11 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } @@ -1206,9 +1206,9 @@ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error >s11c : Promise >s11.then(testFunction11P, testFunction11, testFunction11) : Promise ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s11 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } @@ -1216,7 +1216,7 @@ var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error var r12 = testFunction12(x => x); >r12 : IPromise<(x: any) => any> >testFunction12(x => x) : IPromise<(x: any) => any> ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } >x => x : (x: any) => any >x : any >x : any @@ -1224,17 +1224,17 @@ var r12 = testFunction12(x => x); var r12a = r12.then(testFunction12, testFunction12, testFunction12); // ok >r12a : IPromise >r12.then(testFunction12, testFunction12, testFunction12) : IPromise ->r12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r12 : IPromise<(x: any) => any> ->then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } var s12 = testFunction12(x => x); >s12 : IPromise<(x: any) => any> >testFunction12(x => x) : IPromise<(x: any) => any> ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } >x => x : (x: any) => any >x : any >x : any @@ -1242,30 +1242,30 @@ var s12 = testFunction12(x => x); var s12a = s12.then(testFunction12, testFunction12, testFunction12); // ok >s12a : IPromise >s12.then(testFunction12, testFunction12, testFunction12) : IPromise ->s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >s12 : IPromise<(x: any) => any> ->then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } var s12b = s12.then(testFunction12P, testFunction12P, testFunction12P); // ok >s12b : IPromise >s12.then(testFunction12P, testFunction12P, testFunction12P) : IPromise ->s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >s12 : IPromise<(x: any) => any> ->then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } ->testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } ->testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } ->testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +>then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } +>testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } +>testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } +>testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok >s12c : IPromise >s12.then(testFunction12P, testFunction12, testFunction12) : IPromise ->s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >s12 : IPromise<(x: any) => any> ->then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } ->testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } +>testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } diff --git a/tests/baselines/reference/promisePermutations2.types b/tests/baselines/reference/promisePermutations2.types index 8dd5a1095ab36..c0fbc5721c524 100644 --- a/tests/baselines/reference/promisePermutations2.types +++ b/tests/baselines/reference/promisePermutations2.types @@ -25,7 +25,7 @@ interface Promise { interface IPromise { then(success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >success : (value: T) => IPromise >value : T >error : (error: any) => IPromise @@ -34,7 +34,7 @@ interface IPromise { >progress : any then(success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_4, error?: (error: any) => U_4, progress?: (progress: any) => void): IPromise; } >success : (value: T) => IPromise >value : T >error : (error: any) => U @@ -43,7 +43,7 @@ interface IPromise { >progress : any then(success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_4, error?: (error: any) => U_4, progress?: (progress: any) => void): IPromise; } >success : (value: T) => U >value : T >error : (error: any) => IPromise @@ -52,7 +52,7 @@ interface IPromise { >progress : any then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; ->then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: T) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => IPromise, error?: (error: any) => U_2, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U_3, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } >success : (value: T) => U >value : T >error : (error: any) => U @@ -187,20 +187,20 @@ declare function testFunction11P(x: string): Promise; >x : string declare function testFunction12(x: T): IPromise; ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } >x : T declare function testFunction12(x: T, y: T): IPromise; ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>testFunction12 : { (x: T_1): IPromise; (x: T, y: T): IPromise; } >x : T >y : T declare function testFunction12P(x: T): IPromise; ->testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +>testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } >x : T declare function testFunction12P(x: T, y: T): Promise; ->testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +>testFunction12P : { (x: T_1): IPromise; (x: T, y: T): Promise; } >x : T >y : T @@ -210,9 +210,9 @@ var r1: IPromise; var r1a = r1.then(testFunction, testFunction, testFunction); >r1a : IPromise >r1.then(testFunction, testFunction, testFunction) : IPromise ->r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r1 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction : () => IPromise >testFunction : () => IPromise >testFunction : () => IPromise @@ -220,15 +220,15 @@ var r1a = r1.then(testFunction, testFunction, testFunction); var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction); >r1b : IPromise >r1.then(testFunction, testFunction, testFunction).then(testFunction, testFunction, testFunction) : IPromise ->r1.then(testFunction, testFunction, testFunction).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r1.then(testFunction, testFunction, testFunction).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r1.then(testFunction, testFunction, testFunction) : IPromise ->r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r1 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction : () => IPromise >testFunction : () => IPromise >testFunction : () => IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction : () => IPromise >testFunction : () => IPromise >testFunction : () => IPromise @@ -236,9 +236,9 @@ var r1b = r1.then(testFunction, testFunction, testFunction).then(testFunction, t var r1c = r1.then(testFunctionP, testFunctionP, testFunctionP); >r1c : IPromise >r1.then(testFunctionP, testFunctionP, testFunctionP) : IPromise ->r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r1.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r1 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunctionP : () => Promise >testFunctionP : () => Promise >testFunctionP : () => Promise @@ -299,9 +299,9 @@ var r2: IPromise<{ x: number; }>; var r2a = r2.then(testFunction2, testFunction2, testFunction2); >r2a : IPromise<{ x: number; }> >r2.then(testFunction2, testFunction2, testFunction2) : IPromise<{ x: number; }> ->r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r2 : IPromise<{ x: number; }> ->then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -309,15 +309,15 @@ var r2a = r2.then(testFunction2, testFunction2, testFunction2); var r2b = r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >r2b : IPromise<{ x: number; }> >r2.then(testFunction2, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : IPromise<{ x: number; }> ->r2.then(testFunction2, testFunction2, testFunction2).then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r2.then(testFunction2, testFunction2, testFunction2).then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r2.then(testFunction2, testFunction2, testFunction2) : IPromise<{ x: number; }> ->r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r2.then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r2 : IPromise<{ x: number; }> ->then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> ->then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: { x: number; }) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -378,9 +378,9 @@ var r3: IPromise; var r3a = r3.then(testFunction3, testFunction3, testFunction3); >r3a : IPromise >r3.then(testFunction3, testFunction3, testFunction3) : IPromise ->r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r3 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -388,15 +388,15 @@ var r3a = r3.then(testFunction3, testFunction3, testFunction3); var r3b = r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); >r3b : IPromise >r3.then(testFunction3, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : IPromise ->r3.then(testFunction3, testFunction3, testFunction3).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r3.then(testFunction3, testFunction3, testFunction3).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r3.then(testFunction3, testFunction3, testFunction3) : IPromise ->r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r3.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r3 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -464,9 +464,9 @@ var sPromise: (x: any) => Promise; var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error >r4a : IPromise >r4.then(testFunction4, testFunction4, testFunction4) : IPromise ->r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r4 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise @@ -474,15 +474,15 @@ var r4a = r4.then(testFunction4, testFunction4, testFunction4); // error var r4b = r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4); // ok >r4b : IPromise >r4.then(sIPromise, testFunction4, testFunction4).then(sIPromise, testFunction4, testFunction4) : IPromise ->r4.then(sIPromise, testFunction4, testFunction4).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r4.then(sIPromise, testFunction4, testFunction4).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r4.then(sIPromise, testFunction4, testFunction4) : IPromise ->r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r4.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r4 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise @@ -542,9 +542,9 @@ var r5: IPromise; var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error >r5a : IPromise >r5.then(testFunction5, testFunction5, testFunction5) : IPromise ->r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r5 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise @@ -552,15 +552,15 @@ var r5a = r5.then(testFunction5, testFunction5, testFunction5); // error var r5b = r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r5b : IPromise >r5.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise ->r5.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r5.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r5.then(sIPromise, sIPromise, sIPromise) : IPromise ->r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r5.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r5 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -620,9 +620,9 @@ var r6: IPromise; var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error >r6a : IPromise >r6.then(testFunction6, testFunction6, testFunction6) : IPromise ->r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r6 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise @@ -630,15 +630,15 @@ var r6a = r6.then(testFunction6, testFunction6, testFunction6); // error var r6b = r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r6b : IPromise >r6.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise ->r6.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r6.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r6.then(sIPromise, sIPromise, sIPromise) : IPromise ->r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r6.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r6 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -698,9 +698,9 @@ var r7: IPromise; var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error >r7a : IPromise >r7.then(testFunction7, testFunction7, testFunction7) : IPromise ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r7 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction7 : (cb: (a: T) => T) => IPromise >testFunction7 : (cb: (a: T) => T) => IPromise >testFunction7 : (cb: (a: T) => T) => IPromise @@ -708,15 +708,15 @@ var r7a = r7.then(testFunction7, testFunction7, testFunction7); // error var r7b = r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r7b : IPromise >r7.then(sIPromise, sIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise ->r7.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r7.then(sIPromise, sIPromise, sIPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r7.then(sIPromise, sIPromise, sIPromise) : IPromise ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r7 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -727,9 +727,9 @@ var s7: Promise; var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error >s7a : IPromise >r7.then(testFunction7, testFunction7, testFunction7) : IPromise ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r7 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction7 : (cb: (a: T) => T) => IPromise >testFunction7 : (cb: (a: T) => T) => IPromise >testFunction7 : (cb: (a: T) => T) => IPromise @@ -737,9 +737,9 @@ var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error >s7b : IPromise >r7.then(testFunction7P, testFunction7P, testFunction7P) : IPromise ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r7 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction7P : (cb: (a: T) => T) => Promise >testFunction7P : (cb: (a: T) => T) => Promise >testFunction7P : (cb: (a: T) => T) => Promise @@ -747,9 +747,9 @@ var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error >s7c : IPromise >r7.then(testFunction7P, testFunction7, testFunction7) : IPromise ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r7 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction7P : (cb: (a: T) => T) => Promise >testFunction7 : (cb: (a: T) => T) => IPromise >testFunction7 : (cb: (a: T) => T) => IPromise @@ -757,15 +757,15 @@ var s7c = r7.then(testFunction7P, testFunction7, testFunction7); // error var s7d = r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise); // ok? >s7d : IPromise >r7.then(sPromise, sPromise, sPromise).then(sPromise, sPromise, sPromise) : IPromise ->r7.then(sPromise, sPromise, sPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r7.then(sPromise, sPromise, sPromise).then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r7.then(sPromise, sPromise, sPromise) : IPromise ->r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r7.then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r7 : IPromise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise ->then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: string) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise @@ -784,9 +784,9 @@ var nPromise: (x: any) => Promise; var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error >r8a : IPromise >r8.then(testFunction8, testFunction8, testFunction8) : IPromise ->r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r8 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise @@ -794,15 +794,15 @@ var r8a = r8.then(testFunction8, testFunction8, testFunction8); // error var r8b = r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >r8b : IPromise >r8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : IPromise ->r8.then(nIPromise, nIPromise, nIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r8.then(nIPromise, nIPromise, nIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r8.then(nIPromise, nIPromise, nIPromise) : IPromise ->r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r8.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r8 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -862,9 +862,9 @@ var r9: IPromise; var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error >r9a : IPromise >r9.then(testFunction9, testFunction9, testFunction9) : IPromise ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r9 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise @@ -872,9 +872,9 @@ var r9a = r9.then(testFunction9, testFunction9, testFunction9); // error var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok >r9b : IPromise >r9.then(sIPromise, sIPromise, sIPromise) : IPromise ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r9 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -882,9 +882,9 @@ var r9b = r9.then(sIPromise, sIPromise, sIPromise); // ok var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok >r9c : IPromise >r9.then(nIPromise, nIPromise, nIPromise) : IPromise ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r9 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -892,9 +892,9 @@ var r9c = r9.then(nIPromise, nIPromise, nIPromise); // ok var r9d = r9.then(testFunction, sIPromise, nIPromise); // error >r9d : IPromise >r9.then(testFunction, sIPromise, nIPromise) : IPromise ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r9 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction : () => IPromise >sIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -902,15 +902,15 @@ var r9d = r9.then(testFunction, sIPromise, nIPromise); // error var r9e = r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r9e : IPromise >r9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise ->r9.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r9.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r9.then(testFunction, nIPromise, sIPromise) : IPromise ->r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r9.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r9 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction : () => IPromise >nIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -1005,9 +1005,9 @@ var r10 = testFunction10(x => x); var r10a = r10.then(testFunction10, testFunction10, testFunction10); // ok >r10a : IPromise >r10.then(testFunction10, testFunction10, testFunction10) : IPromise ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r10 : IPromise ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise @@ -1015,9 +1015,9 @@ var r10a = r10.then(testFunction10, testFunction10, testFunction10); // ok var r10b = r10.then(sIPromise, sIPromise, sIPromise); // ok >r10b : IPromise >r10.then(sIPromise, sIPromise, sIPromise) : IPromise ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r10 : IPromise ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -1025,9 +1025,9 @@ var r10b = r10.then(sIPromise, sIPromise, sIPromise); // ok var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok >r10c : IPromise >r10.then(nIPromise, nIPromise, nIPromise) : IPromise ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r10 : IPromise ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1035,9 +1035,9 @@ var r10c = r10.then(nIPromise, nIPromise, nIPromise); // ok var r10d = r10.then(testFunction, sIPromise, nIPromise); // error >r10d : IPromise >r10.then(testFunction, sIPromise, nIPromise) : IPromise ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r10 : IPromise ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction : () => IPromise >sIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1045,15 +1045,15 @@ var r10d = r10.then(testFunction, sIPromise, nIPromise); // error var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >r10e : IPromise >r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : IPromise ->r10.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r10.then(testFunction, nIPromise, sIPromise).then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r10.then(testFunction, nIPromise, sIPromise) : IPromise ->r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r10.then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r10 : IPromise ->then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: unknown) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction : () => IPromise >nIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -1148,9 +1148,9 @@ var r11: IPromise; var r11a = r11.then(testFunction11, testFunction11, testFunction11); // error >r11a : IPromise >r11.then(testFunction11, testFunction11, testFunction11) : IPromise ->r11.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r11.then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r11 : IPromise ->then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>then : { (success?: (value: number) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } @@ -1191,7 +1191,7 @@ var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // ok var r12 = testFunction12(x => x); >r12 : IPromise<(x: any) => any> >testFunction12(x => x) : IPromise<(x: any) => any> ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } >x => x : (x: any) => any >x : any >x : any @@ -1199,17 +1199,17 @@ var r12 = testFunction12(x => x); var r12a = r12.then(testFunction12, testFunction12, testFunction12); // ok >r12a : IPromise >r12.then(testFunction12, testFunction12, testFunction12) : IPromise ->r12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>r12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >r12 : IPromise<(x: any) => any> ->then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } var s12 = testFunction12(x => x); >s12 : IPromise<(x: any) => any> >testFunction12(x => x) : IPromise<(x: any) => any> ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } >x => x : (x: any) => any >x : any >x : any @@ -1217,30 +1217,30 @@ var s12 = testFunction12(x => x); var s12a = s12.then(testFunction12, testFunction12, testFunction12); // ok >s12a : IPromise >s12.then(testFunction12, testFunction12, testFunction12) : IPromise ->s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >s12 : IPromise<(x: any) => any> ->then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } var s12b = s12.then(testFunction12P, testFunction12P, testFunction12P); // ok >s12b : IPromise >s12.then(testFunction12P, testFunction12P, testFunction12P) : IPromise ->s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >s12 : IPromise<(x: any) => any> ->then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } ->testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } ->testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } ->testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +>then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } +>testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } +>testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } +>testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok >s12c : IPromise >s12.then(testFunction12P, testFunction12, testFunction12) : IPromise ->s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } +>s12.then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } >s12 : IPromise<(x: any) => any> ->then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void): IPromise; } ->testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>then : { (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => IPromise, error?: (error: any) => U_1, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_2, error?: (error: any) => IPromise, progress?: (progress: any) => void): IPromise; (success?: (value: (x: any) => any) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): IPromise; } +>testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } diff --git a/tests/baselines/reference/promisePermutations3.types b/tests/baselines/reference/promisePermutations3.types index 20f6b12cc6150..dacc896422e0e 100644 --- a/tests/baselines/reference/promisePermutations3.types +++ b/tests/baselines/reference/promisePermutations3.types @@ -5,7 +5,7 @@ interface Promise { then(success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >success : (value: T) => Promise >value : T >error : (error: any) => Promise @@ -14,7 +14,7 @@ interface Promise { >progress : any then(success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_3, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_4, error?: (error: any) => U_4, progress?: (progress: any) => void): Promise; } >success : (value: T) => Promise >value : T >error : (error: any) => U @@ -23,7 +23,7 @@ interface Promise { >progress : any then(success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_2, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_4, error?: (error: any) => U_4, progress?: (progress: any) => void): Promise; } >success : (value: T) => U >value : T >error : (error: any) => Promise @@ -32,7 +32,7 @@ interface Promise { >progress : any then(success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => Promise, error?: (error: any) => U_2, progress?: (progress: any) => void): Promise; (success?: (value: T) => U_3, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: T) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } >success : (value: T) => U >value : T >error : (error: any) => U @@ -187,20 +187,20 @@ declare function testFunction11P(x: string): Promise; >x : string declare function testFunction12(x: T): IPromise; ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } >x : T declare function testFunction12(x: T, y: T): IPromise; ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>testFunction12 : { (x: T_1): IPromise; (x: T, y: T): IPromise; } >x : T >y : T declare function testFunction12P(x: T): IPromise; ->testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +>testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } >x : T declare function testFunction12P(x: T, y: T): Promise; ->testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +>testFunction12P : { (x: T_1): IPromise; (x: T, y: T): Promise; } >x : T >y : T @@ -249,9 +249,9 @@ var s1: Promise; var s1a = s1.then(testFunction, testFunction, testFunction); >s1a : Promise> >s1.then(testFunction, testFunction, testFunction) : Promise> ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >testFunction : () => IPromise >testFunction : () => IPromise @@ -259,9 +259,9 @@ var s1a = s1.then(testFunction, testFunction, testFunction); var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); >s1b : Promise >s1.then(testFunctionP, testFunctionP, testFunctionP) : Promise ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >testFunctionP : () => Promise >testFunctionP : () => Promise @@ -269,9 +269,9 @@ var s1b = s1.then(testFunctionP, testFunctionP, testFunctionP); var s1c = s1.then(testFunctionP, testFunction, testFunction); >s1c : Promise> >s1.then(testFunctionP, testFunction, testFunction) : Promise> ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >testFunction : () => IPromise >testFunction : () => IPromise @@ -279,15 +279,15 @@ var s1c = s1.then(testFunctionP, testFunction, testFunction); var s1d = s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction); >s1d : Promise> >s1.then(testFunctionP, testFunction, testFunction).then(testFunction, testFunction, testFunction) : Promise> ->s1.then(testFunctionP, testFunction, testFunction).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then(testFunctionP, testFunction, testFunction).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s1.then(testFunctionP, testFunction, testFunction) : Promise> ->s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s1.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s1 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >testFunction : () => IPromise >testFunction : () => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >testFunction : () => IPromise >testFunction : () => IPromise @@ -329,9 +329,9 @@ var s2: Promise<{ x: number; }>; var s2a = s2.then(testFunction2, testFunction2, testFunction2); >s2a : Promise> >s2.then(testFunction2, testFunction2, testFunction2) : Promise> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -339,9 +339,9 @@ var s2a = s2.then(testFunction2, testFunction2, testFunction2); var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); >s2b : Promise<{ x: number; }> >s2.then(testFunction2P, testFunction2P, testFunction2P) : Promise<{ x: number; }> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction2P : () => Promise<{ x: number; }> >testFunction2P : () => Promise<{ x: number; }> >testFunction2P : () => Promise<{ x: number; }> @@ -349,9 +349,9 @@ var s2b = s2.then(testFunction2P, testFunction2P, testFunction2P); var s2c = s2.then(testFunction2P, testFunction2, testFunction2); >s2c : Promise> >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction2P : () => Promise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -359,15 +359,15 @@ var s2c = s2.then(testFunction2P, testFunction2, testFunction2); var s2d = s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2); >s2d : Promise> >s2.then(testFunction2P, testFunction2, testFunction2).then(testFunction2, testFunction2, testFunction2) : Promise> ->s2.then(testFunction2P, testFunction2, testFunction2).then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then(testFunction2P, testFunction2, testFunction2).then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s2.then(testFunction2P, testFunction2, testFunction2) : Promise> ->s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s2.then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s2 : Promise<{ x: number; }> ->then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: { x: number; }) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: { x: number; }) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction2P : () => Promise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise<{ x: number; }>) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise<{ x: number; }>) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> >testFunction2 : () => IPromise<{ x: number; }> @@ -407,9 +407,9 @@ var s3: Promise; var s3a = s3.then(testFunction3, testFunction3, testFunction3); >s3a : Promise> >s3.then(testFunction3, testFunction3, testFunction3) : Promise> ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -417,9 +417,9 @@ var s3a = s3.then(testFunction3, testFunction3, testFunction3); var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); >s3b : Promise >s3.then(testFunction3P, testFunction3P, testFunction3P) : Promise ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction3P : (x: number) => Promise >testFunction3P : (x: number) => Promise >testFunction3P : (x: number) => Promise @@ -427,9 +427,9 @@ var s3b = s3.then(testFunction3P, testFunction3P, testFunction3P); var s3c = s3.then(testFunction3P, testFunction3, testFunction3); >s3c : Promise> >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction3P : (x: number) => Promise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -437,15 +437,15 @@ var s3c = s3.then(testFunction3P, testFunction3, testFunction3); var s3d = s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3); >s3d : Promise >s3.then(testFunction3P, testFunction3, testFunction3).then(testFunction3, testFunction3, testFunction3) : Promise ->s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then(testFunction3P, testFunction3, testFunction3).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s3.then(testFunction3P, testFunction3, testFunction3) : Promise> ->s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s3.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s3 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction3P : (x: number) => Promise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise >testFunction3 : (x: number) => IPromise @@ -493,9 +493,9 @@ var s4: Promise; var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error >s4a : Promise >s4.then(testFunction4, testFunction4, testFunction4) : Promise ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise @@ -503,9 +503,9 @@ var s4a = s4.then(testFunction4, testFunction4, testFunction4); // error var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error >s4b : Promise >s4.then(testFunction4P, testFunction4P, testFunction4P) : Promise ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction4P : (x: number, y?: string) => Promise >testFunction4P : (x: number, y?: string) => Promise >testFunction4P : (x: number, y?: string) => Promise @@ -513,9 +513,9 @@ var s4b = s4.then(testFunction4P, testFunction4P, testFunction4P); // error var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error >s4c : Promise >s4.then(testFunction4P, testFunction4, testFunction4) : Promise ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction4P : (x: number, y?: string) => Promise >testFunction4 : (x: number, y?: string) => IPromise >testFunction4 : (x: number, y?: string) => IPromise @@ -523,15 +523,15 @@ var s4c = s4.then(testFunction4P, testFunction4, testFunction4); // error var s4d = s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4); >s4d : Promise> >s4.then(sIPromise, testFunction4P, testFunction4).then(sIPromise, testFunction4P, testFunction4) : Promise> ->s4.then(sIPromise, testFunction4P, testFunction4).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then(sIPromise, testFunction4P, testFunction4).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s4.then(sIPromise, testFunction4P, testFunction4) : Promise> ->s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s4.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s4 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >testFunction4P : (x: number, y?: string) => Promise >testFunction4 : (x: number, y?: string) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >testFunction4P : (x: number, y?: string) => Promise >testFunction4 : (x: number, y?: string) => IPromise @@ -571,9 +571,9 @@ var s5: Promise; var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error >s5a : Promise >s5.then(testFunction5, testFunction5, testFunction5) : Promise ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise @@ -581,9 +581,9 @@ var s5a = s5.then(testFunction5, testFunction5, testFunction5); // error var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error >s5b : Promise >s5.then(testFunction5P, testFunction5P, testFunction5P) : Promise ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction5P : (x: number, cb: (a: string) => string) => Promise >testFunction5P : (x: number, cb: (a: string) => string) => Promise >testFunction5P : (x: number, cb: (a: string) => string) => Promise @@ -591,9 +591,9 @@ var s5b = s5.then(testFunction5P, testFunction5P, testFunction5P); // error var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error >s5c : Promise >s5.then(testFunction5P, testFunction5, testFunction5) : Promise ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction5P : (x: number, cb: (a: string) => string) => Promise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise >testFunction5 : (x: number, cb: (a: string) => string) => IPromise @@ -601,15 +601,15 @@ var s5c = s5.then(testFunction5P, testFunction5, testFunction5); // error var s5d = s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s5d : Promise> >s5.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> ->s5.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s5.then(sPromise, sPromise, sPromise) : Promise ->s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s5.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s5 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -649,9 +649,9 @@ var s6: Promise; var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error >s6a : Promise >s6.then(testFunction6, testFunction6, testFunction6) : Promise ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise @@ -659,9 +659,9 @@ var s6a = s6.then(testFunction6, testFunction6, testFunction6); // error var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error >s6b : Promise >s6.then(testFunction6P, testFunction6P, testFunction6P) : Promise ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction6P : (x: number, cb: (a: T) => T) => Promise >testFunction6P : (x: number, cb: (a: T) => T) => Promise >testFunction6P : (x: number, cb: (a: T) => T) => Promise @@ -669,9 +669,9 @@ var s6b = s6.then(testFunction6P, testFunction6P, testFunction6P); // error var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error >s6c : Promise >s6.then(testFunction6P, testFunction6, testFunction6) : Promise ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction6P : (x: number, cb: (a: T) => T) => Promise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise >testFunction6 : (x: number, cb: (a: T) => T) => IPromise @@ -679,15 +679,15 @@ var s6c = s6.then(testFunction6P, testFunction6, testFunction6); // error var s6d = s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise); // ok >s6d : Promise> >s6.then(sPromise, sPromise, sPromise).then(sIPromise, sIPromise, sIPromise) : Promise> ->s6.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then(sPromise, sPromise, sPromise).then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s6.then(sPromise, sPromise, sPromise) : Promise ->s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s6.then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s6 : Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise ->then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: string) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: string) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: string) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -813,9 +813,9 @@ var s8: Promise; var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error >s8a : Promise >s8.then(testFunction8, testFunction8, testFunction8) : Promise ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise @@ -823,9 +823,9 @@ var s8a = s8.then(testFunction8, testFunction8, testFunction8); // error var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error >s8b : Promise >s8.then(testFunction8P, testFunction8P, testFunction8P) : Promise ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction8P : (x: T, cb: (a: T) => T) => Promise >testFunction8P : (x: T, cb: (a: T) => T) => Promise >testFunction8P : (x: T, cb: (a: T) => T) => Promise @@ -833,9 +833,9 @@ var s8b = s8.then(testFunction8P, testFunction8P, testFunction8P); // error var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error >s8c : Promise >s8.then(testFunction8P, testFunction8, testFunction8) : Promise ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction8P : (x: T, cb: (a: T) => T) => Promise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise >testFunction8 : (x: T, cb: (a: T) => T) => IPromise @@ -843,15 +843,15 @@ var s8c = s8.then(testFunction8P, testFunction8, testFunction8); // error var s8d = s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise); // ok >s8d : Promise> >s8.then(nIPromise, nIPromise, nIPromise).then(nIPromise, nIPromise, nIPromise) : Promise> ->s8.then(nIPromise, nIPromise, nIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then(nIPromise, nIPromise, nIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s8.then(nIPromise, nIPromise, nIPromise) : Promise> ->s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s8.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s8 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -921,9 +921,9 @@ var s9: Promise; var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error >s9a : Promise >s9.then(testFunction9, testFunction9, testFunction9) : Promise ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise @@ -931,9 +931,9 @@ var s9a = s9.then(testFunction9, testFunction9, testFunction9); // error var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error >s9b : Promise >s9.then(testFunction9P, testFunction9P, testFunction9P) : Promise ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction9P : (x: T, cb: (a: U) => U) => Promise >testFunction9P : (x: T, cb: (a: U) => U) => Promise >testFunction9P : (x: T, cb: (a: U) => U) => Promise @@ -941,9 +941,9 @@ var s9b = s9.then(testFunction9P, testFunction9P, testFunction9P); // error var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error >s9c : Promise >s9.then(testFunction9P, testFunction9, testFunction9) : Promise ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction9P : (x: T, cb: (a: U) => U) => Promise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise >testFunction9 : (x: T, cb: (a: U) => U) => IPromise @@ -951,9 +951,9 @@ var s9c = s9.then(testFunction9P, testFunction9, testFunction9); // error var s9d = s9.then(sPromise, sPromise, sPromise); // ok >s9d : Promise >s9.then(sPromise, sPromise, sPromise) : Promise ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise @@ -961,9 +961,9 @@ var s9d = s9.then(sPromise, sPromise, sPromise); // ok var s9e = s9.then(nPromise, nPromise, nPromise); // ok >s9e : Promise >s9.then(nPromise, nPromise, nPromise) : Promise ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >nPromise : (x: any) => Promise >nPromise : (x: any) => Promise >nPromise : (x: any) => Promise @@ -971,9 +971,9 @@ var s9e = s9.then(nPromise, nPromise, nPromise); // ok var s9f = s9.then(testFunction, sIPromise, nIPromise); // error >s9f : Promise >s9.then(testFunction, sIPromise, nIPromise) : Promise ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >sIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -981,15 +981,15 @@ var s9f = s9.then(testFunction, sIPromise, nIPromise); // error var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok >s9g : Promise> >s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise) : Promise> ->s9.then(testFunction, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then(testFunction, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s9.then(testFunction, nIPromise, sIPromise) : Promise> ->s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s9.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s9 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction : () => IPromise >nIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -1069,9 +1069,9 @@ var s10 = testFunction10P(x => x); var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok >s10a : Promise> >s10.then(testFunction10, testFunction10, testFunction10) : Promise> ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise @@ -1079,9 +1079,9 @@ var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok >s10b : Promise >s10.then(testFunction10P, testFunction10P, testFunction10P) : Promise ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction10P : (cb: (a: U) => U) => Promise >testFunction10P : (cb: (a: U) => U) => Promise >testFunction10P : (cb: (a: U) => U) => Promise @@ -1089,9 +1089,9 @@ var s10b = s10.then(testFunction10P, testFunction10P, testFunction10P); // ok var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok >s10c : Promise >s10.then(testFunction10P, testFunction10, testFunction10) : Promise ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction10P : (cb: (a: U) => U) => Promise >testFunction10 : (cb: (a: U) => U) => IPromise >testFunction10 : (cb: (a: U) => U) => IPromise @@ -1099,9 +1099,9 @@ var s10c = s10.then(testFunction10P, testFunction10, testFunction10); // ok var s10d = s10.then(sPromise, sPromise, sPromise); // ok >s10d : Promise >s10.then(sPromise, sPromise, sPromise) : Promise ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise >sPromise : (x: any) => Promise @@ -1109,9 +1109,9 @@ var s10d = s10.then(sPromise, sPromise, sPromise); // ok var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok >s10e : Promise> >s10.then(nIPromise, nPromise, nIPromise) : Promise> ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >nIPromise : (x: any) => IPromise >nPromise : (x: any) => Promise >nIPromise : (x: any) => IPromise @@ -1119,9 +1119,9 @@ var s10e = s10.then(nIPromise, nPromise, nIPromise); // ok var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error >s10f : Promise >s10.then(testFunctionP, sIPromise, nIPromise) : Promise ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >sIPromise : (x: any) => IPromise >nIPromise : (x: any) => IPromise @@ -1129,15 +1129,15 @@ var s10f = s10.then(testFunctionP, sIPromise, nIPromise); // error var s10g = s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise); // ok >s10g : Promise> >s10.then(testFunctionP, nIPromise, sIPromise).then(sPromise, sIPromise, sIPromise) : Promise> ->s10.then(testFunctionP, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then(testFunctionP, nIPromise, sIPromise).then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s10.then(testFunctionP, nIPromise, sIPromise) : Promise> ->s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s10.then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s10 : Promise ->then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: unknown) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: unknown) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunctionP : () => Promise >nIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise ->then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { , TResult2 = never>(onfulfilled?: (value: IPromise) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: IPromise) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >sPromise : (x: any) => Promise >sIPromise : (x: any) => IPromise >sIPromise : (x: any) => IPromise @@ -1161,9 +1161,9 @@ var s11: Promise; var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok >s11a : Promise >s11.then(testFunction11, testFunction11, testFunction11) : Promise ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s11 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } @@ -1171,9 +1171,9 @@ var s11a = s11.then(testFunction11, testFunction11, testFunction11); // ok var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error >s11b : Promise >s11.then(testFunction11P, testFunction11P, testFunction11P) : Promise ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s11 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } @@ -1181,9 +1181,9 @@ var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error >s11c : Promise >s11.then(testFunction11P, testFunction11, testFunction11) : Promise ->s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>s11.then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >s11 : Promise ->then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U, error?: (error: any) => U, progress?: (progress: any) => void): Promise; } +>then : { (onfulfilled?: (value: number) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: number) => Promise, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => Promise, error?: (error: any) => U_1, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_2, error?: (error: any) => Promise, progress?: (progress: any) => void): Promise; (success?: (value: number) => U_3, error?: (error: any) => U_3, progress?: (progress: any) => void): Promise; } >testFunction11P : { (x: number): Promise; (x: string): Promise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } >testFunction11 : { (x: number): IPromise; (x: string): IPromise; } @@ -1191,7 +1191,7 @@ var s11c = s11.then(testFunction11P, testFunction11, testFunction11); // error var r12 = testFunction12(x => x); >r12 : IPromise<(x: any) => any> >testFunction12(x => x) : IPromise<(x: any) => any> ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } >x => x : (x: any) => any >x : any >x : any @@ -1202,14 +1202,14 @@ var r12a = r12.then(testFunction12, testFunction12, testFunction12); // ok >r12.then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise >r12 : IPromise<(x: any) => any> >then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } var s12 = testFunction12(x => x); >s12 : IPromise<(x: any) => any> >testFunction12(x => x) : IPromise<(x: any) => any> ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } >x => x : (x: any) => any >x : any >x : any @@ -1220,9 +1220,9 @@ var s12a = s12.then(testFunction12, testFunction12, testFunction12); // ok >s12.then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise >s12 : IPromise<(x: any) => any> >then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } var s12b = s12.then(testFunction12P, testFunction12P, testFunction12P); // ok >s12b : IPromise> @@ -1230,9 +1230,9 @@ var s12b = s12.then(testFunction12P, testFunction12P, testFunction12P); // ok >s12.then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise >s12 : IPromise<(x: any) => any> >then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise ->testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } ->testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } ->testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } +>testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } +>testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } +>testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok >s12c : IPromise> @@ -1240,7 +1240,7 @@ var s12c = s12.then(testFunction12P, testFunction12, testFunction12); // ok >s12.then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise >s12 : IPromise<(x: any) => any> >then : (success?: (value: (x: any) => any) => U, error?: (error: any) => U, progress?: (progress: any) => void) => IPromise ->testFunction12P : { (x: T): IPromise; (x: T, y: T): Promise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } ->testFunction12 : { (x: T): IPromise; (x: T, y: T): IPromise; } +>testFunction12P : { (x: T): IPromise; (x: T_1, y: T_1): Promise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } +>testFunction12 : { (x: T): IPromise; (x: T_1, y: T_1): IPromise; } diff --git a/tests/baselines/reference/promiseType.types b/tests/baselines/reference/promiseType.types index 2a09296ea81f7..707b69fa1c4de 100644 --- a/tests/baselines/reference/promiseType.types +++ b/tests/baselines/reference/promiseType.types @@ -283,9 +283,9 @@ const p19 = p.catch(() => Promise.resolve(1)); >catch : (onrejected?: (reason: any) => TResult | PromiseLike) => Promise >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const p20 = p.then(undefined); @@ -363,9 +363,9 @@ const p28 = p.then(() => Promise.resolve(1)); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const p29 = p.then(() => Promise.reject(1)); @@ -465,9 +465,9 @@ const p38 = p.then(undefined, () => Promise.resolve(1)); >undefined : undefined >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const p39 = p.then(undefined, () => Promise.reject(1)); @@ -559,9 +559,9 @@ const p48 = p.then(null, () => Promise.resolve(1)); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const p49 = p.then(null, () => Promise.reject(1)); @@ -670,9 +670,9 @@ const p58 = p.then(() => "1", () => Promise.resolve(1)); >"1" : "1" >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const p59 = p.then(() => "1", () => Promise.reject(1)); @@ -783,9 +783,9 @@ const p68 = p.then(() => x, () => Promise.resolve(1)); >x : any >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const p69 = p.then(() => x, () => Promise.reject(1)); @@ -896,9 +896,9 @@ const p78 = p.then(() => undefined, () => Promise.resolve(1)); >undefined : undefined >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const p79 = p.then(() => undefined, () => Promise.reject(1)); @@ -1000,9 +1000,9 @@ const p88 = p.then(() => null, () => Promise.resolve(1)); >() => null : () => any >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const p89 = p.then(() => null, () => Promise.reject(1)); @@ -1103,9 +1103,9 @@ const p98 = p.then(() => {}, () => Promise.resolve(1)); >() => {} : () => void >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const p99 = p.then(() => {}, () => Promise.reject(1)); @@ -1215,9 +1215,9 @@ const pa8 = p.then(() => {throw 1}, () => Promise.resolve(1)); >1 : 1 >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const pa9 = p.then(() => {throw 1}, () => Promise.reject(1)); @@ -1243,9 +1243,9 @@ const pb0 = p.then(() => Promise.resolve("1"), undefined); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" >undefined : undefined @@ -1257,9 +1257,9 @@ const pb1 = p.then(() => Promise.resolve("1"), null); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" const pb2 = p.then(() => Promise.resolve("1"), () => 1); @@ -1270,9 +1270,9 @@ const pb2 = p.then(() => Promise.resolve("1"), () => 1); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" >() => 1 : () => number >1 : 1 @@ -1285,9 +1285,9 @@ const pb3 = p.then(() => Promise.resolve("1"), () => x); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" >() => x : () => any >x : any @@ -1300,9 +1300,9 @@ const pb4 = p.then(() => Promise.resolve("1"), () => undefined); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" >() => undefined : () => any >undefined : undefined @@ -1315,9 +1315,9 @@ const pb5 = p.then(() => Promise.resolve("1"), () => null); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" >() => null : () => any @@ -1329,9 +1329,9 @@ const pb6 = p.then(() => Promise.resolve("1"), () => {}); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" >() => {} : () => void @@ -1343,9 +1343,9 @@ const pb7 = p.then(() => Promise.resolve("1"), () => {throw 1}); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" >() => {throw 1} : () => never >1 : 1 @@ -1358,15 +1358,15 @@ const pb8 = p.then(() => Promise.resolve("1"), () => Promise.resolve(1)); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); @@ -1377,9 +1377,9 @@ const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); >then : (onfulfilled?: (value: boolean) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise @@ -1517,9 +1517,9 @@ const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); >"1" : "1" >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); @@ -1543,41 +1543,41 @@ const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); Promise.resolve(undefined as Promise | number); >Promise.resolve(undefined as Promise | number) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >undefined as Promise | number : number | Promise >undefined : undefined Promise.resolve(undefined as Promise>); >Promise.resolve(undefined as Promise>) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >undefined as Promise> : Promise> >undefined : undefined Promise.resolve(undefined as string | Promise>); >Promise.resolve(undefined as string | Promise>) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >undefined as string | Promise> : string | Promise> >undefined : undefined Promise.resolve(undefined as Promise | Promise>); >Promise.resolve(undefined as Promise | Promise>) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >undefined as Promise | Promise> : Promise | Promise> >undefined : undefined Promise.resolve(undefined as Promise>>); >Promise.resolve(undefined as Promise>>) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >undefined as Promise>> : Promise>> >undefined : undefined diff --git a/tests/baselines/reference/promiseTypeStrictNull.types b/tests/baselines/reference/promiseTypeStrictNull.types index 63148c5fd5c6a..14032d8110caa 100644 --- a/tests/baselines/reference/promiseTypeStrictNull.types +++ b/tests/baselines/reference/promiseTypeStrictNull.types @@ -283,9 +283,9 @@ const p19 = p.catch(() => Promise.resolve(1)); >catch : (onrejected?: ((reason: any) => TResult | PromiseLike) | null | undefined) => Promise >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const p20 = p.then(undefined); @@ -363,9 +363,9 @@ const p28 = p.then(() => Promise.resolve(1)); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const p29 = p.then(() => Promise.reject(1)); @@ -465,9 +465,9 @@ const p38 = p.then(undefined, () => Promise.resolve(1)); >undefined : undefined >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const p39 = p.then(undefined, () => Promise.reject(1)); @@ -559,9 +559,9 @@ const p48 = p.then(null, () => Promise.resolve(1)); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const p49 = p.then(null, () => Promise.reject(1)); @@ -670,9 +670,9 @@ const p58 = p.then(() => "1", () => Promise.resolve(1)); >"1" : "1" >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const p59 = p.then(() => "1", () => Promise.reject(1)); @@ -783,9 +783,9 @@ const p68 = p.then(() => x, () => Promise.resolve(1)); >x : any >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const p69 = p.then(() => x, () => Promise.reject(1)); @@ -896,9 +896,9 @@ const p78 = p.then(() => undefined, () => Promise.resolve(1)); >undefined : undefined >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const p79 = p.then(() => undefined, () => Promise.reject(1)); @@ -1000,9 +1000,9 @@ const p88 = p.then(() => null, () => Promise.resolve(1)); >() => null : () => null >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const p89 = p.then(() => null, () => Promise.reject(1)); @@ -1103,9 +1103,9 @@ const p98 = p.then(() => {}, () => Promise.resolve(1)); >() => {} : () => void >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const p99 = p.then(() => {}, () => Promise.reject(1)); @@ -1215,9 +1215,9 @@ const pa8 = p.then(() => {throw 1}, () => Promise.resolve(1)); >1 : 1 >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const pa9 = p.then(() => {throw 1}, () => Promise.reject(1)); @@ -1243,9 +1243,9 @@ const pb0 = p.then(() => Promise.resolve("1"), undefined); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" >undefined : undefined @@ -1257,9 +1257,9 @@ const pb1 = p.then(() => Promise.resolve("1"), null); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" const pb2 = p.then(() => Promise.resolve("1"), () => 1); @@ -1270,9 +1270,9 @@ const pb2 = p.then(() => Promise.resolve("1"), () => 1); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" >() => 1 : () => number >1 : 1 @@ -1285,9 +1285,9 @@ const pb3 = p.then(() => Promise.resolve("1"), () => x); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" >() => x : () => any >x : any @@ -1300,9 +1300,9 @@ const pb4 = p.then(() => Promise.resolve("1"), () => undefined); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" >() => undefined : () => undefined >undefined : undefined @@ -1315,9 +1315,9 @@ const pb5 = p.then(() => Promise.resolve("1"), () => null); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" >() => null : () => null @@ -1329,9 +1329,9 @@ const pb6 = p.then(() => Promise.resolve("1"), () => {}); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" >() => {} : () => void @@ -1343,9 +1343,9 @@ const pb7 = p.then(() => Promise.resolve("1"), () => {throw 1}); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" >() => {throw 1} : () => never >1 : 1 @@ -1358,15 +1358,15 @@ const pb8 = p.then(() => Promise.resolve("1"), () => Promise.resolve(1)); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); @@ -1377,9 +1377,9 @@ const pb9 = p.then(() => Promise.resolve("1"), () => Promise.reject(1)); >then : (onfulfilled?: ((value: boolean) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise >() => Promise.resolve("1") : () => Promise >Promise.resolve("1") : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >"1" : "1" >() => Promise.reject(1) : () => Promise >Promise.reject(1) : Promise @@ -1517,9 +1517,9 @@ const pc8 = p.then(() => Promise.reject("1"), () => Promise.resolve(1)); >"1" : "1" >() => Promise.resolve(1) : () => Promise >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 const pc9 = p.then(() => Promise.reject("1"), () => Promise.reject(1)); diff --git a/tests/baselines/reference/promiseVoidErrorCallback.types b/tests/baselines/reference/promiseVoidErrorCallback.types index 3b34c434b1f4a..812b5abe2884f 100644 --- a/tests/baselines/reference/promiseVoidErrorCallback.types +++ b/tests/baselines/reference/promiseVoidErrorCallback.types @@ -21,9 +21,9 @@ function f1(): Promise { return Promise.resolve({ __t1: "foo_t1" }); >Promise.resolve({ __t1: "foo_t1" }) : Promise<{ __t1: string; }> ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >{ __t1: "foo_t1" } : { __t1: string; } >__t1 : string >"foo_t1" : "foo_t1" diff --git a/tests/baselines/reference/promises.types b/tests/baselines/reference/promises.types index 2b451764cdf98..c330cd7e28f86 100644 --- a/tests/baselines/reference/promises.types +++ b/tests/baselines/reference/promises.types @@ -3,12 +3,12 @@ === promises.ts === interface Promise { then(success?: (value: T) => U): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => U): Promise; (success?: (value: T) => Promise): Promise; } +>then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => U): Promise; (success?: (value: T) => Promise): Promise; } >success : (value: T) => U >value : T then(success?: (value: T) => Promise): Promise; ->then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => U): Promise; (success?: (value: T) => Promise): Promise; } +>then : { (onfulfilled?: (value: T) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike): Promise; (success?: (value: T) => U_1): Promise; (success?: (value: T) => Promise): Promise; } >success : (value: T) => Promise >value : T diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.types b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.types index 567c50c6bc76f..c839f315f3283 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.types +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.types @@ -130,7 +130,7 @@ var r2b = i.foo['foo'](); >'foo' : "foo" var a: { ->a : { (): U; (x: U): U; (x: U, y: T): U; } +>a : { (): U; (x: U_1): U_1; (x: U_2, y: T_2): U_2; } (): U; (x: U): U; @@ -150,7 +150,7 @@ var r3 = a().foo(); >a().foo() : string >a().foo : () => string >a() : A ->a : { (): U; (x: U): U; (x: U, y: T): U; } +>a : { (): U; (x: U_1): U_1; (x: U_2, y: T_2): U_2; } >foo : () => string var r3b = a()['foo'](); @@ -158,7 +158,7 @@ var r3b = a()['foo'](); >a()['foo']() : string >a()['foo'] : () => string >a() : A ->a : { (): U; (x: U): U; (x: U, y: T): U; } +>a : { (): U; (x: U_1): U_1; (x: U_2, y: T_2): U_2; } >'foo' : "foo" // parameter supplied for type argument inference to succeed @@ -172,7 +172,7 @@ var r3c = a(aB, aB).foo(); >a(aB, aB).foo() : string >a(aB, aB).foo : () => string >a(aB, aB) : B ->a : { (): U; (x: U): U; (x: U, y: T): U; } +>a : { (): U; (x: U_1): U_1; (x: U_2, y: T_2): U_2; } >aB : B >aB : B >foo : () => string @@ -182,7 +182,7 @@ var r3d = a(aB, aB)['foo'](); >a(aB, aB)['foo']() : string >a(aB, aB)['foo'] : () => string >a(aB, aB) : B ->a : { (): U; (x: U): U; (x: U, y: T): U; } +>a : { (): U; (x: U_1): U_1; (x: U_2, y: T_2): U_2; } >aB : B >aB : B >'foo' : "foo" diff --git a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints3.types b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints3.types index ae3d587db920f..fbfa8297bbd89 100644 --- a/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints3.types +++ b/tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints3.types @@ -117,7 +117,7 @@ var r2b = i.foo['foo'](); >'foo' : "foo" var a: { ->a : { (): T; (x: U): U; } +>a : { (): T; (x: U_1): U_1; } (): T; (x: U): U; @@ -128,7 +128,7 @@ var r3 = a().foo(); // error, no inferences for U so it doesn't satisfy constrai >a().foo() : string >a().foo : () => string >a() : A ->a : { (): T; (x: U): U; } +>a : { (): T; (x: U_1): U_1; } >foo : () => string var r3b = a()['foo'](); @@ -136,7 +136,7 @@ var r3b = a()['foo'](); >a()['foo']() : string >a()['foo'] : () => string >a() : A ->a : { (): T; (x: U): U; } +>a : { (): T; (x: U_1): U_1; } >'foo' : "foo" // parameter supplied for type argument inference for U @@ -145,7 +145,7 @@ var r3c = a(new B()).foo(); // valid call to an invalid function, U is inferred >a(new B()).foo() : string >a(new B()).foo : () => string >a(new B()) : B ->a : { (): T; (x: U): U; } +>a : { (): T; (x: U_1): U_1; } >new B() : B >B : typeof B >foo : () => string @@ -155,7 +155,7 @@ var r3d = a(new B())['foo'](); // valid call to an invalid function, U is inferr >a(new B())['foo']() : string >a(new B())['foo'] : () => string >a(new B()) : B ->a : { (): T; (x: U): U; } +>a : { (): T; (x: U_1): U_1; } >new B() : B >B : typeof B >'foo' : "foo" diff --git a/tests/baselines/reference/quickinfoTypeAtReturnPositionsInaccurate.types b/tests/baselines/reference/quickinfoTypeAtReturnPositionsInaccurate.types index 912e64d62a4d0..5dfdd10624bf8 100644 --- a/tests/baselines/reference/quickinfoTypeAtReturnPositionsInaccurate.types +++ b/tests/baselines/reference/quickinfoTypeAtReturnPositionsInaccurate.types @@ -230,7 +230,7 @@ export function listFiles(program: Program | T) { >x : Program >isBuilderProgram(program) ? program.getProgram() : program : Program >isBuilderProgram(program) : boolean ->isBuilderProgram : (program: Program | T) => program is T +>isBuilderProgram : (program: Program | T_1) => program is T_1 >program : Program | T >program.getProgram() : Program >program.getProgram : () => Program diff --git a/tests/baselines/reference/recursiveConditionalCrash1.types b/tests/baselines/reference/recursiveConditionalCrash1.types index 4a5f24ef29cf9..d7a098b48ad02 100644 --- a/tests/baselines/reference/recursiveConditionalCrash1.types +++ b/tests/baselines/reference/recursiveConditionalCrash1.types @@ -2,8 +2,8 @@ === recursiveConditionalCrash1.ts === type C1 = [T extends string ? C1 : never][0]; ->C1 : T extends string ? T extends string ? T extends string ? T extends string ? T extends string ? T extends string ? T extends string ? T extends string ? T extends string ? T extends string ? T extends string ? any : never : never : never : never : never : never : never : never : never : never : never +>C1 : T extends string ? T extends infer T_1 ? T_1 extends T ? T_1 extends string ? T_1 extends infer T_2 ? T_2 extends T_1 ? T_2 extends string ? T_2 extends infer T_3 ? T_3 extends T_2 ? T_3 extends string ? T_3 extends infer T_4 ? T_4 extends T_3 ? T_4 extends string ? T_4 extends infer T_5 ? T_5 extends T_4 ? T_5 extends string ? T_5 extends infer T_6 ? T_6 extends T_5 ? T_6 extends string ? T_6 extends infer T_7 ? T_7 extends T_6 ? T_7 extends string ? T_7 extends infer T_8 ? T_8 extends T_7 ? T_8 extends string ? T_8 extends infer T_9 ? T_9 extends T_8 ? T_9 extends string ? T_9 extends infer T_10 ? T_10 extends T_9 ? T_10 extends string ? any : never : never : never : never : never : never : never : never : never : never : never : never : never : never : never : never : never : never : never : never : never : never : never : never : never : never : never : never : never : never : never type C2 = [T extends string ? [C2] : never][0]; ->C2 : T extends string ? [T extends string ? [T extends string ? [T extends string ? [T extends string ? [T extends string ? [T extends string ? [T extends string ? [T extends string ? [T extends string ? [T extends string ? [any] : never] : never] : never] : never] : never] : never] : never] : never] : never] : never] : never +>C2 : T extends string ? [T extends infer T_1 ? T_1 extends T ? T_1 extends string ? [T_1 extends infer T_2 ? T_2 extends T_1 ? T_2 extends string ? [T_2 extends infer T_3 ? T_3 extends T_2 ? T_3 extends string ? [T_3 extends infer T_4 ? T_4 extends T_3 ? T_4 extends string ? [T_4 extends infer T_5 ? T_5 extends T_4 ? T_5 extends string ? [T_5 extends infer T_6 ? T_6 extends T_5 ? T_6 extends string ? [T_6 extends infer T_7 ? T_7 extends T_6 ? T_7 extends string ? [T_7 extends infer T_8 ? T_8 extends T_7 ? T_8 extends string ? [T_8 extends infer T_9 ? T_9 extends T_8 ? T_9 extends string ? [T_9 extends infer T_10 ? T_10 extends T_9 ? T_10 extends string ? [any] : never : never : never] : never : never : never] : never : never : never] : never : never : never] : never : never : never] : never : never : never] : never : never : never] : never : never : never] : never : never : never] : never : never : never] : never diff --git a/tests/baselines/reference/recursiveConditionalCrash2.types b/tests/baselines/reference/recursiveConditionalCrash2.types index 3b13b428a565d..9bae0e3513278 100644 --- a/tests/baselines/reference/recursiveConditionalCrash2.types +++ b/tests/baselines/reference/recursiveConditionalCrash2.types @@ -20,5 +20,5 @@ type Expand__ = O export type UseQueryOptions = Expand__ ->UseQueryOptions : T extends CanBeExpanded ? T["value"] extends CanBeExpanded ? T["value"]["value"] extends CanBeExpanded ? T["value"]["value"]["value"] extends CanBeExpanded ? T["value"]["value"]["value"]["value"] extends CanBeExpanded ? T["value"]["value"]["value"]["value"]["value"] extends CanBeExpanded ? T["value"]["value"]["value"]["value"]["value"]["value"] extends CanBeExpanded ? T["value"]["value"]["value"]["value"]["value"]["value"]["value"] extends CanBeExpanded ? T["value"]["value"]["value"]["value"]["value"]["value"]["value"]["value"] extends CanBeExpanded ? T["value"]["value"]["value"]["value"]["value"]["value"]["value"]["value"]["value"] extends CanBeExpanded ? T["value"]["value"]["value"]["value"]["value"]["value"]["value"]["value"]["value"]["value"] extends CanBeExpanded ? any : T["value"]["value"]["value"]["value"]["value"]["value"]["value"]["value"]["value"]["value"] : T["value"]["value"]["value"]["value"]["value"]["value"]["value"]["value"]["value"] : T["value"]["value"]["value"]["value"]["value"]["value"]["value"]["value"] : T["value"]["value"]["value"]["value"]["value"]["value"]["value"] : T["value"]["value"]["value"]["value"]["value"]["value"] : T["value"]["value"]["value"]["value"]["value"] : T["value"]["value"]["value"]["value"] : T["value"]["value"]["value"] : T["value"]["value"] : T["value"] : T +>UseQueryOptions : T extends CanBeExpanded ? T["value"] extends infer T_1 ? T_1 extends T["value"] ? T_1 extends CanBeExpanded ? T_1["value"] extends infer T_2 ? T_2 extends T_1["value"] ? T_2 extends CanBeExpanded ? T_2["value"] extends infer T_3 ? T_3 extends T_2["value"] ? T_3 extends CanBeExpanded ? T_3["value"] extends infer T_4 ? T_4 extends T_3["value"] ? T_4 extends CanBeExpanded ? T_4["value"] extends infer T_5 ? T_5 extends T_4["value"] ? T_5 extends CanBeExpanded ? T_5["value"] extends infer T_6 ? T_6 extends T_5["value"] ? T_6 extends CanBeExpanded ? T_6["value"] extends infer T_7 ? T_7 extends T_6["value"] ? T_7 extends CanBeExpanded ? T_7["value"] extends infer T_8 ? T_8 extends T_7["value"] ? T_8 extends CanBeExpanded ? T_8["value"] extends infer T_9 ? T_9 extends T_8["value"] ? T_9 extends CanBeExpanded ? T_9["value"] extends infer T_10 ? T_10 extends T_9["value"] ? T_10 extends CanBeExpanded ? any : T_10 : never : never : T_9 : never : never : T_8 : never : never : T_7 : never : never : T_6 : never : never : T_5 : never : never : T_4 : never : never : T_3 : never : never : T_2 : never : never : T_1 : never : never : T diff --git a/tests/baselines/reference/recursiveConditionalCrash3.types b/tests/baselines/reference/recursiveConditionalCrash3.types index 9afcf9efcc04a..fdb5569107333 100644 --- a/tests/baselines/reference/recursiveConditionalCrash3.types +++ b/tests/baselines/reference/recursiveConditionalCrash3.types @@ -175,10 +175,10 @@ let y2: Expand */ type UseQueryOptions > = Expand ->UseQueryOptions : T extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: any; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][K]]-?: T["" extends SplitAC ? "value" : "default"][K][K][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"] : T extends (infer U)[] ? any[] : T extends object ? { [K in keyof T]-?: T[K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"]]-?: any; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]]-?: any; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"] : T[K] extends (infer U)[] ? any[] : T[K] extends object ? { [K in keyof T[K]]-?: T[K][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K] extends (infer U)[] ? any[] : T[K][K] extends object ? { [K in keyof T[K][K]]-?: T[K][K][K] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][K] extends (infer U)[] ? any[] : T[K][K][K] extends object ? { [K in keyof T[K][K][K]]-?: T[K][K][K][K] extends CanBeExpanded<...> ? T[K][K][K][K]["default"] : T[K][K][K][K]; } : T[K][K][K]; } : T[K][K]; } : T[K]; } : T +>UseQueryOptions : T extends CanBeExpanded ? T["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_2 ? T_2 extends T["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_2 extends CanBeExpanded ? T_2["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_3 ? T_3 extends T_2["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_3 extends CanBeExpanded ? T_3["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_4 ? T_4 extends T_3["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_4 extends CanBeExpanded ? T_4["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_5 ? T_5 extends T_4["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_5 extends CanBeExpanded ? T_5["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_6 ? T_6 extends T_5["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_6 extends CanBeExpanded ? T_6["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_7 ? T_7 extends T_6["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_7 extends CanBeExpanded ? T_7["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_8 ? T_8 extends T_7["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_8 extends CanBeExpanded ? T_8["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_9 ? T_9 extends T_8["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_9 extends CanBeExpanded ? T_9["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_10 ? T_10 extends T_9["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_10 extends CanBeExpanded ? T_10["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_11 ? T_11 extends T_10["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_11 extends CanBeExpanded ? any : T_11 extends (infer U)[] ? any[] : T_11 extends object ? { [K_1 in keyof T_11]-?: any; } : T_11 : never : never : T_10 extends (infer U)[] ? any[] : T_10 extends object ? { [K_2 in keyof T_10]-?: T_10[K_2] extends infer T_12 ? T_12 extends T_10[K_2] ? T_12 extends CanBeExpanded ? any : T_12 extends (infer U)[] ? any[] : T_12 extends object ? { [K_3 in keyof T_12]-?: any; } : T_12 : never : never; } : T_10 : never : never : T_9 extends (infer U)[] ? any[] : T_9 extends object ? { [K_4 in keyof T_9]-?: T_9[K_4] extends infer T_13 ? T_13 extends T_9[K_4] ? T_13 extends CanBeExpanded ? T_13[`${string & K_4}` extends infer T_14 ? T_14 extends `${string & K_4}` ? T_14 extends SplitAC ? "value" : "default" : never : never] extends infer T_15 ? T_15 extends T_13[`${string & K_4}` extends infer T_14 ? T_14 extends `${string & K_4}` ? T_14 extends SplitAC ? "value" : "default" : never : never] ? T_15 extends CanBeExpanded ? any : T_15 extends (infer U)[] ? any[] : T_15 extends object ? { [K_5 in keyof T_15]-?: any; } : T_15 : never : never : T_13 extends (infer U)[] ? any[] : T_13 extends object ? { [K_6 in keyof T_13]-?: T_13[K_6] extends infer T_16 ? T_16 extends T_13[K_6] ? T_16 extends CanBeExpanded ? any : T_16 extends (infer U)[] ? any[] : T_16 extends object ? { [K_7 in keyof T_16]-?: any; } : T_16 : never : never; } : T_13 : never : never; } : T_9 : never : never : T_8 extends (infer U)[] ? any[] : T_8 extends object ? { [K_8 in keyof T_8]-?: T_8[K_8] extends infer T_17 ? T_17 extends T_8[K_8] ? T_17 extends CanBeExpanded ? T_17[`${string & K_8}` extends infer T_18 ? T_18 extends `${string & K_8}` ? T_18 extends SplitAC ? "value" : "default" : never : never] extends infer T_19 ? T_19 extends T_17[`${string & K_8}` extends infer T_18 ? T_18 extends `${string & K_8}` ? T_18 extends SplitAC ? "value" : "default" : never : never] ? T_19 extends CanBeExpanded ? T_19[`${string & K_8}` extends infer T_18 ? T_18 extends `${string & K_8}` ? T_18 extends SplitAC ? "value" : "default" : never : never] extends infer T_20 ? T_20 extends T_19[`${string & K_8}` extends infer T_18 ? T_18 extends `${string & K_8}` ? T_18 extends SplitAC ? "value" : "default" : never : never] ? T_20 extends CanBeExpanded ? any : T_20 extends (infer U)[] ? any[] : T_20 extends object ? { [K_9 in keyof T_20]-?: any; } : T_20 : never : never : T_19 extends (infer U)[] ? any[] : T_19 extends object ? { [K_10 in keyof T_19]-?: T_19[K_10] extends infer T_21 ? T_21 extends T_19[K_10] ? T_21 extends CanBeExpanded ? any : T_21 extends (infer U)[] ? any[] : T_21 extends object ? { [K_11 in keyof T_21]-?: any; } : T_21 : never : never; } : T_19 : never : never : T_17 extends (infer U)[] ? any[] : T_17 extends object ? { [K_12 in keyof T_17]-?: T_17[K_12] extends infer T_22 ? T_22 extends T_17[K_12] ? T_22 extends CanBeExpanded ? T_22[PrefixWith<`${string & K_8}`, K_12, "."> extends infer T_23 ? T_23 extends PrefixWith<`${string & K_8}`, K_12, "."> ? T_23 extends SplitAC ? "value" : "default" : never : never] extends infer T_24 ? T_24 extends T_22[PrefixWith<`${string & K_8}`, K_12, "."> extends infer T_23 ? T_23 extends PrefixWith<`${string & K_8}`, K_12, "."> ? T_23 extends SplitAC ? "value" : "default" : never : never] ? T_24 extends CanBeExpanded ? any : T_24 extends (infer U)[] ? any[] : T_24 extends object ? { [K_13 in keyof T_24]-?: any; } : T_24 : never : never : T_22 extends (infer U)[] ? any[] : T_22 extends object ? { [K_14 in keyof T_22]-?: T_22[K_14] extends infer T_25 ? T_25 extends T_22[K_14] ? T_25 extends CanBeExpanded ? any : T_25 extends (infer U)[] ? any[] : T_25 extends object ? { [K_15 in keyof T_25]-?: T_25[K_15] extends infer T_26 ? T_26 extends T_25[K_15] ? T_26 extends CanBeExpanded ? T_26["default"] : T_26 : never : never; } : T_25 : never : never; } : T_22 : never : never; } : T_17 : never : never; } : T_8 : never : never : T_7 extends (infer U)[] ? any[] : T_7 extends object ? { [K_16 in keyof T_7]-?: T_7[K_16] extends infer T_27 ? T_27 extends T_7[K_16] ? T_27 extends CanBeExpanded ? T_27[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] extends infer T_29 ? T_29 extends T_27[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] ? T_29 extends CanBeExpanded ? T_29[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] extends infer T_30 ? T_30 extends T_29[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] ? T_30 extends CanBeExpanded ? T_30[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] extends infer T_31 ? T_31 extends T_30[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] ? T_31 extends CanBeExpanded ? any : T_31 extends (infer U)[] ? any[] : T_31 extends object ? { [K_17 in keyof T_31]-?: any; } : T_31 : never : never : T_30 extends (infer U)[] ? any[] : T_30 extends object ? { [K_18 in keyof T_30]-?: T_30[K_18] extends infer T_32 ? T_32 extends T_30[K_18] ? T_32 extends CanBeExpanded ? any : T_32 extends (infer U)[] ? any[] : T_32 extends object ? { [K_19 in keyof T_32]-?: any; } : T_32 : never : never; } : T_30 : never : never : T_29 extends (infer U)[] ? any[] : T_29 extends object ? { [K_20 in keyof T_29]-?: T_29[K_20] extends infer T_33 ? T_33 extends T_29[K_20] ? T_33 extends CanBeExpanded ? T_33[PrefixWith<`${string & K_16}`, K_20, "."> extends infer T_34 ? T_34 extends PrefixWith<`${string & K_16}`, K_20, "."> ? T_34 extends SplitAC ? "value" : "default" : never : never] extends infer T_35 ? T_35 extends T_33[PrefixWith<`${string & K_16}`, K_20, "."> extends infer T_34 ? T_34 extends PrefixWith<`${string & K_16}`, K_20, "."> ? T_34 extends SplitAC ? "value" : "default" : never : never] ? T_35 extends CanBeExpanded ? any : T_35 extends (infer U)[] ? any[] : T_35 extends object ? { [K_21 in keyof T_35]-?: any; } : T_35 : never : never : T_33 extends (infer U)[] ? any[] : T_33 extends object ? { [K_22 in keyof T_33]-?: T_33[K_22] extends infer T_36 ? T_36 extends T_33[K_22] ? T_36 extends CanBeExpanded ? any : T_36 extends (infer U)[] ? any[] : T_36 extends object ? { [K_23 in keyof T_36]-?: T_36[K_23] extends infer T_37 ? T_37 extends T_36[K_23] ? T_37 extends CanBeExpanded ? T_37["default"] : T_37 : never : never; } : T_36 : never : never; } : T_33 : never : never; } : T_29 : never : never : T_27 extends (infer U)[] ? any[] : T_27 extends object ? { [K_24 in keyof T_27]-?: T_27[K_24] extends infer T_38 ? T_38 extends T_27[K_24] ? T_38 extends CanBeExpanded ? T_38[PrefixWith<`${string & K_16}`, K_24, "."> extends infer T_39 ? T_39 extends PrefixWith<`${string & K_16}`, K_24, "."> ? T_39 extends SplitAC ? "value" : "default" : never : never] extends infer T_40 ? T_40 extends T_38[PrefixWith<`${string & K_16}`, K_24, "."> extends infer T_39 ? T_39 extends PrefixWith<`${string & K_16}`, K_24, "."> ? T_39 extends SplitAC ? "value" : "default" : never : never] ? T_40 extends CanBeExpanded ? T_40[PrefixWith<`${string & K_16}`, K_24, "."> extends infer T_39 ? T_39 extends PrefixWith<`${string & K_16}`, K_24, "."> ? T_39 extends SplitAC ? "value" : "default" : never : never] extends infer T_41 ? T_41 extends T_40[PrefixWith<`${string & K_16}`, K_24, "."> extends infer T_39 ? T_39 extends PrefixWith<`${string & K_16}`, K_24, "."> ? T_39 extends SplitAC ? "value" : "default" : never : never] ? T_41 extends CanBeExpanded ? any : T_41 extends (infer U)[] ? any[] : T_41 extends object ? { [K_25 in keyof T_41]-?: any; } : T_41 : never : never : T_40 extends (infer U)[] ? any[] : T_40 extends object ? { [K_26 in keyof T_40]-?: T_40[K_26] extends infer T_42 ? T_42 extends T_40[K_26] ? T_42 extends CanBeExpanded ? any : T_42 extends (infer U)[] ? any[] : T_42 extends object ? { [K_27 in keyof T_42]-?: T_42[K_27] extends infer T_43 ? T_43 extends T_42[K_27] ? T_43 extends CanBeExpanded ? T_43["default"] : T_43 : never : never; } : T_42 : never : never; } : T_40 : never : never : T_38 extends (infer U)[] ? any[] : T_38 extends object ? { [K_28 in keyof T_38]-?: T_38[K_28] extends infer T_44 ? T_44 extends T_38[K_28] ? T_44 extends CanBeExpanded ? T_44[PrefixWith, K_28, "."> extends infer T_45 ? T_45 extends PrefixWith, K_28, "."> ? T_45 extends SplitAC ? "value" : "default" : never : never] extends infer T_46 ? T_46 extends T_44[PrefixWith, K_28, "."> extends infer T_45 ? T_45 extends PrefixWith, K_28, "."> ? T_45 extends SplitAC ? "value" : "default" : never : never] ? T_46 extends CanBeExpanded ? any : T_46 extends (infer U)[] ? any[] : T_46 extends object ? { [K_29 in keyof T_46]-?: T_46[K_29] extends infer T_47 ? T_47 extends T_46[K_29] ? T_47 extends CanBeExpanded ? T_47["default"] : T_47 : never : never; } : T_46 : never : never : T_44 extends (infer U)[] ? any[] : T_44 extends object ? { [K_30 in keyof T_44]-?: T_44[K_30] extends infer T_48 ? T_48 extends T_44[K_30] ? T_48 extends CanBeExpanded ? T_48["default"] : T_48 : never : never; } : T_44 : never : never; } : T_38 : never : never; } : T_27 : never : never; } : T_7 : never : never : T_6 extends (infer U)[] ? any[] : T_6 extends object ? { [K_31 in keyof T_6]-?: T_6[K_31] extends infer T_49 ? T_49 extends T_6[K_31] ? T_49 extends CanBeExpanded ? T_49[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_51 ? T_51 extends T_49[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_51 extends CanBeExpanded ? T_51[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_52 ? T_52 extends T_51[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_52 extends CanBeExpanded ? T_52[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_53 ? T_53 extends T_52[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_53 extends CanBeExpanded ? T_53[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_54 ? T_54 extends T_53[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_54 extends CanBeExpanded ? any : T_54 extends (infer U)[] ? any[] : T_54 extends object ? { [K_32 in keyof T_54]-?: any; } : T_54 : never : never : T_53 extends (infer U)[] ? any[] : T_53 extends object ? { [K_33 in keyof T_53]-?: T_53[K_33] extends infer T_55 ? T_55 extends T_53[K_33] ? T_55 extends CanBeExpanded ? any : T_55 extends (infer U)[] ? any[] : T_55 extends object ? { [K_34 in keyof T_55]-?: any; } : T_55 : never : never; } : T_53 : never : never : T_52 extends (infer U)[] ? any[] : T_52 extends object ? { [K_35 in keyof T_52]-?: T_52[K_35] extends infer T_56 ? T_56 extends T_52[K_35] ? T_56 extends CanBeExpanded ? T_56[PrefixWith<`${string & K_31}`, K_35, "."> extends infer T_57 ? T_57 extends PrefixWith<`${string & K_31}`, K_35, "."> ? T_57 extends SplitAC ? "value" : "default" : never : never] extends infer T_58 ? T_58 extends T_56[PrefixWith<`${string & K_31}`, K_35, "."> extends infer T_57 ? T_57 extends PrefixWith<`${string & K_31}`, K_35, "."> ? T_57 extends SplitAC ? "value" : "default" : never : never] ? T_58 extends CanBeExpanded ? any : T_58 extends (infer U)[] ? any[] : T_58 extends object ? { [K_36 in keyof T_58]-?: any; } : T_58 : never : never : T_56 extends (infer U)[] ? any[] : T_56 extends object ? { [K_37 in keyof T_56]-?: T_56[K_37] extends infer T_59 ? T_59 extends T_56[K_37] ? T_59 extends CanBeExpanded ? any : T_59 extends (infer U)[] ? any[] : T_59 extends object ? { [K_38 in keyof T_59]-?: T_59[K_38] extends infer T_60 ? T_60 extends T_59[K_38] ? T_60 extends CanBeExpanded ? T_60["default"] : T_60 : never : never; } : T_59 : never : never; } : T_56 : never : never; } : T_52 : never : never : T_51 extends (infer U)[] ? any[] : T_51 extends object ? { [K_39 in keyof T_51]-?: T_51[K_39] extends infer T_61 ? T_61 extends T_51[K_39] ? T_61 extends CanBeExpanded ? T_61[PrefixWith<`${string & K_31}`, K_39, "."> extends infer T_62 ? T_62 extends PrefixWith<`${string & K_31}`, K_39, "."> ? T_62 extends SplitAC ? "value" : "default" : never : never] extends infer T_63 ? T_63 extends T_61[PrefixWith<`${string & K_31}`, K_39, "."> extends infer T_62 ? T_62 extends PrefixWith<`${string & K_31}`, K_39, "."> ? T_62 extends SplitAC ? "value" : "default" : never : never] ? T_63 extends CanBeExpanded ? T_63[PrefixWith<`${string & K_31}`, K_39, "."> extends infer T_62 ? T_62 extends PrefixWith<`${string & K_31}`, K_39, "."> ? T_62 extends SplitAC ? "value" : "default" : never : never] extends infer T_64 ? T_64 extends T_63[PrefixWith<`${string & K_31}`, K_39, "."> extends infer T_62 ? T_62 extends PrefixWith<`${string & K_31}`, K_39, "."> ? T_62 extends SplitAC ? "value" : "default" : never : never] ? T_64 extends CanBeExpanded ? any : T_64 extends (infer U)[] ? any[] : T_64 extends object ? { [K_40 in keyof T_64]-?: any; } : T_64 : never : never : T_63 extends (infer U)[] ? any[] : T_63 extends object ? { [K_41 in keyof T_63]-?: T_63[K_41] extends infer T_65 ? T_65 extends T_63[K_41] ? T_65 extends CanBeExpanded ? any : T_65 extends (infer U)[] ? any[] : T_65 extends object ? { [K_42 in keyof T_65]-?: T_65[K_42] extends infer T_66 ? T_66 extends T_65[K_42] ? T_66 extends CanBeExpanded ? T_66["default"] : T_66 : never : never; } : T_65 : never : never; } : T_63 : never : never : T_61 extends (infer U)[] ? any[] : T_61 extends object ? { [K_43 in keyof T_61]-?: T_61[K_43] extends infer T_67 ? T_67 extends T_61[K_43] ? T_67 extends CanBeExpanded ? T_67[PrefixWith, K_43, "."> extends infer T_68 ? T_68 extends PrefixWith, K_43, "."> ? T_68 extends SplitAC ? "value" : "default" : never : never] extends infer T_69 ? T_69 extends T_67[PrefixWith, K_43, "."> extends infer T_68 ? T_68 extends PrefixWith, K_43, "."> ? T_68 extends SplitAC ? "value" : "default" : never : never] ? T_69 extends CanBeExpanded ? any : T_69 extends (infer U)[] ? any[] : T_69 extends object ? { [K_44 in keyof T_69]-?: T_69[K_44] extends infer T_70 ? T_70 extends T_69[K_44] ? T_70 extends CanBeExpanded ? T_70["default"] : T_70 : never : never; } : T_69 : never : never : T_67 extends (infer U)[] ? any[] : T_67 extends object ? { [K_45 in keyof T_67]-?: T_67[K_45] extends infer T_71 ? T_71 extends T_67[K_45] ? T_71 extends CanBeExpanded ? T_71["default"] : T_71 : never : never; } : T_67 : never : never; } : T_61 : never : never; } : T_51 : never : never : T_49 extends (infer U)[] ? any[] : T_49 extends object ? { [K_46 in keyof T_49]-?: T_49[K_46] extends infer T_72 ? T_72 extends T_49[K_46] ? T_72 extends CanBeExpanded ? T_72[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] extends infer T_74 ? T_74 extends T_72[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] ? T_74 extends CanBeExpanded ? T_74[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] extends infer T_75 ? T_75 extends T_74[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] ? T_75 extends CanBeExpanded ? T_75[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] extends infer T_76 ? T_76 extends T_75[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] ? T_76 extends CanBeExpanded ? any : T_76 extends (infer U)[] ? any[] : T_76 extends object ? { [K_47 in keyof T_76]-?: any; } : T_76 : never : never : T_75 extends (infer U)[] ? any[] : T_75 extends object ? { [K_48 in keyof T_75]-?: T_75[K_48] extends infer T_77 ? T_77 extends T_75[K_48] ? T_77 extends CanBeExpanded ? any : T_77 extends (infer U)[] ? any[] : T_77 extends object ? { [K_49 in keyof T_77]-?: T_77[K_49] extends infer T_78 ? T_78 extends T_77[K_49] ? T_78 extends CanBeExpanded ? T_78["default"] : T_78 : never : never; } : T_77 : never : never; } : T_75 : never : never : T_74 extends (infer U)[] ? any[] : T_74 extends object ? { [K_50 in keyof T_74]-?: T_74[K_50] extends infer T_79 ? T_79 extends T_74[K_50] ? T_79 extends CanBeExpanded ? T_79[PrefixWith, K_50, "."> extends infer T_80 ? T_80 extends PrefixWith, K_50, "."> ? T_80 extends SplitAC ? "value" : "default" : never : never] extends infer T_81 ? T_81 extends T_79[PrefixWith, K_50, "."> extends infer T_80 ? T_80 extends PrefixWith, K_50, "."> ? T_80 extends SplitAC ? "value" : "default" : never : never] ? T_81 extends CanBeExpanded ? any : T_81 extends (infer U)[] ? any[] : T_81 extends object ? { [K_51 in keyof T_81]-?: T_81[K_51] extends infer T_82 ? T_82 extends T_81[K_51] ? T_82 extends CanBeExpanded ? T_82["default"] : T_82 : never : never; } : T_81 : never : never : T_79 extends (infer U)[] ? any[] : T_79 extends object ? { [K_52 in keyof T_79]-?: T_79[K_52] extends infer T_83 ? T_83 extends T_79[K_52] ? T_83 extends CanBeExpanded ? T_83["default"] : T_83 : never : never; } : T_79 : never : never; } : T_74 : never : never : T_72 extends (infer U)[] ? any[] : T_72 extends object ? { [K_53 in keyof T_72]-?: T_72[K_53] extends infer T_84 ? T_84 extends T_72[K_53] ? T_84 extends CanBeExpanded ? T_84[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] extends infer T_86 ? T_86 extends T_84[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] ? T_86 extends CanBeExpanded ? T_86[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] extends infer T_87 ? T_87 extends T_86[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] ? T_87 extends CanBeExpanded ? any : T_87 extends (infer U)[] ? any[] : T_87 extends object ? { [K_54 in keyof T_87]-?: T_87[K_54] extends infer T_88 ? T_88 extends T_87[K_54] ? T_88 extends CanBeExpanded ? T_88["default"] : T_88 : never : never; } : T_87 : never : never : T_86 extends (infer U)[] ? any[] : T_86 extends object ? { [K_55 in keyof T_86]-?: T_86[K_55] extends infer T_89 ? T_89 extends T_86[K_55] ? T_89 extends CanBeExpanded ? T_89["default"] : T_89 : never : never; } : T_86 : never : never : T_84 extends (infer U)[] ? any[] : T_84 extends object ? { [K_56 in keyof T_84]-?: T_84[K_56] extends infer T_90 ? T_90 extends T_84[K_56] ? T_90 extends CanBeExpanded ? T_90["default"] : T_90 : never : never; } : T_84 : never : never; } : T_72 : never : never; } : T_49 : never : never; } : T_6 : never : never : T_5 extends (infer U)[] ? any[] : T_5 extends object ? { [K_57 in keyof T_5]-?: T_5[K_57] extends infer T_91 ? T_91 extends T_5[K_57] ? T_91 extends CanBeExpanded ? T_91[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_93 ? T_93 extends T_91[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_93 extends CanBeExpanded ? T_93[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_94 ? T_94 extends T_93[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_94 extends CanBeExpanded ? T_94[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_95 ? T_95 extends T_94[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_95 extends CanBeExpanded ? T_95[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_96 ? T_96 extends T_95[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_96 extends CanBeExpanded ? T_96[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_97 ? T_97 extends T_96[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_97 extends CanBeExpanded ? any : T_97 extends (infer U)[] ? any[] : T_97 extends object ? { [K_58 in keyof T_97]-?: any; } : T_97 : never : never : T_96 extends (infer U)[] ? any[] : T_96 extends object ? { [K_59 in keyof T_96]-?: T_96[K_59] extends infer T_98 ? T_98 extends T_96[K_59] ? T_98 extends CanBeExpanded ? any : T_98 extends (infer U)[] ? any[] : T_98 extends object ? { [K_60 in keyof T_98]-?: any; } : T_98 : never : never; } : T_96 : never : never : T_95 extends (infer U)[] ? any[] : T_95 extends object ? { [K_61 in keyof T_95]-?: T_95[K_61] extends infer T_99 ? T_99 extends T_95[K_61] ? T_99 extends CanBeExpanded ? T_99[PrefixWith<`${string & K_57}`, K_61, "."> extends infer T_100 ? T_100 extends PrefixWith<`${string & K_57}`, K_61, "."> ? T_100 extends SplitAC ? "value" : "default" : never : never] extends infer T_101 ? T_101 extends T_99[PrefixWith<`${string & K_57}`, K_61, "."> extends infer T_100 ? T_100 extends PrefixWith<`${string & K_57}`, K_61, "."> ? T_100 extends SplitAC ? "value" : "default" : never : never] ? T_101 extends CanBeExpanded ? any : T_101 extends (infer U)[] ? any[] : T_101 extends object ? { [K_62 in keyof T_101]-?: any; } : T_101 : never : never : T_99 extends (infer U)[] ? any[] : T_99 extends object ? { [K_63 in keyof T_99]-?: T_99[K_63] extends infer T_102 ? T_102 extends T_99[K_63] ? T_102 extends CanBeExpanded ? any : T_102 extends (infer U)[] ? any[] : T_102 extends object ? { [K_64 in keyof T_102]-?: T_102[K_64] extends infer T_103 ? T_103 extends T_102[K_64] ? T_103 extends CanBeExpanded ? T_103["default"] : T_103 : never : never; } : T_102 : never : never; } : T_99 : never : never; } : T_95 : never : never : T_94 extends (infer U)[] ? any[] : T_94 extends object ? { [K_65 in keyof T_94]-?: T_94[K_65] extends infer T_104 ? T_104 extends T_94[K_65] ? T_104 extends CanBeExpanded ? T_104[PrefixWith<`${string & K_57}`, K_65, "."> extends infer T_105 ? T_105 extends PrefixWith<`${string & K_57}`, K_65, "."> ? T_105 extends SplitAC ? "value" : "default" : never : never] extends infer T_106 ? T_106 extends T_104[PrefixWith<`${string & K_57}`, K_65, "."> extends infer T_105 ? T_105 extends PrefixWith<`${string & K_57}`, K_65, "."> ? T_105 extends SplitAC ? "value" : "default" : never : never] ? T_106 extends CanBeExpanded ? T_106[PrefixWith<`${string & K_57}`, K_65, "."> extends infer T_105 ? T_105 extends PrefixWith<`${string & K_57}`, K_65, "."> ? T_105 extends SplitAC ? "value" : "default" : never : never] extends infer T_107 ? T_107 extends T_106[PrefixWith<`${string & K_57}`, K_65, "."> extends infer T_105 ? T_105 extends PrefixWith<`${string & K_57}`, K_65, "."> ? T_105 extends SplitAC ? "value" : "default" : never : never] ? T_107 extends CanBeExpanded ? any : T_107 extends (infer U)[] ? any[] : T_107 extends object ? { [K_66 in keyof T_107]-?: any; } : T_107 : never : never : T_106 extends (infer U)[] ? any[] : T_106 extends object ? { [K_67 in keyof T_106]-?: T_106[K_67] extends infer T_108 ? T_108 extends T_106[K_67] ? T_108 extends CanBeExpanded ? any : T_108 extends (infer U)[] ? any[] : T_108 extends object ? { [K_68 in keyof T_108]-?: T_108[K_68] extends infer T_109 ? T_109 extends T_108[K_68] ? T_109 extends CanBeExpanded ? T_109["default"] : T_109 : never : never; } : T_108 : never : never; } : T_106 : never : never : T_104 extends (infer U)[] ? any[] : T_104 extends object ? { [K_69 in keyof T_104]-?: T_104[K_69] extends infer T_110 ? T_110 extends T_104[K_69] ? T_110 extends CanBeExpanded ? T_110[PrefixWith, K_69, "."> extends infer T_111 ? T_111 extends PrefixWith, K_69, "."> ? T_111 extends SplitAC ? "value" : "default" : never : never] extends infer T_112 ? T_112 extends T_110[PrefixWith, K_69, "."> extends infer T_111 ? T_111 extends PrefixWith, K_69, "."> ? T_111 extends SplitAC ? "value" : "default" : never : never] ? T_112 extends CanBeExpanded ? any : T_112 extends (infer U)[] ? any[] : T_112 extends object ? { [K_70 in keyof T_112]-?: T_112[K_70] extends infer T_113 ? T_113 extends T_112[K_70] ? T_113 extends CanBeExpanded ? T_113["default"] : T_113 : never : never; } : T_112 : never : never : T_110 extends (infer U)[] ? any[] : T_110 extends object ? { [K_71 in keyof T_110]-?: T_110[K_71] extends infer T_114 ? T_114 extends T_110[K_71] ? T_114 extends CanBeExpanded ? T_114["default"] : T_114 : never : never; } : T_110 : never : never; } : T_104 : never : never; } : T_94 : never : never : T_93 extends (infer U)[] ? any[] : T_93 extends object ? { [K_72 in keyof T_93]-?: T_93[K_72] extends infer T_115 ? T_115 extends T_93[K_72] ? T_115 extends CanBeExpanded ? T_115[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] extends infer T_117 ? T_117 extends T_115[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] ? T_117 extends CanBeExpanded ? T_117[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] extends infer T_118 ? T_118 extends T_117[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] ? T_118 extends CanBeExpanded ? T_118[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] extends infer T_119 ? T_119 extends T_118[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] ? T_119 extends CanBeExpanded ? any : T_119 extends (infer U)[] ? any[] : T_119 extends object ? { [K_73 in keyof T_119]-?: any; } : T_119 : never : never : T_118 extends (infer U)[] ? any[] : T_118 extends object ? { [K_74 in keyof T_118]-?: T_118[K_74] extends infer T_120 ? T_120 extends T_118[K_74] ? T_120 extends CanBeExpanded ? any : T_120 extends (infer U)[] ? any[] : T_120 extends object ? { [K_75 in keyof T_120]-?: T_120[K_75] extends infer T_121 ? T_121 extends T_120[K_75] ? T_121 extends CanBeExpanded ? T_121["default"] : T_121 : never : never; } : T_120 : never : never; } : T_118 : never : never : T_117 extends (infer U)[] ? any[] : T_117 extends object ? { [K_76 in keyof T_117]-?: T_117[K_76] extends infer T_122 ? T_122 extends T_117[K_76] ? T_122 extends CanBeExpanded ? T_122[PrefixWith, K_76, "."> extends infer T_123 ? T_123 extends PrefixWith, K_76, "."> ? T_123 extends SplitAC ? "value" : "default" : never : never] extends infer T_124 ? T_124 extends T_122[PrefixWith, K_76, "."> extends infer T_123 ? T_123 extends PrefixWith, K_76, "."> ? T_123 extends SplitAC ? "value" : "default" : never : never] ? T_124 extends CanBeExpanded ? any : T_124 extends (infer U)[] ? any[] : T_124 extends object ? { [K_77 in keyof T_124]-?: T_124[K_77] extends infer T_125 ? T_125 extends T_124[K_77] ? T_125 extends CanBeExpanded ? T_125["default"] : T_125 : never : never; } : T_124 : never : never : T_122 extends (infer U)[] ? any[] : T_122 extends object ? { [K_78 in keyof T_122]-?: T_122[K_78] extends infer T_126 ? T_126 extends T_122[K_78] ? T_126 extends CanBeExpanded ? T_126["default"] : T_126 : never : never; } : T_122 : never : never; } : T_117 : never : never : T_115 extends (infer U)[] ? any[] : T_115 extends object ? { [K_79 in keyof T_115]-?: T_115[K_79] extends infer T_127 ? T_127 extends T_115[K_79] ? T_127 extends CanBeExpanded ? T_127[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] extends infer T_129 ? T_129 extends T_127[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] ? T_129 extends CanBeExpanded ? T_129[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] extends infer T_130 ? T_130 extends T_129[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] ? T_130 extends CanBeExpanded ? any : T_130 extends (infer U)[] ? any[] : T_130 extends object ? { [K_80 in keyof T_130]-?: T_130[K_80] extends infer T_131 ? T_131 extends T_130[K_80] ? T_131 extends CanBeExpanded ? T_131["default"] : T_131 : never : never; } : T_130 : never : never : T_129 extends (infer U)[] ? any[] : T_129 extends object ? { [K_81 in keyof T_129]-?: T_129[K_81] extends infer T_132 ? T_132 extends T_129[K_81] ? T_132 extends CanBeExpanded ? T_132["default"] : T_132 : never : never; } : T_129 : never : never : T_127 extends (infer U)[] ? any[] : T_127 extends object ? { [K_82 in keyof T_127]-?: T_127[K_82] extends infer T_133 ? T_133 extends T_127[K_82] ? T_133 extends CanBeExpanded ? T_133["default"] : T_133 : never : never; } : T_127 : never : never; } : T_115 : never : never; } : T_93 : never : never : T_91 extends (infer U)[] ? any[] : T_91 extends object ? { [K_83 in keyof T_91]-?: T_91[K_83] extends infer T_134 ? T_134 extends T_91[K_83] ? T_134 extends CanBeExpanded ? T_134[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_136 ? T_136 extends T_134[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_136 extends CanBeExpanded ? T_136[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_137 ? T_137 extends T_136[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_137 extends CanBeExpanded ? T_137[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_138 ? T_138 extends T_137[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_138 extends CanBeExpanded ? T_138[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_139 ? T_139 extends T_138[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_139 extends CanBeExpanded ? any : T_139 extends (infer U)[] ? any[] : T_139 extends object ? { [K_84 in keyof T_139]-?: any; } : T_139 : never : never : T_138 extends (infer U)[] ? any[] : T_138 extends object ? { [K_85 in keyof T_138]-?: T_138[K_85] extends infer T_140 ? T_140 extends T_138[K_85] ? T_140 extends CanBeExpanded ? any : T_140 extends (infer U)[] ? any[] : T_140 extends object ? { [K_86 in keyof T_140]-?: T_140[K_86] extends infer T_141 ? T_141 extends T_140[K_86] ? T_141 extends CanBeExpanded ? T_141["default"] : T_141 : never : never; } : T_140 : never : never; } : T_138 : never : never : T_137 extends (infer U)[] ? any[] : T_137 extends object ? { [K_87 in keyof T_137]-?: T_137[K_87] extends infer T_142 ? T_142 extends T_137[K_87] ? T_142 extends CanBeExpanded ? T_142[PrefixWith, K_87, "."> extends infer T_143 ? T_143 extends PrefixWith, K_87, "."> ? T_143 extends SplitAC ? "value" : "default" : never : never] extends infer T_144 ? T_144 extends T_142[PrefixWith, K_87, "."> extends infer T_143 ? T_143 extends PrefixWith, K_87, "."> ? T_143 extends SplitAC ? "value" : "default" : never : never] ? T_144 extends CanBeExpanded ? any : T_144 extends (infer U)[] ? any[] : T_144 extends object ? { [K_88 in keyof T_144]-?: T_144[K_88] extends infer T_145 ? T_145 extends T_144[K_88] ? T_145 extends CanBeExpanded ? T_145["default"] : T_145 : never : never; } : T_144 : never : never : T_142 extends (infer U)[] ? any[] : T_142 extends object ? { [K_89 in keyof T_142]-?: T_142[K_89] extends infer T_146 ? T_146 extends T_142[K_89] ? T_146 extends CanBeExpanded ? T_146["default"] : T_146 : never : never; } : T_142 : never : never; } : T_137 : never : never : T_136 extends (infer U)[] ? any[] : T_136 extends object ? { [K_90 in keyof T_136]-?: T_136[K_90] extends infer T_147 ? T_147 extends T_136[K_90] ? T_147 extends CanBeExpanded ? T_147[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] extends infer T_149 ? T_149 extends T_147[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] ? T_149 extends CanBeExpanded ? T_149[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] extends infer T_150 ? T_150 extends T_149[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] ? T_150 extends CanBeExpanded ? any : T_150 extends (infer U)[] ? any[] : T_150 extends object ? { [K_91 in keyof T_150]-?: T_150[K_91] extends infer T_151 ? T_151 extends T_150[K_91] ? T_151 extends CanBeExpanded ? T_151["default"] : T_151 : never : never; } : T_150 : never : never : T_149 extends (infer U)[] ? any[] : T_149 extends object ? { [K_92 in keyof T_149]-?: T_149[K_92] extends infer T_152 ? T_152 extends T_149[K_92] ? T_152 extends CanBeExpanded ? T_152["default"] : T_152 : never : never; } : T_149 : never : never : T_147 extends (infer U)[] ? any[] : T_147 extends object ? { [K_93 in keyof T_147]-?: T_147[K_93] extends infer T_153 ? T_153 extends T_147[K_93] ? T_153 extends CanBeExpanded ? T_153["default"] : T_153 : never : never; } : T_147 : never : never; } : T_136 : never : never : T_134 extends (infer U)[] ? any[] : T_134 extends object ? { [K_94 in keyof T_134]-?: T_134[K_94] extends infer T_154 ? T_154 extends T_134[K_94] ? T_154 extends CanBeExpanded ? T_154[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] extends infer T_156 ? T_156 extends T_154[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] ? T_156 extends CanBeExpanded ? T_156[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] extends infer T_157 ? T_157 extends T_156[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] ? T_157 extends CanBeExpanded ? T_157[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] extends infer T_158 ? T_158 extends T_157[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] ? T_158 extends CanBeExpanded ? any : T_158 extends (infer U)[] ? any[] : T_158 extends object ? { [K_95 in keyof T_158]-?: T_158[K_95] extends infer T_159 ? T_159 extends T_158[K_95] ? T_159 extends CanBeExpanded ? T_159["default"] : T_159 : never : never; } : T_158 : never : never : T_157 extends (infer U)[] ? any[] : T_157 extends object ? { [K_96 in keyof T_157]-?: T_157[K_96] extends infer T_160 ? T_160 extends T_157[K_96] ? T_160 extends CanBeExpanded ? T_160["default"] : T_160 : never : never; } : T_157 : never : never : T_156 extends (infer U)[] ? any[] : T_156 extends object ? { [K_97 in keyof T_156]-?: T_156[K_97] extends infer T_161 ? T_161 extends T_156[K_97] ? T_161 extends CanBeExpanded ? T_161["default"] : T_161 : never : never; } : T_156 : never : never : T_154 extends (infer U)[] ? any[] : T_154 extends object ? { [K_98 in keyof T_154]-?: T_154[K_98] extends infer T_162 ? T_162 extends T_154[K_98] ? T_162 extends CanBeExpanded ? T_162["default"] : T_162 : never : never; } : T_154 : never : never; } : T_134 : never : never; } : T_91 : never : never; } : T_5 : never : never : T_4 extends (infer U)[] ? any[] : T_4 extends object ? { [K_99 in keyof T_4]-?: T_4[K_99] extends infer T_163 ? T_163 extends T_4[K_99] ? T_163 extends CanBeExpanded ? T_163[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_165 ? T_165 extends T_163[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_165 extends CanBeExpanded ? T_165[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_166 ? T_166 extends T_165[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_166 extends CanBeExpanded ? T_166[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_167 ? T_167 extends T_166[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_167 extends CanBeExpanded ? T_167[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_168 ? T_168 extends T_167[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_168 extends CanBeExpanded ? T_168[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_169 ? T_169 extends T_168[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_169 extends CanBeExpanded ? T_169[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_170 ? T_170 extends T_169[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_170 extends CanBeExpanded ? any : T_170 extends (infer U)[] ? any[] : T_170 extends object ? { [K_100 in keyof T_170]-?: any; } : T_170 : never : never : T_169 extends (infer U)[] ? any[] : T_169 extends object ? { [K_101 in keyof T_169]-?: T_169[K_101] extends infer T_171 ? T_171 extends T_169[K_101] ? T_171 extends CanBeExpanded ? any : T_171 extends (infer U)[] ? any[] : T_171 extends object ? { [K_102 in keyof T_171]-?: any; } : T_171 : never : never; } : T_169 : never : never : T_168 extends (infer U)[] ? any[] : T_168 extends object ? { [K_103 in keyof T_168]-?: T_168[K_103] extends infer T_172 ? T_172 extends T_168[K_103] ? T_172 extends CanBeExpanded ? T_172[PrefixWith<`${string & K_99}`, K_103, "."> extends infer T_173 ? T_173 extends PrefixWith<`${string & K_99}`, K_103, "."> ? T_173 extends SplitAC ? "value" : "default" : never : never] extends infer T_174 ? T_174 extends T_172[PrefixWith<`${string & K_99}`, K_103, "."> extends infer T_173 ? T_173 extends PrefixWith<`${string & K_99}`, K_103, "."> ? T_173 extends SplitAC ? "value" : "default" : never : never] ? T_174 extends CanBeExpanded ? any : T_174 extends (infer U)[] ? any[] : T_174 extends object ? { [K_104 in keyof T_174]-?: any; } : T_174 : never : never : T_172 extends (infer U)[] ? any[] : T_172 extends object ? { [K_105 in keyof T_172]-?: T_172[K_105] extends infer T_175 ? T_175 extends T_172[K_105] ? T_175 extends CanBeExpanded ? any : T_175 extends (infer U)[] ? any[] : T_175 extends object ? { [K_106 in keyof T_175]-?: T_175[K_106] extends infer T_176 ? T_176 extends T_175[K_106] ? T_176 extends CanBeExpanded ? T_176["default"] : T_176 : never : never; } : T_175 : never : never; } : T_172 : never : never; } : T_168 : never : never : T_167 extends (infer U)[] ? any[] : T_167 extends object ? { [K_107 in keyof T_167]-?: T_167[K_107] extends infer T_177 ? T_177 extends T_167[K_107] ? T_177 extends CanBeExpanded ? T_177[PrefixWith<`${string & K_99}`, K_107, "."> extends infer T_178 ? T_178 extends PrefixWith<`${string & K_99}`, K_107, "."> ? T_178 extends SplitAC ? "value" : "default" : never : never] extends infer T_179 ? T_179 extends T_177[PrefixWith<`${string & K_99}`, K_107, "."> extends infer T_178 ? T_178 extends PrefixWith<`${string & K_99}`, K_107, "."> ? T_178 extends SplitAC ? "value" : "default" : never : never] ? T_179 extends CanBeExpanded ? T_179[PrefixWith<`${string & K_99}`, K_107, "."> extends infer T_178 ? T_178 extends PrefixWith<`${string & K_99}`, K_107, "."> ? T_178 extends SplitAC ? "value" : "default" : never : never] extends infer T_180 ? T_180 extends T_179[PrefixWith<`${string & K_99}`, K_107, "."> extends infer T_178 ? T_178 extends PrefixWith<`${string & K_99}`, K_107, "."> ? T_178 extends SplitAC ? "value" : "default" : never : never] ? T_180 extends CanBeExpanded ? any : T_180 extends (infer U)[] ? any[] : T_180 extends object ? { [K_108 in keyof T_180]-?: any; } : T_180 : never : never : T_179 extends (infer U)[] ? any[] : T_179 extends object ? { [K_109 in keyof T_179]-?: T_179[K_109] extends infer T_181 ? T_181 extends T_179[K_109] ? T_181 extends CanBeExpanded ? any : T_181 extends (infer U)[] ? any[] : T_181 extends object ? { [K_110 in keyof T_181]-?: T_181[K_110] extends infer T_182 ? T_182 extends T_181[K_110] ? T_182 extends CanBeExpanded ? T_182["default"] : T_182 : never : never; } : T_181 : never : never; } : T_179 : never : never : T_177 extends (infer U)[] ? any[] : T_177 extends object ? { [K_111 in keyof T_177]-?: T_177[K_111] extends infer T_183 ? T_183 extends T_177[K_111] ? T_183 extends CanBeExpanded ? T_183[PrefixWith, K_111, "."> extends infer T_184 ? T_184 extends PrefixWith, K_111, "."> ? T_184 extends SplitAC ? "value" : "default" : never : never] extends infer T_185 ? T_185 extends T_183[PrefixWith, K_111, "."> extends infer T_184 ? T_184 extends PrefixWith, K_111, "."> ? T_184 extends SplitAC ? "value" : "default" : never : never] ? T_185 extends CanBeExpanded ? any : T_185 extends (infer U)[] ? any[] : T_185 extends object ? { [K_112 in keyof T_185]-?: T_185[K_112] extends infer T_186 ? T_186 extends T_185[K_112] ? T_186 extends CanBeExpanded ? T_186["default"] : T_186 : never : never; } : T_185 : never : never : T_183 extends (infer U)[] ? any[] : T_183 extends object ? { [K_113 in keyof T_183]-?: T_183[K_113] extends infer T_187 ? T_187 extends T_183[K_113] ? T_187 extends CanBeExpanded ? T_187["default"] : T_187 : never : never; } : T_183 : never : never; } : T_177 : never : never; } : T_167 : never : never : T_166 extends (infer U)[] ? any[] : T_166 extends object ? { [K_114 in keyof T_166]-?: T_166[K_114] extends infer T_188 ? T_188 extends T_166[K_114] ? T_188 extends CanBeExpanded ? T_188[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] extends infer T_190 ? T_190 extends T_188[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] ? T_190 extends CanBeExpanded ? T_190[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] extends infer T_191 ? T_191 extends T_190[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] ? T_191 extends CanBeExpanded ? T_191[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] extends infer T_192 ? T_192 extends T_191[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] ? T_192 extends CanBeExpanded ? any : T_192 extends (infer U)[] ? any[] : T_192 extends object ? { [K_115 in keyof T_192]-?: any; } : T_192 : never : never : T_191 extends (infer U)[] ? any[] : T_191 extends object ? { [K_116 in keyof T_191]-?: T_191[K_116] extends infer T_193 ? T_193 extends T_191[K_116] ? T_193 extends CanBeExpanded ? any : T_193 extends (infer U)[] ? any[] : T_193 extends object ? { [K_117 in keyof T_193]-?: T_193[K_117] extends infer T_194 ? T_194 extends T_193[K_117] ? T_194 extends CanBeExpanded ? T_194["default"] : T_194 : never : never; } : T_193 : never : never; } : T_191 : never : never : T_190 extends (infer U)[] ? any[] : T_190 extends object ? { [K_118 in keyof T_190]-?: T_190[K_118] extends infer T_195 ? T_195 extends T_190[K_118] ? T_195 extends CanBeExpanded ? T_195[PrefixWith, K_118, "."> extends infer T_196 ? T_196 extends PrefixWith, K_118, "."> ? T_196 extends SplitAC ? "value" : "default" : never : never] extends infer T_197 ? T_197 extends T_195[PrefixWith, K_118, "."> extends infer T_196 ? T_196 extends PrefixWith, K_118, "."> ? T_196 extends SplitAC ? "value" : "default" : never : never] ? T_197 extends CanBeExpanded ? any : T_197 extends (infer U)[] ? any[] : T_197 extends object ? { [K_119 in keyof T_197]-?: T_197[K_119] extends infer T_198 ? T_198 extends T_197[K_119] ? T_198 extends CanBeExpanded ? T_198["default"] : T_198 : never : never; } : T_197 : never : never : T_195 extends (infer U)[] ? any[] : T_195 extends object ? { [K_120 in keyof T_195]-?: T_195[K_120] extends infer T_199 ? T_199 extends T_195[K_120] ? T_199 extends CanBeExpanded ? T_199["default"] : T_199 : never : never; } : T_195 : never : never; } : T_190 : never : never : T_188 extends (infer U)[] ? any[] : T_188 extends object ? { [K_121 in keyof T_188]-?: T_188[K_121] extends infer T_200 ? T_200 extends T_188[K_121] ? T_200 extends CanBeExpanded ? T_200[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] extends infer T_202 ? T_202 extends T_200[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] ? T_202 extends CanBeExpanded ? T_202[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] extends infer T_203 ? T_203 extends T_202[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] ? T_203 extends CanBeExpanded ? any : T_203 extends (infer U)[] ? any[] : T_203 extends object ? { [K_122 in keyof T_203]-?: T_203[K_122] extends infer T_204 ? T_204 extends T_203[K_122] ? T_204 extends CanBeExpanded ? T_204["default"] : T_204 : never : never; } : T_203 : never : never : T_202 extends (infer U)[] ? any[] : T_202 extends object ? { [K_123 in keyof T_202]-?: T_202[K_123] extends infer T_205 ? T_205 extends T_202[K_123] ? T_205 extends CanBeExpanded ? T_205["default"] : T_205 : never : never; } : T_202 : never : never : T_200 extends (infer U)[] ? any[] : T_200 extends object ? { [K_124 in keyof T_200]-?: T_200[K_124] extends infer T_206 ? T_206 extends T_200[K_124] ? T_206 extends CanBeExpanded ? T_206["default"] : T_206 : never : never; } : T_200 : never : never; } : T_188 : never : never; } : T_166 : never : never : T_165 extends (infer U)[] ? any[] : T_165 extends object ? { [K_125 in keyof T_165]-?: T_165[K_125] extends infer T_207 ? T_207 extends T_165[K_125] ? T_207 extends CanBeExpanded ? T_207[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_209 ? T_209 extends T_207[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_209 extends CanBeExpanded ? T_209[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_210 ? T_210 extends T_209[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_210 extends CanBeExpanded ? T_210[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_211 ? T_211 extends T_210[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_211 extends CanBeExpanded ? T_211[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_212 ? T_212 extends T_211[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_212 extends CanBeExpanded ? any : T_212 extends (infer U)[] ? any[] : T_212 extends object ? { [K_126 in keyof T_212]-?: any; } : T_212 : never : never : T_211 extends (infer U)[] ? any[] : T_211 extends object ? { [K_127 in keyof T_211]-?: T_211[K_127] extends infer T_213 ? T_213 extends T_211[K_127] ? T_213 extends CanBeExpanded ? any : T_213 extends (infer U)[] ? any[] : T_213 extends object ? { [K_128 in keyof T_213]-?: T_213[K_128] extends infer T_214 ? T_214 extends T_213[K_128] ? T_214 extends CanBeExpanded ? T_214["default"] : T_214 : never : never; } : T_213 : never : never; } : T_211 : never : never : T_210 extends (infer U)[] ? any[] : T_210 extends object ? { [K_129 in keyof T_210]-?: T_210[K_129] extends infer T_215 ? T_215 extends T_210[K_129] ? T_215 extends CanBeExpanded ? T_215[PrefixWith, K_129, "."> extends infer T_216 ? T_216 extends PrefixWith, K_129, "."> ? T_216 extends SplitAC ? "value" : "default" : never : never] extends infer T_217 ? T_217 extends T_215[PrefixWith, K_129, "."> extends infer T_216 ? T_216 extends PrefixWith, K_129, "."> ? T_216 extends SplitAC ? "value" : "default" : never : never] ? T_217 extends CanBeExpanded ? any : T_217 extends (infer U)[] ? any[] : T_217 extends object ? { [K_130 in keyof T_217]-?: T_217[K_130] extends infer T_218 ? T_218 extends T_217[K_130] ? T_218 extends CanBeExpanded ? T_218["default"] : T_218 : never : never; } : T_217 : never : never : T_215 extends (infer U)[] ? any[] : T_215 extends object ? { [K_131 in keyof T_215]-?: T_215[K_131] extends infer T_219 ? T_219 extends T_215[K_131] ? T_219 extends CanBeExpanded ? T_219["default"] : T_219 : never : never; } : T_215 : never : never; } : T_210 : never : never : T_209 extends (infer U)[] ? any[] : T_209 extends object ? { [K_132 in keyof T_209]-?: T_209[K_132] extends infer T_220 ? T_220 extends T_209[K_132] ? T_220 extends CanBeExpanded ? T_220[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] extends infer T_222 ? T_222 extends T_220[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] ? T_222 extends CanBeExpanded ? T_222[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] extends infer T_223 ? T_223 extends T_222[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] ? T_223 extends CanBeExpanded ? any : T_223 extends (infer U)[] ? any[] : T_223 extends object ? { [K_133 in keyof T_223]-?: T_223[K_133] extends infer T_224 ? T_224 extends T_223[K_133] ? T_224 extends CanBeExpanded ? T_224["default"] : T_224 : never : never; } : T_223 : never : never : T_222 extends (infer U)[] ? any[] : T_222 extends object ? { [K_134 in keyof T_222]-?: T_222[K_134] extends infer T_225 ? T_225 extends T_222[K_134] ? T_225 extends CanBeExpanded ? T_225["default"] : T_225 : never : never; } : T_222 : never : never : T_220 extends (infer U)[] ? any[] : T_220 extends object ? { [K_135 in keyof T_220]-?: T_220[K_135] extends infer T_226 ? T_226 extends T_220[K_135] ? T_226 extends CanBeExpanded ? T_226["default"] : T_226 : never : never; } : T_220 : never : never; } : T_209 : never : never : T_207 extends (infer U)[] ? any[] : T_207 extends object ? { [K_136 in keyof T_207]-?: T_207[K_136] extends infer T_227 ? T_227 extends T_207[K_136] ? T_227 extends CanBeExpanded ? T_227[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] extends infer T_229 ? T_229 extends T_227[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] ? T_229 extends CanBeExpanded ? T_229[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] extends infer T_230 ? T_230 extends T_229[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] ? T_230 extends CanBeExpanded ? T_230[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] extends infer T_231 ? T_231 extends T_230[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] ? T_231 extends CanBeExpanded ? any : T_231 extends (infer U)[] ? any[] : T_231 extends object ? { [K_137 in keyof T_231]-?: T_231[K_137] extends infer T_232 ? T_232 extends T_231[K_137] ? T_232 extends CanBeExpanded ? T_232["default"] : T_232 : never : never; } : T_231 : never : never : T_230 extends (infer U)[] ? any[] : T_230 extends object ? { [K_138 in keyof T_230]-?: T_230[K_138] extends infer T_233 ? T_233 extends T_230[K_138] ? T_233 extends CanBeExpanded ? T_233["default"] : T_233 : never : never; } : T_230 : never : never : T_229 extends (infer U)[] ? any[] : T_229 extends object ? { [K_139 in keyof T_229]-?: T_229[K_139] extends infer T_234 ? T_234 extends T_229[K_139] ? T_234 extends CanBeExpanded ? T_234["default"] : T_234 : never : never; } : T_229 : never : never : T_227 extends (infer U)[] ? any[] : T_227 extends object ? { [K_140 in keyof T_227]-?: T_227[K_140] extends infer T_235 ? T_235 extends T_227[K_140] ? T_235 extends CanBeExpanded ? T_235["default"] : T_235 : never : never; } : T_227 : never : never; } : T_207 : never : never; } : T_165 : never : never : T_163 extends (infer U)[] ? any[] : T_163 extends object ? { [K_141 in keyof T_163]-?: T_163[K_141] extends infer T_236 ? T_236 extends T_163[K_141] ? T_236 extends CanBeExpanded ? T_236[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_238 ? T_238 extends T_236[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_238 extends CanBeExpanded ? T_238[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_239 ? T_239 extends T_238[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_239 extends CanBeExpanded ? T_239[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_240 ? T_240 extends T_239[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_240 extends CanBeExpanded ? T_240[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_241 ? T_241 extends T_240[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_241 extends CanBeExpanded ? T_241[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_242 ? T_242 extends T_241[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_242 extends CanBeExpanded ? any : T_242 extends (infer U)[] ? any[] : T_242 extends object ? { [K_142 in keyof T_242]-?: any; } : T_242 : never : never : T_241 extends (infer U)[] ? any[] : T_241 extends object ? { [K_143 in keyof T_241]-?: T_241[K_143] extends infer T_243 ? T_243 extends T_241[K_143] ? T_243 extends CanBeExpanded ? any : T_243 extends (infer U)[] ? any[] : T_243 extends object ? { [K_144 in keyof T_243]-?: T_243[K_144] extends infer T_244 ? T_244 extends T_243[K_144] ? T_244 extends CanBeExpanded ? T_244["default"] : T_244 : never : never; } : T_243 : never : never; } : T_241 : never : never : T_240 extends (infer U)[] ? any[] : T_240 extends object ? { [K_145 in keyof T_240]-?: T_240[K_145] extends infer T_245 ? T_245 extends T_240[K_145] ? T_245 extends CanBeExpanded ? T_245[PrefixWith, K_145, "."> extends infer T_246 ? T_246 extends PrefixWith, K_145, "."> ? T_246 extends SplitAC ? "value" : "default" : never : never] extends infer T_247 ? T_247 extends T_245[PrefixWith, K_145, "."> extends infer T_246 ? T_246 extends PrefixWith, K_145, "."> ? T_246 extends SplitAC ? "value" : "default" : never : never] ? T_247 extends CanBeExpanded ? any : T_247 extends (infer U)[] ? any[] : T_247 extends object ? { [K_146 in keyof T_247]-?: T_247[K_146] extends infer T_248 ? T_248 extends T_247[K_146] ? T_248 extends CanBeExpanded ? T_248["default"] : T_248 : never : never; } : T_247 : never : never : T_245 extends (infer U)[] ? any[] : T_245 extends object ? { [K_147 in keyof T_245]-?: T_245[K_147] extends infer T_249 ? T_249 extends T_245[K_147] ? T_249 extends CanBeExpanded ? T_249["default"] : T_249 : never : never; } : T_245 : never : never; } : T_240 : never : never : T_239 extends (infer U)[] ? any[] : T_239 extends object ? { [K_148 in keyof T_239]-?: T_239[K_148] extends infer T_250 ? T_250 extends T_239[K_148] ? T_250 extends CanBeExpanded ? T_250[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] extends infer T_252 ? T_252 extends T_250[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] ? T_252 extends CanBeExpanded ? T_252[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] extends infer T_253 ? T_253 extends T_252[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] ? T_253 extends CanBeExpanded ? any : T_253 extends (infer U)[] ? any[] : T_253 extends object ? { [K_149 in keyof T_253]-?: T_253[K_149] extends infer T_254 ? T_254 extends T_253[K_149] ? T_254 extends CanBeExpanded ? T_254["default"] : T_254 : never : never; } : T_253 : never : never : T_252 extends (infer U)[] ? any[] : T_252 extends object ? { [K_150 in keyof T_252]-?: T_252[K_150] extends infer T_255 ? T_255 extends T_252[K_150] ? T_255 extends CanBeExpanded ? T_255["default"] : T_255 : never : never; } : T_252 : never : never : T_250 extends (infer U)[] ? any[] : T_250 extends object ? { [K_151 in keyof T_250]-?: T_250[K_151] extends infer T_256 ? T_256 extends T_250[K_151] ? T_256 extends CanBeExpanded ? T_256["default"] : T_256 : never : never; } : T_250 : never : never; } : T_239 : never : never : T_238 extends (infer U)[] ? any[] : T_238 extends object ? { [K_152 in keyof T_238]-?: T_238[K_152] extends infer T_257 ? T_257 extends T_238[K_152] ? T_257 extends CanBeExpanded ? T_257[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] extends infer T_259 ? T_259 extends T_257[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] ? T_259 extends CanBeExpanded ? T_259[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] extends infer T_260 ? T_260 extends T_259[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] ? T_260 extends CanBeExpanded ? T_260[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] extends infer T_261 ? T_261 extends T_260[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] ? T_261 extends CanBeExpanded ? any : T_261 extends (infer U)[] ? any[] : T_261 extends object ? { [K_153 in keyof T_261]-?: T_261[K_153] extends infer T_262 ? T_262 extends T_261[K_153] ? T_262 extends CanBeExpanded ? T_262["default"] : T_262 : never : never; } : T_261 : never : never : T_260 extends (infer U)[] ? any[] : T_260 extends object ? { [K_154 in keyof T_260]-?: T_260[K_154] extends infer T_263 ? T_263 extends T_260[K_154] ? T_263 extends CanBeExpanded ? T_263["default"] : T_263 : never : never; } : T_260 : never : never : T_259 extends (infer U)[] ? any[] : T_259 extends object ? { [K_155 in keyof T_259]-?: T_259[K_155] extends infer T_264 ? T_264 extends T_259[K_155] ? T_264 extends CanBeExpanded ? T_264["default"] : T_264 : never : never; } : T_259 : never : never : T_257 extends (infer U)[] ? any[] : T_257 extends object ? { [K_156 in keyof T_257]-?: T_257[K_156] extends infer T_265 ? T_265 extends T_257[K_156] ? T_265 extends CanBeExpanded ? T_265["default"] : T_265 : never : never; } : T_257 : never : never; } : T_238 : never : never : T_236 extends (infer U)[] ? any[] : T_236 extends object ? { [K_157 in keyof T_236]-?: T_236[K_157] extends infer T_266 ? T_266 extends T_236[K_157] ? T_266 extends CanBeExpanded ? T_266[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_268 ? T_268 extends T_266[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_268 extends CanBeExpanded ? T_268[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_269 ? T_269 extends T_268[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_269 extends CanBeExpanded ? T_269[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_270 ? T_270 extends T_269[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_270 extends CanBeExpanded ? T_270[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_271 ? T_271 extends T_270[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_271 extends CanBeExpanded ? any : T_271 extends (infer U)[] ? any[] : T_271 extends object ? { [K_158 in keyof T_271]-?: T_271[K_158] extends infer T_272 ? T_272 extends T_271[K_158] ? T_272 extends CanBeExpanded ? T_272["default"] : T_272 : never : never; } : T_271 : never : never : T_270 extends (infer U)[] ? any[] : T_270 extends object ? { [K_159 in keyof T_270]-?: T_270[K_159] extends infer T_273 ? T_273 extends T_270[K_159] ? T_273 extends CanBeExpanded ? T_273["default"] : T_273 : never : never; } : T_270 : never : never : T_269 extends (infer U)[] ? any[] : T_269 extends object ? { [K_160 in keyof T_269]-?: T_269[K_160] extends infer T_274 ? T_274 extends T_269[K_160] ? T_274 extends CanBeExpanded ? T_274["default"] : T_274 : never : never; } : T_269 : never : never : T_268 extends (infer U)[] ? any[] : T_268 extends object ? { [K_161 in keyof T_268]-?: T_268[K_161] extends infer T_275 ? T_275 extends T_268[K_161] ? T_275 extends CanBeExpanded ? T_275["default"] : T_275 : never : never; } : T_268 : never : never : T_266 extends (infer U)[] ? any[] : T_266 extends object ? { [K_162 in keyof T_266]-?: T_266[K_162] extends infer T_276 ? T_276 extends T_266[K_162] ? T_276 extends CanBeExpanded ? T_276["default"] : T_276 : never : never; } : T_266 : never : never; } : T_236 : never : never; } : T_163 : never : never; } : T_4 : never : never : T_3 extends (infer U)[] ? any[] : T_3 extends object ? { [K_163 in keyof T_3]-?: T_3[K_163] extends infer T_277 ? T_277 extends T_3[K_163] ? T_277 extends CanBeExpanded ? T_277[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_279 ? T_279 extends T_277[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_279 extends CanBeExpanded ? T_279[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_280 ? T_280 extends T_279[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_280 extends CanBeExpanded ? T_280[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_281 ? T_281 extends T_280[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_281 extends CanBeExpanded ? T_281[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_282 ? T_282 extends T_281[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_282 extends CanBeExpanded ? T_282[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_283 ? T_283 extends T_282[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_283 extends CanBeExpanded ? T_283[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_284 ? T_284 extends T_283[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_284 extends CanBeExpanded ? T_284[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_285 ? T_285 extends T_284[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_285 extends CanBeExpanded ? any : T_285 extends (infer U)[] ? any[] : T_285 extends object ? { [K_164 in keyof T_285]-?: any; } : T_285 : never : never : T_284 extends (infer U)[] ? any[] : T_284 extends object ? { [K_165 in keyof T_284]-?: T_284[K_165] extends infer T_286 ? T_286 extends T_284[K_165] ? T_286 extends CanBeExpanded ? any : T_286 extends (infer U)[] ? any[] : T_286 extends object ? { [K_166 in keyof T_286]-?: any; } : T_286 : never : never; } : T_284 : never : never : T_283 extends (infer U)[] ? any[] : T_283 extends object ? { [K_167 in keyof T_283]-?: T_283[K_167] extends infer T_287 ? T_287 extends T_283[K_167] ? T_287 extends CanBeExpanded ? T_287[PrefixWith<`${string & K_163}`, K_167, "."> extends infer T_288 ? T_288 extends PrefixWith<`${string & K_163}`, K_167, "."> ? T_288 extends SplitAC ? "value" : "default" : never : never] extends infer T_289 ? T_289 extends T_287[PrefixWith<`${string & K_163}`, K_167, "."> extends infer T_288 ? T_288 extends PrefixWith<`${string & K_163}`, K_167, "."> ? T_288 extends SplitAC ? "value" : "default" : never : never] ? T_289 extends CanBeExpanded ? any : T_289 extends (infer U)[] ? any[] : T_289 extends object ? { [K_168 in keyof T_289]-?: any; } : T_289 : never : never : T_287 extends (infer U)[] ? any[] : T_287 extends object ? { [K_169 in keyof T_287]-?: T_287[K_169] extends infer T_290 ? T_290 extends T_287[K_169] ? T_290 extends CanBeExpanded ? any : T_290 extends (infer U)[] ? any[] : T_290 extends object ? { [K_170 in keyof T_290]-?: T_290[K_170] extends infer T_291 ? T_291 extends T_290[K_170] ? T_291 extends CanBeExpanded ? T_291["default"] : T_291 : never : never; } : T_290 : never : never; } : T_287 : never : never; } : T_283 : never : never : T_282 extends (infer U)[] ? any[] : T_282 extends object ? { [K_171 in keyof T_282]-?: T_282[K_171] extends infer T_292 ? T_292 extends T_282[K_171] ? T_292 extends CanBeExpanded ? T_292[PrefixWith<`${string & K_163}`, K_171, "."> extends infer T_293 ? T_293 extends PrefixWith<`${string & K_163}`, K_171, "."> ? T_293 extends SplitAC ? "value" : "default" : never : never] extends infer T_294 ? T_294 extends T_292[PrefixWith<`${string & K_163}`, K_171, "."> extends infer T_293 ? T_293 extends PrefixWith<`${string & K_163}`, K_171, "."> ? T_293 extends SplitAC ? "value" : "default" : never : never] ? T_294 extends CanBeExpanded ? T_294[PrefixWith<`${string & K_163}`, K_171, "."> extends infer T_293 ? T_293 extends PrefixWith<`${string & K_163}`, K_171, "."> ? T_293 extends SplitAC ? "value" : "default" : never : never] extends infer T_295 ? T_295 extends T_294[PrefixWith<`${string & K_163}`, K_171, "."> extends infer T_293 ? T_293 extends PrefixWith<`${string & K_163}`, K_171, "."> ? T_293 extends SplitAC ? "value" : "default" : never : never] ? T_295 extends CanBeExpanded ? any : T_295 extends (infer U)[] ? any[] : T_295 extends object ? { [K_172 in keyof T_295]-?: any; } : T_295 : never : never : T_294 extends (infer U)[] ? any[] : T_294 extends object ? { [K_173 in keyof T_294]-?: T_294[K_173] extends infer T_296 ? T_296 extends T_294[K_173] ? T_296 extends CanBeExpanded ? any : T_296 extends (infer U)[] ? any[] : T_296 extends object ? { [K_174 in keyof T_296]-?: T_296[K_174] extends infer T_297 ? T_297 extends T_296[K_174] ? T_297 extends CanBeExpanded ? T_297["default"] : T_297 : never : never; } : T_296 : never : never; } : T_294 : never : never : T_292 extends (infer U)[] ? any[] : T_292 extends object ? { [K_175 in keyof T_292]-?: T_292[K_175] extends infer T_298 ? T_298 extends T_292[K_175] ? T_298 extends CanBeExpanded ? T_298[PrefixWith, K_175, "."> extends infer T_299 ? T_299 extends PrefixWith, K_175, "."> ? T_299 extends SplitAC ? "value" : "default" : never : never] extends infer T_300 ? T_300 extends T_298[PrefixWith, K_175, "."> extends infer T_299 ? T_299 extends PrefixWith, K_175, "."> ? T_299 extends SplitAC ? "value" : "default" : never : never] ? T_300 extends CanBeExpanded ? any : T_300 extends (infer U)[] ? any[] : T_300 extends object ? { [K_176 in keyof T_300]-?: T_300[K_176] extends infer T_301 ? T_301 extends T_300[K_176] ? T_301 extends CanBeExpanded ? T_301["default"] : T_301 : never : never; } : T_300 : never : never : T_298 extends (infer U)[] ? any[] : T_298 extends object ? { [K_177 in keyof T_298]-?: T_298[K_177] extends infer T_302 ? T_302 extends T_298[K_177] ? T_302 extends CanBeExpanded ? T_302["default"] : T_302 : never : never; } : T_298 : never : never; } : T_292 : never : never; } : T_282 : never : never : T_281 extends (infer U)[] ? any[] : T_281 extends object ? { [K_178 in keyof T_281]-?: T_281[K_178] extends infer T_303 ? T_303 extends T_281[K_178] ? T_303 extends CanBeExpanded ? T_303[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] extends infer T_305 ? T_305 extends T_303[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] ? T_305 extends CanBeExpanded ? T_305[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] extends infer T_306 ? T_306 extends T_305[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] ? T_306 extends CanBeExpanded ? T_306[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] extends infer T_307 ? T_307 extends T_306[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] ? T_307 extends CanBeExpanded ? any : T_307 extends (infer U)[] ? any[] : T_307 extends object ? { [K_179 in keyof T_307]-?: any; } : T_307 : never : never : T_306 extends (infer U)[] ? any[] : T_306 extends object ? { [K_180 in keyof T_306]-?: T_306[K_180] extends infer T_308 ? T_308 extends T_306[K_180] ? T_308 extends CanBeExpanded ? any : T_308 extends (infer U)[] ? any[] : T_308 extends object ? { [K_181 in keyof T_308]-?: T_308[K_181] extends infer T_309 ? T_309 extends T_308[K_181] ? T_309 extends CanBeExpanded ? T_309["default"] : T_309 : never : never; } : T_308 : never : never; } : T_306 : never : never : T_305 extends (infer U)[] ? any[] : T_305 extends object ? { [K_182 in keyof T_305]-?: T_305[K_182] extends infer T_310 ? T_310 extends T_305[K_182] ? T_310 extends CanBeExpanded ? T_310[PrefixWith, K_182, "."> extends infer T_311 ? T_311 extends PrefixWith, K_182, "."> ? T_311 extends SplitAC ? "value" : "default" : never : never] extends infer T_312 ? T_312 extends T_310[PrefixWith, K_182, "."> extends infer T_311 ? T_311 extends PrefixWith, K_182, "."> ? T_311 extends SplitAC ? "value" : "default" : never : never] ? T_312 extends CanBeExpanded ? any : T_312 extends (infer U)[] ? any[] : T_312 extends object ? { [K_183 in keyof T_312]-?: T_312[K_183] extends infer T_313 ? T_313 extends T_312[K_183] ? T_313 extends CanBeExpanded ? T_313["default"] : T_313 : never : never; } : T_312 : never : never : T_310 extends (infer U)[] ? any[] : T_310 extends object ? { [K_184 in keyof T_310]-?: T_310[K_184] extends infer T_314 ? T_314 extends T_310[K_184] ? T_314 extends CanBeExpanded ? T_314["default"] : T_314 : never : never; } : T_310 : never : never; } : T_305 : never : never : T_303 extends (infer U)[] ? any[] : T_303 extends object ? { [K_185 in keyof T_303]-?: T_303[K_185] extends infer T_315 ? T_315 extends T_303[K_185] ? T_315 extends CanBeExpanded ? T_315[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] extends infer T_317 ? T_317 extends T_315[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] ? T_317 extends CanBeExpanded ? T_317[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] extends infer T_318 ? T_318 extends T_317[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] ? T_318 extends CanBeExpanded ? any : T_318 extends (infer U)[] ? any[] : T_318 extends object ? { [K_186 in keyof T_318]-?: T_318[K_186] extends infer T_319 ? T_319 extends T_318[K_186] ? T_319 extends CanBeExpanded ? T_319["default"] : T_319 : never : never; } : T_318 : never : never : T_317 extends (infer U)[] ? any[] : T_317 extends object ? { [K_187 in keyof T_317]-?: T_317[K_187] extends infer T_320 ? T_320 extends T_317[K_187] ? T_320 extends CanBeExpanded ? T_320["default"] : T_320 : never : never; } : T_317 : never : never : T_315 extends (infer U)[] ? any[] : T_315 extends object ? { [K_188 in keyof T_315]-?: T_315[K_188] extends infer T_321 ? T_321 extends T_315[K_188] ? T_321 extends CanBeExpanded ? T_321["default"] : T_321 : never : never; } : T_315 : never : never; } : T_303 : never : never; } : T_281 : never : never : T_280 extends (infer U)[] ? any[] : T_280 extends object ? { [K_189 in keyof T_280]-?: T_280[K_189] extends infer T_322 ? T_322 extends T_280[K_189] ? T_322 extends CanBeExpanded ? T_322[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_324 ? T_324 extends T_322[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_324 extends CanBeExpanded ? T_324[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_325 ? T_325 extends T_324[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_325 extends CanBeExpanded ? T_325[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_326 ? T_326 extends T_325[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_326 extends CanBeExpanded ? T_326[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_327 ? T_327 extends T_326[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_327 extends CanBeExpanded ? any : T_327 extends (infer U)[] ? any[] : T_327 extends object ? { [K_190 in keyof T_327]-?: any; } : T_327 : never : never : T_326 extends (infer U)[] ? any[] : T_326 extends object ? { [K_191 in keyof T_326]-?: T_326[K_191] extends infer T_328 ? T_328 extends T_326[K_191] ? T_328 extends CanBeExpanded ? any : T_328 extends (infer U)[] ? any[] : T_328 extends object ? { [K_192 in keyof T_328]-?: T_328[K_192] extends infer T_329 ? T_329 extends T_328[K_192] ? T_329 extends CanBeExpanded ? T_329["default"] : T_329 : never : never; } : T_328 : never : never; } : T_326 : never : never : T_325 extends (infer U)[] ? any[] : T_325 extends object ? { [K_193 in keyof T_325]-?: T_325[K_193] extends infer T_330 ? T_330 extends T_325[K_193] ? T_330 extends CanBeExpanded ? T_330[PrefixWith, K_193, "."> extends infer T_331 ? T_331 extends PrefixWith, K_193, "."> ? T_331 extends SplitAC ? "value" : "default" : never : never] extends infer T_332 ? T_332 extends T_330[PrefixWith, K_193, "."> extends infer T_331 ? T_331 extends PrefixWith, K_193, "."> ? T_331 extends SplitAC ? "value" : "default" : never : never] ? T_332 extends CanBeExpanded ? any : T_332 extends (infer U)[] ? any[] : T_332 extends object ? { [K_194 in keyof T_332]-?: T_332[K_194] extends infer T_333 ? T_333 extends T_332[K_194] ? T_333 extends CanBeExpanded ? T_333["default"] : T_333 : never : never; } : T_332 : never : never : T_330 extends (infer U)[] ? any[] : T_330 extends object ? { [K_195 in keyof T_330]-?: T_330[K_195] extends infer T_334 ? T_334 extends T_330[K_195] ? T_334 extends CanBeExpanded ? T_334["default"] : T_334 : never : never; } : T_330 : never : never; } : T_325 : never : never : T_324 extends (infer U)[] ? any[] : T_324 extends object ? { [K_196 in keyof T_324]-?: T_324[K_196] extends infer T_335 ? T_335 extends T_324[K_196] ? T_335 extends CanBeExpanded ? T_335[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] extends infer T_337 ? T_337 extends T_335[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] ? T_337 extends CanBeExpanded ? T_337[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] extends infer T_338 ? T_338 extends T_337[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] ? T_338 extends CanBeExpanded ? any : T_338 extends (infer U)[] ? any[] : T_338 extends object ? { [K_197 in keyof T_338]-?: T_338[K_197] extends infer T_339 ? T_339 extends T_338[K_197] ? T_339 extends CanBeExpanded ? T_339["default"] : T_339 : never : never; } : T_338 : never : never : T_337 extends (infer U)[] ? any[] : T_337 extends object ? { [K_198 in keyof T_337]-?: T_337[K_198] extends infer T_340 ? T_340 extends T_337[K_198] ? T_340 extends CanBeExpanded ? T_340["default"] : T_340 : never : never; } : T_337 : never : never : T_335 extends (infer U)[] ? any[] : T_335 extends object ? { [K_199 in keyof T_335]-?: T_335[K_199] extends infer T_341 ? T_341 extends T_335[K_199] ? T_341 extends CanBeExpanded ? T_341["default"] : T_341 : never : never; } : T_335 : never : never; } : T_324 : never : never : T_322 extends (infer U)[] ? any[] : T_322 extends object ? { [K_200 in keyof T_322]-?: T_322[K_200] extends infer T_342 ? T_342 extends T_322[K_200] ? T_342 extends CanBeExpanded ? T_342[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] extends infer T_344 ? T_344 extends T_342[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] ? T_344 extends CanBeExpanded ? T_344[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] extends infer T_345 ? T_345 extends T_344[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] ? T_345 extends CanBeExpanded ? T_345[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] extends infer T_346 ? T_346 extends T_345[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] ? T_346 extends CanBeExpanded ? any : T_346 extends (infer U)[] ? any[] : T_346 extends object ? { [K_201 in keyof T_346]-?: T_346[K_201] extends infer T_347 ? T_347 extends T_346[K_201] ? T_347 extends CanBeExpanded ? T_347["default"] : T_347 : never : never; } : T_346 : never : never : T_345 extends (infer U)[] ? any[] : T_345 extends object ? { [K_202 in keyof T_345]-?: T_345[K_202] extends infer T_348 ? T_348 extends T_345[K_202] ? T_348 extends CanBeExpanded ? T_348["default"] : T_348 : never : never; } : T_345 : never : never : T_344 extends (infer U)[] ? any[] : T_344 extends object ? { [K_203 in keyof T_344]-?: T_344[K_203] extends infer T_349 ? T_349 extends T_344[K_203] ? T_349 extends CanBeExpanded ? T_349["default"] : T_349 : never : never; } : T_344 : never : never : T_342 extends (infer U)[] ? any[] : T_342 extends object ? { [K_204 in keyof T_342]-?: T_342[K_204] extends infer T_350 ? T_350 extends T_342[K_204] ? T_350 extends CanBeExpanded ? T_350["default"] : T_350 : never : never; } : T_342 : never : never; } : T_322 : never : never; } : T_280 : never : never : T_279 extends (infer U)[] ? any[] : T_279 extends object ? { [K_205 in keyof T_279]-?: T_279[K_205] extends infer T_351 ? T_351 extends T_279[K_205] ? T_351 extends CanBeExpanded ? T_351[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_353 ? T_353 extends T_351[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_353 extends CanBeExpanded ? T_353[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_354 ? T_354 extends T_353[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_354 extends CanBeExpanded ? T_354[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_355 ? T_355 extends T_354[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_355 extends CanBeExpanded ? T_355[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_356 ? T_356 extends T_355[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_356 extends CanBeExpanded ? T_356[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_357 ? T_357 extends T_356[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_357 extends CanBeExpanded ? any : T_357 extends (infer U)[] ? any[] : T_357 extends object ? { [K_206 in keyof T_357]-?: any; } : T_357 : never : never : T_356 extends (infer U)[] ? any[] : T_356 extends object ? { [K_207 in keyof T_356]-?: T_356[K_207] extends infer T_358 ? T_358 extends T_356[K_207] ? T_358 extends CanBeExpanded ? any : T_358 extends (infer U)[] ? any[] : T_358 extends object ? { [K_208 in keyof T_358]-?: T_358[K_208] extends infer T_359 ? T_359 extends T_358[K_208] ? T_359 extends CanBeExpanded ? T_359["default"] : T_359 : never : never; } : T_358 : never : never; } : T_356 : never : never : T_355 extends (infer U)[] ? any[] : T_355 extends object ? { [K_209 in keyof T_355]-?: T_355[K_209] extends infer T_360 ? T_360 extends T_355[K_209] ? T_360 extends CanBeExpanded ? T_360[PrefixWith, K_209, "."> extends infer T_361 ? T_361 extends PrefixWith, K_209, "."> ? T_361 extends SplitAC ? "value" : "default" : never : never] extends infer T_362 ? T_362 extends T_360[PrefixWith, K_209, "."> extends infer T_361 ? T_361 extends PrefixWith, K_209, "."> ? T_361 extends SplitAC ? "value" : "default" : never : never] ? T_362 extends CanBeExpanded ? any : T_362 extends (infer U)[] ? any[] : T_362 extends object ? { [K_210 in keyof T_362]-?: T_362[K_210] extends infer T_363 ? T_363 extends T_362[K_210] ? T_363 extends CanBeExpanded ? T_363["default"] : T_363 : never : never; } : T_362 : never : never : T_360 extends (infer U)[] ? any[] : T_360 extends object ? { [K_211 in keyof T_360]-?: T_360[K_211] extends infer T_364 ? T_364 extends T_360[K_211] ? T_364 extends CanBeExpanded ? T_364["default"] : T_364 : never : never; } : T_360 : never : never; } : T_355 : never : never : T_354 extends (infer U)[] ? any[] : T_354 extends object ? { [K_212 in keyof T_354]-?: T_354[K_212] extends infer T_365 ? T_365 extends T_354[K_212] ? T_365 extends CanBeExpanded ? T_365[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] extends infer T_367 ? T_367 extends T_365[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] ? T_367 extends CanBeExpanded ? T_367[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] extends infer T_368 ? T_368 extends T_367[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] ? T_368 extends CanBeExpanded ? any : T_368 extends (infer U)[] ? any[] : T_368 extends object ? { [K_213 in keyof T_368]-?: T_368[K_213] extends infer T_369 ? T_369 extends T_368[K_213] ? T_369 extends CanBeExpanded ? T_369["default"] : T_369 : never : never; } : T_368 : never : never : T_367 extends (infer U)[] ? any[] : T_367 extends object ? { [K_214 in keyof T_367]-?: T_367[K_214] extends infer T_370 ? T_370 extends T_367[K_214] ? T_370 extends CanBeExpanded ? T_370["default"] : T_370 : never : never; } : T_367 : never : never : T_365 extends (infer U)[] ? any[] : T_365 extends object ? { [K_215 in keyof T_365]-?: T_365[K_215] extends infer T_371 ? T_371 extends T_365[K_215] ? T_371 extends CanBeExpanded ? T_371["default"] : T_371 : never : never; } : T_365 : never : never; } : T_354 : never : never : T_353 extends (infer U)[] ? any[] : T_353 extends object ? { [K_216 in keyof T_353]-?: T_353[K_216] extends infer T_372 ? T_372 extends T_353[K_216] ? T_372 extends CanBeExpanded ? T_372[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] extends infer T_374 ? T_374 extends T_372[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] ? T_374 extends CanBeExpanded ? T_374[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] extends infer T_375 ? T_375 extends T_374[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] ? T_375 extends CanBeExpanded ? T_375[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] extends infer T_376 ? T_376 extends T_375[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] ? T_376 extends CanBeExpanded ? any : T_376 extends (infer U)[] ? any[] : T_376 extends object ? { [K_217 in keyof T_376]-?: T_376[K_217] extends infer T_377 ? T_377 extends T_376[K_217] ? T_377 extends CanBeExpanded ? T_377["default"] : T_377 : never : never; } : T_376 : never : never : T_375 extends (infer U)[] ? any[] : T_375 extends object ? { [K_218 in keyof T_375]-?: T_375[K_218] extends infer T_378 ? T_378 extends T_375[K_218] ? T_378 extends CanBeExpanded ? T_378["default"] : T_378 : never : never; } : T_375 : never : never : T_374 extends (infer U)[] ? any[] : T_374 extends object ? { [K_219 in keyof T_374]-?: T_374[K_219] extends infer T_379 ? T_379 extends T_374[K_219] ? T_379 extends CanBeExpanded ? T_379["default"] : T_379 : never : never; } : T_374 : never : never : T_372 extends (infer U)[] ? any[] : T_372 extends object ? { [K_220 in keyof T_372]-?: T_372[K_220] extends infer T_380 ? T_380 extends T_372[K_220] ? T_380 extends CanBeExpanded ? T_380["default"] : T_380 : never : never; } : T_372 : never : never; } : T_353 : never : never : T_351 extends (infer U)[] ? any[] : T_351 extends object ? { [K_221 in keyof T_351]-?: T_351[K_221] extends infer T_381 ? T_381 extends T_351[K_221] ? T_381 extends CanBeExpanded ? T_381[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_383 ? T_383 extends T_381[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_383 extends CanBeExpanded ? T_383[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_384 ? T_384 extends T_383[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_384 extends CanBeExpanded ? T_384[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_385 ? T_385 extends T_384[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_385 extends CanBeExpanded ? T_385[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_386 ? T_386 extends T_385[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_386 extends CanBeExpanded ? any : T_386 extends (infer U)[] ? any[] : T_386 extends object ? { [K_222 in keyof T_386]-?: T_386[K_222] extends infer T_387 ? T_387 extends T_386[K_222] ? T_387 extends CanBeExpanded ? T_387["default"] : T_387 : never : never; } : T_386 : never : never : T_385 extends (infer U)[] ? any[] : T_385 extends object ? { [K_223 in keyof T_385]-?: T_385[K_223] extends infer T_388 ? T_388 extends T_385[K_223] ? T_388 extends CanBeExpanded ? T_388["default"] : T_388 : never : never; } : T_385 : never : never : T_384 extends (infer U)[] ? any[] : T_384 extends object ? { [K_224 in keyof T_384]-?: T_384[K_224] extends infer T_389 ? T_389 extends T_384[K_224] ? T_389 extends CanBeExpanded ? T_389["default"] : T_389 : never : never; } : T_384 : never : never : T_383 extends (infer U)[] ? any[] : T_383 extends object ? { [K_225 in keyof T_383]-?: T_383[K_225] extends infer T_390 ? T_390 extends T_383[K_225] ? T_390 extends CanBeExpanded ? T_390["default"] : T_390 : never : never; } : T_383 : never : never : T_381 extends (infer U)[] ? any[] : T_381 extends object ? { [K_226 in keyof T_381]-?: T_381[K_226] extends infer T_391 ? T_391 extends T_381[K_226] ? T_391 extends CanBeExpanded ? T_391["default"] : T_391 : never : never; } : T_381 : never : never; } : T_351 : never : never; } : T_279 : never : never : T_277 extends (infer U)[] ? any[] : T_277 extends object ? { [K_227 in keyof T_277]-?: T_277[K_227] extends infer T_392 ? T_392 extends T_277[K_227] ? T_392 extends CanBeExpanded ? T_392[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_394 ? T_394 extends T_392[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_394 extends CanBeExpanded ? T_394[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_395 ? T_395 extends T_394[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_395 extends CanBeExpanded ? T_395[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_396 ? T_396 extends T_395[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_396 extends CanBeExpanded ? T_396[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_397 ? T_397 extends T_396[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_397 extends CanBeExpanded ? T_397[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_398 ? T_398 extends T_397[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_398 extends CanBeExpanded ? T_398[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_399 ? T_399 extends T_398[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_399 extends CanBeExpanded ? any : T_399 extends (infer U)[] ? any[] : T_399 extends object ? { [K_228 in keyof T_399]-?: any; } : T_399 : never : never : T_398 extends (infer U)[] ? any[] : T_398 extends object ? { [K_229 in keyof T_398]-?: T_398[K_229] extends infer T_400 ? T_400 extends T_398[K_229] ? T_400 extends CanBeExpanded ? any : T_400 extends (infer U)[] ? any[] : T_400 extends object ? { [K_230 in keyof T_400]-?: T_400[K_230] extends infer T_401 ? T_401 extends T_400[K_230] ? T_401 extends CanBeExpanded ? T_401["default"] : T_401 : never : never; } : T_400 : never : never; } : T_398 : never : never : T_397 extends (infer U)[] ? any[] : T_397 extends object ? { [K_231 in keyof T_397]-?: T_397[K_231] extends infer T_402 ? T_402 extends T_397[K_231] ? T_402 extends CanBeExpanded ? T_402[PrefixWith, K_231, "."> extends infer T_403 ? T_403 extends PrefixWith, K_231, "."> ? T_403 extends SplitAC ? "value" : "default" : never : never] extends infer T_404 ? T_404 extends T_402[PrefixWith, K_231, "."> extends infer T_403 ? T_403 extends PrefixWith, K_231, "."> ? T_403 extends SplitAC ? "value" : "default" : never : never] ? T_404 extends CanBeExpanded ? any : T_404 extends (infer U)[] ? any[] : T_404 extends object ? { [K_232 in keyof T_404]-?: T_404[K_232] extends infer T_405 ? T_405 extends T_404[K_232] ? T_405 extends CanBeExpanded ? T_405["default"] : T_405 : never : never; } : T_404 : never : never : T_402 extends (infer U)[] ? any[] : T_402 extends object ? { [K_233 in keyof T_402]-?: T_402[K_233] extends infer T_406 ? T_406 extends T_402[K_233] ? T_406 extends CanBeExpanded ? T_406["default"] : T_406 : never : never; } : T_402 : never : never; } : T_397 : never : never : T_396 extends (infer U)[] ? any[] : T_396 extends object ? { [K_234 in keyof T_396]-?: T_396[K_234] extends infer T_407 ? T_407 extends T_396[K_234] ? T_407 extends CanBeExpanded ? T_407[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] extends infer T_409 ? T_409 extends T_407[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] ? T_409 extends CanBeExpanded ? T_409[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] extends infer T_410 ? T_410 extends T_409[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] ? T_410 extends CanBeExpanded ? any : T_410 extends (infer U)[] ? any[] : T_410 extends object ? { [K_235 in keyof T_410]-?: T_410[K_235] extends infer T_411 ? T_411 extends T_410[K_235] ? T_411 extends CanBeExpanded ? T_411["default"] : T_411 : never : never; } : T_410 : never : never : T_409 extends (infer U)[] ? any[] : T_409 extends object ? { [K_236 in keyof T_409]-?: T_409[K_236] extends infer T_412 ? T_412 extends T_409[K_236] ? T_412 extends CanBeExpanded ? T_412["default"] : T_412 : never : never; } : T_409 : never : never : T_407 extends (infer U)[] ? any[] : T_407 extends object ? { [K_237 in keyof T_407]-?: T_407[K_237] extends infer T_413 ? T_413 extends T_407[K_237] ? T_413 extends CanBeExpanded ? T_413["default"] : T_413 : never : never; } : T_407 : never : never; } : T_396 : never : never : T_395 extends (infer U)[] ? any[] : T_395 extends object ? { [K_238 in keyof T_395]-?: T_395[K_238] extends infer T_414 ? T_414 extends T_395[K_238] ? T_414 extends CanBeExpanded ? T_414[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] extends infer T_416 ? T_416 extends T_414[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] ? T_416 extends CanBeExpanded ? T_416[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] extends infer T_417 ? T_417 extends T_416[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] ? T_417 extends CanBeExpanded ? T_417[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] extends infer T_418 ? T_418 extends T_417[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] ? T_418 extends CanBeExpanded ? any : T_418 extends (infer U)[] ? any[] : T_418 extends object ? { [K_239 in keyof T_418]-?: T_418[K_239] extends infer T_419 ? T_419 extends T_418[K_239] ? T_419 extends CanBeExpanded ? T_419["default"] : T_419 : never : never; } : T_418 : never : never : T_417 extends (infer U)[] ? any[] : T_417 extends object ? { [K_240 in keyof T_417]-?: T_417[K_240] extends infer T_420 ? T_420 extends T_417[K_240] ? T_420 extends CanBeExpanded ? T_420["default"] : T_420 : never : never; } : T_417 : never : never : T_416 extends (infer U)[] ? any[] : T_416 extends object ? { [K_241 in keyof T_416]-?: T_416[K_241] extends infer T_421 ? T_421 extends T_416[K_241] ? T_421 extends CanBeExpanded ? T_421["default"] : T_421 : never : never; } : T_416 : never : never : T_414 extends (infer U)[] ? any[] : T_414 extends object ? { [K_242 in keyof T_414]-?: T_414[K_242] extends infer T_422 ? T_422 extends T_414[K_242] ? T_422 extends CanBeExpanded ? T_422["default"] : T_422 : never : never; } : T_414 : never : never; } : T_395 : never : never : T_394 extends (infer U)[] ? any[] : T_394 extends object ? { [K_243 in keyof T_394]-?: T_394[K_243] extends infer T_423 ? T_423 extends T_394[K_243] ? T_423 extends CanBeExpanded ? T_423[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_425 ? T_425 extends T_423[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_425 extends CanBeExpanded ? T_425[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_426 ? T_426 extends T_425[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_426 extends CanBeExpanded ? T_426[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_427 ? T_427 extends T_426[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_427 extends CanBeExpanded ? T_427[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_428 ? T_428 extends T_427[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_428 extends CanBeExpanded ? any : T_428 extends (infer U)[] ? any[] : T_428 extends object ? { [K_244 in keyof T_428]-?: T_428[K_244] extends infer T_429 ? T_429 extends T_428[K_244] ? T_429 extends CanBeExpanded ? T_429["default"] : T_429 : never : never; } : T_428 : never : never : T_427 extends (infer U)[] ? any[] : T_427 extends object ? { [K_245 in keyof T_427]-?: T_427[K_245] extends infer T_430 ? T_430 extends T_427[K_245] ? T_430 extends CanBeExpanded ? T_430["default"] : T_430 : never : never; } : T_427 : never : never : T_426 extends (infer U)[] ? any[] : T_426 extends object ? { [K_246 in keyof T_426]-?: T_426[K_246] extends infer T_431 ? T_431 extends T_426[K_246] ? T_431 extends CanBeExpanded ? T_431["default"] : T_431 : never : never; } : T_426 : never : never : T_425 extends (infer U)[] ? any[] : T_425 extends object ? { [K_247 in keyof T_425]-?: T_425[K_247] extends infer T_432 ? T_432 extends T_425[K_247] ? T_432 extends CanBeExpanded ? T_432["default"] : T_432 : never : never; } : T_425 : never : never : T_423 extends (infer U)[] ? any[] : T_423 extends object ? { [K_248 in keyof T_423]-?: T_423[K_248] extends infer T_433 ? T_433 extends T_423[K_248] ? T_433 extends CanBeExpanded ? T_433["default"] : T_433 : never : never; } : T_423 : never : never; } : T_394 : never : never : T_392 extends (infer U)[] ? any[] : T_392 extends object ? { [K_249 in keyof T_392]-?: T_392[K_249] extends infer T_434 ? T_434 extends T_392[K_249] ? T_434 extends CanBeExpanded ? T_434[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_436 ? T_436 extends T_434[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_436 extends CanBeExpanded ? T_436[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_437 ? T_437 extends T_436[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_437 extends CanBeExpanded ? T_437[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_438 ? T_438 extends T_437[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_438 extends CanBeExpanded ? T_438[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_439 ? T_439 extends T_438[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_439 extends CanBeExpanded ? T_439[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_440 ? T_440 extends T_439[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_440 extends CanBeExpanded ? any : T_440 extends (infer U)[] ? any[] : T_440 extends object ? { [K_250 in keyof T_440]-?: T_440[K_250] extends infer T_441 ? T_441 extends T_440[K_250] ? T_441 extends CanBeExpanded ? T_441["default"] : T_441 : never : never; } : T_440 : never : never : T_439 extends (infer U)[] ? any[] : T_439 extends object ? { [K_251 in keyof T_439]-?: T_439[K_251] extends infer T_442 ? T_442 extends T_439[K_251] ? T_442 extends CanBeExpanded ? T_442["default"] : T_442 : never : never; } : T_439 : never : never : T_438 extends (infer U)[] ? any[] : T_438 extends object ? { [K_252 in keyof T_438]-?: T_438[K_252] extends infer T_443 ? T_443 extends T_438[K_252] ? T_443 extends CanBeExpanded ? T_443["default"] : T_443 : never : never; } : T_438 : never : never : T_437 extends (infer U)[] ? any[] : T_437 extends object ? { [K_253 in keyof T_437]-?: T_437[K_253] extends infer T_444 ? T_444 extends T_437[K_253] ? T_444 extends CanBeExpanded ? T_444["default"] : T_444 : never : never; } : T_437 : never : never : T_436 extends (infer U)[] ? any[] : T_436 extends object ? { [K_254 in keyof T_436]-?: T_436[K_254] extends infer T_445 ? T_445 extends T_436[K_254] ? T_445 extends CanBeExpanded ? T_445["default"] : T_445 : never : never; } : T_436 : never : never : T_434 extends (infer U)[] ? any[] : T_434 extends object ? { [K_255 in keyof T_434]-?: T_434[K_255] extends infer T_446 ? T_446 extends T_434[K_255] ? T_446 extends CanBeExpanded ? T_446["default"] : T_446 : never : never; } : T_434 : never : never; } : T_392 : never : never; } : T_277 : never : never; } : T_3 : never : never : T_2 extends (infer U)[] ? any[] : T_2 extends object ? { [K_256 in keyof T_2]-?: T_2[K_256] extends infer T_447 ? T_447 extends T_2[K_256] ? T_447 extends CanBeExpanded ? T_447[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_449 ? T_449 extends T_447[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_449 extends CanBeExpanded ? T_449[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_450 ? T_450 extends T_449[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_450 extends CanBeExpanded ? T_450[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_451 ? T_451 extends T_450[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_451 extends CanBeExpanded ? T_451[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_452 ? T_452 extends T_451[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_452 extends CanBeExpanded ? T_452[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_453 ? T_453 extends T_452[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_453 extends CanBeExpanded ? T_453[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_454 ? T_454 extends T_453[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_454 extends CanBeExpanded ? T_454[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_455 ? T_455 extends T_454[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_455 extends CanBeExpanded ? T_455[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_456 ? T_456 extends T_455[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_456 extends CanBeExpanded ? any : T_456 extends (infer U)[] ? any[] : T_456 extends object ? { [K_257 in keyof T_456]-?: any; } : T_456 : never : never : T_455 extends (infer U)[] ? any[] : T_455 extends object ? { [K_258 in keyof T_455]-?: T_455[K_258] extends infer T_457 ? T_457 extends T_455[K_258] ? T_457 extends CanBeExpanded ? any : T_457 extends (infer U)[] ? any[] : T_457 extends object ? { [K_259 in keyof T_457]-?: any; } : T_457 : never : never; } : T_455 : never : never : T_454 extends (infer U)[] ? any[] : T_454 extends object ? { [K_260 in keyof T_454]-?: T_454[K_260] extends infer T_458 ? T_458 extends T_454[K_260] ? T_458 extends CanBeExpanded ? T_458[PrefixWith<`${string & K_256}`, K_260, "."> extends infer T_459 ? T_459 extends PrefixWith<`${string & K_256}`, K_260, "."> ? T_459 extends SplitAC ? "value" : "default" : never : never] extends infer T_460 ? T_460 extends T_458[PrefixWith<`${string & K_256}`, K_260, "."> extends infer T_459 ? T_459 extends PrefixWith<`${string & K_256}`, K_260, "."> ? T_459 extends SplitAC ? "value" : "default" : never : never] ? T_460 extends CanBeExpanded ? any : T_460 extends (infer U)[] ? any[] : T_460 extends object ? { [K_261 in keyof T_460]-?: any; } : T_460 : never : never : T_458 extends (infer U)[] ? any[] : T_458 extends object ? { [K_262 in keyof T_458]-?: T_458[K_262] extends infer T_461 ? T_461 extends T_458[K_262] ? T_461 extends CanBeExpanded ? any : T_461 extends (infer U)[] ? any[] : T_461 extends object ? { [K_263 in keyof T_461]-?: T_461[K_263] extends infer T_462 ? T_462 extends T_461[K_263] ? T_462 extends CanBeExpanded ? T_462["default"] : T_462 : never : never; } : T_461 : never : never; } : T_458 : never : never; } : T_454 : never : never : T_453 extends (infer U)[] ? any[] : T_453 extends object ? { [K_264 in keyof T_453]-?: T_453[K_264] extends infer T_463 ? T_463 extends T_453[K_264] ? T_463 extends CanBeExpanded ? T_463[PrefixWith<`${string & K_256}`, K_264, "."> extends infer T_464 ? T_464 extends PrefixWith<`${string & K_256}`, K_264, "."> ? T_464 extends SplitAC ? "value" : "default" : never : never] extends infer T_465 ? T_465 extends T_463[PrefixWith<`${string & K_256}`, K_264, "."> extends infer T_464 ? T_464 extends PrefixWith<`${string & K_256}`, K_264, "."> ? T_464 extends SplitAC ? "value" : "default" : never : never] ? T_465 extends CanBeExpanded ? T_465[PrefixWith<`${string & K_256}`, K_264, "."> extends infer T_464 ? T_464 extends PrefixWith<`${string & K_256}`, K_264, "."> ? T_464 extends SplitAC ? "value" : "default" : never : never] extends infer T_466 ? T_466 extends T_465[PrefixWith<`${string & K_256}`, K_264, "."> extends infer T_464 ? T_464 extends PrefixWith<`${string & K_256}`, K_264, "."> ? T_464 extends SplitAC ? "value" : "default" : never : never] ? T_466 extends CanBeExpanded ? any : T_466 extends (infer U)[] ? any[] : T_466 extends object ? { [K_265 in keyof T_466]-?: any; } : T_466 : never : never : T_465 extends (infer U)[] ? any[] : T_465 extends object ? { [K_266 in keyof T_465]-?: T_465[K_266] extends infer T_467 ? T_467 extends T_465[K_266] ? T_467 extends CanBeExpanded ? any : T_467 extends (infer U)[] ? any[] : T_467 extends object ? { [K_267 in keyof T_467]-?: T_467[K_267] extends infer T_468 ? T_468 extends T_467[K_267] ? T_468 extends CanBeExpanded ? T_468["default"] : T_468 : never : never; } : T_467 : never : never; } : T_465 : never : never : T_463 extends (infer U)[] ? any[] : T_463 extends object ? { [K_268 in keyof T_463]-?: T_463[K_268] extends infer T_469 ? T_469 extends T_463[K_268] ? T_469 extends CanBeExpanded ? T_469[PrefixWith, K_268, "."> extends infer T_470 ? T_470 extends PrefixWith, K_268, "."> ? T_470 extends SplitAC ? "value" : "default" : never : never] extends infer T_471 ? T_471 extends T_469[PrefixWith, K_268, "."> extends infer T_470 ? T_470 extends PrefixWith, K_268, "."> ? T_470 extends SplitAC ? "value" : "default" : never : never] ? T_471 extends CanBeExpanded ? any : T_471 extends (infer U)[] ? any[] : T_471 extends object ? { [K_269 in keyof T_471]-?: T_471[K_269] extends infer T_472 ? T_472 extends T_471[K_269] ? T_472 extends CanBeExpanded ? T_472["default"] : T_472 : never : never; } : T_471 : never : never : T_469 extends (infer U)[] ? any[] : T_469 extends object ? { [K_270 in keyof T_469]-?: T_469[K_270] extends infer T_473 ? T_473 extends T_469[K_270] ? T_473 extends CanBeExpanded ? T_473["default"] : T_473 : never : never; } : T_469 : never : never; } : T_463 : never : never; } : T_453 : never : never : T_452 extends (infer U)[] ? any[] : T_452 extends object ? { [K_271 in keyof T_452]-?: T_452[K_271] extends infer T_474 ? T_474 extends T_452[K_271] ? T_474 extends CanBeExpanded ? T_474[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] extends infer T_476 ? T_476 extends T_474[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] ? T_476 extends CanBeExpanded ? T_476[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] extends infer T_477 ? T_477 extends T_476[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] ? T_477 extends CanBeExpanded ? T_477[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] extends infer T_478 ? T_478 extends T_477[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] ? T_478 extends CanBeExpanded ? any : T_478 extends (infer U)[] ? any[] : T_478 extends object ? { [K_272 in keyof T_478]-?: any; } : T_478 : never : never : T_477 extends (infer U)[] ? any[] : T_477 extends object ? { [K_273 in keyof T_477]-?: T_477[K_273] extends infer T_479 ? T_479 extends T_477[K_273] ? T_479 extends CanBeExpanded ? any : T_479 extends (infer U)[] ? any[] : T_479 extends object ? { [K_274 in keyof T_479]-?: T_479[K_274] extends infer T_480 ? T_480 extends T_479[K_274] ? T_480 extends CanBeExpanded ? T_480["default"] : T_480 : never : never; } : T_479 : never : never; } : T_477 : never : never : T_476 extends (infer U)[] ? any[] : T_476 extends object ? { [K_275 in keyof T_476]-?: T_476[K_275] extends infer T_481 ? T_481 extends T_476[K_275] ? T_481 extends CanBeExpanded ? T_481[PrefixWith, K_275, "."> extends infer T_482 ? T_482 extends PrefixWith, K_275, "."> ? T_482 extends SplitAC ? "value" : "default" : never : never] extends infer T_483 ? T_483 extends T_481[PrefixWith, K_275, "."> extends infer T_482 ? T_482 extends PrefixWith, K_275, "."> ? T_482 extends SplitAC ? "value" : "default" : never : never] ? T_483 extends CanBeExpanded ? any : T_483 extends (infer U)[] ? any[] : T_483 extends object ? { [K_276 in keyof T_483]-?: T_483[K_276] extends infer T_484 ? T_484 extends T_483[K_276] ? T_484 extends CanBeExpanded ? T_484["default"] : T_484 : never : never; } : T_483 : never : never : T_481 extends (infer U)[] ? any[] : T_481 extends object ? { [K_277 in keyof T_481]-?: T_481[K_277] extends infer T_485 ? T_485 extends T_481[K_277] ? T_485 extends CanBeExpanded ? T_485["default"] : T_485 : never : never; } : T_481 : never : never; } : T_476 : never : never : T_474 extends (infer U)[] ? any[] : T_474 extends object ? { [K_278 in keyof T_474]-?: T_474[K_278] extends infer T_486 ? T_486 extends T_474[K_278] ? T_486 extends CanBeExpanded ? T_486[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] extends infer T_488 ? T_488 extends T_486[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] ? T_488 extends CanBeExpanded ? T_488[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] extends infer T_489 ? T_489 extends T_488[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] ? T_489 extends CanBeExpanded ? any : T_489 extends (infer U)[] ? any[] : T_489 extends object ? { [K_279 in keyof T_489]-?: T_489[K_279] extends infer T_490 ? T_490 extends T_489[K_279] ? T_490 extends CanBeExpanded ? T_490["default"] : T_490 : never : never; } : T_489 : never : never : T_488 extends (infer U)[] ? any[] : T_488 extends object ? { [K_280 in keyof T_488]-?: T_488[K_280] extends infer T_491 ? T_491 extends T_488[K_280] ? T_491 extends CanBeExpanded ? T_491["default"] : T_491 : never : never; } : T_488 : never : never : T_486 extends (infer U)[] ? any[] : T_486 extends object ? { [K_281 in keyof T_486]-?: T_486[K_281] extends infer T_492 ? T_492 extends T_486[K_281] ? T_492 extends CanBeExpanded ? T_492["default"] : T_492 : never : never; } : T_486 : never : never; } : T_474 : never : never; } : T_452 : never : never : T_451 extends (infer U)[] ? any[] : T_451 extends object ? { [K_282 in keyof T_451]-?: T_451[K_282] extends infer T_493 ? T_493 extends T_451[K_282] ? T_493 extends CanBeExpanded ? T_493[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_495 ? T_495 extends T_493[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_495 extends CanBeExpanded ? T_495[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_496 ? T_496 extends T_495[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_496 extends CanBeExpanded ? T_496[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_497 ? T_497 extends T_496[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_497 extends CanBeExpanded ? T_497[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_498 ? T_498 extends T_497[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_498 extends CanBeExpanded ? any : T_498 extends (infer U)[] ? any[] : T_498 extends object ? { [K_283 in keyof T_498]-?: any; } : T_498 : never : never : T_497 extends (infer U)[] ? any[] : T_497 extends object ? { [K_284 in keyof T_497]-?: T_497[K_284] extends infer T_499 ? T_499 extends T_497[K_284] ? T_499 extends CanBeExpanded ? any : T_499 extends (infer U)[] ? any[] : T_499 extends object ? { [K_285 in keyof T_499]-?: T_499[K_285] extends infer T_500 ? T_500 extends T_499[K_285] ? T_500 extends CanBeExpanded ? T_500["default"] : T_500 : never : never; } : T_499 : never : never; } : T_497 : never : never : T_496 extends (infer U)[] ? any[] : T_496 extends object ? { [K_286 in keyof T_496]-?: T_496[K_286] extends infer T_501 ? T_501 extends T_496[K_286] ? T_501 extends CanBeExpanded ? T_501[PrefixWith, K_286, "."> extends infer T_502 ? T_502 extends PrefixWith, K_286, "."> ? T_502 extends SplitAC ? "value" : "default" : never : never] extends infer T_503 ? T_503 extends T_501[PrefixWith, K_286, "."> extends infer T_502 ? T_502 extends PrefixWith, K_286, "."> ? T_502 extends SplitAC ? "value" : "default" : never : never] ? T_503 extends CanBeExpanded ? any : T_503 extends (infer U)[] ? any[] : T_503 extends object ? { [K_287 in keyof T_503]-?: T_503[K_287] extends infer T_504 ? T_504 extends T_503[K_287] ? T_504 extends CanBeExpanded ? T_504["default"] : T_504 : never : never; } : T_503 : never : never : T_501 extends (infer U)[] ? any[] : T_501 extends object ? { [K_288 in keyof T_501]-?: T_501[K_288] extends infer T_505 ? T_505 extends T_501[K_288] ? T_505 extends CanBeExpanded ? T_505["default"] : T_505 : never : never; } : T_501 : never : never; } : T_496 : never : never : T_495 extends (infer U)[] ? any[] : T_495 extends object ? { [K_289 in keyof T_495]-?: T_495[K_289] extends infer T_506 ? T_506 extends T_495[K_289] ? T_506 extends CanBeExpanded ? T_506[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] extends infer T_508 ? T_508 extends T_506[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] ? T_508 extends CanBeExpanded ? T_508[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] extends infer T_509 ? T_509 extends T_508[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] ? T_509 extends CanBeExpanded ? any : T_509 extends (infer U)[] ? any[] : T_509 extends object ? { [K_290 in keyof T_509]-?: T_509[K_290] extends infer T_510 ? T_510 extends T_509[K_290] ? T_510 extends CanBeExpanded ? T_510["default"] : T_510 : never : never; } : T_509 : never : never : T_508 extends (infer U)[] ? any[] : T_508 extends object ? { [K_291 in keyof T_508]-?: T_508[K_291] extends infer T_511 ? T_511 extends T_508[K_291] ? T_511 extends CanBeExpanded ? T_511["default"] : T_511 : never : never; } : T_508 : never : never : T_506 extends (infer U)[] ? any[] : T_506 extends object ? { [K_292 in keyof T_506]-?: T_506[K_292] extends infer T_512 ? T_512 extends T_506[K_292] ? T_512 extends CanBeExpanded ? T_512["default"] : T_512 : never : never; } : T_506 : never : never; } : T_495 : never : never : T_493 extends (infer U)[] ? any[] : T_493 extends object ? { [K_293 in keyof T_493]-?: T_493[K_293] extends infer T_513 ? T_513 extends T_493[K_293] ? T_513 extends CanBeExpanded ? T_513[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] extends infer T_515 ? T_515 extends T_513[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] ? T_515 extends CanBeExpanded ? T_515[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] extends infer T_516 ? T_516 extends T_515[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] ? T_516 extends CanBeExpanded ? T_516[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] extends infer T_517 ? T_517 extends T_516[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] ? T_517 extends CanBeExpanded ? any : T_517 extends (infer U)[] ? any[] : T_517 extends object ? { [K_294 in keyof T_517]-?: T_517[K_294] extends infer T_518 ? T_518 extends T_517[K_294] ? T_518 extends CanBeExpanded ? T_518["default"] : T_518 : never : never; } : T_517 : never : never : T_516 extends (infer U)[] ? any[] : T_516 extends object ? { [K_295 in keyof T_516]-?: T_516[K_295] extends infer T_519 ? T_519 extends T_516[K_295] ? T_519 extends CanBeExpanded ? T_519["default"] : T_519 : never : never; } : T_516 : never : never : T_515 extends (infer U)[] ? any[] : T_515 extends object ? { [K_296 in keyof T_515]-?: T_515[K_296] extends infer T_520 ? T_520 extends T_515[K_296] ? T_520 extends CanBeExpanded ? T_520["default"] : T_520 : never : never; } : T_515 : never : never : T_513 extends (infer U)[] ? any[] : T_513 extends object ? { [K_297 in keyof T_513]-?: T_513[K_297] extends infer T_521 ? T_521 extends T_513[K_297] ? T_521 extends CanBeExpanded ? T_521["default"] : T_521 : never : never; } : T_513 : never : never; } : T_493 : never : never; } : T_451 : never : never : T_450 extends (infer U)[] ? any[] : T_450 extends object ? { [K_298 in keyof T_450]-?: T_450[K_298] extends infer T_522 ? T_522 extends T_450[K_298] ? T_522 extends CanBeExpanded ? T_522[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_524 ? T_524 extends T_522[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_524 extends CanBeExpanded ? T_524[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_525 ? T_525 extends T_524[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_525 extends CanBeExpanded ? T_525[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_526 ? T_526 extends T_525[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_526 extends CanBeExpanded ? T_526[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_527 ? T_527 extends T_526[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_527 extends CanBeExpanded ? T_527[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_528 ? T_528 extends T_527[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_528 extends CanBeExpanded ? any : T_528 extends (infer U)[] ? any[] : T_528 extends object ? { [K_299 in keyof T_528]-?: any; } : T_528 : never : never : T_527 extends (infer U)[] ? any[] : T_527 extends object ? { [K_300 in keyof T_527]-?: T_527[K_300] extends infer T_529 ? T_529 extends T_527[K_300] ? T_529 extends CanBeExpanded ? any : T_529 extends (infer U)[] ? any[] : T_529 extends object ? { [K_301 in keyof T_529]-?: T_529[K_301] extends infer T_530 ? T_530 extends T_529[K_301] ? T_530 extends CanBeExpanded ? T_530["default"] : T_530 : never : never; } : T_529 : never : never; } : T_527 : never : never : T_526 extends (infer U)[] ? any[] : T_526 extends object ? { [K_302 in keyof T_526]-?: T_526[K_302] extends infer T_531 ? T_531 extends T_526[K_302] ? T_531 extends CanBeExpanded ? T_531[PrefixWith, K_302, "."> extends infer T_532 ? T_532 extends PrefixWith, K_302, "."> ? T_532 extends SplitAC ? "value" : "default" : never : never] extends infer T_533 ? T_533 extends T_531[PrefixWith, K_302, "."> extends infer T_532 ? T_532 extends PrefixWith, K_302, "."> ? T_532 extends SplitAC ? "value" : "default" : never : never] ? T_533 extends CanBeExpanded ? any : T_533 extends (infer U)[] ? any[] : T_533 extends object ? { [K_303 in keyof T_533]-?: T_533[K_303] extends infer T_534 ? T_534 extends T_533[K_303] ? T_534 extends CanBeExpanded ? T_534["default"] : T_534 : never : never; } : T_533 : never : never : T_531 extends (infer U)[] ? any[] : T_531 extends object ? { [K_304 in keyof T_531]-?: T_531[K_304] extends infer T_535 ? T_535 extends T_531[K_304] ? T_535 extends CanBeExpanded ? T_535["default"] : T_535 : never : never; } : T_531 : never : never; } : T_526 : never : never : T_525 extends (infer U)[] ? any[] : T_525 extends object ? { [K_305 in keyof T_525]-?: T_525[K_305] extends infer T_536 ? T_536 extends T_525[K_305] ? T_536 extends CanBeExpanded ? T_536[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] extends infer T_538 ? T_538 extends T_536[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] ? T_538 extends CanBeExpanded ? T_538[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] extends infer T_539 ? T_539 extends T_538[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] ? T_539 extends CanBeExpanded ? any : T_539 extends (infer U)[] ? any[] : T_539 extends object ? { [K_306 in keyof T_539]-?: T_539[K_306] extends infer T_540 ? T_540 extends T_539[K_306] ? T_540 extends CanBeExpanded ? T_540["default"] : T_540 : never : never; } : T_539 : never : never : T_538 extends (infer U)[] ? any[] : T_538 extends object ? { [K_307 in keyof T_538]-?: T_538[K_307] extends infer T_541 ? T_541 extends T_538[K_307] ? T_541 extends CanBeExpanded ? T_541["default"] : T_541 : never : never; } : T_538 : never : never : T_536 extends (infer U)[] ? any[] : T_536 extends object ? { [K_308 in keyof T_536]-?: T_536[K_308] extends infer T_542 ? T_542 extends T_536[K_308] ? T_542 extends CanBeExpanded ? T_542["default"] : T_542 : never : never; } : T_536 : never : never; } : T_525 : never : never : T_524 extends (infer U)[] ? any[] : T_524 extends object ? { [K_309 in keyof T_524]-?: T_524[K_309] extends infer T_543 ? T_543 extends T_524[K_309] ? T_543 extends CanBeExpanded ? T_543[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] extends infer T_545 ? T_545 extends T_543[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] ? T_545 extends CanBeExpanded ? T_545[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] extends infer T_546 ? T_546 extends T_545[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] ? T_546 extends CanBeExpanded ? T_546[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] extends infer T_547 ? T_547 extends T_546[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] ? T_547 extends CanBeExpanded ? any : T_547 extends (infer U)[] ? any[] : T_547 extends object ? { [K_310 in keyof T_547]-?: T_547[K_310] extends infer T_548 ? T_548 extends T_547[K_310] ? T_548 extends CanBeExpanded ? T_548["default"] : T_548 : never : never; } : T_547 : never : never : T_546 extends (infer U)[] ? any[] : T_546 extends object ? { [K_311 in keyof T_546]-?: T_546[K_311] extends infer T_549 ? T_549 extends T_546[K_311] ? T_549 extends CanBeExpanded ? T_549["default"] : T_549 : never : never; } : T_546 : never : never : T_545 extends (infer U)[] ? any[] : T_545 extends object ? { [K_312 in keyof T_545]-?: T_545[K_312] extends infer T_550 ? T_550 extends T_545[K_312] ? T_550 extends CanBeExpanded ? T_550["default"] : T_550 : never : never; } : T_545 : never : never : T_543 extends (infer U)[] ? any[] : T_543 extends object ? { [K_313 in keyof T_543]-?: T_543[K_313] extends infer T_551 ? T_551 extends T_543[K_313] ? T_551 extends CanBeExpanded ? T_551["default"] : T_551 : never : never; } : T_543 : never : never; } : T_524 : never : never : T_522 extends (infer U)[] ? any[] : T_522 extends object ? { [K_314 in keyof T_522]-?: T_522[K_314] extends infer T_552 ? T_552 extends T_522[K_314] ? T_552 extends CanBeExpanded ? T_552[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_554 ? T_554 extends T_552[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_554 extends CanBeExpanded ? T_554[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_555 ? T_555 extends T_554[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_555 extends CanBeExpanded ? T_555[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_556 ? T_556 extends T_555[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_556 extends CanBeExpanded ? T_556[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_557 ? T_557 extends T_556[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_557 extends CanBeExpanded ? any : T_557 extends (infer U)[] ? any[] : T_557 extends object ? { [K_315 in keyof T_557]-?: T_557[K_315] extends infer T_558 ? T_558 extends T_557[K_315] ? T_558 extends CanBeExpanded ? T_558["default"] : T_558 : never : never; } : T_557 : never : never : T_556 extends (infer U)[] ? any[] : T_556 extends object ? { [K_316 in keyof T_556]-?: T_556[K_316] extends infer T_559 ? T_559 extends T_556[K_316] ? T_559 extends CanBeExpanded ? T_559["default"] : T_559 : never : never; } : T_556 : never : never : T_555 extends (infer U)[] ? any[] : T_555 extends object ? { [K_317 in keyof T_555]-?: T_555[K_317] extends infer T_560 ? T_560 extends T_555[K_317] ? T_560 extends CanBeExpanded ? T_560["default"] : T_560 : never : never; } : T_555 : never : never : T_554 extends (infer U)[] ? any[] : T_554 extends object ? { [K_318 in keyof T_554]-?: T_554[K_318] extends infer T_561 ? T_561 extends T_554[K_318] ? T_561 extends CanBeExpanded ? T_561["default"] : T_561 : never : never; } : T_554 : never : never : T_552 extends (infer U)[] ? any[] : T_552 extends object ? { [K_319 in keyof T_552]-?: T_552[K_319] extends infer T_562 ? T_562 extends T_552[K_319] ? T_562 extends CanBeExpanded ? T_562["default"] : T_562 : never : never; } : T_552 : never : never; } : T_522 : never : never; } : T_450 : never : never : T_449 extends (infer U)[] ? any[] : T_449 extends object ? { [K_320 in keyof T_449]-?: T_449[K_320] extends infer T_563 ? T_563 extends T_449[K_320] ? T_563 extends CanBeExpanded ? T_563[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_565 ? T_565 extends T_563[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_565 extends CanBeExpanded ? T_565[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_566 ? T_566 extends T_565[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_566 extends CanBeExpanded ? T_566[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_567 ? T_567 extends T_566[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_567 extends CanBeExpanded ? T_567[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_568 ? T_568 extends T_567[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_568 extends CanBeExpanded ? T_568[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_569 ? T_569 extends T_568[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_569 extends CanBeExpanded ? T_569[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_570 ? T_570 extends T_569[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_570 extends CanBeExpanded ? any : T_570 extends (infer U)[] ? any[] : T_570 extends object ? { [K_321 in keyof T_570]-?: any; } : T_570 : never : never : T_569 extends (infer U)[] ? any[] : T_569 extends object ? { [K_322 in keyof T_569]-?: T_569[K_322] extends infer T_571 ? T_571 extends T_569[K_322] ? T_571 extends CanBeExpanded ? any : T_571 extends (infer U)[] ? any[] : T_571 extends object ? { [K_323 in keyof T_571]-?: T_571[K_323] extends infer T_572 ? T_572 extends T_571[K_323] ? T_572 extends CanBeExpanded ? T_572["default"] : T_572 : never : never; } : T_571 : never : never; } : T_569 : never : never : T_568 extends (infer U)[] ? any[] : T_568 extends object ? { [K_324 in keyof T_568]-?: T_568[K_324] extends infer T_573 ? T_573 extends T_568[K_324] ? T_573 extends CanBeExpanded ? T_573[PrefixWith, K_324, "."> extends infer T_574 ? T_574 extends PrefixWith, K_324, "."> ? T_574 extends SplitAC ? "value" : "default" : never : never] extends infer T_575 ? T_575 extends T_573[PrefixWith, K_324, "."> extends infer T_574 ? T_574 extends PrefixWith, K_324, "."> ? T_574 extends SplitAC ? "value" : "default" : never : never] ? T_575 extends CanBeExpanded ? any : T_575 extends (infer U)[] ? any[] : T_575 extends object ? { [K_325 in keyof T_575]-?: T_575[K_325] extends infer T_576 ? T_576 extends T_575[K_325] ? T_576 extends CanBeExpanded ? T_576["default"] : T_576 : never : never; } : T_575 : never : never : T_573 extends (infer U)[] ? any[] : T_573 extends object ? { [K_326 in keyof T_573]-?: T_573[K_326] extends infer T_577 ? T_577 extends T_573[K_326] ? T_577 extends CanBeExpanded ? T_577["default"] : T_577 : never : never; } : T_573 : never : never; } : T_568 : never : never : T_567 extends (infer U)[] ? any[] : T_567 extends object ? { [K_327 in keyof T_567]-?: T_567[K_327] extends infer T_578 ? T_578 extends T_567[K_327] ? T_578 extends CanBeExpanded ? T_578[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] extends infer T_580 ? T_580 extends T_578[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] ? T_580 extends CanBeExpanded ? T_580[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] extends infer T_581 ? T_581 extends T_580[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] ? T_581 extends CanBeExpanded ? any : T_581 extends (infer U)[] ? any[] : T_581 extends object ? { [K_328 in keyof T_581]-?: T_581[K_328] extends infer T_582 ? T_582 extends T_581[K_328] ? T_582 extends CanBeExpanded ? T_582["default"] : T_582 : never : never; } : T_581 : never : never : T_580 extends (infer U)[] ? any[] : T_580 extends object ? { [K_329 in keyof T_580]-?: T_580[K_329] extends infer T_583 ? T_583 extends T_580[K_329] ? T_583 extends CanBeExpanded ? T_583["default"] : T_583 : never : never; } : T_580 : never : never : T_578 extends (infer U)[] ? any[] : T_578 extends object ? { [K_330 in keyof T_578]-?: T_578[K_330] extends infer T_584 ? T_584 extends T_578[K_330] ? T_584 extends CanBeExpanded ? T_584["default"] : T_584 : never : never; } : T_578 : never : never; } : T_567 : never : never : T_566 extends (infer U)[] ? any[] : T_566 extends object ? { [K_331 in keyof T_566]-?: T_566[K_331] extends infer T_585 ? T_585 extends T_566[K_331] ? T_585 extends CanBeExpanded ? T_585[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] extends infer T_587 ? T_587 extends T_585[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] ? T_587 extends CanBeExpanded ? T_587[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] extends infer T_588 ? T_588 extends T_587[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] ? T_588 extends CanBeExpanded ? T_588[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] extends infer T_589 ? T_589 extends T_588[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] ? T_589 extends CanBeExpanded ? any : T_589 extends (infer U)[] ? any[] : T_589 extends object ? { [K_332 in keyof T_589]-?: T_589[K_332] extends infer T_590 ? T_590 extends T_589[K_332] ? T_590 extends CanBeExpanded ? T_590["default"] : T_590 : never : never; } : T_589 : never : never : T_588 extends (infer U)[] ? any[] : T_588 extends object ? { [K_333 in keyof T_588]-?: T_588[K_333] extends infer T_591 ? T_591 extends T_588[K_333] ? T_591 extends CanBeExpanded ? T_591["default"] : T_591 : never : never; } : T_588 : never : never : T_587 extends (infer U)[] ? any[] : T_587 extends object ? { [K_334 in keyof T_587]-?: T_587[K_334] extends infer T_592 ? T_592 extends T_587[K_334] ? T_592 extends CanBeExpanded ? T_592["default"] : T_592 : never : never; } : T_587 : never : never : T_585 extends (infer U)[] ? any[] : T_585 extends object ? { [K_335 in keyof T_585]-?: T_585[K_335] extends infer T_593 ? T_593 extends T_585[K_335] ? T_593 extends CanBeExpanded ? T_593["default"] : T_593 : never : never; } : T_585 : never : never; } : T_566 : never : never : T_565 extends (infer U)[] ? any[] : T_565 extends object ? { [K_336 in keyof T_565]-?: T_565[K_336] extends infer T_594 ? T_594 extends T_565[K_336] ? T_594 extends CanBeExpanded ? T_594[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_596 ? T_596 extends T_594[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_596 extends CanBeExpanded ? T_596[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_597 ? T_597 extends T_596[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_597 extends CanBeExpanded ? T_597[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_598 ? T_598 extends T_597[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_598 extends CanBeExpanded ? T_598[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_599 ? T_599 extends T_598[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_599 extends CanBeExpanded ? any : T_599 extends (infer U)[] ? any[] : T_599 extends object ? { [K_337 in keyof T_599]-?: T_599[K_337] extends infer T_600 ? T_600 extends T_599[K_337] ? T_600 extends CanBeExpanded ? T_600["default"] : T_600 : never : never; } : T_599 : never : never : T_598 extends (infer U)[] ? any[] : T_598 extends object ? { [K_338 in keyof T_598]-?: T_598[K_338] extends infer T_601 ? T_601 extends T_598[K_338] ? T_601 extends CanBeExpanded ? T_601["default"] : T_601 : never : never; } : T_598 : never : never : T_597 extends (infer U)[] ? any[] : T_597 extends object ? { [K_339 in keyof T_597]-?: T_597[K_339] extends infer T_602 ? T_602 extends T_597[K_339] ? T_602 extends CanBeExpanded ? T_602["default"] : T_602 : never : never; } : T_597 : never : never : T_596 extends (infer U)[] ? any[] : T_596 extends object ? { [K_340 in keyof T_596]-?: T_596[K_340] extends infer T_603 ? T_603 extends T_596[K_340] ? T_603 extends CanBeExpanded ? T_603["default"] : T_603 : never : never; } : T_596 : never : never : T_594 extends (infer U)[] ? any[] : T_594 extends object ? { [K_341 in keyof T_594]-?: T_594[K_341] extends infer T_604 ? T_604 extends T_594[K_341] ? T_604 extends CanBeExpanded ? T_604["default"] : T_604 : never : never; } : T_594 : never : never; } : T_565 : never : never : T_563 extends (infer U)[] ? any[] : T_563 extends object ? { [K_342 in keyof T_563]-?: T_563[K_342] extends infer T_605 ? T_605 extends T_563[K_342] ? T_605 extends CanBeExpanded ? T_605[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_607 ? T_607 extends T_605[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_607 extends CanBeExpanded ? T_607[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_608 ? T_608 extends T_607[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_608 extends CanBeExpanded ? T_608[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_609 ? T_609 extends T_608[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_609 extends CanBeExpanded ? T_609[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_610 ? T_610 extends T_609[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_610 extends CanBeExpanded ? T_610[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_611 ? T_611 extends T_610[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_611 extends CanBeExpanded ? any : T_611 extends (infer U)[] ? any[] : T_611 extends object ? { [K_343 in keyof T_611]-?: T_611[K_343] extends infer T_612 ? T_612 extends T_611[K_343] ? T_612 extends CanBeExpanded ? T_612["default"] : T_612 : never : never; } : T_611 : never : never : T_610 extends (infer U)[] ? any[] : T_610 extends object ? { [K_344 in keyof T_610]-?: T_610[K_344] extends infer T_613 ? T_613 extends T_610[K_344] ? T_613 extends CanBeExpanded ? T_613["default"] : T_613 : never : never; } : T_610 : never : never : T_609 extends (infer U)[] ? any[] : T_609 extends object ? { [K_345 in keyof T_609]-?: T_609[K_345] extends infer T_614 ? T_614 extends T_609[K_345] ? T_614 extends CanBeExpanded ? T_614["default"] : T_614 : never : never; } : T_609 : never : never : T_608 extends (infer U)[] ? any[] : T_608 extends object ? { [K_346 in keyof T_608]-?: T_608[K_346] extends infer T_615 ? T_615 extends T_608[K_346] ? T_615 extends CanBeExpanded ? T_615["default"] : T_615 : never : never; } : T_608 : never : never : T_607 extends (infer U)[] ? any[] : T_607 extends object ? { [K_347 in keyof T_607]-?: T_607[K_347] extends infer T_616 ? T_616 extends T_607[K_347] ? T_616 extends CanBeExpanded ? T_616["default"] : T_616 : never : never; } : T_607 : never : never : T_605 extends (infer U)[] ? any[] : T_605 extends object ? { [K_348 in keyof T_605]-?: T_605[K_348] extends infer T_617 ? T_617 extends T_605[K_348] ? T_617 extends CanBeExpanded ? T_617["default"] : T_617 : never : never; } : T_605 : never : never; } : T_563 : never : never; } : T_449 : never : never : T_447 extends (infer U)[] ? any[] : T_447 extends object ? { [K_349 in keyof T_447]-?: T_447[K_349] extends infer T_618 ? T_618 extends T_447[K_349] ? T_618 extends CanBeExpanded ? T_618[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_620 ? T_620 extends T_618[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_620 extends CanBeExpanded ? T_620[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_621 ? T_621 extends T_620[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_621 extends CanBeExpanded ? T_621[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_622 ? T_622 extends T_621[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_622 extends CanBeExpanded ? T_622[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_623 ? T_623 extends T_622[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_623 extends CanBeExpanded ? T_623[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_624 ? T_624 extends T_623[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_624 extends CanBeExpanded ? T_624[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_625 ? T_625 extends T_624[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_625 extends CanBeExpanded ? T_625[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_626 ? T_626 extends T_625[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_626 extends CanBeExpanded ? any : T_626 extends (infer U)[] ? any[] : T_626 extends object ? { [K_350 in keyof T_626]-?: any; } : T_626 : never : never : T_625 extends (infer U)[] ? any[] : T_625 extends object ? { [K_351 in keyof T_625]-?: T_625[K_351] extends infer T_627 ? T_627 extends T_625[K_351] ? T_627 extends CanBeExpanded ? any : T_627 extends (infer U)[] ? any[] : T_627 extends object ? { [K_352 in keyof T_627]-?: T_627[K_352] extends infer T_628 ? T_628 extends T_627[K_352] ? T_628 extends CanBeExpanded ? T_628["default"] : T_628 : never : never; } : T_627 : never : never; } : T_625 : never : never : T_624 extends (infer U)[] ? any[] : T_624 extends object ? { [K_353 in keyof T_624]-?: T_624[K_353] extends infer T_629 ? T_629 extends T_624[K_353] ? T_629 extends CanBeExpanded ? T_629[PrefixWith, K_353, "."> extends infer T_630 ? T_630 extends PrefixWith, K_353, "."> ? T_630 extends SplitAC ? "value" : "default" : never : never] extends infer T_631 ? T_631 extends T_629[PrefixWith, K_353, "."> extends infer T_630 ? T_630 extends PrefixWith, K_353, "."> ? T_630 extends SplitAC ? "value" : "default" : never : never] ? T_631 extends CanBeExpanded ? any : T_631 extends (infer U)[] ? any[] : T_631 extends object ? { [K_354 in keyof T_631]-?: T_631[K_354] extends infer T_632 ? T_632 extends T_631[K_354] ? T_632 extends CanBeExpanded ? T_632["default"] : T_632 : never : never; } : T_631 : never : never : T_629 extends (infer U)[] ? any[] : T_629 extends object ? { [K_355 in keyof T_629]-?: T_629[K_355] extends infer T_633 ? T_633 extends T_629[K_355] ? T_633 extends CanBeExpanded ? T_633["default"] : T_633 : never : never; } : T_629 : never : never; } : T_624 : never : never : T_623 extends (infer U)[] ? any[] : T_623 extends object ? { [K_356 in keyof T_623]-?: T_623[K_356] extends infer T_634 ? T_634 extends T_623[K_356] ? T_634 extends CanBeExpanded ? T_634[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] extends infer T_636 ? T_636 extends T_634[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] ? T_636 extends CanBeExpanded ? T_636[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] extends infer T_637 ? T_637 extends T_636[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] ? T_637 extends CanBeExpanded ? any : T_637 extends (infer U)[] ? any[] : T_637 extends object ? { [K_357 in keyof T_637]-?: T_637[K_357] extends infer T_638 ? T_638 extends T_637[K_357] ? T_638 extends CanBeExpanded ? T_638["default"] : T_638 : never : never; } : T_637 : never : never : T_636 extends (infer U)[] ? any[] : T_636 extends object ? { [K_358 in keyof T_636]-?: T_636[K_358] extends infer T_639 ? T_639 extends T_636[K_358] ? T_639 extends CanBeExpanded ? T_639["default"] : T_639 : never : never; } : T_636 : never : never : T_634 extends (infer U)[] ? any[] : T_634 extends object ? { [K_359 in keyof T_634]-?: T_634[K_359] extends infer T_640 ? T_640 extends T_634[K_359] ? T_640 extends CanBeExpanded ? T_640["default"] : T_640 : never : never; } : T_634 : never : never; } : T_623 : never : never : T_622 extends (infer U)[] ? any[] : T_622 extends object ? { [K_360 in keyof T_622]-?: T_622[K_360] extends infer T_641 ? T_641 extends T_622[K_360] ? T_641 extends CanBeExpanded ? T_641[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] extends infer T_643 ? T_643 extends T_641[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] ? T_643 extends CanBeExpanded ? T_643[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] extends infer T_644 ? T_644 extends T_643[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] ? T_644 extends CanBeExpanded ? T_644[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] extends infer T_645 ? T_645 extends T_644[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] ? T_645 extends CanBeExpanded ? any : T_645 extends (infer U)[] ? any[] : T_645 extends object ? { [K_361 in keyof T_645]-?: T_645[K_361] extends infer T_646 ? T_646 extends T_645[K_361] ? T_646 extends CanBeExpanded ? T_646["default"] : T_646 : never : never; } : T_645 : never : never : T_644 extends (infer U)[] ? any[] : T_644 extends object ? { [K_362 in keyof T_644]-?: T_644[K_362] extends infer T_647 ? T_647 extends T_644[K_362] ? T_647 extends CanBeExpanded ? T_647["default"] : T_647 : never : never; } : T_644 : never : never : T_643 extends (infer U)[] ? any[] : T_643 extends object ? { [K_363 in keyof T_643]-?: T_643[K_363] extends infer T_648 ? T_648 extends T_643[K_363] ? T_648 extends CanBeExpanded ? T_648["default"] : T_648 : never : never; } : T_643 : never : never : T_641 extends (infer U)[] ? any[] : T_641 extends object ? { [K_364 in keyof T_641]-?: T_641[K_364] extends infer T_649 ? T_649 extends T_641[K_364] ? T_649 extends CanBeExpanded ? T_649["default"] : T_649 : never : never; } : T_641 : never : never; } : T_622 : never : never : T_621 extends (infer U)[] ? any[] : T_621 extends object ? { [K_365 in keyof T_621]-?: T_621[K_365] extends infer T_650 ? T_650 extends T_621[K_365] ? T_650 extends CanBeExpanded ? T_650[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_652 ? T_652 extends T_650[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_652 extends CanBeExpanded ? T_652[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_653 ? T_653 extends T_652[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_653 extends CanBeExpanded ? T_653[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_654 ? T_654 extends T_653[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_654 extends CanBeExpanded ? T_654[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_655 ? T_655 extends T_654[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_655 extends CanBeExpanded ? any : T_655 extends (infer U)[] ? any[] : T_655 extends object ? { [K_366 in keyof T_655]-?: T_655[K_366] extends infer T_656 ? T_656 extends T_655[K_366] ? T_656 extends CanBeExpanded ? T_656["default"] : T_656 : never : never; } : T_655 : never : never : T_654 extends (infer U)[] ? any[] : T_654 extends object ? { [K_367 in keyof T_654]-?: T_654[K_367] extends infer T_657 ? T_657 extends T_654[K_367] ? T_657 extends CanBeExpanded ? T_657["default"] : T_657 : never : never; } : T_654 : never : never : T_653 extends (infer U)[] ? any[] : T_653 extends object ? { [K_368 in keyof T_653]-?: T_653[K_368] extends infer T_658 ? T_658 extends T_653[K_368] ? T_658 extends CanBeExpanded ? T_658["default"] : T_658 : never : never; } : T_653 : never : never : T_652 extends (infer U)[] ? any[] : T_652 extends object ? { [K_369 in keyof T_652]-?: T_652[K_369] extends infer T_659 ? T_659 extends T_652[K_369] ? T_659 extends CanBeExpanded ? T_659["default"] : T_659 : never : never; } : T_652 : never : never : T_650 extends (infer U)[] ? any[] : T_650 extends object ? { [K_370 in keyof T_650]-?: T_650[K_370] extends infer T_660 ? T_660 extends T_650[K_370] ? T_660 extends CanBeExpanded ? T_660["default"] : T_660 : never : never; } : T_650 : never : never; } : T_621 : never : never : T_620 extends (infer U)[] ? any[] : T_620 extends object ? { [K_371 in keyof T_620]-?: T_620[K_371] extends infer T_661 ? T_661 extends T_620[K_371] ? T_661 extends CanBeExpanded ? T_661[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_663 ? T_663 extends T_661[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_663 extends CanBeExpanded ? T_663[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_664 ? T_664 extends T_663[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_664 extends CanBeExpanded ? T_664[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_665 ? T_665 extends T_664[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_665 extends CanBeExpanded ? T_665[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_666 ? T_666 extends T_665[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_666 extends CanBeExpanded ? T_666[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_667 ? T_667 extends T_666[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_667 extends CanBeExpanded ? any : T_667 extends (infer U)[] ? any[] : T_667 extends object ? { [K_372 in keyof T_667]-?: T_667[K_372] extends infer T_668 ? T_668 extends T_667[K_372] ? T_668 extends CanBeExpanded ? T_668["default"] : T_668 : never : never; } : T_667 : never : never : T_666 extends (infer U)[] ? any[] : T_666 extends object ? { [K_373 in keyof T_666]-?: T_666[K_373] extends infer T_669 ? T_669 extends T_666[K_373] ? T_669 extends CanBeExpanded ? T_669["default"] : T_669 : never : never; } : T_666 : never : never : T_665 extends (infer U)[] ? any[] : T_665 extends object ? { [K_374 in keyof T_665]-?: T_665[K_374] extends infer T_670 ? T_670 extends T_665[K_374] ? T_670 extends CanBeExpanded ? T_670["default"] : T_670 : never : never; } : T_665 : never : never : T_664 extends (infer U)[] ? any[] : T_664 extends object ? { [K_375 in keyof T_664]-?: T_664[K_375] extends infer T_671 ? T_671 extends T_664[K_375] ? T_671 extends CanBeExpanded ? T_671["default"] : T_671 : never : never; } : T_664 : never : never : T_663 extends (infer U)[] ? any[] : T_663 extends object ? { [K_376 in keyof T_663]-?: T_663[K_376] extends infer T_672 ? T_672 extends T_663[K_376] ? T_672 extends CanBeExpanded ? T_672["default"] : T_672 : never : never; } : T_663 : never : never : T_661 extends (infer U)[] ? any[] : T_661 extends object ? { [K_377 in keyof T_661]-?: T_661[K_377] extends infer T_673 ? T_673 extends T_661[K_377] ? T_673 extends CanBeExpanded ? T_673["default"] : T_673 : never : never; } : T_661 : never : never; } : T_620 : never : never : T_618 extends (infer U)[] ? any[] : T_618 extends object ? { [K_378 in keyof T_618]-?: T_618[K_378] extends infer T_674 ? T_674 extends T_618[K_378] ? T_674 extends CanBeExpanded ? T_674[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_676 ? T_676 extends T_674[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_676 extends CanBeExpanded ? T_676[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_677 ? T_677 extends T_676[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_677 extends CanBeExpanded ? T_677[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_678 ? T_678 extends T_677[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_678 extends CanBeExpanded ? T_678[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_679 ? T_679 extends T_678[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_679 extends CanBeExpanded ? T_679[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_680 ? T_680 extends T_679[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_680 extends CanBeExpanded ? T_680[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_681 ? T_681 extends T_680[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_681 extends CanBeExpanded ? any : T_681 extends (infer U)[] ? any[] : T_681 extends object ? { [K_379 in keyof T_681]-?: T_681[K_379] extends infer T_682 ? T_682 extends T_681[K_379] ? T_682 extends CanBeExpanded ? T_682["default"] : T_682 : never : never; } : T_681 : never : never : T_680 extends (infer U)[] ? any[] : T_680 extends object ? { [K_380 in keyof T_680]-?: T_680[K_380] extends infer T_683 ? T_683 extends T_680[K_380] ? T_683 extends CanBeExpanded ? T_683["default"] : T_683 : never : never; } : T_680 : never : never : T_679 extends (infer U)[] ? any[] : T_679 extends object ? { [K_381 in keyof T_679]-?: T_679[K_381] extends infer T_684 ? T_684 extends T_679[K_381] ? T_684 extends CanBeExpanded ? T_684["default"] : T_684 : never : never; } : T_679 : never : never : T_678 extends (infer U)[] ? any[] : T_678 extends object ? { [K_382 in keyof T_678]-?: T_678[K_382] extends infer T_685 ? T_685 extends T_678[K_382] ? T_685 extends CanBeExpanded ? T_685["default"] : T_685 : never : never; } : T_678 : never : never : T_677 extends (infer U)[] ? any[] : T_677 extends object ? { [K_383 in keyof T_677]-?: T_677[K_383] extends infer T_686 ? T_686 extends T_677[K_383] ? T_686 extends CanBeExpanded ? T_686["default"] : T_686 : never : never; } : T_677 : never : never : T_676 extends (infer U)[] ? any[] : T_676 extends object ? { [K_384 in keyof T_676]-?: T_676[K_384] extends infer T_687 ? T_687 extends T_676[K_384] ? T_687 extends CanBeExpanded ? T_687["default"] : T_687 : never : never; } : T_676 : never : never : T_674 extends (infer U)[] ? any[] : T_674 extends object ? { [K_385 in keyof T_674]-?: T_674[K_385] extends infer T_688 ? T_688 extends T_674[K_385] ? T_688 extends CanBeExpanded ? T_688["default"] : T_688 : never : never; } : T_674 : never : never; } : T_618 : never : never; } : T_447 : never : never; } : T_2 : never : never : T extends (infer U)[] ? any[] : T extends object ? { [K_386 in keyof T]-?: T[K_386] extends infer T_689 ? T_689 extends T[K_386] ? T_689 extends CanBeExpanded ? T_689[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_691 ? T_691 extends T_689[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_691 extends CanBeExpanded ? T_691[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_692 ? T_692 extends T_691[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_692 extends CanBeExpanded ? T_692[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_693 ? T_693 extends T_692[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_693 extends CanBeExpanded ? T_693[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_694 ? T_694 extends T_693[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_694 extends CanBeExpanded ? T_694[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_695 ? T_695 extends T_694[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_695 extends CanBeExpanded ? T_695[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_696 ? T_696 extends T_695[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_696 extends CanBeExpanded ? T_696[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_697 ? T_697 extends T_696[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_697 extends CanBeExpanded ? T_697[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_698 ? T_698 extends T_697[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_698 extends CanBeExpanded ? T_698[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_699 ? T_699 extends T_698[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_699 extends CanBeExpanded ? any : T_699 extends (infer U)[] ? any[] : T_699 extends object ? { [K_387 in keyof T_699]-?: any; } : T_699 : never : never : T_698 extends (infer U)[] ? any[] : T_698 extends object ? { [K_388 in keyof T_698]-?: T_698[K_388] extends infer T_700 ? T_700 extends T_698[K_388] ? T_700 extends CanBeExpanded ? any : T_700 extends (infer U)[] ? any[] : T_700 extends object ? { [K_389 in keyof T_700]-?: any; } : T_700 : never : never; } : T_698 : never : never : T_697 extends (infer U)[] ? any[] : T_697 extends object ? { [K_390 in keyof T_697]-?: T_697[K_390] extends infer T_701 ? T_701 extends T_697[K_390] ? T_701 extends CanBeExpanded ? T_701[PrefixWith<`${string & K_386}`, K_390, "."> extends infer T_702 ? T_702 extends PrefixWith<`${string & K_386}`, K_390, "."> ? T_702 extends SplitAC ? "value" : "default" : never : never] extends infer T_703 ? T_703 extends T_701[PrefixWith<`${string & K_386}`, K_390, "."> extends infer T_702 ? T_702 extends PrefixWith<`${string & K_386}`, K_390, "."> ? T_702 extends SplitAC ? "value" : "default" : never : never] ? T_703 extends CanBeExpanded ? any : T_703 extends (infer U)[] ? any[] : T_703 extends object ? { [K_391 in keyof T_703]-?: any; } : T_703 : never : never : T_701 extends (infer U)[] ? any[] : T_701 extends object ? { [K_392 in keyof T_701]-?: T_701[K_392] extends infer T_704 ? T_704 extends T_701[K_392] ? T_704 extends CanBeExpanded ? any : T_704 extends (infer U)[] ? any[] : T_704 extends object ? { [K_393 in keyof T_704]-?: T_704[K_393] extends infer T_705 ? T_705 extends T_704[K_393] ? T_705 extends CanBeExpanded ? T_705["default"] : T_705 : never : never; } : T_704 : never : never; } : T_701 : never : never; } : T_697 : never : never : T_696 extends (infer U)[] ? any[] : T_696 extends object ? { [K_394 in keyof T_696]-?: T_696[K_394] extends infer T_706 ? T_706 extends T_696[K_394] ? T_706 extends CanBeExpanded ? T_706[PrefixWith<`${string & K_386}`, K_394, "."> extends infer T_707 ? T_707 extends PrefixWith<`${string & K_386}`, K_394, "."> ? T_707 extends SplitAC ? "value" : "default" : never : never] extends infer T_708 ? T_708 extends T_706[PrefixWith<`${string & K_386}`, K_394, "."> extends infer T_707 ? T_707 extends PrefixWith<`${string & K_386}`, K_394, "."> ? T_707 extends SplitAC ? "value" : "default" : never : never] ? T_708 extends CanBeExpanded ? T_708[PrefixWith<`${string & K_386}`, K_394, "."> extends infer T_707 ? T_707 extends PrefixWith<`${string & K_386}`, K_394, "."> ? T_707 extends SplitAC ? "value" : "default" : never : never] extends infer T_709 ? T_709 extends T_708[PrefixWith<`${string & K_386}`, K_394, "."> extends infer T_707 ? T_707 extends PrefixWith<`${string & K_386}`, K_394, "."> ? T_707 extends SplitAC ? "value" : "default" : never : never] ? T_709 extends CanBeExpanded ? any : T_709 extends (infer U)[] ? any[] : T_709 extends object ? { [K_395 in keyof T_709]-?: any; } : T_709 : never : never : T_708 extends (infer U)[] ? any[] : T_708 extends object ? { [K_396 in keyof T_708]-?: T_708[K_396] extends infer T_710 ? T_710 extends T_708[K_396] ? T_710 extends CanBeExpanded ? any : T_710 extends (infer U)[] ? any[] : T_710 extends object ? { [K_397 in keyof T_710]-?: T_710[K_397] extends infer T_711 ? T_711 extends T_710[K_397] ? T_711 extends CanBeExpanded ? T_711["default"] : T_711 : never : never; } : T_710 : never : never; } : T_708 : never : never : T_706 extends (infer U)[] ? any[] : T_706 extends object ? { [K_398 in keyof T_706]-?: T_706[K_398] extends infer T_712 ? T_712 extends T_706[K_398] ? T_712 extends CanBeExpanded ? T_712[PrefixWith, K_398, "."> extends infer T_713 ? T_713 extends PrefixWith, K_398, "."> ? T_713 extends SplitAC ? "value" : "default" : never : never] extends infer T_714 ? T_714 extends T_712[PrefixWith, K_398, "."> extends infer T_713 ? T_713 extends PrefixWith, K_398, "."> ? T_713 extends SplitAC ? "value" : "default" : never : never] ? T_714 extends CanBeExpanded ? any : T_714 extends (infer U)[] ? any[] : T_714 extends object ? { [K_399 in keyof T_714]-?: T_714[K_399] extends infer T_715 ? T_715 extends T_714[K_399] ? T_715 extends CanBeExpanded ? T_715["default"] : T_715 : never : never; } : T_714 : never : never : T_712 extends (infer U)[] ? any[] : T_712 extends object ? { [K_400 in keyof T_712]-?: T_712[K_400] extends infer T_716 ? T_716 extends T_712[K_400] ? T_716 extends CanBeExpanded ? T_716["default"] : T_716 : never : never; } : T_712 : never : never; } : T_706 : never : never; } : T_696 : never : never : T_695 extends (infer U)[] ? any[] : T_695 extends object ? { [K_401 in keyof T_695]-?: T_695[K_401] extends infer T_717 ? T_717 extends T_695[K_401] ? T_717 extends CanBeExpanded ? T_717[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] extends infer T_719 ? T_719 extends T_717[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] ? T_719 extends CanBeExpanded ? T_719[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] extends infer T_720 ? T_720 extends T_719[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] ? T_720 extends CanBeExpanded ? T_720[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] extends infer T_721 ? T_721 extends T_720[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] ? T_721 extends CanBeExpanded ? any : T_721 extends (infer U)[] ? any[] : T_721 extends object ? { [K_402 in keyof T_721]-?: any; } : T_721 : never : never : T_720 extends (infer U)[] ? any[] : T_720 extends object ? { [K_403 in keyof T_720]-?: T_720[K_403] extends infer T_722 ? T_722 extends T_720[K_403] ? T_722 extends CanBeExpanded ? any : T_722 extends (infer U)[] ? any[] : T_722 extends object ? { [K_404 in keyof T_722]-?: T_722[K_404] extends infer T_723 ? T_723 extends T_722[K_404] ? T_723 extends CanBeExpanded ? T_723["default"] : T_723 : never : never; } : T_722 : never : never; } : T_720 : never : never : T_719 extends (infer U)[] ? any[] : T_719 extends object ? { [K_405 in keyof T_719]-?: T_719[K_405] extends infer T_724 ? T_724 extends T_719[K_405] ? T_724 extends CanBeExpanded ? T_724[PrefixWith, K_405, "."> extends infer T_725 ? T_725 extends PrefixWith, K_405, "."> ? T_725 extends SplitAC ? "value" : "default" : never : never] extends infer T_726 ? T_726 extends T_724[PrefixWith, K_405, "."> extends infer T_725 ? T_725 extends PrefixWith, K_405, "."> ? T_725 extends SplitAC ? "value" : "default" : never : never] ? T_726 extends CanBeExpanded ? any : T_726 extends (infer U)[] ? any[] : T_726 extends object ? { [K_406 in keyof T_726]-?: T_726[K_406] extends infer T_727 ? T_727 extends T_726[K_406] ? T_727 extends CanBeExpanded ? T_727["default"] : T_727 : never : never; } : T_726 : never : never : T_724 extends (infer U)[] ? any[] : T_724 extends object ? { [K_407 in keyof T_724]-?: T_724[K_407] extends infer T_728 ? T_728 extends T_724[K_407] ? T_728 extends CanBeExpanded ? T_728["default"] : T_728 : never : never; } : T_724 : never : never; } : T_719 : never : never : T_717 extends (infer U)[] ? any[] : T_717 extends object ? { [K_408 in keyof T_717]-?: T_717[K_408] extends infer T_729 ? T_729 extends T_717[K_408] ? T_729 extends CanBeExpanded ? T_729[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] extends infer T_731 ? T_731 extends T_729[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] ? T_731 extends CanBeExpanded ? T_731[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] extends infer T_732 ? T_732 extends T_731[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] ? T_732 extends CanBeExpanded ? any : T_732 extends (infer U)[] ? any[] : T_732 extends object ? { [K_409 in keyof T_732]-?: T_732[K_409] extends infer T_733 ? T_733 extends T_732[K_409] ? T_733 extends CanBeExpanded ? T_733["default"] : T_733 : never : never; } : T_732 : never : never : T_731 extends (infer U)[] ? any[] : T_731 extends object ? { [K_410 in keyof T_731]-?: T_731[K_410] extends infer T_734 ? T_734 extends T_731[K_410] ? T_734 extends CanBeExpanded ? T_734["default"] : T_734 : never : never; } : T_731 : never : never : T_729 extends (infer U)[] ? any[] : T_729 extends object ? { [K_411 in keyof T_729]-?: T_729[K_411] extends infer T_735 ? T_735 extends T_729[K_411] ? T_735 extends CanBeExpanded ? T_735["default"] : T_735 : never : never; } : T_729 : never : never; } : T_717 : never : never; } : T_695 : never : never : T_694 extends (infer U)[] ? any[] : T_694 extends object ? { [K_412 in keyof T_694]-?: T_694[K_412] extends infer T_736 ? T_736 extends T_694[K_412] ? T_736 extends CanBeExpanded ? T_736[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_738 ? T_738 extends T_736[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_738 extends CanBeExpanded ? T_738[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_739 ? T_739 extends T_738[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_739 extends CanBeExpanded ? T_739[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_740 ? T_740 extends T_739[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_740 extends CanBeExpanded ? T_740[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_741 ? T_741 extends T_740[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_741 extends CanBeExpanded ? any : T_741 extends (infer U)[] ? any[] : T_741 extends object ? { [K_413 in keyof T_741]-?: any; } : T_741 : never : never : T_740 extends (infer U)[] ? any[] : T_740 extends object ? { [K_414 in keyof T_740]-?: T_740[K_414] extends infer T_742 ? T_742 extends T_740[K_414] ? T_742 extends CanBeExpanded ? any : T_742 extends (infer U)[] ? any[] : T_742 extends object ? { [K_415 in keyof T_742]-?: T_742[K_415] extends infer T_743 ? T_743 extends T_742[K_415] ? T_743 extends CanBeExpanded ? T_743["default"] : T_743 : never : never; } : T_742 : never : never; } : T_740 : never : never : T_739 extends (infer U)[] ? any[] : T_739 extends object ? { [K_416 in keyof T_739]-?: T_739[K_416] extends infer T_744 ? T_744 extends T_739[K_416] ? T_744 extends CanBeExpanded ? T_744[PrefixWith, K_416, "."> extends infer T_745 ? T_745 extends PrefixWith, K_416, "."> ? T_745 extends SplitAC ? "value" : "default" : never : never] extends infer T_746 ? T_746 extends T_744[PrefixWith, K_416, "."> extends infer T_745 ? T_745 extends PrefixWith, K_416, "."> ? T_745 extends SplitAC ? "value" : "default" : never : never] ? T_746 extends CanBeExpanded ? any : T_746 extends (infer U)[] ? any[] : T_746 extends object ? { [K_417 in keyof T_746]-?: T_746[K_417] extends infer T_747 ? T_747 extends T_746[K_417] ? T_747 extends CanBeExpanded ? T_747["default"] : T_747 : never : never; } : T_746 : never : never : T_744 extends (infer U)[] ? any[] : T_744 extends object ? { [K_418 in keyof T_744]-?: T_744[K_418] extends infer T_748 ? T_748 extends T_744[K_418] ? T_748 extends CanBeExpanded ? T_748["default"] : T_748 : never : never; } : T_744 : never : never; } : T_739 : never : never : T_738 extends (infer U)[] ? any[] : T_738 extends object ? { [K_419 in keyof T_738]-?: T_738[K_419] extends infer T_749 ? T_749 extends T_738[K_419] ? T_749 extends CanBeExpanded ? T_749[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] extends infer T_751 ? T_751 extends T_749[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] ? T_751 extends CanBeExpanded ? T_751[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] extends infer T_752 ? T_752 extends T_751[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] ? T_752 extends CanBeExpanded ? any : T_752 extends (infer U)[] ? any[] : T_752 extends object ? { [K_420 in keyof T_752]-?: T_752[K_420] extends infer T_753 ? T_753 extends T_752[K_420] ? T_753 extends CanBeExpanded ? T_753["default"] : T_753 : never : never; } : T_752 : never : never : T_751 extends (infer U)[] ? any[] : T_751 extends object ? { [K_421 in keyof T_751]-?: T_751[K_421] extends infer T_754 ? T_754 extends T_751[K_421] ? T_754 extends CanBeExpanded ? T_754["default"] : T_754 : never : never; } : T_751 : never : never : T_749 extends (infer U)[] ? any[] : T_749 extends object ? { [K_422 in keyof T_749]-?: T_749[K_422] extends infer T_755 ? T_755 extends T_749[K_422] ? T_755 extends CanBeExpanded ? T_755["default"] : T_755 : never : never; } : T_749 : never : never; } : T_738 : never : never : T_736 extends (infer U)[] ? any[] : T_736 extends object ? { [K_423 in keyof T_736]-?: T_736[K_423] extends infer T_756 ? T_756 extends T_736[K_423] ? T_756 extends CanBeExpanded ? T_756[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] extends infer T_758 ? T_758 extends T_756[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] ? T_758 extends CanBeExpanded ? T_758[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] extends infer T_759 ? T_759 extends T_758[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] ? T_759 extends CanBeExpanded ? T_759[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] extends infer T_760 ? T_760 extends T_759[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] ? T_760 extends CanBeExpanded ? any : T_760 extends (infer U)[] ? any[] : T_760 extends object ? { [K_424 in keyof T_760]-?: T_760[K_424] extends infer T_761 ? T_761 extends T_760[K_424] ? T_761 extends CanBeExpanded ? T_761["default"] : T_761 : never : never; } : T_760 : never : never : T_759 extends (infer U)[] ? any[] : T_759 extends object ? { [K_425 in keyof T_759]-?: T_759[K_425] extends infer T_762 ? T_762 extends T_759[K_425] ? T_762 extends CanBeExpanded ? T_762["default"] : T_762 : never : never; } : T_759 : never : never : T_758 extends (infer U)[] ? any[] : T_758 extends object ? { [K_426 in keyof T_758]-?: T_758[K_426] extends infer T_763 ? T_763 extends T_758[K_426] ? T_763 extends CanBeExpanded ? T_763["default"] : T_763 : never : never; } : T_758 : never : never : T_756 extends (infer U)[] ? any[] : T_756 extends object ? { [K_427 in keyof T_756]-?: T_756[K_427] extends infer T_764 ? T_764 extends T_756[K_427] ? T_764 extends CanBeExpanded ? T_764["default"] : T_764 : never : never; } : T_756 : never : never; } : T_736 : never : never; } : T_694 : never : never : T_693 extends (infer U)[] ? any[] : T_693 extends object ? { [K_428 in keyof T_693]-?: T_693[K_428] extends infer T_765 ? T_765 extends T_693[K_428] ? T_765 extends CanBeExpanded ? T_765[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_767 ? T_767 extends T_765[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_767 extends CanBeExpanded ? T_767[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_768 ? T_768 extends T_767[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_768 extends CanBeExpanded ? T_768[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_769 ? T_769 extends T_768[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_769 extends CanBeExpanded ? T_769[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_770 ? T_770 extends T_769[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_770 extends CanBeExpanded ? T_770[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_771 ? T_771 extends T_770[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_771 extends CanBeExpanded ? any : T_771 extends (infer U)[] ? any[] : T_771 extends object ? { [K_429 in keyof T_771]-?: any; } : T_771 : never : never : T_770 extends (infer U)[] ? any[] : T_770 extends object ? { [K_430 in keyof T_770]-?: T_770[K_430] extends infer T_772 ? T_772 extends T_770[K_430] ? T_772 extends CanBeExpanded ? any : T_772 extends (infer U)[] ? any[] : T_772 extends object ? { [K_431 in keyof T_772]-?: T_772[K_431] extends infer T_773 ? T_773 extends T_772[K_431] ? T_773 extends CanBeExpanded ? T_773["default"] : T_773 : never : never; } : T_772 : never : never; } : T_770 : never : never : T_769 extends (infer U)[] ? any[] : T_769 extends object ? { [K_432 in keyof T_769]-?: T_769[K_432] extends infer T_774 ? T_774 extends T_769[K_432] ? T_774 extends CanBeExpanded ? T_774[PrefixWith, K_432, "."> extends infer T_775 ? T_775 extends PrefixWith, K_432, "."> ? T_775 extends SplitAC ? "value" : "default" : never : never] extends infer T_776 ? T_776 extends T_774[PrefixWith, K_432, "."> extends infer T_775 ? T_775 extends PrefixWith, K_432, "."> ? T_775 extends SplitAC ? "value" : "default" : never : never] ? T_776 extends CanBeExpanded ? any : T_776 extends (infer U)[] ? any[] : T_776 extends object ? { [K_433 in keyof T_776]-?: T_776[K_433] extends infer T_777 ? T_777 extends T_776[K_433] ? T_777 extends CanBeExpanded ? T_777["default"] : T_777 : never : never; } : T_776 : never : never : T_774 extends (infer U)[] ? any[] : T_774 extends object ? { [K_434 in keyof T_774]-?: T_774[K_434] extends infer T_778 ? T_778 extends T_774[K_434] ? T_778 extends CanBeExpanded ? T_778["default"] : T_778 : never : never; } : T_774 : never : never; } : T_769 : never : never : T_768 extends (infer U)[] ? any[] : T_768 extends object ? { [K_435 in keyof T_768]-?: T_768[K_435] extends infer T_779 ? T_779 extends T_768[K_435] ? T_779 extends CanBeExpanded ? T_779[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] extends infer T_781 ? T_781 extends T_779[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] ? T_781 extends CanBeExpanded ? T_781[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] extends infer T_782 ? T_782 extends T_781[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] ? T_782 extends CanBeExpanded ? any : T_782 extends (infer U)[] ? any[] : T_782 extends object ? { [K_436 in keyof T_782]-?: T_782[K_436] extends infer T_783 ? T_783 extends T_782[K_436] ? T_783 extends CanBeExpanded ? T_783["default"] : T_783 : never : never; } : T_782 : never : never : T_781 extends (infer U)[] ? any[] : T_781 extends object ? { [K_437 in keyof T_781]-?: T_781[K_437] extends infer T_784 ? T_784 extends T_781[K_437] ? T_784 extends CanBeExpanded ? T_784["default"] : T_784 : never : never; } : T_781 : never : never : T_779 extends (infer U)[] ? any[] : T_779 extends object ? { [K_438 in keyof T_779]-?: T_779[K_438] extends infer T_785 ? T_785 extends T_779[K_438] ? T_785 extends CanBeExpanded ? T_785["default"] : T_785 : never : never; } : T_779 : never : never; } : T_768 : never : never : T_767 extends (infer U)[] ? any[] : T_767 extends object ? { [K_439 in keyof T_767]-?: T_767[K_439] extends infer T_786 ? T_786 extends T_767[K_439] ? T_786 extends CanBeExpanded ? T_786[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] extends infer T_788 ? T_788 extends T_786[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] ? T_788 extends CanBeExpanded ? T_788[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] extends infer T_789 ? T_789 extends T_788[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] ? T_789 extends CanBeExpanded ? T_789[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] extends infer T_790 ? T_790 extends T_789[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] ? T_790 extends CanBeExpanded ? any : T_790 extends (infer U)[] ? any[] : T_790 extends object ? { [K_440 in keyof T_790]-?: T_790[K_440] extends infer T_791 ? T_791 extends T_790[K_440] ? T_791 extends CanBeExpanded ? T_791["default"] : T_791 : never : never; } : T_790 : never : never : T_789 extends (infer U)[] ? any[] : T_789 extends object ? { [K_441 in keyof T_789]-?: T_789[K_441] extends infer T_792 ? T_792 extends T_789[K_441] ? T_792 extends CanBeExpanded ? T_792["default"] : T_792 : never : never; } : T_789 : never : never : T_788 extends (infer U)[] ? any[] : T_788 extends object ? { [K_442 in keyof T_788]-?: T_788[K_442] extends infer T_793 ? T_793 extends T_788[K_442] ? T_793 extends CanBeExpanded ? T_793["default"] : T_793 : never : never; } : T_788 : never : never : T_786 extends (infer U)[] ? any[] : T_786 extends object ? { [K_443 in keyof T_786]-?: T_786[K_443] extends infer T_794 ? T_794 extends T_786[K_443] ? T_794 extends CanBeExpanded ? T_794["default"] : T_794 : never : never; } : T_786 : never : never; } : T_767 : never : never : T_765 extends (infer U)[] ? any[] : T_765 extends object ? { [K_444 in keyof T_765]-?: T_765[K_444] extends infer T_795 ? T_795 extends T_765[K_444] ? T_795 extends CanBeExpanded ? T_795[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_797 ? T_797 extends T_795[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_797 extends CanBeExpanded ? T_797[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_798 ? T_798 extends T_797[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_798 extends CanBeExpanded ? T_798[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_799 ? T_799 extends T_798[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_799 extends CanBeExpanded ? T_799[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_800 ? T_800 extends T_799[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_800 extends CanBeExpanded ? any : T_800 extends (infer U)[] ? any[] : T_800 extends object ? { [K_445 in keyof T_800]-?: T_800[K_445] extends infer T_801 ? T_801 extends T_800[K_445] ? T_801 extends CanBeExpanded ? T_801["default"] : T_801 : never : never; } : T_800 : never : never : T_799 extends (infer U)[] ? any[] : T_799 extends object ? { [K_446 in keyof T_799]-?: T_799[K_446] extends infer T_802 ? T_802 extends T_799[K_446] ? T_802 extends CanBeExpanded ? T_802["default"] : T_802 : never : never; } : T_799 : never : never : T_798 extends (infer U)[] ? any[] : T_798 extends object ? { [K_447 in keyof T_798]-?: T_798[K_447] extends infer T_803 ? T_803 extends T_798[K_447] ? T_803 extends CanBeExpanded ? T_803["default"] : T_803 : never : never; } : T_798 : never : never : T_797 extends (infer U)[] ? any[] : T_797 extends object ? { [K_448 in keyof T_797]-?: T_797[K_448] extends infer T_804 ? T_804 extends T_797[K_448] ? T_804 extends CanBeExpanded ? T_804["default"] : T_804 : never : never; } : T_797 : never : never : T_795 extends (infer U)[] ? any[] : T_795 extends object ? { [K_449 in keyof T_795]-?: T_795[K_449] extends infer T_805 ? T_805 extends T_795[K_449] ? T_805 extends CanBeExpanded ? T_805["default"] : T_805 : never : never; } : T_795 : never : never; } : T_765 : never : never; } : T_693 : never : never : T_692 extends (infer U)[] ? any[] : T_692 extends object ? { [K_450 in keyof T_692]-?: T_692[K_450] extends infer T_806 ? T_806 extends T_692[K_450] ? T_806 extends CanBeExpanded ? T_806[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_808 ? T_808 extends T_806[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_808 extends CanBeExpanded ? T_808[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_809 ? T_809 extends T_808[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_809 extends CanBeExpanded ? T_809[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_810 ? T_810 extends T_809[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_810 extends CanBeExpanded ? T_810[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_811 ? T_811 extends T_810[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_811 extends CanBeExpanded ? T_811[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_812 ? T_812 extends T_811[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_812 extends CanBeExpanded ? T_812[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_813 ? T_813 extends T_812[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_813 extends CanBeExpanded ? any : T_813 extends (infer U)[] ? any[] : T_813 extends object ? { [K_451 in keyof T_813]-?: any; } : T_813 : never : never : T_812 extends (infer U)[] ? any[] : T_812 extends object ? { [K_452 in keyof T_812]-?: T_812[K_452] extends infer T_814 ? T_814 extends T_812[K_452] ? T_814 extends CanBeExpanded ? any : T_814 extends (infer U)[] ? any[] : T_814 extends object ? { [K_453 in keyof T_814]-?: T_814[K_453] extends infer T_815 ? T_815 extends T_814[K_453] ? T_815 extends CanBeExpanded ? T_815["default"] : T_815 : never : never; } : T_814 : never : never; } : T_812 : never : never : T_811 extends (infer U)[] ? any[] : T_811 extends object ? { [K_454 in keyof T_811]-?: T_811[K_454] extends infer T_816 ? T_816 extends T_811[K_454] ? T_816 extends CanBeExpanded ? T_816[PrefixWith, K_454, "."> extends infer T_817 ? T_817 extends PrefixWith, K_454, "."> ? T_817 extends SplitAC ? "value" : "default" : never : never] extends infer T_818 ? T_818 extends T_816[PrefixWith, K_454, "."> extends infer T_817 ? T_817 extends PrefixWith, K_454, "."> ? T_817 extends SplitAC ? "value" : "default" : never : never] ? T_818 extends CanBeExpanded ? any : T_818 extends (infer U)[] ? any[] : T_818 extends object ? { [K_455 in keyof T_818]-?: T_818[K_455] extends infer T_819 ? T_819 extends T_818[K_455] ? T_819 extends CanBeExpanded ? T_819["default"] : T_819 : never : never; } : T_818 : never : never : T_816 extends (infer U)[] ? any[] : T_816 extends object ? { [K_456 in keyof T_816]-?: T_816[K_456] extends infer T_820 ? T_820 extends T_816[K_456] ? T_820 extends CanBeExpanded ? T_820["default"] : T_820 : never : never; } : T_816 : never : never; } : T_811 : never : never : T_810 extends (infer U)[] ? any[] : T_810 extends object ? { [K_457 in keyof T_810]-?: T_810[K_457] extends infer T_821 ? T_821 extends T_810[K_457] ? T_821 extends CanBeExpanded ? T_821[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] extends infer T_823 ? T_823 extends T_821[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] ? T_823 extends CanBeExpanded ? T_823[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] extends infer T_824 ? T_824 extends T_823[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] ? T_824 extends CanBeExpanded ? any : T_824 extends (infer U)[] ? any[] : T_824 extends object ? { [K_458 in keyof T_824]-?: T_824[K_458] extends infer T_825 ? T_825 extends T_824[K_458] ? T_825 extends CanBeExpanded ? T_825["default"] : T_825 : never : never; } : T_824 : never : never : T_823 extends (infer U)[] ? any[] : T_823 extends object ? { [K_459 in keyof T_823]-?: T_823[K_459] extends infer T_826 ? T_826 extends T_823[K_459] ? T_826 extends CanBeExpanded ? T_826["default"] : T_826 : never : never; } : T_823 : never : never : T_821 extends (infer U)[] ? any[] : T_821 extends object ? { [K_460 in keyof T_821]-?: T_821[K_460] extends infer T_827 ? T_827 extends T_821[K_460] ? T_827 extends CanBeExpanded ? T_827["default"] : T_827 : never : never; } : T_821 : never : never; } : T_810 : never : never : T_809 extends (infer U)[] ? any[] : T_809 extends object ? { [K_461 in keyof T_809]-?: T_809[K_461] extends infer T_828 ? T_828 extends T_809[K_461] ? T_828 extends CanBeExpanded ? T_828[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] extends infer T_830 ? T_830 extends T_828[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] ? T_830 extends CanBeExpanded ? T_830[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] extends infer T_831 ? T_831 extends T_830[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] ? T_831 extends CanBeExpanded ? T_831[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] extends infer T_832 ? T_832 extends T_831[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] ? T_832 extends CanBeExpanded ? any : T_832 extends (infer U)[] ? any[] : T_832 extends object ? { [K_462 in keyof T_832]-?: T_832[K_462] extends infer T_833 ? T_833 extends T_832[K_462] ? T_833 extends CanBeExpanded ? T_833["default"] : T_833 : never : never; } : T_832 : never : never : T_831 extends (infer U)[] ? any[] : T_831 extends object ? { [K_463 in keyof T_831]-?: T_831[K_463] extends infer T_834 ? T_834 extends T_831[K_463] ? T_834 extends CanBeExpanded ? T_834["default"] : T_834 : never : never; } : T_831 : never : never : T_830 extends (infer U)[] ? any[] : T_830 extends object ? { [K_464 in keyof T_830]-?: T_830[K_464] extends infer T_835 ? T_835 extends T_830[K_464] ? T_835 extends CanBeExpanded ? T_835["default"] : T_835 : never : never; } : T_830 : never : never : T_828 extends (infer U)[] ? any[] : T_828 extends object ? { [K_465 in keyof T_828]-?: T_828[K_465] extends infer T_836 ? T_836 extends T_828[K_465] ? T_836 extends CanBeExpanded ? T_836["default"] : T_836 : never : never; } : T_828 : never : never; } : T_809 : never : never : T_808 extends (infer U)[] ? any[] : T_808 extends object ? { [K_466 in keyof T_808]-?: T_808[K_466] extends infer T_837 ? T_837 extends T_808[K_466] ? T_837 extends CanBeExpanded ? T_837[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_839 ? T_839 extends T_837[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_839 extends CanBeExpanded ? T_839[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_840 ? T_840 extends T_839[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_840 extends CanBeExpanded ? T_840[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_841 ? T_841 extends T_840[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_841 extends CanBeExpanded ? T_841[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_842 ? T_842 extends T_841[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_842 extends CanBeExpanded ? any : T_842 extends (infer U)[] ? any[] : T_842 extends object ? { [K_467 in keyof T_842]-?: T_842[K_467] extends infer T_843 ? T_843 extends T_842[K_467] ? T_843 extends CanBeExpanded ? T_843["default"] : T_843 : never : never; } : T_842 : never : never : T_841 extends (infer U)[] ? any[] : T_841 extends object ? { [K_468 in keyof T_841]-?: T_841[K_468] extends infer T_844 ? T_844 extends T_841[K_468] ? T_844 extends CanBeExpanded ? T_844["default"] : T_844 : never : never; } : T_841 : never : never : T_840 extends (infer U)[] ? any[] : T_840 extends object ? { [K_469 in keyof T_840]-?: T_840[K_469] extends infer T_845 ? T_845 extends T_840[K_469] ? T_845 extends CanBeExpanded ? T_845["default"] : T_845 : never : never; } : T_840 : never : never : T_839 extends (infer U)[] ? any[] : T_839 extends object ? { [K_470 in keyof T_839]-?: T_839[K_470] extends infer T_846 ? T_846 extends T_839[K_470] ? T_846 extends CanBeExpanded ? T_846["default"] : T_846 : never : never; } : T_839 : never : never : T_837 extends (infer U)[] ? any[] : T_837 extends object ? { [K_471 in keyof T_837]-?: T_837[K_471] extends infer T_847 ? T_847 extends T_837[K_471] ? T_847 extends CanBeExpanded ? T_847["default"] : T_847 : never : never; } : T_837 : never : never; } : T_808 : never : never : T_806 extends (infer U)[] ? any[] : T_806 extends object ? { [K_472 in keyof T_806]-?: T_806[K_472] extends infer T_848 ? T_848 extends T_806[K_472] ? T_848 extends CanBeExpanded ? T_848[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_850 ? T_850 extends T_848[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_850 extends CanBeExpanded ? T_850[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_851 ? T_851 extends T_850[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_851 extends CanBeExpanded ? T_851[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_852 ? T_852 extends T_851[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_852 extends CanBeExpanded ? T_852[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_853 ? T_853 extends T_852[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_853 extends CanBeExpanded ? T_853[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_854 ? T_854 extends T_853[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_854 extends CanBeExpanded ? any : T_854 extends (infer U)[] ? any[] : T_854 extends object ? { [K_473 in keyof T_854]-?: T_854[K_473] extends infer T_855 ? T_855 extends T_854[K_473] ? T_855 extends CanBeExpanded ? T_855["default"] : T_855 : never : never; } : T_854 : never : never : T_853 extends (infer U)[] ? any[] : T_853 extends object ? { [K_474 in keyof T_853]-?: T_853[K_474] extends infer T_856 ? T_856 extends T_853[K_474] ? T_856 extends CanBeExpanded ? T_856["default"] : T_856 : never : never; } : T_853 : never : never : T_852 extends (infer U)[] ? any[] : T_852 extends object ? { [K_475 in keyof T_852]-?: T_852[K_475] extends infer T_857 ? T_857 extends T_852[K_475] ? T_857 extends CanBeExpanded ? T_857["default"] : T_857 : never : never; } : T_852 : never : never : T_851 extends (infer U)[] ? any[] : T_851 extends object ? { [K_476 in keyof T_851]-?: T_851[K_476] extends infer T_858 ? T_858 extends T_851[K_476] ? T_858 extends CanBeExpanded ? T_858["default"] : T_858 : never : never; } : T_851 : never : never : T_850 extends (infer U)[] ? any[] : T_850 extends object ? { [K_477 in keyof T_850]-?: T_850[K_477] extends infer T_859 ? T_859 extends T_850[K_477] ? T_859 extends CanBeExpanded ? T_859["default"] : T_859 : never : never; } : T_850 : never : never : T_848 extends (infer U)[] ? any[] : T_848 extends object ? { [K_478 in keyof T_848]-?: T_848[K_478] extends infer T_860 ? T_860 extends T_848[K_478] ? T_860 extends CanBeExpanded ? T_860["default"] : T_860 : never : never; } : T_848 : never : never; } : T_806 : never : never; } : T_692 : never : never : T_691 extends (infer U)[] ? any[] : T_691 extends object ? { [K_479 in keyof T_691]-?: T_691[K_479] extends infer T_861 ? T_861 extends T_691[K_479] ? T_861 extends CanBeExpanded ? T_861[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_863 ? T_863 extends T_861[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_863 extends CanBeExpanded ? T_863[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_864 ? T_864 extends T_863[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_864 extends CanBeExpanded ? T_864[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_865 ? T_865 extends T_864[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_865 extends CanBeExpanded ? T_865[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_866 ? T_866 extends T_865[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_866 extends CanBeExpanded ? T_866[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_867 ? T_867 extends T_866[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_867 extends CanBeExpanded ? T_867[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_868 ? T_868 extends T_867[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_868 extends CanBeExpanded ? T_868[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_869 ? T_869 extends T_868[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_869 extends CanBeExpanded ? any : T_869 extends (infer U)[] ? any[] : T_869 extends object ? { [K_480 in keyof T_869]-?: any; } : T_869 : never : never : T_868 extends (infer U)[] ? any[] : T_868 extends object ? { [K_481 in keyof T_868]-?: T_868[K_481] extends infer T_870 ? T_870 extends T_868[K_481] ? T_870 extends CanBeExpanded ? any : T_870 extends (infer U)[] ? any[] : T_870 extends object ? { [K_482 in keyof T_870]-?: T_870[K_482] extends infer T_871 ? T_871 extends T_870[K_482] ? T_871 extends CanBeExpanded ? T_871["default"] : T_871 : never : never; } : T_870 : never : never; } : T_868 : never : never : T_867 extends (infer U)[] ? any[] : T_867 extends object ? { [K_483 in keyof T_867]-?: T_867[K_483] extends infer T_872 ? T_872 extends T_867[K_483] ? T_872 extends CanBeExpanded ? T_872[PrefixWith, K_483, "."> extends infer T_873 ? T_873 extends PrefixWith, K_483, "."> ? T_873 extends SplitAC ? "value" : "default" : never : never] extends infer T_874 ? T_874 extends T_872[PrefixWith, K_483, "."> extends infer T_873 ? T_873 extends PrefixWith, K_483, "."> ? T_873 extends SplitAC ? "value" : "default" : never : never] ? T_874 extends CanBeExpanded ? any : T_874 extends (infer U)[] ? any[] : T_874 extends object ? { [K_484 in keyof T_874]-?: T_874[K_484] extends infer T_875 ? T_875 extends T_874[K_484] ? T_875 extends CanBeExpanded ? T_875["default"] : T_875 : never : never; } : T_874 : never : never : T_872 extends (infer U)[] ? any[] : T_872 extends object ? { [K_485 in keyof T_872]-?: T_872[K_485] extends infer T_876 ? T_876 extends T_872[K_485] ? T_876 extends CanBeExpanded ? T_876["default"] : T_876 : never : never; } : T_872 : never : never; } : T_867 : never : never : T_866 extends (infer U)[] ? any[] : T_866 extends object ? { [K_486 in keyof T_866]-?: T_866[K_486] extends infer T_877 ? T_877 extends T_866[K_486] ? T_877 extends CanBeExpanded ? T_877[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] extends infer T_879 ? T_879 extends T_877[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] ? T_879 extends CanBeExpanded ? T_879[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] extends infer T_880 ? T_880 extends T_879[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] ? T_880 extends CanBeExpanded ? any : T_880 extends (infer U)[] ? any[] : T_880 extends object ? { [K_487 in keyof T_880]-?: T_880[K_487] extends infer T_881 ? T_881 extends T_880[K_487] ? T_881 extends CanBeExpanded ? T_881["default"] : T_881 : never : never; } : T_880 : never : never : T_879 extends (infer U)[] ? any[] : T_879 extends object ? { [K_488 in keyof T_879]-?: T_879[K_488] extends infer T_882 ? T_882 extends T_879[K_488] ? T_882 extends CanBeExpanded ? T_882["default"] : T_882 : never : never; } : T_879 : never : never : T_877 extends (infer U)[] ? any[] : T_877 extends object ? { [K_489 in keyof T_877]-?: T_877[K_489] extends infer T_883 ? T_883 extends T_877[K_489] ? T_883 extends CanBeExpanded ? T_883["default"] : T_883 : never : never; } : T_877 : never : never; } : T_866 : never : never : T_865 extends (infer U)[] ? any[] : T_865 extends object ? { [K_490 in keyof T_865]-?: T_865[K_490] extends infer T_884 ? T_884 extends T_865[K_490] ? T_884 extends CanBeExpanded ? T_884[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] extends infer T_886 ? T_886 extends T_884[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] ? T_886 extends CanBeExpanded ? T_886[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] extends infer T_887 ? T_887 extends T_886[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] ? T_887 extends CanBeExpanded ? T_887[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] extends infer T_888 ? T_888 extends T_887[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] ? T_888 extends CanBeExpanded ? any : T_888 extends (infer U)[] ? any[] : T_888 extends object ? { [K_491 in keyof T_888]-?: T_888[K_491] extends infer T_889 ? T_889 extends T_888[K_491] ? T_889 extends CanBeExpanded ? T_889["default"] : T_889 : never : never; } : T_888 : never : never : T_887 extends (infer U)[] ? any[] : T_887 extends object ? { [K_492 in keyof T_887]-?: T_887[K_492] extends infer T_890 ? T_890 extends T_887[K_492] ? T_890 extends CanBeExpanded ? T_890["default"] : T_890 : never : never; } : T_887 : never : never : T_886 extends (infer U)[] ? any[] : T_886 extends object ? { [K_493 in keyof T_886]-?: T_886[K_493] extends infer T_891 ? T_891 extends T_886[K_493] ? T_891 extends CanBeExpanded ? T_891["default"] : T_891 : never : never; } : T_886 : never : never : T_884 extends (infer U)[] ? any[] : T_884 extends object ? { [K_494 in keyof T_884]-?: T_884[K_494] extends infer T_892 ? T_892 extends T_884[K_494] ? T_892 extends CanBeExpanded ? T_892["default"] : T_892 : never : never; } : T_884 : never : never; } : T_865 : never : never : T_864 extends (infer U)[] ? any[] : T_864 extends object ? { [K_495 in keyof T_864]-?: T_864[K_495] extends infer T_893 ? T_893 extends T_864[K_495] ? T_893 extends CanBeExpanded ? T_893[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_895 ? T_895 extends T_893[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_895 extends CanBeExpanded ? T_895[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_896 ? T_896 extends T_895[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_896 extends CanBeExpanded ? T_896[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_897 ? T_897 extends T_896[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_897 extends CanBeExpanded ? T_897[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_898 ? T_898 extends T_897[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_898 extends CanBeExpanded ? any : T_898 extends (infer U)[] ? any[] : T_898 extends object ? { [K_496 in keyof T_898]-?: T_898[K_496] extends infer T_899 ? T_899 extends T_898[K_496] ? T_899 extends CanBeExpanded ? T_899["default"] : T_899 : never : never; } : T_898 : never : never : T_897 extends (infer U)[] ? any[] : T_897 extends object ? { [K_497 in keyof T_897]-?: T_897[K_497] extends infer T_900 ? T_900 extends T_897[K_497] ? T_900 extends CanBeExpanded ? T_900["default"] : T_900 : never : never; } : T_897 : never : never : T_896 extends (infer U)[] ? any[] : T_896 extends object ? { [K_498 in keyof T_896]-?: T_896[K_498] extends infer T_901 ? T_901 extends T_896[K_498] ? T_901 extends CanBeExpanded ? T_901["default"] : T_901 : never : never; } : T_896 : never : never : T_895 extends (infer U)[] ? any[] : T_895 extends object ? { [K_499 in keyof T_895]-?: T_895[K_499] extends infer T_902 ? T_902 extends T_895[K_499] ? T_902 extends CanBeExpanded ? T_902["default"] : T_902 : never : never; } : T_895 : never : never : T_893 extends (infer U)[] ? any[] : T_893 extends object ? { [K_500 in keyof T_893]-?: T_893[K_500] extends infer T_903 ? T_903 extends T_893[K_500] ? T_903 extends CanBeExpanded ? T_903["default"] : T_903 : never : never; } : T_893 : never : never; } : T_864 : never : never : T_863 extends (infer U)[] ? any[] : T_863 extends object ? { [K_501 in keyof T_863]-?: T_863[K_501] extends infer T_904 ? T_904 extends T_863[K_501] ? T_904 extends CanBeExpanded ? T_904[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_906 ? T_906 extends T_904[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_906 extends CanBeExpanded ? T_906[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_907 ? T_907 extends T_906[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_907 extends CanBeExpanded ? T_907[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_908 ? T_908 extends T_907[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_908 extends CanBeExpanded ? T_908[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_909 ? T_909 extends T_908[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_909 extends CanBeExpanded ? T_909[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_910 ? T_910 extends T_909[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_910 extends CanBeExpanded ? any : T_910 extends (infer U)[] ? any[] : T_910 extends object ? { [K_502 in keyof T_910]-?: T_910[K_502] extends infer T_911 ? T_911 extends T_910[K_502] ? T_911 extends CanBeExpanded ? T_911["default"] : T_911 : never : never; } : T_910 : never : never : T_909 extends (infer U)[] ? any[] : T_909 extends object ? { [K_503 in keyof T_909]-?: T_909[K_503] extends infer T_912 ? T_912 extends T_909[K_503] ? T_912 extends CanBeExpanded ? T_912["default"] : T_912 : never : never; } : T_909 : never : never : T_908 extends (infer U)[] ? any[] : T_908 extends object ? { [K_504 in keyof T_908]-?: T_908[K_504] extends infer T_913 ? T_913 extends T_908[K_504] ? T_913 extends CanBeExpanded ? T_913["default"] : T_913 : never : never; } : T_908 : never : never : T_907 extends (infer U)[] ? any[] : T_907 extends object ? { [K_505 in keyof T_907]-?: T_907[K_505] extends infer T_914 ? T_914 extends T_907[K_505] ? T_914 extends CanBeExpanded ? T_914["default"] : T_914 : never : never; } : T_907 : never : never : T_906 extends (infer U)[] ? any[] : T_906 extends object ? { [K_506 in keyof T_906]-?: T_906[K_506] extends infer T_915 ? T_915 extends T_906[K_506] ? T_915 extends CanBeExpanded ? T_915["default"] : T_915 : never : never; } : T_906 : never : never : T_904 extends (infer U)[] ? any[] : T_904 extends object ? { [K_507 in keyof T_904]-?: T_904[K_507] extends infer T_916 ? T_916 extends T_904[K_507] ? T_916 extends CanBeExpanded ? T_916["default"] : T_916 : never : never; } : T_904 : never : never; } : T_863 : never : never : T_861 extends (infer U)[] ? any[] : T_861 extends object ? { [K_508 in keyof T_861]-?: T_861[K_508] extends infer T_917 ? T_917 extends T_861[K_508] ? T_917 extends CanBeExpanded ? T_917[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_919 ? T_919 extends T_917[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_919 extends CanBeExpanded ? T_919[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_920 ? T_920 extends T_919[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_920 extends CanBeExpanded ? T_920[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_921 ? T_921 extends T_920[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_921 extends CanBeExpanded ? T_921[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_922 ? T_922 extends T_921[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_922 extends CanBeExpanded ? T_922[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_923 ? T_923 extends T_922[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_923 extends CanBeExpanded ? T_923[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_924 ? T_924 extends T_923[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_924 extends CanBeExpanded ? any : T_924 extends (infer U)[] ? any[] : T_924 extends object ? { [K_509 in keyof T_924]-?: T_924[K_509] extends infer T_925 ? T_925 extends T_924[K_509] ? T_925 extends CanBeExpanded ? T_925["default"] : T_925 : never : never; } : T_924 : never : never : T_923 extends (infer U)[] ? any[] : T_923 extends object ? { [K_510 in keyof T_923]-?: T_923[K_510] extends infer T_926 ? T_926 extends T_923[K_510] ? T_926 extends CanBeExpanded ? T_926["default"] : T_926 : never : never; } : T_923 : never : never : T_922 extends (infer U)[] ? any[] : T_922 extends object ? { [K_511 in keyof T_922]-?: T_922[K_511] extends infer T_927 ? T_927 extends T_922[K_511] ? T_927 extends CanBeExpanded ? T_927["default"] : T_927 : never : never; } : T_922 : never : never : T_921 extends (infer U)[] ? any[] : T_921 extends object ? { [K_512 in keyof T_921]-?: T_921[K_512] extends infer T_928 ? T_928 extends T_921[K_512] ? T_928 extends CanBeExpanded ? T_928["default"] : T_928 : never : never; } : T_921 : never : never : T_920 extends (infer U)[] ? any[] : T_920 extends object ? { [K_513 in keyof T_920]-?: T_920[K_513] extends infer T_929 ? T_929 extends T_920[K_513] ? T_929 extends CanBeExpanded ? T_929["default"] : T_929 : never : never; } : T_920 : never : never : T_919 extends (infer U)[] ? any[] : T_919 extends object ? { [K_514 in keyof T_919]-?: T_919[K_514] extends infer T_930 ? T_930 extends T_919[K_514] ? T_930 extends CanBeExpanded ? T_930["default"] : T_930 : never : never; } : T_919 : never : never : T_917 extends (infer U)[] ? any[] : T_917 extends object ? { [K_515 in keyof T_917]-?: T_917[K_515] extends infer T_931 ? T_931 extends T_917[K_515] ? T_931 extends CanBeExpanded ? T_931["default"] : T_931 : never : never; } : T_917 : never : never; } : T_861 : never : never; } : T_691 : never : never : T_689 extends (infer U)[] ? any[] : T_689 extends object ? { [K_516 in keyof T_689]-?: T_689[K_516] extends infer T_932 ? T_932 extends T_689[K_516] ? T_932 extends CanBeExpanded ? T_932[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_934 ? T_934 extends T_932[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_934 extends CanBeExpanded ? T_934[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_935 ? T_935 extends T_934[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_935 extends CanBeExpanded ? T_935[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_936 ? T_936 extends T_935[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_936 extends CanBeExpanded ? T_936[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_937 ? T_937 extends T_936[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_937 extends CanBeExpanded ? T_937[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_938 ? T_938 extends T_937[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_938 extends CanBeExpanded ? T_938[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_939 ? T_939 extends T_938[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_939 extends CanBeExpanded ? T_939[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_940 ? T_940 extends T_939[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_940 extends CanBeExpanded ? T_940[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_941 ? T_941 extends T_940[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_941 extends CanBeExpanded ? any : T_941 extends (infer U)[] ? any[] : T_941 extends object ? { [K_517 in keyof T_941]-?: any; } : T_941 : never : never : T_940 extends (infer U)[] ? any[] : T_940 extends object ? { [K_518 in keyof T_940]-?: T_940[K_518] extends infer T_942 ? T_942 extends T_940[K_518] ? T_942 extends CanBeExpanded ? any : T_942 extends (infer U)[] ? any[] : T_942 extends object ? { [K_519 in keyof T_942]-?: T_942[K_519] extends infer T_943 ? T_943 extends T_942[K_519] ? T_943 extends CanBeExpanded ? T_943["default"] : T_943 : never : never; } : T_942 : never : never; } : T_940 : never : never : T_939 extends (infer U)[] ? any[] : T_939 extends object ? { [K_520 in keyof T_939]-?: T_939[K_520] extends infer T_944 ? T_944 extends T_939[K_520] ? T_944 extends CanBeExpanded ? T_944[PrefixWith, K_520, "."> extends infer T_945 ? T_945 extends PrefixWith, K_520, "."> ? T_945 extends SplitAC ? "value" : "default" : never : never] extends infer T_946 ? T_946 extends T_944[PrefixWith, K_520, "."> extends infer T_945 ? T_945 extends PrefixWith, K_520, "."> ? T_945 extends SplitAC ? "value" : "default" : never : never] ? T_946 extends CanBeExpanded ? any : T_946 extends (infer U)[] ? any[] : T_946 extends object ? { [K_521 in keyof T_946]-?: T_946[K_521] extends infer T_947 ? T_947 extends T_946[K_521] ? T_947 extends CanBeExpanded ? T_947["default"] : T_947 : never : never; } : T_946 : never : never : T_944 extends (infer U)[] ? any[] : T_944 extends object ? { [K_522 in keyof T_944]-?: T_944[K_522] extends infer T_948 ? T_948 extends T_944[K_522] ? T_948 extends CanBeExpanded ? T_948["default"] : T_948 : never : never; } : T_944 : never : never; } : T_939 : never : never : T_938 extends (infer U)[] ? any[] : T_938 extends object ? { [K_523 in keyof T_938]-?: T_938[K_523] extends infer T_949 ? T_949 extends T_938[K_523] ? T_949 extends CanBeExpanded ? T_949[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] extends infer T_951 ? T_951 extends T_949[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] ? T_951 extends CanBeExpanded ? T_951[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] extends infer T_952 ? T_952 extends T_951[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] ? T_952 extends CanBeExpanded ? any : T_952 extends (infer U)[] ? any[] : T_952 extends object ? { [K_524 in keyof T_952]-?: T_952[K_524] extends infer T_953 ? T_953 extends T_952[K_524] ? T_953 extends CanBeExpanded ? T_953["default"] : T_953 : never : never; } : T_952 : never : never : T_951 extends (infer U)[] ? any[] : T_951 extends object ? { [K_525 in keyof T_951]-?: T_951[K_525] extends infer T_954 ? T_954 extends T_951[K_525] ? T_954 extends CanBeExpanded ? T_954["default"] : T_954 : never : never; } : T_951 : never : never : T_949 extends (infer U)[] ? any[] : T_949 extends object ? { [K_526 in keyof T_949]-?: T_949[K_526] extends infer T_955 ? T_955 extends T_949[K_526] ? T_955 extends CanBeExpanded ? T_955["default"] : T_955 : never : never; } : T_949 : never : never; } : T_938 : never : never : T_937 extends (infer U)[] ? any[] : T_937 extends object ? { [K_527 in keyof T_937]-?: T_937[K_527] extends infer T_956 ? T_956 extends T_937[K_527] ? T_956 extends CanBeExpanded ? T_956[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] extends infer T_958 ? T_958 extends T_956[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] ? T_958 extends CanBeExpanded ? T_958[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] extends infer T_959 ? T_959 extends T_958[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] ? T_959 extends CanBeExpanded ? T_959[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] extends infer T_960 ? T_960 extends T_959[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] ? T_960 extends CanBeExpanded ? any : T_960 extends (infer U)[] ? any[] : T_960 extends object ? { [K_528 in keyof T_960]-?: T_960[K_528] extends infer T_961 ? T_961 extends T_960[K_528] ? T_961 extends CanBeExpanded ? T_961["default"] : T_961 : never : never; } : T_960 : never : never : T_959 extends (infer U)[] ? any[] : T_959 extends object ? { [K_529 in keyof T_959]-?: T_959[K_529] extends infer T_962 ? T_962 extends T_959[K_529] ? T_962 extends CanBeExpanded ? T_962["default"] : T_962 : never : never; } : T_959 : never : never : T_958 extends (infer U)[] ? any[] : T_958 extends object ? { [K_530 in keyof T_958]-?: T_958[K_530] extends infer T_963 ? T_963 extends T_958[K_530] ? T_963 extends CanBeExpanded ? T_963["default"] : T_963 : never : never; } : T_958 : never : never : T_956 extends (infer U)[] ? any[] : T_956 extends object ? { [K_531 in keyof T_956]-?: T_956[K_531] extends infer T_964 ? T_964 extends T_956[K_531] ? T_964 extends CanBeExpanded ? T_964["default"] : T_964 : never : never; } : T_956 : never : never; } : T_937 : never : never : T_936 extends (infer U)[] ? any[] : T_936 extends object ? { [K_532 in keyof T_936]-?: T_936[K_532] extends infer T_965 ? T_965 extends T_936[K_532] ? T_965 extends CanBeExpanded ? T_965[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_967 ? T_967 extends T_965[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_967 extends CanBeExpanded ? T_967[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_968 ? T_968 extends T_967[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_968 extends CanBeExpanded ? T_968[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_969 ? T_969 extends T_968[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_969 extends CanBeExpanded ? T_969[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_970 ? T_970 extends T_969[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_970 extends CanBeExpanded ? any : T_970 extends (infer U)[] ? any[] : T_970 extends object ? { [K_533 in keyof T_970]-?: T_970[K_533] extends infer T_971 ? T_971 extends T_970[K_533] ? T_971 extends CanBeExpanded ? T_971["default"] : T_971 : never : never; } : T_970 : never : never : T_969 extends (infer U)[] ? any[] : T_969 extends object ? { [K_534 in keyof T_969]-?: T_969[K_534] extends infer T_972 ? T_972 extends T_969[K_534] ? T_972 extends CanBeExpanded ? T_972["default"] : T_972 : never : never; } : T_969 : never : never : T_968 extends (infer U)[] ? any[] : T_968 extends object ? { [K_535 in keyof T_968]-?: T_968[K_535] extends infer T_973 ? T_973 extends T_968[K_535] ? T_973 extends CanBeExpanded ? T_973["default"] : T_973 : never : never; } : T_968 : never : never : T_967 extends (infer U)[] ? any[] : T_967 extends object ? { [K_536 in keyof T_967]-?: T_967[K_536] extends infer T_974 ? T_974 extends T_967[K_536] ? T_974 extends CanBeExpanded ? T_974["default"] : T_974 : never : never; } : T_967 : never : never : T_965 extends (infer U)[] ? any[] : T_965 extends object ? { [K_537 in keyof T_965]-?: T_965[K_537] extends infer T_975 ? T_975 extends T_965[K_537] ? T_975 extends CanBeExpanded ? T_975["default"] : T_975 : never : never; } : T_965 : never : never; } : T_936 : never : never : T_935 extends (infer U)[] ? any[] : T_935 extends object ? { [K_538 in keyof T_935]-?: T_935[K_538] extends infer T_976 ? T_976 extends T_935[K_538] ? T_976 extends CanBeExpanded ? T_976[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_978 ? T_978 extends T_976[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_978 extends CanBeExpanded ? T_978[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_979 ? T_979 extends T_978[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_979 extends CanBeExpanded ? T_979[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_980 ? T_980 extends T_979[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_980 extends CanBeExpanded ? T_980[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_981 ? T_981 extends T_980[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_981 extends CanBeExpanded ? T_981[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_982 ? T_982 extends T_981[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_982 extends CanBeExpanded ? any : T_982 extends (infer U)[] ? any[] : T_982 extends object ? { [K_539 in keyof T_982]-?: T_982[K_539] extends infer T_983 ? T_983 extends T_982[K_539] ? T_983 extends CanBeExpanded ? T_983["default"] : T_983 : never : never; } : T_982 : never : never : T_981 extends (infer U)[] ? any[] : T_981 extends object ? { [K_540 in keyof T_981]-?: T_981[K_540] extends infer T_984 ? T_984 extends T_981[K_540] ? T_984 extends CanBeExpanded ? T_984["default"] : T_984 : never : never; } : T_981 : never : never : T_980 extends (infer U)[] ? any[] : T_980 extends object ? { [K_541 in keyof T_980]-?: T_980[K_541] extends infer T_985 ? T_985 extends T_980[K_541] ? T_985 extends CanBeExpanded ? T_985["default"] : T_985 : never : never; } : T_980 : never : never : T_979 extends (infer U)[] ? any[] : T_979 extends object ? { [K_542 in keyof T_979]-?: T_979[K_542] extends infer T_986 ? T_986 extends T_979[K_542] ? T_986 extends CanBeExpanded ? T_986["default"] : T_986 : never : never; } : T_979 : never : never : T_978 extends (infer U)[] ? any[] : T_978 extends object ? { [K_543 in keyof T_978]-?: T_978[K_543] extends infer T_987 ? T_987 extends T_978[K_543] ? T_987 extends CanBeExpanded ? T_987["default"] : T_987 : never : never; } : T_978 : never : never : T_976 extends (infer U)[] ? any[] : T_976 extends object ? { [K_544 in keyof T_976]-?: T_976[K_544] extends infer T_988 ? T_988 extends T_976[K_544] ? T_988 extends CanBeExpanded ? T_988["default"] : T_988 : never : never; } : T_976 : never : never; } : T_935 : never : never : T_934 extends (infer U)[] ? any[] : T_934 extends object ? { [K_545 in keyof T_934]-?: T_934[K_545] extends infer T_989 ? T_989 extends T_934[K_545] ? T_989 extends CanBeExpanded ? T_989[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_991 ? T_991 extends T_989[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_991 extends CanBeExpanded ? T_991[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_992 ? T_992 extends T_991[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_992 extends CanBeExpanded ? T_992[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_993 ? T_993 extends T_992[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_993 extends CanBeExpanded ? T_993[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_994 ? T_994 extends T_993[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_994 extends CanBeExpanded ? T_994[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_995 ? T_995 extends T_994[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_995 extends CanBeExpanded ? T_995[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_996 ? T_996 extends T_995[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_996 extends CanBeExpanded ? any : T_996 extends (infer U)[] ? any[] : T_996 extends object ? { [K_546 in keyof T_996]-?: T_996[K_546] extends infer T_997 ? T_997 extends T_996[K_546] ? T_997 extends CanBeExpanded ? T_997["default"] : T_997 : never : never; } : T_996 : never : never : T_995 extends (infer U)[] ? any[] : T_995 extends object ? { [K_547 in keyof T_995]-?: T_995[K_547] extends infer T_998 ? T_998 extends T_995[K_547] ? T_998 extends CanBeExpanded ? T_998["default"] : T_998 : never : never; } : T_995 : never : never : T_994 extends (infer U)[] ? any[] : T_994 extends object ? { [K_548 in keyof T_994]-?: T_994[K_548] extends infer T_999 ? T_999 extends T_994[K_548] ? T_999 extends CanBeExpanded ? T_999["default"] : T_999 : never : never; } : T_994 : never : never : T_993 extends (infer U)[] ? any[] : T_993 extends object ? { [K_549 in keyof T_993]-?: T_993[K_549] extends infer T_1000 ? T_1000 extends T_993[K_549] ? T_1000 extends CanBeExpanded ? T_1000["default"] : T_1000 : never : never; } : T_993 : never : never : T_992 extends (infer U)[] ? any[] : T_992 extends object ? { [K_550 in keyof T_992]-?: T_992[K_550] extends infer T_1001 ? T_1001 extends T_992[K_550] ? T_1001 extends CanBeExpanded ? T_1001["default"] : T_1001 : never : never; } : T_992 : never : never : T_991 extends (infer U)[] ? any[] : T_991 extends object ? { [K_551 in keyof T_991]-?: T_991[K_551] extends infer T_1002 ? T_1002 extends T_991[K_551] ? T_1002 extends CanBeExpanded ? T_1002["default"] : T_1002 : never : never; } : T_991 : never : never : T_989 extends (infer U)[] ? any[] : T_989 extends object ? { [K_552 in keyof T_989]-?: T_989[K_552] extends infer T_1003 ? T_1003 extends T_989[K_552] ? T_1003 extends CanBeExpanded ? T_1003["default"] : T_1003 : never : never; } : T_989 : never : never; } : T_934 : never : never : T_932 extends (infer U)[] ? any[] : T_932 extends object ? { [K_553 in keyof T_932]-?: T_932[K_553] extends infer T_1004 ? T_1004 extends T_932[K_553] ? T_1004 extends CanBeExpanded ? T_1004[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1006 ? T_1006 extends T_1004[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1006 extends CanBeExpanded ? T_1006[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1007 ? T_1007 extends T_1006[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1007 extends CanBeExpanded ? T_1007[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1008 ? T_1008 extends T_1007[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1008 extends CanBeExpanded ? T_1008[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1009 ? T_1009 extends T_1008[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1009 extends CanBeExpanded ? T_1009[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1010 ? T_1010 extends T_1009[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1010 extends CanBeExpanded ? T_1010[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1011 ? T_1011 extends T_1010[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1011 extends CanBeExpanded ? T_1011[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1012 ? T_1012 extends T_1011[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1012 extends CanBeExpanded ? any : T_1012 extends (infer U)[] ? any[] : T_1012 extends object ? { [K_554 in keyof T_1012]-?: T_1012[K_554] extends infer T_1013 ? T_1013 extends T_1012[K_554] ? T_1013 extends CanBeExpanded ? T_1013["default"] : T_1013 : never : never; } : T_1012 : never : never : T_1011 extends (infer U)[] ? any[] : T_1011 extends object ? { [K_555 in keyof T_1011]-?: T_1011[K_555] extends infer T_1014 ? T_1014 extends T_1011[K_555] ? T_1014 extends CanBeExpanded ? T_1014["default"] : T_1014 : never : never; } : T_1011 : never : never : T_1010 extends (infer U)[] ? any[] : T_1010 extends object ? { [K_556 in keyof T_1010]-?: T_1010[K_556] extends infer T_1015 ? T_1015 extends T_1010[K_556] ? T_1015 extends CanBeExpanded ? T_1015["default"] : T_1015 : never : never; } : T_1010 : never : never : T_1009 extends (infer U)[] ? any[] : T_1009 extends object ? { [K_557 in keyof T_1009]-?: T_1009[K_557] extends infer T_1016 ? T_1016 extends T_1009[K_557] ? T_1016 extends CanBeExpanded ? T_1016["default"] : T_1016 : never : never; } : T_1009 : never : never : T_1008 extends (infer U)[] ? any[] : T_1008 extends object ? { [K_558 in keyof T_1008]-?: T_1008[K_558] extends infer T_1017 ? T_1017 extends T_1008[K_558] ? T_1017 extends CanBeExpanded ? T_1017["default"] : T_1017 : never : never; } : T_1008 : never : never : T_1007 extends (infer U)[] ? any[] : T_1007 extends object ? { [K_559 in keyof T_1007]-?: T_1007[K_559] extends infer T_1018 ? T_1018 extends T_1007[K_559] ? T_1018 extends CanBeExpanded ? T_1018["default"] : T_1018 : never : never; } : T_1007 : never : never : T_1006 extends (infer U)[] ? any[] : T_1006 extends object ? { [K_560 in keyof T_1006]-?: T_1006[K_560] extends infer T_1019 ? T_1019 extends T_1006[K_560] ? T_1019 extends CanBeExpanded ? T_1019["default"] : T_1019 : never : never; } : T_1006 : never : never : T_1004 extends (infer U)[] ? any[] : T_1004 extends object ? { [K_561 in keyof T_1004]-?: T_1004[K_561] extends infer T_1020 ? T_1020 extends T_1004[K_561] ? T_1020 extends CanBeExpanded ? T_1020["default"] : T_1020 : never : never; } : T_1004 : never : never; } : T_932 : never : never; } : T_689 : never : never; } : T type UseQueryOptions2 = Expand_ ->UseQueryOptions2 : T extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]]-?: T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"]["" extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: any; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends CanBeExpanded ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<`${string & K}`, K, "."> extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][`${string & K}` extends SplitAC ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K]]-?: T["" extends SplitAC ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T["" extends SplitAC ? "value" : "default"][K][K][K] extends (infer U)[] ? any[] : T["" extends SplitAC ? "value" : "default"][K][K][K] extends object ? { [K in keyof T["" extends SplitAC ? "value" : "default"][K][K][K]]-?: T["" extends SplitAC ? "value" : "default"][K][K][K][K] extends CanBeExpanded<...> ? T["" extends SplitAC ? "value" : "default"][K][K][K][K]["default"] : T["" extends SplitAC ? "value" : "default"][K][K][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][K][K]; } : T["" extends SplitAC ? "value" : "default"][K][K]; } : T["" extends SplitAC ? "value" : "default"][K]; } : T["" extends SplitAC ? "value" : "default"] : T extends (infer U)[] ? any[] : T extends object ? { [K in keyof T]-?: T[K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"]]-?: any; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]]-?: any; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][`${string & K}` extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends (infer U)[] ? any[] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K] extends object ? { [K in keyof T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]]-?: T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K] extends CanBeExpanded<...> ? T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]["default"] : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"][K]; } : T[K][`${string & K}` extends SplitAC<...> ? "value" : "default"] : T[K] extends (infer U)[] ? any[] : T[K] extends object ? { [K in keyof T[K]]-?: T[K][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: any; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? any : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends (infer U)[] ? any[] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends object ? { [K in keyof T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]]-?: T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K] extends CanBeExpanded<...> ? T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]["default"] : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K] extends (infer U)[] ? any[] : T[K][K] extends object ? { [K in keyof T[K][K]]-?: T[K][K][K] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends CanBeExpanded<...> ? any : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends (infer U)[] ? any[] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] extends object ? { [K in keyof T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"]]-?: T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K] extends CanBeExpanded<...> ? T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]["default"] : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"][K]; } : T[K][K][K][PrefixWith<...> extends SplitAC<...> ? "value" : "default"] : T[K][K][K] extends (infer U)[] ? any[] : T[K][K][K] extends object ? { [K in keyof T[K][K][K]]-?: T[K][K][K][K] extends CanBeExpanded<...> ? T[K][K][K][K]["default"] : T[K][K][K][K]; } : T[K][K][K]; } : T[K][K]; } : T[K]; } : T +>UseQueryOptions2 : T extends CanBeExpanded ? T["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_2 ? T_2 extends T["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_2 extends CanBeExpanded ? T_2["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_3 ? T_3 extends T_2["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_3 extends CanBeExpanded ? T_3["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_4 ? T_4 extends T_3["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_4 extends CanBeExpanded ? T_4["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_5 ? T_5 extends T_4["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_5 extends CanBeExpanded ? T_5["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_6 ? T_6 extends T_5["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_6 extends CanBeExpanded ? T_6["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_7 ? T_7 extends T_6["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_7 extends CanBeExpanded ? T_7["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_8 ? T_8 extends T_7["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_8 extends CanBeExpanded ? T_8["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_9 ? T_9 extends T_8["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_9 extends CanBeExpanded ? T_9["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_10 ? T_10 extends T_9["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_10 extends CanBeExpanded ? T_10["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] extends infer T_11 ? T_11 extends T_10["" extends infer T_1 ? T_1 extends "" ? T_1 extends SplitAC ? "value" : "default" : never : never] ? T_11 extends CanBeExpanded ? any : T_11 extends (infer U)[] ? any[] : T_11 extends object ? { [K_1 in keyof T_11]-?: any; } : T_11 : never : never : T_10 extends (infer U)[] ? any[] : T_10 extends object ? { [K_2 in keyof T_10]-?: T_10[K_2] extends infer T_12 ? T_12 extends T_10[K_2] ? T_12 extends CanBeExpanded ? any : T_12 extends (infer U)[] ? any[] : T_12 extends object ? { [K_3 in keyof T_12]-?: any; } : T_12 : never : never; } : T_10 : never : never : T_9 extends (infer U)[] ? any[] : T_9 extends object ? { [K_4 in keyof T_9]-?: T_9[K_4] extends infer T_13 ? T_13 extends T_9[K_4] ? T_13 extends CanBeExpanded ? T_13[`${string & K_4}` extends infer T_14 ? T_14 extends `${string & K_4}` ? T_14 extends SplitAC ? "value" : "default" : never : never] extends infer T_15 ? T_15 extends T_13[`${string & K_4}` extends infer T_14 ? T_14 extends `${string & K_4}` ? T_14 extends SplitAC ? "value" : "default" : never : never] ? T_15 extends CanBeExpanded ? any : T_15 extends (infer U)[] ? any[] : T_15 extends object ? { [K_5 in keyof T_15]-?: any; } : T_15 : never : never : T_13 extends (infer U)[] ? any[] : T_13 extends object ? { [K_6 in keyof T_13]-?: T_13[K_6] extends infer T_16 ? T_16 extends T_13[K_6] ? T_16 extends CanBeExpanded ? any : T_16 extends (infer U)[] ? any[] : T_16 extends object ? { [K_7 in keyof T_16]-?: any; } : T_16 : never : never; } : T_13 : never : never; } : T_9 : never : never : T_8 extends (infer U)[] ? any[] : T_8 extends object ? { [K_8 in keyof T_8]-?: T_8[K_8] extends infer T_17 ? T_17 extends T_8[K_8] ? T_17 extends CanBeExpanded ? T_17[`${string & K_8}` extends infer T_18 ? T_18 extends `${string & K_8}` ? T_18 extends SplitAC ? "value" : "default" : never : never] extends infer T_19 ? T_19 extends T_17[`${string & K_8}` extends infer T_18 ? T_18 extends `${string & K_8}` ? T_18 extends SplitAC ? "value" : "default" : never : never] ? T_19 extends CanBeExpanded ? T_19[`${string & K_8}` extends infer T_18 ? T_18 extends `${string & K_8}` ? T_18 extends SplitAC ? "value" : "default" : never : never] extends infer T_20 ? T_20 extends T_19[`${string & K_8}` extends infer T_18 ? T_18 extends `${string & K_8}` ? T_18 extends SplitAC ? "value" : "default" : never : never] ? T_20 extends CanBeExpanded ? any : T_20 extends (infer U)[] ? any[] : T_20 extends object ? { [K_9 in keyof T_20]-?: any; } : T_20 : never : never : T_19 extends (infer U)[] ? any[] : T_19 extends object ? { [K_10 in keyof T_19]-?: T_19[K_10] extends infer T_21 ? T_21 extends T_19[K_10] ? T_21 extends CanBeExpanded ? any : T_21 extends (infer U)[] ? any[] : T_21 extends object ? { [K_11 in keyof T_21]-?: any; } : T_21 : never : never; } : T_19 : never : never : T_17 extends (infer U)[] ? any[] : T_17 extends object ? { [K_12 in keyof T_17]-?: T_17[K_12] extends infer T_22 ? T_22 extends T_17[K_12] ? T_22 extends CanBeExpanded ? T_22[PrefixWith<`${string & K_8}`, K_12, "."> extends infer T_23 ? T_23 extends PrefixWith<`${string & K_8}`, K_12, "."> ? T_23 extends SplitAC ? "value" : "default" : never : never] extends infer T_24 ? T_24 extends T_22[PrefixWith<`${string & K_8}`, K_12, "."> extends infer T_23 ? T_23 extends PrefixWith<`${string & K_8}`, K_12, "."> ? T_23 extends SplitAC ? "value" : "default" : never : never] ? T_24 extends CanBeExpanded ? any : T_24 extends (infer U)[] ? any[] : T_24 extends object ? { [K_13 in keyof T_24]-?: any; } : T_24 : never : never : T_22 extends (infer U)[] ? any[] : T_22 extends object ? { [K_14 in keyof T_22]-?: T_22[K_14] extends infer T_25 ? T_25 extends T_22[K_14] ? T_25 extends CanBeExpanded ? any : T_25 extends (infer U)[] ? any[] : T_25 extends object ? { [K_15 in keyof T_25]-?: T_25[K_15] extends infer T_26 ? T_26 extends T_25[K_15] ? T_26 extends CanBeExpanded ? T_26["default"] : T_26 : never : never; } : T_25 : never : never; } : T_22 : never : never; } : T_17 : never : never; } : T_8 : never : never : T_7 extends (infer U)[] ? any[] : T_7 extends object ? { [K_16 in keyof T_7]-?: T_7[K_16] extends infer T_27 ? T_27 extends T_7[K_16] ? T_27 extends CanBeExpanded ? T_27[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] extends infer T_29 ? T_29 extends T_27[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] ? T_29 extends CanBeExpanded ? T_29[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] extends infer T_30 ? T_30 extends T_29[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] ? T_30 extends CanBeExpanded ? T_30[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] extends infer T_31 ? T_31 extends T_30[`${string & K_16}` extends infer T_28 ? T_28 extends `${string & K_16}` ? T_28 extends SplitAC ? "value" : "default" : never : never] ? T_31 extends CanBeExpanded ? any : T_31 extends (infer U)[] ? any[] : T_31 extends object ? { [K_17 in keyof T_31]-?: any; } : T_31 : never : never : T_30 extends (infer U)[] ? any[] : T_30 extends object ? { [K_18 in keyof T_30]-?: T_30[K_18] extends infer T_32 ? T_32 extends T_30[K_18] ? T_32 extends CanBeExpanded ? any : T_32 extends (infer U)[] ? any[] : T_32 extends object ? { [K_19 in keyof T_32]-?: any; } : T_32 : never : never; } : T_30 : never : never : T_29 extends (infer U)[] ? any[] : T_29 extends object ? { [K_20 in keyof T_29]-?: T_29[K_20] extends infer T_33 ? T_33 extends T_29[K_20] ? T_33 extends CanBeExpanded ? T_33[PrefixWith<`${string & K_16}`, K_20, "."> extends infer T_34 ? T_34 extends PrefixWith<`${string & K_16}`, K_20, "."> ? T_34 extends SplitAC ? "value" : "default" : never : never] extends infer T_35 ? T_35 extends T_33[PrefixWith<`${string & K_16}`, K_20, "."> extends infer T_34 ? T_34 extends PrefixWith<`${string & K_16}`, K_20, "."> ? T_34 extends SplitAC ? "value" : "default" : never : never] ? T_35 extends CanBeExpanded ? any : T_35 extends (infer U)[] ? any[] : T_35 extends object ? { [K_21 in keyof T_35]-?: any; } : T_35 : never : never : T_33 extends (infer U)[] ? any[] : T_33 extends object ? { [K_22 in keyof T_33]-?: T_33[K_22] extends infer T_36 ? T_36 extends T_33[K_22] ? T_36 extends CanBeExpanded ? any : T_36 extends (infer U)[] ? any[] : T_36 extends object ? { [K_23 in keyof T_36]-?: T_36[K_23] extends infer T_37 ? T_37 extends T_36[K_23] ? T_37 extends CanBeExpanded ? T_37["default"] : T_37 : never : never; } : T_36 : never : never; } : T_33 : never : never; } : T_29 : never : never : T_27 extends (infer U)[] ? any[] : T_27 extends object ? { [K_24 in keyof T_27]-?: T_27[K_24] extends infer T_38 ? T_38 extends T_27[K_24] ? T_38 extends CanBeExpanded ? T_38[PrefixWith<`${string & K_16}`, K_24, "."> extends infer T_39 ? T_39 extends PrefixWith<`${string & K_16}`, K_24, "."> ? T_39 extends SplitAC ? "value" : "default" : never : never] extends infer T_40 ? T_40 extends T_38[PrefixWith<`${string & K_16}`, K_24, "."> extends infer T_39 ? T_39 extends PrefixWith<`${string & K_16}`, K_24, "."> ? T_39 extends SplitAC ? "value" : "default" : never : never] ? T_40 extends CanBeExpanded ? T_40[PrefixWith<`${string & K_16}`, K_24, "."> extends infer T_39 ? T_39 extends PrefixWith<`${string & K_16}`, K_24, "."> ? T_39 extends SplitAC ? "value" : "default" : never : never] extends infer T_41 ? T_41 extends T_40[PrefixWith<`${string & K_16}`, K_24, "."> extends infer T_39 ? T_39 extends PrefixWith<`${string & K_16}`, K_24, "."> ? T_39 extends SplitAC ? "value" : "default" : never : never] ? T_41 extends CanBeExpanded ? any : T_41 extends (infer U)[] ? any[] : T_41 extends object ? { [K_25 in keyof T_41]-?: any; } : T_41 : never : never : T_40 extends (infer U)[] ? any[] : T_40 extends object ? { [K_26 in keyof T_40]-?: T_40[K_26] extends infer T_42 ? T_42 extends T_40[K_26] ? T_42 extends CanBeExpanded ? any : T_42 extends (infer U)[] ? any[] : T_42 extends object ? { [K_27 in keyof T_42]-?: T_42[K_27] extends infer T_43 ? T_43 extends T_42[K_27] ? T_43 extends CanBeExpanded ? T_43["default"] : T_43 : never : never; } : T_42 : never : never; } : T_40 : never : never : T_38 extends (infer U)[] ? any[] : T_38 extends object ? { [K_28 in keyof T_38]-?: T_38[K_28] extends infer T_44 ? T_44 extends T_38[K_28] ? T_44 extends CanBeExpanded ? T_44[PrefixWith, K_28, "."> extends infer T_45 ? T_45 extends PrefixWith, K_28, "."> ? T_45 extends SplitAC ? "value" : "default" : never : never] extends infer T_46 ? T_46 extends T_44[PrefixWith, K_28, "."> extends infer T_45 ? T_45 extends PrefixWith, K_28, "."> ? T_45 extends SplitAC ? "value" : "default" : never : never] ? T_46 extends CanBeExpanded ? any : T_46 extends (infer U)[] ? any[] : T_46 extends object ? { [K_29 in keyof T_46]-?: T_46[K_29] extends infer T_47 ? T_47 extends T_46[K_29] ? T_47 extends CanBeExpanded ? T_47["default"] : T_47 : never : never; } : T_46 : never : never : T_44 extends (infer U)[] ? any[] : T_44 extends object ? { [K_30 in keyof T_44]-?: T_44[K_30] extends infer T_48 ? T_48 extends T_44[K_30] ? T_48 extends CanBeExpanded ? T_48["default"] : T_48 : never : never; } : T_44 : never : never; } : T_38 : never : never; } : T_27 : never : never; } : T_7 : never : never : T_6 extends (infer U)[] ? any[] : T_6 extends object ? { [K_31 in keyof T_6]-?: T_6[K_31] extends infer T_49 ? T_49 extends T_6[K_31] ? T_49 extends CanBeExpanded ? T_49[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_51 ? T_51 extends T_49[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_51 extends CanBeExpanded ? T_51[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_52 ? T_52 extends T_51[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_52 extends CanBeExpanded ? T_52[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_53 ? T_53 extends T_52[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_53 extends CanBeExpanded ? T_53[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] extends infer T_54 ? T_54 extends T_53[`${string & K_31}` extends infer T_50 ? T_50 extends `${string & K_31}` ? T_50 extends SplitAC ? "value" : "default" : never : never] ? T_54 extends CanBeExpanded ? any : T_54 extends (infer U)[] ? any[] : T_54 extends object ? { [K_32 in keyof T_54]-?: any; } : T_54 : never : never : T_53 extends (infer U)[] ? any[] : T_53 extends object ? { [K_33 in keyof T_53]-?: T_53[K_33] extends infer T_55 ? T_55 extends T_53[K_33] ? T_55 extends CanBeExpanded ? any : T_55 extends (infer U)[] ? any[] : T_55 extends object ? { [K_34 in keyof T_55]-?: any; } : T_55 : never : never; } : T_53 : never : never : T_52 extends (infer U)[] ? any[] : T_52 extends object ? { [K_35 in keyof T_52]-?: T_52[K_35] extends infer T_56 ? T_56 extends T_52[K_35] ? T_56 extends CanBeExpanded ? T_56[PrefixWith<`${string & K_31}`, K_35, "."> extends infer T_57 ? T_57 extends PrefixWith<`${string & K_31}`, K_35, "."> ? T_57 extends SplitAC ? "value" : "default" : never : never] extends infer T_58 ? T_58 extends T_56[PrefixWith<`${string & K_31}`, K_35, "."> extends infer T_57 ? T_57 extends PrefixWith<`${string & K_31}`, K_35, "."> ? T_57 extends SplitAC ? "value" : "default" : never : never] ? T_58 extends CanBeExpanded ? any : T_58 extends (infer U)[] ? any[] : T_58 extends object ? { [K_36 in keyof T_58]-?: any; } : T_58 : never : never : T_56 extends (infer U)[] ? any[] : T_56 extends object ? { [K_37 in keyof T_56]-?: T_56[K_37] extends infer T_59 ? T_59 extends T_56[K_37] ? T_59 extends CanBeExpanded ? any : T_59 extends (infer U)[] ? any[] : T_59 extends object ? { [K_38 in keyof T_59]-?: T_59[K_38] extends infer T_60 ? T_60 extends T_59[K_38] ? T_60 extends CanBeExpanded ? T_60["default"] : T_60 : never : never; } : T_59 : never : never; } : T_56 : never : never; } : T_52 : never : never : T_51 extends (infer U)[] ? any[] : T_51 extends object ? { [K_39 in keyof T_51]-?: T_51[K_39] extends infer T_61 ? T_61 extends T_51[K_39] ? T_61 extends CanBeExpanded ? T_61[PrefixWith<`${string & K_31}`, K_39, "."> extends infer T_62 ? T_62 extends PrefixWith<`${string & K_31}`, K_39, "."> ? T_62 extends SplitAC ? "value" : "default" : never : never] extends infer T_63 ? T_63 extends T_61[PrefixWith<`${string & K_31}`, K_39, "."> extends infer T_62 ? T_62 extends PrefixWith<`${string & K_31}`, K_39, "."> ? T_62 extends SplitAC ? "value" : "default" : never : never] ? T_63 extends CanBeExpanded ? T_63[PrefixWith<`${string & K_31}`, K_39, "."> extends infer T_62 ? T_62 extends PrefixWith<`${string & K_31}`, K_39, "."> ? T_62 extends SplitAC ? "value" : "default" : never : never] extends infer T_64 ? T_64 extends T_63[PrefixWith<`${string & K_31}`, K_39, "."> extends infer T_62 ? T_62 extends PrefixWith<`${string & K_31}`, K_39, "."> ? T_62 extends SplitAC ? "value" : "default" : never : never] ? T_64 extends CanBeExpanded ? any : T_64 extends (infer U)[] ? any[] : T_64 extends object ? { [K_40 in keyof T_64]-?: any; } : T_64 : never : never : T_63 extends (infer U)[] ? any[] : T_63 extends object ? { [K_41 in keyof T_63]-?: T_63[K_41] extends infer T_65 ? T_65 extends T_63[K_41] ? T_65 extends CanBeExpanded ? any : T_65 extends (infer U)[] ? any[] : T_65 extends object ? { [K_42 in keyof T_65]-?: T_65[K_42] extends infer T_66 ? T_66 extends T_65[K_42] ? T_66 extends CanBeExpanded ? T_66["default"] : T_66 : never : never; } : T_65 : never : never; } : T_63 : never : never : T_61 extends (infer U)[] ? any[] : T_61 extends object ? { [K_43 in keyof T_61]-?: T_61[K_43] extends infer T_67 ? T_67 extends T_61[K_43] ? T_67 extends CanBeExpanded ? T_67[PrefixWith, K_43, "."> extends infer T_68 ? T_68 extends PrefixWith, K_43, "."> ? T_68 extends SplitAC ? "value" : "default" : never : never] extends infer T_69 ? T_69 extends T_67[PrefixWith, K_43, "."> extends infer T_68 ? T_68 extends PrefixWith, K_43, "."> ? T_68 extends SplitAC ? "value" : "default" : never : never] ? T_69 extends CanBeExpanded ? any : T_69 extends (infer U)[] ? any[] : T_69 extends object ? { [K_44 in keyof T_69]-?: T_69[K_44] extends infer T_70 ? T_70 extends T_69[K_44] ? T_70 extends CanBeExpanded ? T_70["default"] : T_70 : never : never; } : T_69 : never : never : T_67 extends (infer U)[] ? any[] : T_67 extends object ? { [K_45 in keyof T_67]-?: T_67[K_45] extends infer T_71 ? T_71 extends T_67[K_45] ? T_71 extends CanBeExpanded ? T_71["default"] : T_71 : never : never; } : T_67 : never : never; } : T_61 : never : never; } : T_51 : never : never : T_49 extends (infer U)[] ? any[] : T_49 extends object ? { [K_46 in keyof T_49]-?: T_49[K_46] extends infer T_72 ? T_72 extends T_49[K_46] ? T_72 extends CanBeExpanded ? T_72[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] extends infer T_74 ? T_74 extends T_72[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] ? T_74 extends CanBeExpanded ? T_74[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] extends infer T_75 ? T_75 extends T_74[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] ? T_75 extends CanBeExpanded ? T_75[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] extends infer T_76 ? T_76 extends T_75[PrefixWith<`${string & K_31}`, K_46, "."> extends infer T_73 ? T_73 extends PrefixWith<`${string & K_31}`, K_46, "."> ? T_73 extends SplitAC ? "value" : "default" : never : never] ? T_76 extends CanBeExpanded ? any : T_76 extends (infer U)[] ? any[] : T_76 extends object ? { [K_47 in keyof T_76]-?: any; } : T_76 : never : never : T_75 extends (infer U)[] ? any[] : T_75 extends object ? { [K_48 in keyof T_75]-?: T_75[K_48] extends infer T_77 ? T_77 extends T_75[K_48] ? T_77 extends CanBeExpanded ? any : T_77 extends (infer U)[] ? any[] : T_77 extends object ? { [K_49 in keyof T_77]-?: T_77[K_49] extends infer T_78 ? T_78 extends T_77[K_49] ? T_78 extends CanBeExpanded ? T_78["default"] : T_78 : never : never; } : T_77 : never : never; } : T_75 : never : never : T_74 extends (infer U)[] ? any[] : T_74 extends object ? { [K_50 in keyof T_74]-?: T_74[K_50] extends infer T_79 ? T_79 extends T_74[K_50] ? T_79 extends CanBeExpanded ? T_79[PrefixWith, K_50, "."> extends infer T_80 ? T_80 extends PrefixWith, K_50, "."> ? T_80 extends SplitAC ? "value" : "default" : never : never] extends infer T_81 ? T_81 extends T_79[PrefixWith, K_50, "."> extends infer T_80 ? T_80 extends PrefixWith, K_50, "."> ? T_80 extends SplitAC ? "value" : "default" : never : never] ? T_81 extends CanBeExpanded ? any : T_81 extends (infer U)[] ? any[] : T_81 extends object ? { [K_51 in keyof T_81]-?: T_81[K_51] extends infer T_82 ? T_82 extends T_81[K_51] ? T_82 extends CanBeExpanded ? T_82["default"] : T_82 : never : never; } : T_81 : never : never : T_79 extends (infer U)[] ? any[] : T_79 extends object ? { [K_52 in keyof T_79]-?: T_79[K_52] extends infer T_83 ? T_83 extends T_79[K_52] ? T_83 extends CanBeExpanded ? T_83["default"] : T_83 : never : never; } : T_79 : never : never; } : T_74 : never : never : T_72 extends (infer U)[] ? any[] : T_72 extends object ? { [K_53 in keyof T_72]-?: T_72[K_53] extends infer T_84 ? T_84 extends T_72[K_53] ? T_84 extends CanBeExpanded ? T_84[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] extends infer T_86 ? T_86 extends T_84[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] ? T_86 extends CanBeExpanded ? T_86[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] extends infer T_87 ? T_87 extends T_86[PrefixWith, K_53, "."> extends infer T_85 ? T_85 extends PrefixWith, K_53, "."> ? T_85 extends SplitAC ? "value" : "default" : never : never] ? T_87 extends CanBeExpanded ? any : T_87 extends (infer U)[] ? any[] : T_87 extends object ? { [K_54 in keyof T_87]-?: T_87[K_54] extends infer T_88 ? T_88 extends T_87[K_54] ? T_88 extends CanBeExpanded ? T_88["default"] : T_88 : never : never; } : T_87 : never : never : T_86 extends (infer U)[] ? any[] : T_86 extends object ? { [K_55 in keyof T_86]-?: T_86[K_55] extends infer T_89 ? T_89 extends T_86[K_55] ? T_89 extends CanBeExpanded ? T_89["default"] : T_89 : never : never; } : T_86 : never : never : T_84 extends (infer U)[] ? any[] : T_84 extends object ? { [K_56 in keyof T_84]-?: T_84[K_56] extends infer T_90 ? T_90 extends T_84[K_56] ? T_90 extends CanBeExpanded ? T_90["default"] : T_90 : never : never; } : T_84 : never : never; } : T_72 : never : never; } : T_49 : never : never; } : T_6 : never : never : T_5 extends (infer U)[] ? any[] : T_5 extends object ? { [K_57 in keyof T_5]-?: T_5[K_57] extends infer T_91 ? T_91 extends T_5[K_57] ? T_91 extends CanBeExpanded ? T_91[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_93 ? T_93 extends T_91[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_93 extends CanBeExpanded ? T_93[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_94 ? T_94 extends T_93[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_94 extends CanBeExpanded ? T_94[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_95 ? T_95 extends T_94[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_95 extends CanBeExpanded ? T_95[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_96 ? T_96 extends T_95[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_96 extends CanBeExpanded ? T_96[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] extends infer T_97 ? T_97 extends T_96[`${string & K_57}` extends infer T_92 ? T_92 extends `${string & K_57}` ? T_92 extends SplitAC ? "value" : "default" : never : never] ? T_97 extends CanBeExpanded ? any : T_97 extends (infer U)[] ? any[] : T_97 extends object ? { [K_58 in keyof T_97]-?: any; } : T_97 : never : never : T_96 extends (infer U)[] ? any[] : T_96 extends object ? { [K_59 in keyof T_96]-?: T_96[K_59] extends infer T_98 ? T_98 extends T_96[K_59] ? T_98 extends CanBeExpanded ? any : T_98 extends (infer U)[] ? any[] : T_98 extends object ? { [K_60 in keyof T_98]-?: any; } : T_98 : never : never; } : T_96 : never : never : T_95 extends (infer U)[] ? any[] : T_95 extends object ? { [K_61 in keyof T_95]-?: T_95[K_61] extends infer T_99 ? T_99 extends T_95[K_61] ? T_99 extends CanBeExpanded ? T_99[PrefixWith<`${string & K_57}`, K_61, "."> extends infer T_100 ? T_100 extends PrefixWith<`${string & K_57}`, K_61, "."> ? T_100 extends SplitAC ? "value" : "default" : never : never] extends infer T_101 ? T_101 extends T_99[PrefixWith<`${string & K_57}`, K_61, "."> extends infer T_100 ? T_100 extends PrefixWith<`${string & K_57}`, K_61, "."> ? T_100 extends SplitAC ? "value" : "default" : never : never] ? T_101 extends CanBeExpanded ? any : T_101 extends (infer U)[] ? any[] : T_101 extends object ? { [K_62 in keyof T_101]-?: any; } : T_101 : never : never : T_99 extends (infer U)[] ? any[] : T_99 extends object ? { [K_63 in keyof T_99]-?: T_99[K_63] extends infer T_102 ? T_102 extends T_99[K_63] ? T_102 extends CanBeExpanded ? any : T_102 extends (infer U)[] ? any[] : T_102 extends object ? { [K_64 in keyof T_102]-?: T_102[K_64] extends infer T_103 ? T_103 extends T_102[K_64] ? T_103 extends CanBeExpanded ? T_103["default"] : T_103 : never : never; } : T_102 : never : never; } : T_99 : never : never; } : T_95 : never : never : T_94 extends (infer U)[] ? any[] : T_94 extends object ? { [K_65 in keyof T_94]-?: T_94[K_65] extends infer T_104 ? T_104 extends T_94[K_65] ? T_104 extends CanBeExpanded ? T_104[PrefixWith<`${string & K_57}`, K_65, "."> extends infer T_105 ? T_105 extends PrefixWith<`${string & K_57}`, K_65, "."> ? T_105 extends SplitAC ? "value" : "default" : never : never] extends infer T_106 ? T_106 extends T_104[PrefixWith<`${string & K_57}`, K_65, "."> extends infer T_105 ? T_105 extends PrefixWith<`${string & K_57}`, K_65, "."> ? T_105 extends SplitAC ? "value" : "default" : never : never] ? T_106 extends CanBeExpanded ? T_106[PrefixWith<`${string & K_57}`, K_65, "."> extends infer T_105 ? T_105 extends PrefixWith<`${string & K_57}`, K_65, "."> ? T_105 extends SplitAC ? "value" : "default" : never : never] extends infer T_107 ? T_107 extends T_106[PrefixWith<`${string & K_57}`, K_65, "."> extends infer T_105 ? T_105 extends PrefixWith<`${string & K_57}`, K_65, "."> ? T_105 extends SplitAC ? "value" : "default" : never : never] ? T_107 extends CanBeExpanded ? any : T_107 extends (infer U)[] ? any[] : T_107 extends object ? { [K_66 in keyof T_107]-?: any; } : T_107 : never : never : T_106 extends (infer U)[] ? any[] : T_106 extends object ? { [K_67 in keyof T_106]-?: T_106[K_67] extends infer T_108 ? T_108 extends T_106[K_67] ? T_108 extends CanBeExpanded ? any : T_108 extends (infer U)[] ? any[] : T_108 extends object ? { [K_68 in keyof T_108]-?: T_108[K_68] extends infer T_109 ? T_109 extends T_108[K_68] ? T_109 extends CanBeExpanded ? T_109["default"] : T_109 : never : never; } : T_108 : never : never; } : T_106 : never : never : T_104 extends (infer U)[] ? any[] : T_104 extends object ? { [K_69 in keyof T_104]-?: T_104[K_69] extends infer T_110 ? T_110 extends T_104[K_69] ? T_110 extends CanBeExpanded ? T_110[PrefixWith, K_69, "."> extends infer T_111 ? T_111 extends PrefixWith, K_69, "."> ? T_111 extends SplitAC ? "value" : "default" : never : never] extends infer T_112 ? T_112 extends T_110[PrefixWith, K_69, "."> extends infer T_111 ? T_111 extends PrefixWith, K_69, "."> ? T_111 extends SplitAC ? "value" : "default" : never : never] ? T_112 extends CanBeExpanded ? any : T_112 extends (infer U)[] ? any[] : T_112 extends object ? { [K_70 in keyof T_112]-?: T_112[K_70] extends infer T_113 ? T_113 extends T_112[K_70] ? T_113 extends CanBeExpanded ? T_113["default"] : T_113 : never : never; } : T_112 : never : never : T_110 extends (infer U)[] ? any[] : T_110 extends object ? { [K_71 in keyof T_110]-?: T_110[K_71] extends infer T_114 ? T_114 extends T_110[K_71] ? T_114 extends CanBeExpanded ? T_114["default"] : T_114 : never : never; } : T_110 : never : never; } : T_104 : never : never; } : T_94 : never : never : T_93 extends (infer U)[] ? any[] : T_93 extends object ? { [K_72 in keyof T_93]-?: T_93[K_72] extends infer T_115 ? T_115 extends T_93[K_72] ? T_115 extends CanBeExpanded ? T_115[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] extends infer T_117 ? T_117 extends T_115[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] ? T_117 extends CanBeExpanded ? T_117[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] extends infer T_118 ? T_118 extends T_117[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] ? T_118 extends CanBeExpanded ? T_118[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] extends infer T_119 ? T_119 extends T_118[PrefixWith<`${string & K_57}`, K_72, "."> extends infer T_116 ? T_116 extends PrefixWith<`${string & K_57}`, K_72, "."> ? T_116 extends SplitAC ? "value" : "default" : never : never] ? T_119 extends CanBeExpanded ? any : T_119 extends (infer U)[] ? any[] : T_119 extends object ? { [K_73 in keyof T_119]-?: any; } : T_119 : never : never : T_118 extends (infer U)[] ? any[] : T_118 extends object ? { [K_74 in keyof T_118]-?: T_118[K_74] extends infer T_120 ? T_120 extends T_118[K_74] ? T_120 extends CanBeExpanded ? any : T_120 extends (infer U)[] ? any[] : T_120 extends object ? { [K_75 in keyof T_120]-?: T_120[K_75] extends infer T_121 ? T_121 extends T_120[K_75] ? T_121 extends CanBeExpanded ? T_121["default"] : T_121 : never : never; } : T_120 : never : never; } : T_118 : never : never : T_117 extends (infer U)[] ? any[] : T_117 extends object ? { [K_76 in keyof T_117]-?: T_117[K_76] extends infer T_122 ? T_122 extends T_117[K_76] ? T_122 extends CanBeExpanded ? T_122[PrefixWith, K_76, "."> extends infer T_123 ? T_123 extends PrefixWith, K_76, "."> ? T_123 extends SplitAC ? "value" : "default" : never : never] extends infer T_124 ? T_124 extends T_122[PrefixWith, K_76, "."> extends infer T_123 ? T_123 extends PrefixWith, K_76, "."> ? T_123 extends SplitAC ? "value" : "default" : never : never] ? T_124 extends CanBeExpanded ? any : T_124 extends (infer U)[] ? any[] : T_124 extends object ? { [K_77 in keyof T_124]-?: T_124[K_77] extends infer T_125 ? T_125 extends T_124[K_77] ? T_125 extends CanBeExpanded ? T_125["default"] : T_125 : never : never; } : T_124 : never : never : T_122 extends (infer U)[] ? any[] : T_122 extends object ? { [K_78 in keyof T_122]-?: T_122[K_78] extends infer T_126 ? T_126 extends T_122[K_78] ? T_126 extends CanBeExpanded ? T_126["default"] : T_126 : never : never; } : T_122 : never : never; } : T_117 : never : never : T_115 extends (infer U)[] ? any[] : T_115 extends object ? { [K_79 in keyof T_115]-?: T_115[K_79] extends infer T_127 ? T_127 extends T_115[K_79] ? T_127 extends CanBeExpanded ? T_127[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] extends infer T_129 ? T_129 extends T_127[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] ? T_129 extends CanBeExpanded ? T_129[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] extends infer T_130 ? T_130 extends T_129[PrefixWith, K_79, "."> extends infer T_128 ? T_128 extends PrefixWith, K_79, "."> ? T_128 extends SplitAC ? "value" : "default" : never : never] ? T_130 extends CanBeExpanded ? any : T_130 extends (infer U)[] ? any[] : T_130 extends object ? { [K_80 in keyof T_130]-?: T_130[K_80] extends infer T_131 ? T_131 extends T_130[K_80] ? T_131 extends CanBeExpanded ? T_131["default"] : T_131 : never : never; } : T_130 : never : never : T_129 extends (infer U)[] ? any[] : T_129 extends object ? { [K_81 in keyof T_129]-?: T_129[K_81] extends infer T_132 ? T_132 extends T_129[K_81] ? T_132 extends CanBeExpanded ? T_132["default"] : T_132 : never : never; } : T_129 : never : never : T_127 extends (infer U)[] ? any[] : T_127 extends object ? { [K_82 in keyof T_127]-?: T_127[K_82] extends infer T_133 ? T_133 extends T_127[K_82] ? T_133 extends CanBeExpanded ? T_133["default"] : T_133 : never : never; } : T_127 : never : never; } : T_115 : never : never; } : T_93 : never : never : T_91 extends (infer U)[] ? any[] : T_91 extends object ? { [K_83 in keyof T_91]-?: T_91[K_83] extends infer T_134 ? T_134 extends T_91[K_83] ? T_134 extends CanBeExpanded ? T_134[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_136 ? T_136 extends T_134[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_136 extends CanBeExpanded ? T_136[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_137 ? T_137 extends T_136[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_137 extends CanBeExpanded ? T_137[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_138 ? T_138 extends T_137[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_138 extends CanBeExpanded ? T_138[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] extends infer T_139 ? T_139 extends T_138[PrefixWith<`${string & K_57}`, K_83, "."> extends infer T_135 ? T_135 extends PrefixWith<`${string & K_57}`, K_83, "."> ? T_135 extends SplitAC ? "value" : "default" : never : never] ? T_139 extends CanBeExpanded ? any : T_139 extends (infer U)[] ? any[] : T_139 extends object ? { [K_84 in keyof T_139]-?: any; } : T_139 : never : never : T_138 extends (infer U)[] ? any[] : T_138 extends object ? { [K_85 in keyof T_138]-?: T_138[K_85] extends infer T_140 ? T_140 extends T_138[K_85] ? T_140 extends CanBeExpanded ? any : T_140 extends (infer U)[] ? any[] : T_140 extends object ? { [K_86 in keyof T_140]-?: T_140[K_86] extends infer T_141 ? T_141 extends T_140[K_86] ? T_141 extends CanBeExpanded ? T_141["default"] : T_141 : never : never; } : T_140 : never : never; } : T_138 : never : never : T_137 extends (infer U)[] ? any[] : T_137 extends object ? { [K_87 in keyof T_137]-?: T_137[K_87] extends infer T_142 ? T_142 extends T_137[K_87] ? T_142 extends CanBeExpanded ? T_142[PrefixWith, K_87, "."> extends infer T_143 ? T_143 extends PrefixWith, K_87, "."> ? T_143 extends SplitAC ? "value" : "default" : never : never] extends infer T_144 ? T_144 extends T_142[PrefixWith, K_87, "."> extends infer T_143 ? T_143 extends PrefixWith, K_87, "."> ? T_143 extends SplitAC ? "value" : "default" : never : never] ? T_144 extends CanBeExpanded ? any : T_144 extends (infer U)[] ? any[] : T_144 extends object ? { [K_88 in keyof T_144]-?: T_144[K_88] extends infer T_145 ? T_145 extends T_144[K_88] ? T_145 extends CanBeExpanded ? T_145["default"] : T_145 : never : never; } : T_144 : never : never : T_142 extends (infer U)[] ? any[] : T_142 extends object ? { [K_89 in keyof T_142]-?: T_142[K_89] extends infer T_146 ? T_146 extends T_142[K_89] ? T_146 extends CanBeExpanded ? T_146["default"] : T_146 : never : never; } : T_142 : never : never; } : T_137 : never : never : T_136 extends (infer U)[] ? any[] : T_136 extends object ? { [K_90 in keyof T_136]-?: T_136[K_90] extends infer T_147 ? T_147 extends T_136[K_90] ? T_147 extends CanBeExpanded ? T_147[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] extends infer T_149 ? T_149 extends T_147[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] ? T_149 extends CanBeExpanded ? T_149[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] extends infer T_150 ? T_150 extends T_149[PrefixWith, K_90, "."> extends infer T_148 ? T_148 extends PrefixWith, K_90, "."> ? T_148 extends SplitAC ? "value" : "default" : never : never] ? T_150 extends CanBeExpanded ? any : T_150 extends (infer U)[] ? any[] : T_150 extends object ? { [K_91 in keyof T_150]-?: T_150[K_91] extends infer T_151 ? T_151 extends T_150[K_91] ? T_151 extends CanBeExpanded ? T_151["default"] : T_151 : never : never; } : T_150 : never : never : T_149 extends (infer U)[] ? any[] : T_149 extends object ? { [K_92 in keyof T_149]-?: T_149[K_92] extends infer T_152 ? T_152 extends T_149[K_92] ? T_152 extends CanBeExpanded ? T_152["default"] : T_152 : never : never; } : T_149 : never : never : T_147 extends (infer U)[] ? any[] : T_147 extends object ? { [K_93 in keyof T_147]-?: T_147[K_93] extends infer T_153 ? T_153 extends T_147[K_93] ? T_153 extends CanBeExpanded ? T_153["default"] : T_153 : never : never; } : T_147 : never : never; } : T_136 : never : never : T_134 extends (infer U)[] ? any[] : T_134 extends object ? { [K_94 in keyof T_134]-?: T_134[K_94] extends infer T_154 ? T_154 extends T_134[K_94] ? T_154 extends CanBeExpanded ? T_154[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] extends infer T_156 ? T_156 extends T_154[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] ? T_156 extends CanBeExpanded ? T_156[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] extends infer T_157 ? T_157 extends T_156[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] ? T_157 extends CanBeExpanded ? T_157[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] extends infer T_158 ? T_158 extends T_157[PrefixWith, K_94, "."> extends infer T_155 ? T_155 extends PrefixWith, K_94, "."> ? T_155 extends SplitAC ? "value" : "default" : never : never] ? T_158 extends CanBeExpanded ? any : T_158 extends (infer U)[] ? any[] : T_158 extends object ? { [K_95 in keyof T_158]-?: T_158[K_95] extends infer T_159 ? T_159 extends T_158[K_95] ? T_159 extends CanBeExpanded ? T_159["default"] : T_159 : never : never; } : T_158 : never : never : T_157 extends (infer U)[] ? any[] : T_157 extends object ? { [K_96 in keyof T_157]-?: T_157[K_96] extends infer T_160 ? T_160 extends T_157[K_96] ? T_160 extends CanBeExpanded ? T_160["default"] : T_160 : never : never; } : T_157 : never : never : T_156 extends (infer U)[] ? any[] : T_156 extends object ? { [K_97 in keyof T_156]-?: T_156[K_97] extends infer T_161 ? T_161 extends T_156[K_97] ? T_161 extends CanBeExpanded ? T_161["default"] : T_161 : never : never; } : T_156 : never : never : T_154 extends (infer U)[] ? any[] : T_154 extends object ? { [K_98 in keyof T_154]-?: T_154[K_98] extends infer T_162 ? T_162 extends T_154[K_98] ? T_162 extends CanBeExpanded ? T_162["default"] : T_162 : never : never; } : T_154 : never : never; } : T_134 : never : never; } : T_91 : never : never; } : T_5 : never : never : T_4 extends (infer U)[] ? any[] : T_4 extends object ? { [K_99 in keyof T_4]-?: T_4[K_99] extends infer T_163 ? T_163 extends T_4[K_99] ? T_163 extends CanBeExpanded ? T_163[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_165 ? T_165 extends T_163[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_165 extends CanBeExpanded ? T_165[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_166 ? T_166 extends T_165[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_166 extends CanBeExpanded ? T_166[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_167 ? T_167 extends T_166[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_167 extends CanBeExpanded ? T_167[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_168 ? T_168 extends T_167[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_168 extends CanBeExpanded ? T_168[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_169 ? T_169 extends T_168[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_169 extends CanBeExpanded ? T_169[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] extends infer T_170 ? T_170 extends T_169[`${string & K_99}` extends infer T_164 ? T_164 extends `${string & K_99}` ? T_164 extends SplitAC ? "value" : "default" : never : never] ? T_170 extends CanBeExpanded ? any : T_170 extends (infer U)[] ? any[] : T_170 extends object ? { [K_100 in keyof T_170]-?: any; } : T_170 : never : never : T_169 extends (infer U)[] ? any[] : T_169 extends object ? { [K_101 in keyof T_169]-?: T_169[K_101] extends infer T_171 ? T_171 extends T_169[K_101] ? T_171 extends CanBeExpanded ? any : T_171 extends (infer U)[] ? any[] : T_171 extends object ? { [K_102 in keyof T_171]-?: any; } : T_171 : never : never; } : T_169 : never : never : T_168 extends (infer U)[] ? any[] : T_168 extends object ? { [K_103 in keyof T_168]-?: T_168[K_103] extends infer T_172 ? T_172 extends T_168[K_103] ? T_172 extends CanBeExpanded ? T_172[PrefixWith<`${string & K_99}`, K_103, "."> extends infer T_173 ? T_173 extends PrefixWith<`${string & K_99}`, K_103, "."> ? T_173 extends SplitAC ? "value" : "default" : never : never] extends infer T_174 ? T_174 extends T_172[PrefixWith<`${string & K_99}`, K_103, "."> extends infer T_173 ? T_173 extends PrefixWith<`${string & K_99}`, K_103, "."> ? T_173 extends SplitAC ? "value" : "default" : never : never] ? T_174 extends CanBeExpanded ? any : T_174 extends (infer U)[] ? any[] : T_174 extends object ? { [K_104 in keyof T_174]-?: any; } : T_174 : never : never : T_172 extends (infer U)[] ? any[] : T_172 extends object ? { [K_105 in keyof T_172]-?: T_172[K_105] extends infer T_175 ? T_175 extends T_172[K_105] ? T_175 extends CanBeExpanded ? any : T_175 extends (infer U)[] ? any[] : T_175 extends object ? { [K_106 in keyof T_175]-?: T_175[K_106] extends infer T_176 ? T_176 extends T_175[K_106] ? T_176 extends CanBeExpanded ? T_176["default"] : T_176 : never : never; } : T_175 : never : never; } : T_172 : never : never; } : T_168 : never : never : T_167 extends (infer U)[] ? any[] : T_167 extends object ? { [K_107 in keyof T_167]-?: T_167[K_107] extends infer T_177 ? T_177 extends T_167[K_107] ? T_177 extends CanBeExpanded ? T_177[PrefixWith<`${string & K_99}`, K_107, "."> extends infer T_178 ? T_178 extends PrefixWith<`${string & K_99}`, K_107, "."> ? T_178 extends SplitAC ? "value" : "default" : never : never] extends infer T_179 ? T_179 extends T_177[PrefixWith<`${string & K_99}`, K_107, "."> extends infer T_178 ? T_178 extends PrefixWith<`${string & K_99}`, K_107, "."> ? T_178 extends SplitAC ? "value" : "default" : never : never] ? T_179 extends CanBeExpanded ? T_179[PrefixWith<`${string & K_99}`, K_107, "."> extends infer T_178 ? T_178 extends PrefixWith<`${string & K_99}`, K_107, "."> ? T_178 extends SplitAC ? "value" : "default" : never : never] extends infer T_180 ? T_180 extends T_179[PrefixWith<`${string & K_99}`, K_107, "."> extends infer T_178 ? T_178 extends PrefixWith<`${string & K_99}`, K_107, "."> ? T_178 extends SplitAC ? "value" : "default" : never : never] ? T_180 extends CanBeExpanded ? any : T_180 extends (infer U)[] ? any[] : T_180 extends object ? { [K_108 in keyof T_180]-?: any; } : T_180 : never : never : T_179 extends (infer U)[] ? any[] : T_179 extends object ? { [K_109 in keyof T_179]-?: T_179[K_109] extends infer T_181 ? T_181 extends T_179[K_109] ? T_181 extends CanBeExpanded ? any : T_181 extends (infer U)[] ? any[] : T_181 extends object ? { [K_110 in keyof T_181]-?: T_181[K_110] extends infer T_182 ? T_182 extends T_181[K_110] ? T_182 extends CanBeExpanded ? T_182["default"] : T_182 : never : never; } : T_181 : never : never; } : T_179 : never : never : T_177 extends (infer U)[] ? any[] : T_177 extends object ? { [K_111 in keyof T_177]-?: T_177[K_111] extends infer T_183 ? T_183 extends T_177[K_111] ? T_183 extends CanBeExpanded ? T_183[PrefixWith, K_111, "."> extends infer T_184 ? T_184 extends PrefixWith, K_111, "."> ? T_184 extends SplitAC ? "value" : "default" : never : never] extends infer T_185 ? T_185 extends T_183[PrefixWith, K_111, "."> extends infer T_184 ? T_184 extends PrefixWith, K_111, "."> ? T_184 extends SplitAC ? "value" : "default" : never : never] ? T_185 extends CanBeExpanded ? any : T_185 extends (infer U)[] ? any[] : T_185 extends object ? { [K_112 in keyof T_185]-?: T_185[K_112] extends infer T_186 ? T_186 extends T_185[K_112] ? T_186 extends CanBeExpanded ? T_186["default"] : T_186 : never : never; } : T_185 : never : never : T_183 extends (infer U)[] ? any[] : T_183 extends object ? { [K_113 in keyof T_183]-?: T_183[K_113] extends infer T_187 ? T_187 extends T_183[K_113] ? T_187 extends CanBeExpanded ? T_187["default"] : T_187 : never : never; } : T_183 : never : never; } : T_177 : never : never; } : T_167 : never : never : T_166 extends (infer U)[] ? any[] : T_166 extends object ? { [K_114 in keyof T_166]-?: T_166[K_114] extends infer T_188 ? T_188 extends T_166[K_114] ? T_188 extends CanBeExpanded ? T_188[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] extends infer T_190 ? T_190 extends T_188[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] ? T_190 extends CanBeExpanded ? T_190[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] extends infer T_191 ? T_191 extends T_190[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] ? T_191 extends CanBeExpanded ? T_191[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] extends infer T_192 ? T_192 extends T_191[PrefixWith<`${string & K_99}`, K_114, "."> extends infer T_189 ? T_189 extends PrefixWith<`${string & K_99}`, K_114, "."> ? T_189 extends SplitAC ? "value" : "default" : never : never] ? T_192 extends CanBeExpanded ? any : T_192 extends (infer U)[] ? any[] : T_192 extends object ? { [K_115 in keyof T_192]-?: any; } : T_192 : never : never : T_191 extends (infer U)[] ? any[] : T_191 extends object ? { [K_116 in keyof T_191]-?: T_191[K_116] extends infer T_193 ? T_193 extends T_191[K_116] ? T_193 extends CanBeExpanded ? any : T_193 extends (infer U)[] ? any[] : T_193 extends object ? { [K_117 in keyof T_193]-?: T_193[K_117] extends infer T_194 ? T_194 extends T_193[K_117] ? T_194 extends CanBeExpanded ? T_194["default"] : T_194 : never : never; } : T_193 : never : never; } : T_191 : never : never : T_190 extends (infer U)[] ? any[] : T_190 extends object ? { [K_118 in keyof T_190]-?: T_190[K_118] extends infer T_195 ? T_195 extends T_190[K_118] ? T_195 extends CanBeExpanded ? T_195[PrefixWith, K_118, "."> extends infer T_196 ? T_196 extends PrefixWith, K_118, "."> ? T_196 extends SplitAC ? "value" : "default" : never : never] extends infer T_197 ? T_197 extends T_195[PrefixWith, K_118, "."> extends infer T_196 ? T_196 extends PrefixWith, K_118, "."> ? T_196 extends SplitAC ? "value" : "default" : never : never] ? T_197 extends CanBeExpanded ? any : T_197 extends (infer U)[] ? any[] : T_197 extends object ? { [K_119 in keyof T_197]-?: T_197[K_119] extends infer T_198 ? T_198 extends T_197[K_119] ? T_198 extends CanBeExpanded ? T_198["default"] : T_198 : never : never; } : T_197 : never : never : T_195 extends (infer U)[] ? any[] : T_195 extends object ? { [K_120 in keyof T_195]-?: T_195[K_120] extends infer T_199 ? T_199 extends T_195[K_120] ? T_199 extends CanBeExpanded ? T_199["default"] : T_199 : never : never; } : T_195 : never : never; } : T_190 : never : never : T_188 extends (infer U)[] ? any[] : T_188 extends object ? { [K_121 in keyof T_188]-?: T_188[K_121] extends infer T_200 ? T_200 extends T_188[K_121] ? T_200 extends CanBeExpanded ? T_200[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] extends infer T_202 ? T_202 extends T_200[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] ? T_202 extends CanBeExpanded ? T_202[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] extends infer T_203 ? T_203 extends T_202[PrefixWith, K_121, "."> extends infer T_201 ? T_201 extends PrefixWith, K_121, "."> ? T_201 extends SplitAC ? "value" : "default" : never : never] ? T_203 extends CanBeExpanded ? any : T_203 extends (infer U)[] ? any[] : T_203 extends object ? { [K_122 in keyof T_203]-?: T_203[K_122] extends infer T_204 ? T_204 extends T_203[K_122] ? T_204 extends CanBeExpanded ? T_204["default"] : T_204 : never : never; } : T_203 : never : never : T_202 extends (infer U)[] ? any[] : T_202 extends object ? { [K_123 in keyof T_202]-?: T_202[K_123] extends infer T_205 ? T_205 extends T_202[K_123] ? T_205 extends CanBeExpanded ? T_205["default"] : T_205 : never : never; } : T_202 : never : never : T_200 extends (infer U)[] ? any[] : T_200 extends object ? { [K_124 in keyof T_200]-?: T_200[K_124] extends infer T_206 ? T_206 extends T_200[K_124] ? T_206 extends CanBeExpanded ? T_206["default"] : T_206 : never : never; } : T_200 : never : never; } : T_188 : never : never; } : T_166 : never : never : T_165 extends (infer U)[] ? any[] : T_165 extends object ? { [K_125 in keyof T_165]-?: T_165[K_125] extends infer T_207 ? T_207 extends T_165[K_125] ? T_207 extends CanBeExpanded ? T_207[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_209 ? T_209 extends T_207[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_209 extends CanBeExpanded ? T_209[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_210 ? T_210 extends T_209[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_210 extends CanBeExpanded ? T_210[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_211 ? T_211 extends T_210[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_211 extends CanBeExpanded ? T_211[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] extends infer T_212 ? T_212 extends T_211[PrefixWith<`${string & K_99}`, K_125, "."> extends infer T_208 ? T_208 extends PrefixWith<`${string & K_99}`, K_125, "."> ? T_208 extends SplitAC ? "value" : "default" : never : never] ? T_212 extends CanBeExpanded ? any : T_212 extends (infer U)[] ? any[] : T_212 extends object ? { [K_126 in keyof T_212]-?: any; } : T_212 : never : never : T_211 extends (infer U)[] ? any[] : T_211 extends object ? { [K_127 in keyof T_211]-?: T_211[K_127] extends infer T_213 ? T_213 extends T_211[K_127] ? T_213 extends CanBeExpanded ? any : T_213 extends (infer U)[] ? any[] : T_213 extends object ? { [K_128 in keyof T_213]-?: T_213[K_128] extends infer T_214 ? T_214 extends T_213[K_128] ? T_214 extends CanBeExpanded ? T_214["default"] : T_214 : never : never; } : T_213 : never : never; } : T_211 : never : never : T_210 extends (infer U)[] ? any[] : T_210 extends object ? { [K_129 in keyof T_210]-?: T_210[K_129] extends infer T_215 ? T_215 extends T_210[K_129] ? T_215 extends CanBeExpanded ? T_215[PrefixWith, K_129, "."> extends infer T_216 ? T_216 extends PrefixWith, K_129, "."> ? T_216 extends SplitAC ? "value" : "default" : never : never] extends infer T_217 ? T_217 extends T_215[PrefixWith, K_129, "."> extends infer T_216 ? T_216 extends PrefixWith, K_129, "."> ? T_216 extends SplitAC ? "value" : "default" : never : never] ? T_217 extends CanBeExpanded ? any : T_217 extends (infer U)[] ? any[] : T_217 extends object ? { [K_130 in keyof T_217]-?: T_217[K_130] extends infer T_218 ? T_218 extends T_217[K_130] ? T_218 extends CanBeExpanded ? T_218["default"] : T_218 : never : never; } : T_217 : never : never : T_215 extends (infer U)[] ? any[] : T_215 extends object ? { [K_131 in keyof T_215]-?: T_215[K_131] extends infer T_219 ? T_219 extends T_215[K_131] ? T_219 extends CanBeExpanded ? T_219["default"] : T_219 : never : never; } : T_215 : never : never; } : T_210 : never : never : T_209 extends (infer U)[] ? any[] : T_209 extends object ? { [K_132 in keyof T_209]-?: T_209[K_132] extends infer T_220 ? T_220 extends T_209[K_132] ? T_220 extends CanBeExpanded ? T_220[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] extends infer T_222 ? T_222 extends T_220[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] ? T_222 extends CanBeExpanded ? T_222[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] extends infer T_223 ? T_223 extends T_222[PrefixWith, K_132, "."> extends infer T_221 ? T_221 extends PrefixWith, K_132, "."> ? T_221 extends SplitAC ? "value" : "default" : never : never] ? T_223 extends CanBeExpanded ? any : T_223 extends (infer U)[] ? any[] : T_223 extends object ? { [K_133 in keyof T_223]-?: T_223[K_133] extends infer T_224 ? T_224 extends T_223[K_133] ? T_224 extends CanBeExpanded ? T_224["default"] : T_224 : never : never; } : T_223 : never : never : T_222 extends (infer U)[] ? any[] : T_222 extends object ? { [K_134 in keyof T_222]-?: T_222[K_134] extends infer T_225 ? T_225 extends T_222[K_134] ? T_225 extends CanBeExpanded ? T_225["default"] : T_225 : never : never; } : T_222 : never : never : T_220 extends (infer U)[] ? any[] : T_220 extends object ? { [K_135 in keyof T_220]-?: T_220[K_135] extends infer T_226 ? T_226 extends T_220[K_135] ? T_226 extends CanBeExpanded ? T_226["default"] : T_226 : never : never; } : T_220 : never : never; } : T_209 : never : never : T_207 extends (infer U)[] ? any[] : T_207 extends object ? { [K_136 in keyof T_207]-?: T_207[K_136] extends infer T_227 ? T_227 extends T_207[K_136] ? T_227 extends CanBeExpanded ? T_227[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] extends infer T_229 ? T_229 extends T_227[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] ? T_229 extends CanBeExpanded ? T_229[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] extends infer T_230 ? T_230 extends T_229[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] ? T_230 extends CanBeExpanded ? T_230[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] extends infer T_231 ? T_231 extends T_230[PrefixWith, K_136, "."> extends infer T_228 ? T_228 extends PrefixWith, K_136, "."> ? T_228 extends SplitAC ? "value" : "default" : never : never] ? T_231 extends CanBeExpanded ? any : T_231 extends (infer U)[] ? any[] : T_231 extends object ? { [K_137 in keyof T_231]-?: T_231[K_137] extends infer T_232 ? T_232 extends T_231[K_137] ? T_232 extends CanBeExpanded ? T_232["default"] : T_232 : never : never; } : T_231 : never : never : T_230 extends (infer U)[] ? any[] : T_230 extends object ? { [K_138 in keyof T_230]-?: T_230[K_138] extends infer T_233 ? T_233 extends T_230[K_138] ? T_233 extends CanBeExpanded ? T_233["default"] : T_233 : never : never; } : T_230 : never : never : T_229 extends (infer U)[] ? any[] : T_229 extends object ? { [K_139 in keyof T_229]-?: T_229[K_139] extends infer T_234 ? T_234 extends T_229[K_139] ? T_234 extends CanBeExpanded ? T_234["default"] : T_234 : never : never; } : T_229 : never : never : T_227 extends (infer U)[] ? any[] : T_227 extends object ? { [K_140 in keyof T_227]-?: T_227[K_140] extends infer T_235 ? T_235 extends T_227[K_140] ? T_235 extends CanBeExpanded ? T_235["default"] : T_235 : never : never; } : T_227 : never : never; } : T_207 : never : never; } : T_165 : never : never : T_163 extends (infer U)[] ? any[] : T_163 extends object ? { [K_141 in keyof T_163]-?: T_163[K_141] extends infer T_236 ? T_236 extends T_163[K_141] ? T_236 extends CanBeExpanded ? T_236[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_238 ? T_238 extends T_236[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_238 extends CanBeExpanded ? T_238[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_239 ? T_239 extends T_238[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_239 extends CanBeExpanded ? T_239[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_240 ? T_240 extends T_239[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_240 extends CanBeExpanded ? T_240[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_241 ? T_241 extends T_240[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_241 extends CanBeExpanded ? T_241[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] extends infer T_242 ? T_242 extends T_241[PrefixWith<`${string & K_99}`, K_141, "."> extends infer T_237 ? T_237 extends PrefixWith<`${string & K_99}`, K_141, "."> ? T_237 extends SplitAC ? "value" : "default" : never : never] ? T_242 extends CanBeExpanded ? any : T_242 extends (infer U)[] ? any[] : T_242 extends object ? { [K_142 in keyof T_242]-?: any; } : T_242 : never : never : T_241 extends (infer U)[] ? any[] : T_241 extends object ? { [K_143 in keyof T_241]-?: T_241[K_143] extends infer T_243 ? T_243 extends T_241[K_143] ? T_243 extends CanBeExpanded ? any : T_243 extends (infer U)[] ? any[] : T_243 extends object ? { [K_144 in keyof T_243]-?: T_243[K_144] extends infer T_244 ? T_244 extends T_243[K_144] ? T_244 extends CanBeExpanded ? T_244["default"] : T_244 : never : never; } : T_243 : never : never; } : T_241 : never : never : T_240 extends (infer U)[] ? any[] : T_240 extends object ? { [K_145 in keyof T_240]-?: T_240[K_145] extends infer T_245 ? T_245 extends T_240[K_145] ? T_245 extends CanBeExpanded ? T_245[PrefixWith, K_145, "."> extends infer T_246 ? T_246 extends PrefixWith, K_145, "."> ? T_246 extends SplitAC ? "value" : "default" : never : never] extends infer T_247 ? T_247 extends T_245[PrefixWith, K_145, "."> extends infer T_246 ? T_246 extends PrefixWith, K_145, "."> ? T_246 extends SplitAC ? "value" : "default" : never : never] ? T_247 extends CanBeExpanded ? any : T_247 extends (infer U)[] ? any[] : T_247 extends object ? { [K_146 in keyof T_247]-?: T_247[K_146] extends infer T_248 ? T_248 extends T_247[K_146] ? T_248 extends CanBeExpanded ? T_248["default"] : T_248 : never : never; } : T_247 : never : never : T_245 extends (infer U)[] ? any[] : T_245 extends object ? { [K_147 in keyof T_245]-?: T_245[K_147] extends infer T_249 ? T_249 extends T_245[K_147] ? T_249 extends CanBeExpanded ? T_249["default"] : T_249 : never : never; } : T_245 : never : never; } : T_240 : never : never : T_239 extends (infer U)[] ? any[] : T_239 extends object ? { [K_148 in keyof T_239]-?: T_239[K_148] extends infer T_250 ? T_250 extends T_239[K_148] ? T_250 extends CanBeExpanded ? T_250[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] extends infer T_252 ? T_252 extends T_250[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] ? T_252 extends CanBeExpanded ? T_252[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] extends infer T_253 ? T_253 extends T_252[PrefixWith, K_148, "."> extends infer T_251 ? T_251 extends PrefixWith, K_148, "."> ? T_251 extends SplitAC ? "value" : "default" : never : never] ? T_253 extends CanBeExpanded ? any : T_253 extends (infer U)[] ? any[] : T_253 extends object ? { [K_149 in keyof T_253]-?: T_253[K_149] extends infer T_254 ? T_254 extends T_253[K_149] ? T_254 extends CanBeExpanded ? T_254["default"] : T_254 : never : never; } : T_253 : never : never : T_252 extends (infer U)[] ? any[] : T_252 extends object ? { [K_150 in keyof T_252]-?: T_252[K_150] extends infer T_255 ? T_255 extends T_252[K_150] ? T_255 extends CanBeExpanded ? T_255["default"] : T_255 : never : never; } : T_252 : never : never : T_250 extends (infer U)[] ? any[] : T_250 extends object ? { [K_151 in keyof T_250]-?: T_250[K_151] extends infer T_256 ? T_256 extends T_250[K_151] ? T_256 extends CanBeExpanded ? T_256["default"] : T_256 : never : never; } : T_250 : never : never; } : T_239 : never : never : T_238 extends (infer U)[] ? any[] : T_238 extends object ? { [K_152 in keyof T_238]-?: T_238[K_152] extends infer T_257 ? T_257 extends T_238[K_152] ? T_257 extends CanBeExpanded ? T_257[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] extends infer T_259 ? T_259 extends T_257[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] ? T_259 extends CanBeExpanded ? T_259[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] extends infer T_260 ? T_260 extends T_259[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] ? T_260 extends CanBeExpanded ? T_260[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] extends infer T_261 ? T_261 extends T_260[PrefixWith, K_152, "."> extends infer T_258 ? T_258 extends PrefixWith, K_152, "."> ? T_258 extends SplitAC ? "value" : "default" : never : never] ? T_261 extends CanBeExpanded ? any : T_261 extends (infer U)[] ? any[] : T_261 extends object ? { [K_153 in keyof T_261]-?: T_261[K_153] extends infer T_262 ? T_262 extends T_261[K_153] ? T_262 extends CanBeExpanded ? T_262["default"] : T_262 : never : never; } : T_261 : never : never : T_260 extends (infer U)[] ? any[] : T_260 extends object ? { [K_154 in keyof T_260]-?: T_260[K_154] extends infer T_263 ? T_263 extends T_260[K_154] ? T_263 extends CanBeExpanded ? T_263["default"] : T_263 : never : never; } : T_260 : never : never : T_259 extends (infer U)[] ? any[] : T_259 extends object ? { [K_155 in keyof T_259]-?: T_259[K_155] extends infer T_264 ? T_264 extends T_259[K_155] ? T_264 extends CanBeExpanded ? T_264["default"] : T_264 : never : never; } : T_259 : never : never : T_257 extends (infer U)[] ? any[] : T_257 extends object ? { [K_156 in keyof T_257]-?: T_257[K_156] extends infer T_265 ? T_265 extends T_257[K_156] ? T_265 extends CanBeExpanded ? T_265["default"] : T_265 : never : never; } : T_257 : never : never; } : T_238 : never : never : T_236 extends (infer U)[] ? any[] : T_236 extends object ? { [K_157 in keyof T_236]-?: T_236[K_157] extends infer T_266 ? T_266 extends T_236[K_157] ? T_266 extends CanBeExpanded ? T_266[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_268 ? T_268 extends T_266[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_268 extends CanBeExpanded ? T_268[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_269 ? T_269 extends T_268[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_269 extends CanBeExpanded ? T_269[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_270 ? T_270 extends T_269[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_270 extends CanBeExpanded ? T_270[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] extends infer T_271 ? T_271 extends T_270[PrefixWith, K_157, "."> extends infer T_267 ? T_267 extends PrefixWith, K_157, "."> ? T_267 extends SplitAC ? "value" : "default" : never : never] ? T_271 extends CanBeExpanded ? any : T_271 extends (infer U)[] ? any[] : T_271 extends object ? { [K_158 in keyof T_271]-?: T_271[K_158] extends infer T_272 ? T_272 extends T_271[K_158] ? T_272 extends CanBeExpanded ? T_272["default"] : T_272 : never : never; } : T_271 : never : never : T_270 extends (infer U)[] ? any[] : T_270 extends object ? { [K_159 in keyof T_270]-?: T_270[K_159] extends infer T_273 ? T_273 extends T_270[K_159] ? T_273 extends CanBeExpanded ? T_273["default"] : T_273 : never : never; } : T_270 : never : never : T_269 extends (infer U)[] ? any[] : T_269 extends object ? { [K_160 in keyof T_269]-?: T_269[K_160] extends infer T_274 ? T_274 extends T_269[K_160] ? T_274 extends CanBeExpanded ? T_274["default"] : T_274 : never : never; } : T_269 : never : never : T_268 extends (infer U)[] ? any[] : T_268 extends object ? { [K_161 in keyof T_268]-?: T_268[K_161] extends infer T_275 ? T_275 extends T_268[K_161] ? T_275 extends CanBeExpanded ? T_275["default"] : T_275 : never : never; } : T_268 : never : never : T_266 extends (infer U)[] ? any[] : T_266 extends object ? { [K_162 in keyof T_266]-?: T_266[K_162] extends infer T_276 ? T_276 extends T_266[K_162] ? T_276 extends CanBeExpanded ? T_276["default"] : T_276 : never : never; } : T_266 : never : never; } : T_236 : never : never; } : T_163 : never : never; } : T_4 : never : never : T_3 extends (infer U)[] ? any[] : T_3 extends object ? { [K_163 in keyof T_3]-?: T_3[K_163] extends infer T_277 ? T_277 extends T_3[K_163] ? T_277 extends CanBeExpanded ? T_277[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_279 ? T_279 extends T_277[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_279 extends CanBeExpanded ? T_279[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_280 ? T_280 extends T_279[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_280 extends CanBeExpanded ? T_280[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_281 ? T_281 extends T_280[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_281 extends CanBeExpanded ? T_281[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_282 ? T_282 extends T_281[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_282 extends CanBeExpanded ? T_282[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_283 ? T_283 extends T_282[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_283 extends CanBeExpanded ? T_283[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_284 ? T_284 extends T_283[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_284 extends CanBeExpanded ? T_284[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] extends infer T_285 ? T_285 extends T_284[`${string & K_163}` extends infer T_278 ? T_278 extends `${string & K_163}` ? T_278 extends SplitAC ? "value" : "default" : never : never] ? T_285 extends CanBeExpanded ? any : T_285 extends (infer U)[] ? any[] : T_285 extends object ? { [K_164 in keyof T_285]-?: any; } : T_285 : never : never : T_284 extends (infer U)[] ? any[] : T_284 extends object ? { [K_165 in keyof T_284]-?: T_284[K_165] extends infer T_286 ? T_286 extends T_284[K_165] ? T_286 extends CanBeExpanded ? any : T_286 extends (infer U)[] ? any[] : T_286 extends object ? { [K_166 in keyof T_286]-?: any; } : T_286 : never : never; } : T_284 : never : never : T_283 extends (infer U)[] ? any[] : T_283 extends object ? { [K_167 in keyof T_283]-?: T_283[K_167] extends infer T_287 ? T_287 extends T_283[K_167] ? T_287 extends CanBeExpanded ? T_287[PrefixWith<`${string & K_163}`, K_167, "."> extends infer T_288 ? T_288 extends PrefixWith<`${string & K_163}`, K_167, "."> ? T_288 extends SplitAC ? "value" : "default" : never : never] extends infer T_289 ? T_289 extends T_287[PrefixWith<`${string & K_163}`, K_167, "."> extends infer T_288 ? T_288 extends PrefixWith<`${string & K_163}`, K_167, "."> ? T_288 extends SplitAC ? "value" : "default" : never : never] ? T_289 extends CanBeExpanded ? any : T_289 extends (infer U)[] ? any[] : T_289 extends object ? { [K_168 in keyof T_289]-?: any; } : T_289 : never : never : T_287 extends (infer U)[] ? any[] : T_287 extends object ? { [K_169 in keyof T_287]-?: T_287[K_169] extends infer T_290 ? T_290 extends T_287[K_169] ? T_290 extends CanBeExpanded ? any : T_290 extends (infer U)[] ? any[] : T_290 extends object ? { [K_170 in keyof T_290]-?: T_290[K_170] extends infer T_291 ? T_291 extends T_290[K_170] ? T_291 extends CanBeExpanded ? T_291["default"] : T_291 : never : never; } : T_290 : never : never; } : T_287 : never : never; } : T_283 : never : never : T_282 extends (infer U)[] ? any[] : T_282 extends object ? { [K_171 in keyof T_282]-?: T_282[K_171] extends infer T_292 ? T_292 extends T_282[K_171] ? T_292 extends CanBeExpanded ? T_292[PrefixWith<`${string & K_163}`, K_171, "."> extends infer T_293 ? T_293 extends PrefixWith<`${string & K_163}`, K_171, "."> ? T_293 extends SplitAC ? "value" : "default" : never : never] extends infer T_294 ? T_294 extends T_292[PrefixWith<`${string & K_163}`, K_171, "."> extends infer T_293 ? T_293 extends PrefixWith<`${string & K_163}`, K_171, "."> ? T_293 extends SplitAC ? "value" : "default" : never : never] ? T_294 extends CanBeExpanded ? T_294[PrefixWith<`${string & K_163}`, K_171, "."> extends infer T_293 ? T_293 extends PrefixWith<`${string & K_163}`, K_171, "."> ? T_293 extends SplitAC ? "value" : "default" : never : never] extends infer T_295 ? T_295 extends T_294[PrefixWith<`${string & K_163}`, K_171, "."> extends infer T_293 ? T_293 extends PrefixWith<`${string & K_163}`, K_171, "."> ? T_293 extends SplitAC ? "value" : "default" : never : never] ? T_295 extends CanBeExpanded ? any : T_295 extends (infer U)[] ? any[] : T_295 extends object ? { [K_172 in keyof T_295]-?: any; } : T_295 : never : never : T_294 extends (infer U)[] ? any[] : T_294 extends object ? { [K_173 in keyof T_294]-?: T_294[K_173] extends infer T_296 ? T_296 extends T_294[K_173] ? T_296 extends CanBeExpanded ? any : T_296 extends (infer U)[] ? any[] : T_296 extends object ? { [K_174 in keyof T_296]-?: T_296[K_174] extends infer T_297 ? T_297 extends T_296[K_174] ? T_297 extends CanBeExpanded ? T_297["default"] : T_297 : never : never; } : T_296 : never : never; } : T_294 : never : never : T_292 extends (infer U)[] ? any[] : T_292 extends object ? { [K_175 in keyof T_292]-?: T_292[K_175] extends infer T_298 ? T_298 extends T_292[K_175] ? T_298 extends CanBeExpanded ? T_298[PrefixWith, K_175, "."> extends infer T_299 ? T_299 extends PrefixWith, K_175, "."> ? T_299 extends SplitAC ? "value" : "default" : never : never] extends infer T_300 ? T_300 extends T_298[PrefixWith, K_175, "."> extends infer T_299 ? T_299 extends PrefixWith, K_175, "."> ? T_299 extends SplitAC ? "value" : "default" : never : never] ? T_300 extends CanBeExpanded ? any : T_300 extends (infer U)[] ? any[] : T_300 extends object ? { [K_176 in keyof T_300]-?: T_300[K_176] extends infer T_301 ? T_301 extends T_300[K_176] ? T_301 extends CanBeExpanded ? T_301["default"] : T_301 : never : never; } : T_300 : never : never : T_298 extends (infer U)[] ? any[] : T_298 extends object ? { [K_177 in keyof T_298]-?: T_298[K_177] extends infer T_302 ? T_302 extends T_298[K_177] ? T_302 extends CanBeExpanded ? T_302["default"] : T_302 : never : never; } : T_298 : never : never; } : T_292 : never : never; } : T_282 : never : never : T_281 extends (infer U)[] ? any[] : T_281 extends object ? { [K_178 in keyof T_281]-?: T_281[K_178] extends infer T_303 ? T_303 extends T_281[K_178] ? T_303 extends CanBeExpanded ? T_303[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] extends infer T_305 ? T_305 extends T_303[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] ? T_305 extends CanBeExpanded ? T_305[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] extends infer T_306 ? T_306 extends T_305[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] ? T_306 extends CanBeExpanded ? T_306[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] extends infer T_307 ? T_307 extends T_306[PrefixWith<`${string & K_163}`, K_178, "."> extends infer T_304 ? T_304 extends PrefixWith<`${string & K_163}`, K_178, "."> ? T_304 extends SplitAC ? "value" : "default" : never : never] ? T_307 extends CanBeExpanded ? any : T_307 extends (infer U)[] ? any[] : T_307 extends object ? { [K_179 in keyof T_307]-?: any; } : T_307 : never : never : T_306 extends (infer U)[] ? any[] : T_306 extends object ? { [K_180 in keyof T_306]-?: T_306[K_180] extends infer T_308 ? T_308 extends T_306[K_180] ? T_308 extends CanBeExpanded ? any : T_308 extends (infer U)[] ? any[] : T_308 extends object ? { [K_181 in keyof T_308]-?: T_308[K_181] extends infer T_309 ? T_309 extends T_308[K_181] ? T_309 extends CanBeExpanded ? T_309["default"] : T_309 : never : never; } : T_308 : never : never; } : T_306 : never : never : T_305 extends (infer U)[] ? any[] : T_305 extends object ? { [K_182 in keyof T_305]-?: T_305[K_182] extends infer T_310 ? T_310 extends T_305[K_182] ? T_310 extends CanBeExpanded ? T_310[PrefixWith, K_182, "."> extends infer T_311 ? T_311 extends PrefixWith, K_182, "."> ? T_311 extends SplitAC ? "value" : "default" : never : never] extends infer T_312 ? T_312 extends T_310[PrefixWith, K_182, "."> extends infer T_311 ? T_311 extends PrefixWith, K_182, "."> ? T_311 extends SplitAC ? "value" : "default" : never : never] ? T_312 extends CanBeExpanded ? any : T_312 extends (infer U)[] ? any[] : T_312 extends object ? { [K_183 in keyof T_312]-?: T_312[K_183] extends infer T_313 ? T_313 extends T_312[K_183] ? T_313 extends CanBeExpanded ? T_313["default"] : T_313 : never : never; } : T_312 : never : never : T_310 extends (infer U)[] ? any[] : T_310 extends object ? { [K_184 in keyof T_310]-?: T_310[K_184] extends infer T_314 ? T_314 extends T_310[K_184] ? T_314 extends CanBeExpanded ? T_314["default"] : T_314 : never : never; } : T_310 : never : never; } : T_305 : never : never : T_303 extends (infer U)[] ? any[] : T_303 extends object ? { [K_185 in keyof T_303]-?: T_303[K_185] extends infer T_315 ? T_315 extends T_303[K_185] ? T_315 extends CanBeExpanded ? T_315[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] extends infer T_317 ? T_317 extends T_315[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] ? T_317 extends CanBeExpanded ? T_317[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] extends infer T_318 ? T_318 extends T_317[PrefixWith, K_185, "."> extends infer T_316 ? T_316 extends PrefixWith, K_185, "."> ? T_316 extends SplitAC ? "value" : "default" : never : never] ? T_318 extends CanBeExpanded ? any : T_318 extends (infer U)[] ? any[] : T_318 extends object ? { [K_186 in keyof T_318]-?: T_318[K_186] extends infer T_319 ? T_319 extends T_318[K_186] ? T_319 extends CanBeExpanded ? T_319["default"] : T_319 : never : never; } : T_318 : never : never : T_317 extends (infer U)[] ? any[] : T_317 extends object ? { [K_187 in keyof T_317]-?: T_317[K_187] extends infer T_320 ? T_320 extends T_317[K_187] ? T_320 extends CanBeExpanded ? T_320["default"] : T_320 : never : never; } : T_317 : never : never : T_315 extends (infer U)[] ? any[] : T_315 extends object ? { [K_188 in keyof T_315]-?: T_315[K_188] extends infer T_321 ? T_321 extends T_315[K_188] ? T_321 extends CanBeExpanded ? T_321["default"] : T_321 : never : never; } : T_315 : never : never; } : T_303 : never : never; } : T_281 : never : never : T_280 extends (infer U)[] ? any[] : T_280 extends object ? { [K_189 in keyof T_280]-?: T_280[K_189] extends infer T_322 ? T_322 extends T_280[K_189] ? T_322 extends CanBeExpanded ? T_322[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_324 ? T_324 extends T_322[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_324 extends CanBeExpanded ? T_324[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_325 ? T_325 extends T_324[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_325 extends CanBeExpanded ? T_325[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_326 ? T_326 extends T_325[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_326 extends CanBeExpanded ? T_326[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] extends infer T_327 ? T_327 extends T_326[PrefixWith<`${string & K_163}`, K_189, "."> extends infer T_323 ? T_323 extends PrefixWith<`${string & K_163}`, K_189, "."> ? T_323 extends SplitAC ? "value" : "default" : never : never] ? T_327 extends CanBeExpanded ? any : T_327 extends (infer U)[] ? any[] : T_327 extends object ? { [K_190 in keyof T_327]-?: any; } : T_327 : never : never : T_326 extends (infer U)[] ? any[] : T_326 extends object ? { [K_191 in keyof T_326]-?: T_326[K_191] extends infer T_328 ? T_328 extends T_326[K_191] ? T_328 extends CanBeExpanded ? any : T_328 extends (infer U)[] ? any[] : T_328 extends object ? { [K_192 in keyof T_328]-?: T_328[K_192] extends infer T_329 ? T_329 extends T_328[K_192] ? T_329 extends CanBeExpanded ? T_329["default"] : T_329 : never : never; } : T_328 : never : never; } : T_326 : never : never : T_325 extends (infer U)[] ? any[] : T_325 extends object ? { [K_193 in keyof T_325]-?: T_325[K_193] extends infer T_330 ? T_330 extends T_325[K_193] ? T_330 extends CanBeExpanded ? T_330[PrefixWith, K_193, "."> extends infer T_331 ? T_331 extends PrefixWith, K_193, "."> ? T_331 extends SplitAC ? "value" : "default" : never : never] extends infer T_332 ? T_332 extends T_330[PrefixWith, K_193, "."> extends infer T_331 ? T_331 extends PrefixWith, K_193, "."> ? T_331 extends SplitAC ? "value" : "default" : never : never] ? T_332 extends CanBeExpanded ? any : T_332 extends (infer U)[] ? any[] : T_332 extends object ? { [K_194 in keyof T_332]-?: T_332[K_194] extends infer T_333 ? T_333 extends T_332[K_194] ? T_333 extends CanBeExpanded ? T_333["default"] : T_333 : never : never; } : T_332 : never : never : T_330 extends (infer U)[] ? any[] : T_330 extends object ? { [K_195 in keyof T_330]-?: T_330[K_195] extends infer T_334 ? T_334 extends T_330[K_195] ? T_334 extends CanBeExpanded ? T_334["default"] : T_334 : never : never; } : T_330 : never : never; } : T_325 : never : never : T_324 extends (infer U)[] ? any[] : T_324 extends object ? { [K_196 in keyof T_324]-?: T_324[K_196] extends infer T_335 ? T_335 extends T_324[K_196] ? T_335 extends CanBeExpanded ? T_335[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] extends infer T_337 ? T_337 extends T_335[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] ? T_337 extends CanBeExpanded ? T_337[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] extends infer T_338 ? T_338 extends T_337[PrefixWith, K_196, "."> extends infer T_336 ? T_336 extends PrefixWith, K_196, "."> ? T_336 extends SplitAC ? "value" : "default" : never : never] ? T_338 extends CanBeExpanded ? any : T_338 extends (infer U)[] ? any[] : T_338 extends object ? { [K_197 in keyof T_338]-?: T_338[K_197] extends infer T_339 ? T_339 extends T_338[K_197] ? T_339 extends CanBeExpanded ? T_339["default"] : T_339 : never : never; } : T_338 : never : never : T_337 extends (infer U)[] ? any[] : T_337 extends object ? { [K_198 in keyof T_337]-?: T_337[K_198] extends infer T_340 ? T_340 extends T_337[K_198] ? T_340 extends CanBeExpanded ? T_340["default"] : T_340 : never : never; } : T_337 : never : never : T_335 extends (infer U)[] ? any[] : T_335 extends object ? { [K_199 in keyof T_335]-?: T_335[K_199] extends infer T_341 ? T_341 extends T_335[K_199] ? T_341 extends CanBeExpanded ? T_341["default"] : T_341 : never : never; } : T_335 : never : never; } : T_324 : never : never : T_322 extends (infer U)[] ? any[] : T_322 extends object ? { [K_200 in keyof T_322]-?: T_322[K_200] extends infer T_342 ? T_342 extends T_322[K_200] ? T_342 extends CanBeExpanded ? T_342[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] extends infer T_344 ? T_344 extends T_342[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] ? T_344 extends CanBeExpanded ? T_344[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] extends infer T_345 ? T_345 extends T_344[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] ? T_345 extends CanBeExpanded ? T_345[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] extends infer T_346 ? T_346 extends T_345[PrefixWith, K_200, "."> extends infer T_343 ? T_343 extends PrefixWith, K_200, "."> ? T_343 extends SplitAC ? "value" : "default" : never : never] ? T_346 extends CanBeExpanded ? any : T_346 extends (infer U)[] ? any[] : T_346 extends object ? { [K_201 in keyof T_346]-?: T_346[K_201] extends infer T_347 ? T_347 extends T_346[K_201] ? T_347 extends CanBeExpanded ? T_347["default"] : T_347 : never : never; } : T_346 : never : never : T_345 extends (infer U)[] ? any[] : T_345 extends object ? { [K_202 in keyof T_345]-?: T_345[K_202] extends infer T_348 ? T_348 extends T_345[K_202] ? T_348 extends CanBeExpanded ? T_348["default"] : T_348 : never : never; } : T_345 : never : never : T_344 extends (infer U)[] ? any[] : T_344 extends object ? { [K_203 in keyof T_344]-?: T_344[K_203] extends infer T_349 ? T_349 extends T_344[K_203] ? T_349 extends CanBeExpanded ? T_349["default"] : T_349 : never : never; } : T_344 : never : never : T_342 extends (infer U)[] ? any[] : T_342 extends object ? { [K_204 in keyof T_342]-?: T_342[K_204] extends infer T_350 ? T_350 extends T_342[K_204] ? T_350 extends CanBeExpanded ? T_350["default"] : T_350 : never : never; } : T_342 : never : never; } : T_322 : never : never; } : T_280 : never : never : T_279 extends (infer U)[] ? any[] : T_279 extends object ? { [K_205 in keyof T_279]-?: T_279[K_205] extends infer T_351 ? T_351 extends T_279[K_205] ? T_351 extends CanBeExpanded ? T_351[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_353 ? T_353 extends T_351[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_353 extends CanBeExpanded ? T_353[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_354 ? T_354 extends T_353[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_354 extends CanBeExpanded ? T_354[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_355 ? T_355 extends T_354[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_355 extends CanBeExpanded ? T_355[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_356 ? T_356 extends T_355[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_356 extends CanBeExpanded ? T_356[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] extends infer T_357 ? T_357 extends T_356[PrefixWith<`${string & K_163}`, K_205, "."> extends infer T_352 ? T_352 extends PrefixWith<`${string & K_163}`, K_205, "."> ? T_352 extends SplitAC ? "value" : "default" : never : never] ? T_357 extends CanBeExpanded ? any : T_357 extends (infer U)[] ? any[] : T_357 extends object ? { [K_206 in keyof T_357]-?: any; } : T_357 : never : never : T_356 extends (infer U)[] ? any[] : T_356 extends object ? { [K_207 in keyof T_356]-?: T_356[K_207] extends infer T_358 ? T_358 extends T_356[K_207] ? T_358 extends CanBeExpanded ? any : T_358 extends (infer U)[] ? any[] : T_358 extends object ? { [K_208 in keyof T_358]-?: T_358[K_208] extends infer T_359 ? T_359 extends T_358[K_208] ? T_359 extends CanBeExpanded ? T_359["default"] : T_359 : never : never; } : T_358 : never : never; } : T_356 : never : never : T_355 extends (infer U)[] ? any[] : T_355 extends object ? { [K_209 in keyof T_355]-?: T_355[K_209] extends infer T_360 ? T_360 extends T_355[K_209] ? T_360 extends CanBeExpanded ? T_360[PrefixWith, K_209, "."> extends infer T_361 ? T_361 extends PrefixWith, K_209, "."> ? T_361 extends SplitAC ? "value" : "default" : never : never] extends infer T_362 ? T_362 extends T_360[PrefixWith, K_209, "."> extends infer T_361 ? T_361 extends PrefixWith, K_209, "."> ? T_361 extends SplitAC ? "value" : "default" : never : never] ? T_362 extends CanBeExpanded ? any : T_362 extends (infer U)[] ? any[] : T_362 extends object ? { [K_210 in keyof T_362]-?: T_362[K_210] extends infer T_363 ? T_363 extends T_362[K_210] ? T_363 extends CanBeExpanded ? T_363["default"] : T_363 : never : never; } : T_362 : never : never : T_360 extends (infer U)[] ? any[] : T_360 extends object ? { [K_211 in keyof T_360]-?: T_360[K_211] extends infer T_364 ? T_364 extends T_360[K_211] ? T_364 extends CanBeExpanded ? T_364["default"] : T_364 : never : never; } : T_360 : never : never; } : T_355 : never : never : T_354 extends (infer U)[] ? any[] : T_354 extends object ? { [K_212 in keyof T_354]-?: T_354[K_212] extends infer T_365 ? T_365 extends T_354[K_212] ? T_365 extends CanBeExpanded ? T_365[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] extends infer T_367 ? T_367 extends T_365[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] ? T_367 extends CanBeExpanded ? T_367[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] extends infer T_368 ? T_368 extends T_367[PrefixWith, K_212, "."> extends infer T_366 ? T_366 extends PrefixWith, K_212, "."> ? T_366 extends SplitAC ? "value" : "default" : never : never] ? T_368 extends CanBeExpanded ? any : T_368 extends (infer U)[] ? any[] : T_368 extends object ? { [K_213 in keyof T_368]-?: T_368[K_213] extends infer T_369 ? T_369 extends T_368[K_213] ? T_369 extends CanBeExpanded ? T_369["default"] : T_369 : never : never; } : T_368 : never : never : T_367 extends (infer U)[] ? any[] : T_367 extends object ? { [K_214 in keyof T_367]-?: T_367[K_214] extends infer T_370 ? T_370 extends T_367[K_214] ? T_370 extends CanBeExpanded ? T_370["default"] : T_370 : never : never; } : T_367 : never : never : T_365 extends (infer U)[] ? any[] : T_365 extends object ? { [K_215 in keyof T_365]-?: T_365[K_215] extends infer T_371 ? T_371 extends T_365[K_215] ? T_371 extends CanBeExpanded ? T_371["default"] : T_371 : never : never; } : T_365 : never : never; } : T_354 : never : never : T_353 extends (infer U)[] ? any[] : T_353 extends object ? { [K_216 in keyof T_353]-?: T_353[K_216] extends infer T_372 ? T_372 extends T_353[K_216] ? T_372 extends CanBeExpanded ? T_372[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] extends infer T_374 ? T_374 extends T_372[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] ? T_374 extends CanBeExpanded ? T_374[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] extends infer T_375 ? T_375 extends T_374[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] ? T_375 extends CanBeExpanded ? T_375[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] extends infer T_376 ? T_376 extends T_375[PrefixWith, K_216, "."> extends infer T_373 ? T_373 extends PrefixWith, K_216, "."> ? T_373 extends SplitAC ? "value" : "default" : never : never] ? T_376 extends CanBeExpanded ? any : T_376 extends (infer U)[] ? any[] : T_376 extends object ? { [K_217 in keyof T_376]-?: T_376[K_217] extends infer T_377 ? T_377 extends T_376[K_217] ? T_377 extends CanBeExpanded ? T_377["default"] : T_377 : never : never; } : T_376 : never : never : T_375 extends (infer U)[] ? any[] : T_375 extends object ? { [K_218 in keyof T_375]-?: T_375[K_218] extends infer T_378 ? T_378 extends T_375[K_218] ? T_378 extends CanBeExpanded ? T_378["default"] : T_378 : never : never; } : T_375 : never : never : T_374 extends (infer U)[] ? any[] : T_374 extends object ? { [K_219 in keyof T_374]-?: T_374[K_219] extends infer T_379 ? T_379 extends T_374[K_219] ? T_379 extends CanBeExpanded ? T_379["default"] : T_379 : never : never; } : T_374 : never : never : T_372 extends (infer U)[] ? any[] : T_372 extends object ? { [K_220 in keyof T_372]-?: T_372[K_220] extends infer T_380 ? T_380 extends T_372[K_220] ? T_380 extends CanBeExpanded ? T_380["default"] : T_380 : never : never; } : T_372 : never : never; } : T_353 : never : never : T_351 extends (infer U)[] ? any[] : T_351 extends object ? { [K_221 in keyof T_351]-?: T_351[K_221] extends infer T_381 ? T_381 extends T_351[K_221] ? T_381 extends CanBeExpanded ? T_381[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_383 ? T_383 extends T_381[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_383 extends CanBeExpanded ? T_383[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_384 ? T_384 extends T_383[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_384 extends CanBeExpanded ? T_384[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_385 ? T_385 extends T_384[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_385 extends CanBeExpanded ? T_385[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] extends infer T_386 ? T_386 extends T_385[PrefixWith, K_221, "."> extends infer T_382 ? T_382 extends PrefixWith, K_221, "."> ? T_382 extends SplitAC ? "value" : "default" : never : never] ? T_386 extends CanBeExpanded ? any : T_386 extends (infer U)[] ? any[] : T_386 extends object ? { [K_222 in keyof T_386]-?: T_386[K_222] extends infer T_387 ? T_387 extends T_386[K_222] ? T_387 extends CanBeExpanded ? T_387["default"] : T_387 : never : never; } : T_386 : never : never : T_385 extends (infer U)[] ? any[] : T_385 extends object ? { [K_223 in keyof T_385]-?: T_385[K_223] extends infer T_388 ? T_388 extends T_385[K_223] ? T_388 extends CanBeExpanded ? T_388["default"] : T_388 : never : never; } : T_385 : never : never : T_384 extends (infer U)[] ? any[] : T_384 extends object ? { [K_224 in keyof T_384]-?: T_384[K_224] extends infer T_389 ? T_389 extends T_384[K_224] ? T_389 extends CanBeExpanded ? T_389["default"] : T_389 : never : never; } : T_384 : never : never : T_383 extends (infer U)[] ? any[] : T_383 extends object ? { [K_225 in keyof T_383]-?: T_383[K_225] extends infer T_390 ? T_390 extends T_383[K_225] ? T_390 extends CanBeExpanded ? T_390["default"] : T_390 : never : never; } : T_383 : never : never : T_381 extends (infer U)[] ? any[] : T_381 extends object ? { [K_226 in keyof T_381]-?: T_381[K_226] extends infer T_391 ? T_391 extends T_381[K_226] ? T_391 extends CanBeExpanded ? T_391["default"] : T_391 : never : never; } : T_381 : never : never; } : T_351 : never : never; } : T_279 : never : never : T_277 extends (infer U)[] ? any[] : T_277 extends object ? { [K_227 in keyof T_277]-?: T_277[K_227] extends infer T_392 ? T_392 extends T_277[K_227] ? T_392 extends CanBeExpanded ? T_392[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_394 ? T_394 extends T_392[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_394 extends CanBeExpanded ? T_394[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_395 ? T_395 extends T_394[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_395 extends CanBeExpanded ? T_395[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_396 ? T_396 extends T_395[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_396 extends CanBeExpanded ? T_396[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_397 ? T_397 extends T_396[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_397 extends CanBeExpanded ? T_397[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_398 ? T_398 extends T_397[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_398 extends CanBeExpanded ? T_398[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] extends infer T_399 ? T_399 extends T_398[PrefixWith<`${string & K_163}`, K_227, "."> extends infer T_393 ? T_393 extends PrefixWith<`${string & K_163}`, K_227, "."> ? T_393 extends SplitAC ? "value" : "default" : never : never] ? T_399 extends CanBeExpanded ? any : T_399 extends (infer U)[] ? any[] : T_399 extends object ? { [K_228 in keyof T_399]-?: any; } : T_399 : never : never : T_398 extends (infer U)[] ? any[] : T_398 extends object ? { [K_229 in keyof T_398]-?: T_398[K_229] extends infer T_400 ? T_400 extends T_398[K_229] ? T_400 extends CanBeExpanded ? any : T_400 extends (infer U)[] ? any[] : T_400 extends object ? { [K_230 in keyof T_400]-?: T_400[K_230] extends infer T_401 ? T_401 extends T_400[K_230] ? T_401 extends CanBeExpanded ? T_401["default"] : T_401 : never : never; } : T_400 : never : never; } : T_398 : never : never : T_397 extends (infer U)[] ? any[] : T_397 extends object ? { [K_231 in keyof T_397]-?: T_397[K_231] extends infer T_402 ? T_402 extends T_397[K_231] ? T_402 extends CanBeExpanded ? T_402[PrefixWith, K_231, "."> extends infer T_403 ? T_403 extends PrefixWith, K_231, "."> ? T_403 extends SplitAC ? "value" : "default" : never : never] extends infer T_404 ? T_404 extends T_402[PrefixWith, K_231, "."> extends infer T_403 ? T_403 extends PrefixWith, K_231, "."> ? T_403 extends SplitAC ? "value" : "default" : never : never] ? T_404 extends CanBeExpanded ? any : T_404 extends (infer U)[] ? any[] : T_404 extends object ? { [K_232 in keyof T_404]-?: T_404[K_232] extends infer T_405 ? T_405 extends T_404[K_232] ? T_405 extends CanBeExpanded ? T_405["default"] : T_405 : never : never; } : T_404 : never : never : T_402 extends (infer U)[] ? any[] : T_402 extends object ? { [K_233 in keyof T_402]-?: T_402[K_233] extends infer T_406 ? T_406 extends T_402[K_233] ? T_406 extends CanBeExpanded ? T_406["default"] : T_406 : never : never; } : T_402 : never : never; } : T_397 : never : never : T_396 extends (infer U)[] ? any[] : T_396 extends object ? { [K_234 in keyof T_396]-?: T_396[K_234] extends infer T_407 ? T_407 extends T_396[K_234] ? T_407 extends CanBeExpanded ? T_407[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] extends infer T_409 ? T_409 extends T_407[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] ? T_409 extends CanBeExpanded ? T_409[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] extends infer T_410 ? T_410 extends T_409[PrefixWith, K_234, "."> extends infer T_408 ? T_408 extends PrefixWith, K_234, "."> ? T_408 extends SplitAC ? "value" : "default" : never : never] ? T_410 extends CanBeExpanded ? any : T_410 extends (infer U)[] ? any[] : T_410 extends object ? { [K_235 in keyof T_410]-?: T_410[K_235] extends infer T_411 ? T_411 extends T_410[K_235] ? T_411 extends CanBeExpanded ? T_411["default"] : T_411 : never : never; } : T_410 : never : never : T_409 extends (infer U)[] ? any[] : T_409 extends object ? { [K_236 in keyof T_409]-?: T_409[K_236] extends infer T_412 ? T_412 extends T_409[K_236] ? T_412 extends CanBeExpanded ? T_412["default"] : T_412 : never : never; } : T_409 : never : never : T_407 extends (infer U)[] ? any[] : T_407 extends object ? { [K_237 in keyof T_407]-?: T_407[K_237] extends infer T_413 ? T_413 extends T_407[K_237] ? T_413 extends CanBeExpanded ? T_413["default"] : T_413 : never : never; } : T_407 : never : never; } : T_396 : never : never : T_395 extends (infer U)[] ? any[] : T_395 extends object ? { [K_238 in keyof T_395]-?: T_395[K_238] extends infer T_414 ? T_414 extends T_395[K_238] ? T_414 extends CanBeExpanded ? T_414[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] extends infer T_416 ? T_416 extends T_414[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] ? T_416 extends CanBeExpanded ? T_416[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] extends infer T_417 ? T_417 extends T_416[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] ? T_417 extends CanBeExpanded ? T_417[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] extends infer T_418 ? T_418 extends T_417[PrefixWith, K_238, "."> extends infer T_415 ? T_415 extends PrefixWith, K_238, "."> ? T_415 extends SplitAC ? "value" : "default" : never : never] ? T_418 extends CanBeExpanded ? any : T_418 extends (infer U)[] ? any[] : T_418 extends object ? { [K_239 in keyof T_418]-?: T_418[K_239] extends infer T_419 ? T_419 extends T_418[K_239] ? T_419 extends CanBeExpanded ? T_419["default"] : T_419 : never : never; } : T_418 : never : never : T_417 extends (infer U)[] ? any[] : T_417 extends object ? { [K_240 in keyof T_417]-?: T_417[K_240] extends infer T_420 ? T_420 extends T_417[K_240] ? T_420 extends CanBeExpanded ? T_420["default"] : T_420 : never : never; } : T_417 : never : never : T_416 extends (infer U)[] ? any[] : T_416 extends object ? { [K_241 in keyof T_416]-?: T_416[K_241] extends infer T_421 ? T_421 extends T_416[K_241] ? T_421 extends CanBeExpanded ? T_421["default"] : T_421 : never : never; } : T_416 : never : never : T_414 extends (infer U)[] ? any[] : T_414 extends object ? { [K_242 in keyof T_414]-?: T_414[K_242] extends infer T_422 ? T_422 extends T_414[K_242] ? T_422 extends CanBeExpanded ? T_422["default"] : T_422 : never : never; } : T_414 : never : never; } : T_395 : never : never : T_394 extends (infer U)[] ? any[] : T_394 extends object ? { [K_243 in keyof T_394]-?: T_394[K_243] extends infer T_423 ? T_423 extends T_394[K_243] ? T_423 extends CanBeExpanded ? T_423[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_425 ? T_425 extends T_423[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_425 extends CanBeExpanded ? T_425[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_426 ? T_426 extends T_425[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_426 extends CanBeExpanded ? T_426[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_427 ? T_427 extends T_426[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_427 extends CanBeExpanded ? T_427[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] extends infer T_428 ? T_428 extends T_427[PrefixWith, K_243, "."> extends infer T_424 ? T_424 extends PrefixWith, K_243, "."> ? T_424 extends SplitAC ? "value" : "default" : never : never] ? T_428 extends CanBeExpanded ? any : T_428 extends (infer U)[] ? any[] : T_428 extends object ? { [K_244 in keyof T_428]-?: T_428[K_244] extends infer T_429 ? T_429 extends T_428[K_244] ? T_429 extends CanBeExpanded ? T_429["default"] : T_429 : never : never; } : T_428 : never : never : T_427 extends (infer U)[] ? any[] : T_427 extends object ? { [K_245 in keyof T_427]-?: T_427[K_245] extends infer T_430 ? T_430 extends T_427[K_245] ? T_430 extends CanBeExpanded ? T_430["default"] : T_430 : never : never; } : T_427 : never : never : T_426 extends (infer U)[] ? any[] : T_426 extends object ? { [K_246 in keyof T_426]-?: T_426[K_246] extends infer T_431 ? T_431 extends T_426[K_246] ? T_431 extends CanBeExpanded ? T_431["default"] : T_431 : never : never; } : T_426 : never : never : T_425 extends (infer U)[] ? any[] : T_425 extends object ? { [K_247 in keyof T_425]-?: T_425[K_247] extends infer T_432 ? T_432 extends T_425[K_247] ? T_432 extends CanBeExpanded ? T_432["default"] : T_432 : never : never; } : T_425 : never : never : T_423 extends (infer U)[] ? any[] : T_423 extends object ? { [K_248 in keyof T_423]-?: T_423[K_248] extends infer T_433 ? T_433 extends T_423[K_248] ? T_433 extends CanBeExpanded ? T_433["default"] : T_433 : never : never; } : T_423 : never : never; } : T_394 : never : never : T_392 extends (infer U)[] ? any[] : T_392 extends object ? { [K_249 in keyof T_392]-?: T_392[K_249] extends infer T_434 ? T_434 extends T_392[K_249] ? T_434 extends CanBeExpanded ? T_434[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_436 ? T_436 extends T_434[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_436 extends CanBeExpanded ? T_436[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_437 ? T_437 extends T_436[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_437 extends CanBeExpanded ? T_437[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_438 ? T_438 extends T_437[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_438 extends CanBeExpanded ? T_438[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_439 ? T_439 extends T_438[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_439 extends CanBeExpanded ? T_439[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] extends infer T_440 ? T_440 extends T_439[PrefixWith, K_249, "."> extends infer T_435 ? T_435 extends PrefixWith, K_249, "."> ? T_435 extends SplitAC ? "value" : "default" : never : never] ? T_440 extends CanBeExpanded ? any : T_440 extends (infer U)[] ? any[] : T_440 extends object ? { [K_250 in keyof T_440]-?: T_440[K_250] extends infer T_441 ? T_441 extends T_440[K_250] ? T_441 extends CanBeExpanded ? T_441["default"] : T_441 : never : never; } : T_440 : never : never : T_439 extends (infer U)[] ? any[] : T_439 extends object ? { [K_251 in keyof T_439]-?: T_439[K_251] extends infer T_442 ? T_442 extends T_439[K_251] ? T_442 extends CanBeExpanded ? T_442["default"] : T_442 : never : never; } : T_439 : never : never : T_438 extends (infer U)[] ? any[] : T_438 extends object ? { [K_252 in keyof T_438]-?: T_438[K_252] extends infer T_443 ? T_443 extends T_438[K_252] ? T_443 extends CanBeExpanded ? T_443["default"] : T_443 : never : never; } : T_438 : never : never : T_437 extends (infer U)[] ? any[] : T_437 extends object ? { [K_253 in keyof T_437]-?: T_437[K_253] extends infer T_444 ? T_444 extends T_437[K_253] ? T_444 extends CanBeExpanded ? T_444["default"] : T_444 : never : never; } : T_437 : never : never : T_436 extends (infer U)[] ? any[] : T_436 extends object ? { [K_254 in keyof T_436]-?: T_436[K_254] extends infer T_445 ? T_445 extends T_436[K_254] ? T_445 extends CanBeExpanded ? T_445["default"] : T_445 : never : never; } : T_436 : never : never : T_434 extends (infer U)[] ? any[] : T_434 extends object ? { [K_255 in keyof T_434]-?: T_434[K_255] extends infer T_446 ? T_446 extends T_434[K_255] ? T_446 extends CanBeExpanded ? T_446["default"] : T_446 : never : never; } : T_434 : never : never; } : T_392 : never : never; } : T_277 : never : never; } : T_3 : never : never : T_2 extends (infer U)[] ? any[] : T_2 extends object ? { [K_256 in keyof T_2]-?: T_2[K_256] extends infer T_447 ? T_447 extends T_2[K_256] ? T_447 extends CanBeExpanded ? T_447[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_449 ? T_449 extends T_447[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_449 extends CanBeExpanded ? T_449[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_450 ? T_450 extends T_449[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_450 extends CanBeExpanded ? T_450[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_451 ? T_451 extends T_450[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_451 extends CanBeExpanded ? T_451[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_452 ? T_452 extends T_451[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_452 extends CanBeExpanded ? T_452[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_453 ? T_453 extends T_452[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_453 extends CanBeExpanded ? T_453[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_454 ? T_454 extends T_453[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_454 extends CanBeExpanded ? T_454[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_455 ? T_455 extends T_454[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_455 extends CanBeExpanded ? T_455[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] extends infer T_456 ? T_456 extends T_455[`${string & K_256}` extends infer T_448 ? T_448 extends `${string & K_256}` ? T_448 extends SplitAC ? "value" : "default" : never : never] ? T_456 extends CanBeExpanded ? any : T_456 extends (infer U)[] ? any[] : T_456 extends object ? { [K_257 in keyof T_456]-?: any; } : T_456 : never : never : T_455 extends (infer U)[] ? any[] : T_455 extends object ? { [K_258 in keyof T_455]-?: T_455[K_258] extends infer T_457 ? T_457 extends T_455[K_258] ? T_457 extends CanBeExpanded ? any : T_457 extends (infer U)[] ? any[] : T_457 extends object ? { [K_259 in keyof T_457]-?: any; } : T_457 : never : never; } : T_455 : never : never : T_454 extends (infer U)[] ? any[] : T_454 extends object ? { [K_260 in keyof T_454]-?: T_454[K_260] extends infer T_458 ? T_458 extends T_454[K_260] ? T_458 extends CanBeExpanded ? T_458[PrefixWith<`${string & K_256}`, K_260, "."> extends infer T_459 ? T_459 extends PrefixWith<`${string & K_256}`, K_260, "."> ? T_459 extends SplitAC ? "value" : "default" : never : never] extends infer T_460 ? T_460 extends T_458[PrefixWith<`${string & K_256}`, K_260, "."> extends infer T_459 ? T_459 extends PrefixWith<`${string & K_256}`, K_260, "."> ? T_459 extends SplitAC ? "value" : "default" : never : never] ? T_460 extends CanBeExpanded ? any : T_460 extends (infer U)[] ? any[] : T_460 extends object ? { [K_261 in keyof T_460]-?: any; } : T_460 : never : never : T_458 extends (infer U)[] ? any[] : T_458 extends object ? { [K_262 in keyof T_458]-?: T_458[K_262] extends infer T_461 ? T_461 extends T_458[K_262] ? T_461 extends CanBeExpanded ? any : T_461 extends (infer U)[] ? any[] : T_461 extends object ? { [K_263 in keyof T_461]-?: T_461[K_263] extends infer T_462 ? T_462 extends T_461[K_263] ? T_462 extends CanBeExpanded ? T_462["default"] : T_462 : never : never; } : T_461 : never : never; } : T_458 : never : never; } : T_454 : never : never : T_453 extends (infer U)[] ? any[] : T_453 extends object ? { [K_264 in keyof T_453]-?: T_453[K_264] extends infer T_463 ? T_463 extends T_453[K_264] ? T_463 extends CanBeExpanded ? T_463[PrefixWith<`${string & K_256}`, K_264, "."> extends infer T_464 ? T_464 extends PrefixWith<`${string & K_256}`, K_264, "."> ? T_464 extends SplitAC ? "value" : "default" : never : never] extends infer T_465 ? T_465 extends T_463[PrefixWith<`${string & K_256}`, K_264, "."> extends infer T_464 ? T_464 extends PrefixWith<`${string & K_256}`, K_264, "."> ? T_464 extends SplitAC ? "value" : "default" : never : never] ? T_465 extends CanBeExpanded ? T_465[PrefixWith<`${string & K_256}`, K_264, "."> extends infer T_464 ? T_464 extends PrefixWith<`${string & K_256}`, K_264, "."> ? T_464 extends SplitAC ? "value" : "default" : never : never] extends infer T_466 ? T_466 extends T_465[PrefixWith<`${string & K_256}`, K_264, "."> extends infer T_464 ? T_464 extends PrefixWith<`${string & K_256}`, K_264, "."> ? T_464 extends SplitAC ? "value" : "default" : never : never] ? T_466 extends CanBeExpanded ? any : T_466 extends (infer U)[] ? any[] : T_466 extends object ? { [K_265 in keyof T_466]-?: any; } : T_466 : never : never : T_465 extends (infer U)[] ? any[] : T_465 extends object ? { [K_266 in keyof T_465]-?: T_465[K_266] extends infer T_467 ? T_467 extends T_465[K_266] ? T_467 extends CanBeExpanded ? any : T_467 extends (infer U)[] ? any[] : T_467 extends object ? { [K_267 in keyof T_467]-?: T_467[K_267] extends infer T_468 ? T_468 extends T_467[K_267] ? T_468 extends CanBeExpanded ? T_468["default"] : T_468 : never : never; } : T_467 : never : never; } : T_465 : never : never : T_463 extends (infer U)[] ? any[] : T_463 extends object ? { [K_268 in keyof T_463]-?: T_463[K_268] extends infer T_469 ? T_469 extends T_463[K_268] ? T_469 extends CanBeExpanded ? T_469[PrefixWith, K_268, "."> extends infer T_470 ? T_470 extends PrefixWith, K_268, "."> ? T_470 extends SplitAC ? "value" : "default" : never : never] extends infer T_471 ? T_471 extends T_469[PrefixWith, K_268, "."> extends infer T_470 ? T_470 extends PrefixWith, K_268, "."> ? T_470 extends SplitAC ? "value" : "default" : never : never] ? T_471 extends CanBeExpanded ? any : T_471 extends (infer U)[] ? any[] : T_471 extends object ? { [K_269 in keyof T_471]-?: T_471[K_269] extends infer T_472 ? T_472 extends T_471[K_269] ? T_472 extends CanBeExpanded ? T_472["default"] : T_472 : never : never; } : T_471 : never : never : T_469 extends (infer U)[] ? any[] : T_469 extends object ? { [K_270 in keyof T_469]-?: T_469[K_270] extends infer T_473 ? T_473 extends T_469[K_270] ? T_473 extends CanBeExpanded ? T_473["default"] : T_473 : never : never; } : T_469 : never : never; } : T_463 : never : never; } : T_453 : never : never : T_452 extends (infer U)[] ? any[] : T_452 extends object ? { [K_271 in keyof T_452]-?: T_452[K_271] extends infer T_474 ? T_474 extends T_452[K_271] ? T_474 extends CanBeExpanded ? T_474[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] extends infer T_476 ? T_476 extends T_474[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] ? T_476 extends CanBeExpanded ? T_476[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] extends infer T_477 ? T_477 extends T_476[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] ? T_477 extends CanBeExpanded ? T_477[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] extends infer T_478 ? T_478 extends T_477[PrefixWith<`${string & K_256}`, K_271, "."> extends infer T_475 ? T_475 extends PrefixWith<`${string & K_256}`, K_271, "."> ? T_475 extends SplitAC ? "value" : "default" : never : never] ? T_478 extends CanBeExpanded ? any : T_478 extends (infer U)[] ? any[] : T_478 extends object ? { [K_272 in keyof T_478]-?: any; } : T_478 : never : never : T_477 extends (infer U)[] ? any[] : T_477 extends object ? { [K_273 in keyof T_477]-?: T_477[K_273] extends infer T_479 ? T_479 extends T_477[K_273] ? T_479 extends CanBeExpanded ? any : T_479 extends (infer U)[] ? any[] : T_479 extends object ? { [K_274 in keyof T_479]-?: T_479[K_274] extends infer T_480 ? T_480 extends T_479[K_274] ? T_480 extends CanBeExpanded ? T_480["default"] : T_480 : never : never; } : T_479 : never : never; } : T_477 : never : never : T_476 extends (infer U)[] ? any[] : T_476 extends object ? { [K_275 in keyof T_476]-?: T_476[K_275] extends infer T_481 ? T_481 extends T_476[K_275] ? T_481 extends CanBeExpanded ? T_481[PrefixWith, K_275, "."> extends infer T_482 ? T_482 extends PrefixWith, K_275, "."> ? T_482 extends SplitAC ? "value" : "default" : never : never] extends infer T_483 ? T_483 extends T_481[PrefixWith, K_275, "."> extends infer T_482 ? T_482 extends PrefixWith, K_275, "."> ? T_482 extends SplitAC ? "value" : "default" : never : never] ? T_483 extends CanBeExpanded ? any : T_483 extends (infer U)[] ? any[] : T_483 extends object ? { [K_276 in keyof T_483]-?: T_483[K_276] extends infer T_484 ? T_484 extends T_483[K_276] ? T_484 extends CanBeExpanded ? T_484["default"] : T_484 : never : never; } : T_483 : never : never : T_481 extends (infer U)[] ? any[] : T_481 extends object ? { [K_277 in keyof T_481]-?: T_481[K_277] extends infer T_485 ? T_485 extends T_481[K_277] ? T_485 extends CanBeExpanded ? T_485["default"] : T_485 : never : never; } : T_481 : never : never; } : T_476 : never : never : T_474 extends (infer U)[] ? any[] : T_474 extends object ? { [K_278 in keyof T_474]-?: T_474[K_278] extends infer T_486 ? T_486 extends T_474[K_278] ? T_486 extends CanBeExpanded ? T_486[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] extends infer T_488 ? T_488 extends T_486[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] ? T_488 extends CanBeExpanded ? T_488[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] extends infer T_489 ? T_489 extends T_488[PrefixWith, K_278, "."> extends infer T_487 ? T_487 extends PrefixWith, K_278, "."> ? T_487 extends SplitAC ? "value" : "default" : never : never] ? T_489 extends CanBeExpanded ? any : T_489 extends (infer U)[] ? any[] : T_489 extends object ? { [K_279 in keyof T_489]-?: T_489[K_279] extends infer T_490 ? T_490 extends T_489[K_279] ? T_490 extends CanBeExpanded ? T_490["default"] : T_490 : never : never; } : T_489 : never : never : T_488 extends (infer U)[] ? any[] : T_488 extends object ? { [K_280 in keyof T_488]-?: T_488[K_280] extends infer T_491 ? T_491 extends T_488[K_280] ? T_491 extends CanBeExpanded ? T_491["default"] : T_491 : never : never; } : T_488 : never : never : T_486 extends (infer U)[] ? any[] : T_486 extends object ? { [K_281 in keyof T_486]-?: T_486[K_281] extends infer T_492 ? T_492 extends T_486[K_281] ? T_492 extends CanBeExpanded ? T_492["default"] : T_492 : never : never; } : T_486 : never : never; } : T_474 : never : never; } : T_452 : never : never : T_451 extends (infer U)[] ? any[] : T_451 extends object ? { [K_282 in keyof T_451]-?: T_451[K_282] extends infer T_493 ? T_493 extends T_451[K_282] ? T_493 extends CanBeExpanded ? T_493[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_495 ? T_495 extends T_493[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_495 extends CanBeExpanded ? T_495[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_496 ? T_496 extends T_495[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_496 extends CanBeExpanded ? T_496[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_497 ? T_497 extends T_496[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_497 extends CanBeExpanded ? T_497[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] extends infer T_498 ? T_498 extends T_497[PrefixWith<`${string & K_256}`, K_282, "."> extends infer T_494 ? T_494 extends PrefixWith<`${string & K_256}`, K_282, "."> ? T_494 extends SplitAC ? "value" : "default" : never : never] ? T_498 extends CanBeExpanded ? any : T_498 extends (infer U)[] ? any[] : T_498 extends object ? { [K_283 in keyof T_498]-?: any; } : T_498 : never : never : T_497 extends (infer U)[] ? any[] : T_497 extends object ? { [K_284 in keyof T_497]-?: T_497[K_284] extends infer T_499 ? T_499 extends T_497[K_284] ? T_499 extends CanBeExpanded ? any : T_499 extends (infer U)[] ? any[] : T_499 extends object ? { [K_285 in keyof T_499]-?: T_499[K_285] extends infer T_500 ? T_500 extends T_499[K_285] ? T_500 extends CanBeExpanded ? T_500["default"] : T_500 : never : never; } : T_499 : never : never; } : T_497 : never : never : T_496 extends (infer U)[] ? any[] : T_496 extends object ? { [K_286 in keyof T_496]-?: T_496[K_286] extends infer T_501 ? T_501 extends T_496[K_286] ? T_501 extends CanBeExpanded ? T_501[PrefixWith, K_286, "."> extends infer T_502 ? T_502 extends PrefixWith, K_286, "."> ? T_502 extends SplitAC ? "value" : "default" : never : never] extends infer T_503 ? T_503 extends T_501[PrefixWith, K_286, "."> extends infer T_502 ? T_502 extends PrefixWith, K_286, "."> ? T_502 extends SplitAC ? "value" : "default" : never : never] ? T_503 extends CanBeExpanded ? any : T_503 extends (infer U)[] ? any[] : T_503 extends object ? { [K_287 in keyof T_503]-?: T_503[K_287] extends infer T_504 ? T_504 extends T_503[K_287] ? T_504 extends CanBeExpanded ? T_504["default"] : T_504 : never : never; } : T_503 : never : never : T_501 extends (infer U)[] ? any[] : T_501 extends object ? { [K_288 in keyof T_501]-?: T_501[K_288] extends infer T_505 ? T_505 extends T_501[K_288] ? T_505 extends CanBeExpanded ? T_505["default"] : T_505 : never : never; } : T_501 : never : never; } : T_496 : never : never : T_495 extends (infer U)[] ? any[] : T_495 extends object ? { [K_289 in keyof T_495]-?: T_495[K_289] extends infer T_506 ? T_506 extends T_495[K_289] ? T_506 extends CanBeExpanded ? T_506[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] extends infer T_508 ? T_508 extends T_506[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] ? T_508 extends CanBeExpanded ? T_508[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] extends infer T_509 ? T_509 extends T_508[PrefixWith, K_289, "."> extends infer T_507 ? T_507 extends PrefixWith, K_289, "."> ? T_507 extends SplitAC ? "value" : "default" : never : never] ? T_509 extends CanBeExpanded ? any : T_509 extends (infer U)[] ? any[] : T_509 extends object ? { [K_290 in keyof T_509]-?: T_509[K_290] extends infer T_510 ? T_510 extends T_509[K_290] ? T_510 extends CanBeExpanded ? T_510["default"] : T_510 : never : never; } : T_509 : never : never : T_508 extends (infer U)[] ? any[] : T_508 extends object ? { [K_291 in keyof T_508]-?: T_508[K_291] extends infer T_511 ? T_511 extends T_508[K_291] ? T_511 extends CanBeExpanded ? T_511["default"] : T_511 : never : never; } : T_508 : never : never : T_506 extends (infer U)[] ? any[] : T_506 extends object ? { [K_292 in keyof T_506]-?: T_506[K_292] extends infer T_512 ? T_512 extends T_506[K_292] ? T_512 extends CanBeExpanded ? T_512["default"] : T_512 : never : never; } : T_506 : never : never; } : T_495 : never : never : T_493 extends (infer U)[] ? any[] : T_493 extends object ? { [K_293 in keyof T_493]-?: T_493[K_293] extends infer T_513 ? T_513 extends T_493[K_293] ? T_513 extends CanBeExpanded ? T_513[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] extends infer T_515 ? T_515 extends T_513[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] ? T_515 extends CanBeExpanded ? T_515[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] extends infer T_516 ? T_516 extends T_515[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] ? T_516 extends CanBeExpanded ? T_516[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] extends infer T_517 ? T_517 extends T_516[PrefixWith, K_293, "."> extends infer T_514 ? T_514 extends PrefixWith, K_293, "."> ? T_514 extends SplitAC ? "value" : "default" : never : never] ? T_517 extends CanBeExpanded ? any : T_517 extends (infer U)[] ? any[] : T_517 extends object ? { [K_294 in keyof T_517]-?: T_517[K_294] extends infer T_518 ? T_518 extends T_517[K_294] ? T_518 extends CanBeExpanded ? T_518["default"] : T_518 : never : never; } : T_517 : never : never : T_516 extends (infer U)[] ? any[] : T_516 extends object ? { [K_295 in keyof T_516]-?: T_516[K_295] extends infer T_519 ? T_519 extends T_516[K_295] ? T_519 extends CanBeExpanded ? T_519["default"] : T_519 : never : never; } : T_516 : never : never : T_515 extends (infer U)[] ? any[] : T_515 extends object ? { [K_296 in keyof T_515]-?: T_515[K_296] extends infer T_520 ? T_520 extends T_515[K_296] ? T_520 extends CanBeExpanded ? T_520["default"] : T_520 : never : never; } : T_515 : never : never : T_513 extends (infer U)[] ? any[] : T_513 extends object ? { [K_297 in keyof T_513]-?: T_513[K_297] extends infer T_521 ? T_521 extends T_513[K_297] ? T_521 extends CanBeExpanded ? T_521["default"] : T_521 : never : never; } : T_513 : never : never; } : T_493 : never : never; } : T_451 : never : never : T_450 extends (infer U)[] ? any[] : T_450 extends object ? { [K_298 in keyof T_450]-?: T_450[K_298] extends infer T_522 ? T_522 extends T_450[K_298] ? T_522 extends CanBeExpanded ? T_522[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_524 ? T_524 extends T_522[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_524 extends CanBeExpanded ? T_524[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_525 ? T_525 extends T_524[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_525 extends CanBeExpanded ? T_525[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_526 ? T_526 extends T_525[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_526 extends CanBeExpanded ? T_526[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_527 ? T_527 extends T_526[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_527 extends CanBeExpanded ? T_527[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] extends infer T_528 ? T_528 extends T_527[PrefixWith<`${string & K_256}`, K_298, "."> extends infer T_523 ? T_523 extends PrefixWith<`${string & K_256}`, K_298, "."> ? T_523 extends SplitAC ? "value" : "default" : never : never] ? T_528 extends CanBeExpanded ? any : T_528 extends (infer U)[] ? any[] : T_528 extends object ? { [K_299 in keyof T_528]-?: any; } : T_528 : never : never : T_527 extends (infer U)[] ? any[] : T_527 extends object ? { [K_300 in keyof T_527]-?: T_527[K_300] extends infer T_529 ? T_529 extends T_527[K_300] ? T_529 extends CanBeExpanded ? any : T_529 extends (infer U)[] ? any[] : T_529 extends object ? { [K_301 in keyof T_529]-?: T_529[K_301] extends infer T_530 ? T_530 extends T_529[K_301] ? T_530 extends CanBeExpanded ? T_530["default"] : T_530 : never : never; } : T_529 : never : never; } : T_527 : never : never : T_526 extends (infer U)[] ? any[] : T_526 extends object ? { [K_302 in keyof T_526]-?: T_526[K_302] extends infer T_531 ? T_531 extends T_526[K_302] ? T_531 extends CanBeExpanded ? T_531[PrefixWith, K_302, "."> extends infer T_532 ? T_532 extends PrefixWith, K_302, "."> ? T_532 extends SplitAC ? "value" : "default" : never : never] extends infer T_533 ? T_533 extends T_531[PrefixWith, K_302, "."> extends infer T_532 ? T_532 extends PrefixWith, K_302, "."> ? T_532 extends SplitAC ? "value" : "default" : never : never] ? T_533 extends CanBeExpanded ? any : T_533 extends (infer U)[] ? any[] : T_533 extends object ? { [K_303 in keyof T_533]-?: T_533[K_303] extends infer T_534 ? T_534 extends T_533[K_303] ? T_534 extends CanBeExpanded ? T_534["default"] : T_534 : never : never; } : T_533 : never : never : T_531 extends (infer U)[] ? any[] : T_531 extends object ? { [K_304 in keyof T_531]-?: T_531[K_304] extends infer T_535 ? T_535 extends T_531[K_304] ? T_535 extends CanBeExpanded ? T_535["default"] : T_535 : never : never; } : T_531 : never : never; } : T_526 : never : never : T_525 extends (infer U)[] ? any[] : T_525 extends object ? { [K_305 in keyof T_525]-?: T_525[K_305] extends infer T_536 ? T_536 extends T_525[K_305] ? T_536 extends CanBeExpanded ? T_536[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] extends infer T_538 ? T_538 extends T_536[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] ? T_538 extends CanBeExpanded ? T_538[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] extends infer T_539 ? T_539 extends T_538[PrefixWith, K_305, "."> extends infer T_537 ? T_537 extends PrefixWith, K_305, "."> ? T_537 extends SplitAC ? "value" : "default" : never : never] ? T_539 extends CanBeExpanded ? any : T_539 extends (infer U)[] ? any[] : T_539 extends object ? { [K_306 in keyof T_539]-?: T_539[K_306] extends infer T_540 ? T_540 extends T_539[K_306] ? T_540 extends CanBeExpanded ? T_540["default"] : T_540 : never : never; } : T_539 : never : never : T_538 extends (infer U)[] ? any[] : T_538 extends object ? { [K_307 in keyof T_538]-?: T_538[K_307] extends infer T_541 ? T_541 extends T_538[K_307] ? T_541 extends CanBeExpanded ? T_541["default"] : T_541 : never : never; } : T_538 : never : never : T_536 extends (infer U)[] ? any[] : T_536 extends object ? { [K_308 in keyof T_536]-?: T_536[K_308] extends infer T_542 ? T_542 extends T_536[K_308] ? T_542 extends CanBeExpanded ? T_542["default"] : T_542 : never : never; } : T_536 : never : never; } : T_525 : never : never : T_524 extends (infer U)[] ? any[] : T_524 extends object ? { [K_309 in keyof T_524]-?: T_524[K_309] extends infer T_543 ? T_543 extends T_524[K_309] ? T_543 extends CanBeExpanded ? T_543[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] extends infer T_545 ? T_545 extends T_543[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] ? T_545 extends CanBeExpanded ? T_545[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] extends infer T_546 ? T_546 extends T_545[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] ? T_546 extends CanBeExpanded ? T_546[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] extends infer T_547 ? T_547 extends T_546[PrefixWith, K_309, "."> extends infer T_544 ? T_544 extends PrefixWith, K_309, "."> ? T_544 extends SplitAC ? "value" : "default" : never : never] ? T_547 extends CanBeExpanded ? any : T_547 extends (infer U)[] ? any[] : T_547 extends object ? { [K_310 in keyof T_547]-?: T_547[K_310] extends infer T_548 ? T_548 extends T_547[K_310] ? T_548 extends CanBeExpanded ? T_548["default"] : T_548 : never : never; } : T_547 : never : never : T_546 extends (infer U)[] ? any[] : T_546 extends object ? { [K_311 in keyof T_546]-?: T_546[K_311] extends infer T_549 ? T_549 extends T_546[K_311] ? T_549 extends CanBeExpanded ? T_549["default"] : T_549 : never : never; } : T_546 : never : never : T_545 extends (infer U)[] ? any[] : T_545 extends object ? { [K_312 in keyof T_545]-?: T_545[K_312] extends infer T_550 ? T_550 extends T_545[K_312] ? T_550 extends CanBeExpanded ? T_550["default"] : T_550 : never : never; } : T_545 : never : never : T_543 extends (infer U)[] ? any[] : T_543 extends object ? { [K_313 in keyof T_543]-?: T_543[K_313] extends infer T_551 ? T_551 extends T_543[K_313] ? T_551 extends CanBeExpanded ? T_551["default"] : T_551 : never : never; } : T_543 : never : never; } : T_524 : never : never : T_522 extends (infer U)[] ? any[] : T_522 extends object ? { [K_314 in keyof T_522]-?: T_522[K_314] extends infer T_552 ? T_552 extends T_522[K_314] ? T_552 extends CanBeExpanded ? T_552[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_554 ? T_554 extends T_552[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_554 extends CanBeExpanded ? T_554[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_555 ? T_555 extends T_554[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_555 extends CanBeExpanded ? T_555[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_556 ? T_556 extends T_555[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_556 extends CanBeExpanded ? T_556[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] extends infer T_557 ? T_557 extends T_556[PrefixWith, K_314, "."> extends infer T_553 ? T_553 extends PrefixWith, K_314, "."> ? T_553 extends SplitAC ? "value" : "default" : never : never] ? T_557 extends CanBeExpanded ? any : T_557 extends (infer U)[] ? any[] : T_557 extends object ? { [K_315 in keyof T_557]-?: T_557[K_315] extends infer T_558 ? T_558 extends T_557[K_315] ? T_558 extends CanBeExpanded ? T_558["default"] : T_558 : never : never; } : T_557 : never : never : T_556 extends (infer U)[] ? any[] : T_556 extends object ? { [K_316 in keyof T_556]-?: T_556[K_316] extends infer T_559 ? T_559 extends T_556[K_316] ? T_559 extends CanBeExpanded ? T_559["default"] : T_559 : never : never; } : T_556 : never : never : T_555 extends (infer U)[] ? any[] : T_555 extends object ? { [K_317 in keyof T_555]-?: T_555[K_317] extends infer T_560 ? T_560 extends T_555[K_317] ? T_560 extends CanBeExpanded ? T_560["default"] : T_560 : never : never; } : T_555 : never : never : T_554 extends (infer U)[] ? any[] : T_554 extends object ? { [K_318 in keyof T_554]-?: T_554[K_318] extends infer T_561 ? T_561 extends T_554[K_318] ? T_561 extends CanBeExpanded ? T_561["default"] : T_561 : never : never; } : T_554 : never : never : T_552 extends (infer U)[] ? any[] : T_552 extends object ? { [K_319 in keyof T_552]-?: T_552[K_319] extends infer T_562 ? T_562 extends T_552[K_319] ? T_562 extends CanBeExpanded ? T_562["default"] : T_562 : never : never; } : T_552 : never : never; } : T_522 : never : never; } : T_450 : never : never : T_449 extends (infer U)[] ? any[] : T_449 extends object ? { [K_320 in keyof T_449]-?: T_449[K_320] extends infer T_563 ? T_563 extends T_449[K_320] ? T_563 extends CanBeExpanded ? T_563[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_565 ? T_565 extends T_563[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_565 extends CanBeExpanded ? T_565[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_566 ? T_566 extends T_565[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_566 extends CanBeExpanded ? T_566[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_567 ? T_567 extends T_566[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_567 extends CanBeExpanded ? T_567[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_568 ? T_568 extends T_567[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_568 extends CanBeExpanded ? T_568[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_569 ? T_569 extends T_568[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_569 extends CanBeExpanded ? T_569[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] extends infer T_570 ? T_570 extends T_569[PrefixWith<`${string & K_256}`, K_320, "."> extends infer T_564 ? T_564 extends PrefixWith<`${string & K_256}`, K_320, "."> ? T_564 extends SplitAC ? "value" : "default" : never : never] ? T_570 extends CanBeExpanded ? any : T_570 extends (infer U)[] ? any[] : T_570 extends object ? { [K_321 in keyof T_570]-?: any; } : T_570 : never : never : T_569 extends (infer U)[] ? any[] : T_569 extends object ? { [K_322 in keyof T_569]-?: T_569[K_322] extends infer T_571 ? T_571 extends T_569[K_322] ? T_571 extends CanBeExpanded ? any : T_571 extends (infer U)[] ? any[] : T_571 extends object ? { [K_323 in keyof T_571]-?: T_571[K_323] extends infer T_572 ? T_572 extends T_571[K_323] ? T_572 extends CanBeExpanded ? T_572["default"] : T_572 : never : never; } : T_571 : never : never; } : T_569 : never : never : T_568 extends (infer U)[] ? any[] : T_568 extends object ? { [K_324 in keyof T_568]-?: T_568[K_324] extends infer T_573 ? T_573 extends T_568[K_324] ? T_573 extends CanBeExpanded ? T_573[PrefixWith, K_324, "."> extends infer T_574 ? T_574 extends PrefixWith, K_324, "."> ? T_574 extends SplitAC ? "value" : "default" : never : never] extends infer T_575 ? T_575 extends T_573[PrefixWith, K_324, "."> extends infer T_574 ? T_574 extends PrefixWith, K_324, "."> ? T_574 extends SplitAC ? "value" : "default" : never : never] ? T_575 extends CanBeExpanded ? any : T_575 extends (infer U)[] ? any[] : T_575 extends object ? { [K_325 in keyof T_575]-?: T_575[K_325] extends infer T_576 ? T_576 extends T_575[K_325] ? T_576 extends CanBeExpanded ? T_576["default"] : T_576 : never : never; } : T_575 : never : never : T_573 extends (infer U)[] ? any[] : T_573 extends object ? { [K_326 in keyof T_573]-?: T_573[K_326] extends infer T_577 ? T_577 extends T_573[K_326] ? T_577 extends CanBeExpanded ? T_577["default"] : T_577 : never : never; } : T_573 : never : never; } : T_568 : never : never : T_567 extends (infer U)[] ? any[] : T_567 extends object ? { [K_327 in keyof T_567]-?: T_567[K_327] extends infer T_578 ? T_578 extends T_567[K_327] ? T_578 extends CanBeExpanded ? T_578[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] extends infer T_580 ? T_580 extends T_578[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] ? T_580 extends CanBeExpanded ? T_580[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] extends infer T_581 ? T_581 extends T_580[PrefixWith, K_327, "."> extends infer T_579 ? T_579 extends PrefixWith, K_327, "."> ? T_579 extends SplitAC ? "value" : "default" : never : never] ? T_581 extends CanBeExpanded ? any : T_581 extends (infer U)[] ? any[] : T_581 extends object ? { [K_328 in keyof T_581]-?: T_581[K_328] extends infer T_582 ? T_582 extends T_581[K_328] ? T_582 extends CanBeExpanded ? T_582["default"] : T_582 : never : never; } : T_581 : never : never : T_580 extends (infer U)[] ? any[] : T_580 extends object ? { [K_329 in keyof T_580]-?: T_580[K_329] extends infer T_583 ? T_583 extends T_580[K_329] ? T_583 extends CanBeExpanded ? T_583["default"] : T_583 : never : never; } : T_580 : never : never : T_578 extends (infer U)[] ? any[] : T_578 extends object ? { [K_330 in keyof T_578]-?: T_578[K_330] extends infer T_584 ? T_584 extends T_578[K_330] ? T_584 extends CanBeExpanded ? T_584["default"] : T_584 : never : never; } : T_578 : never : never; } : T_567 : never : never : T_566 extends (infer U)[] ? any[] : T_566 extends object ? { [K_331 in keyof T_566]-?: T_566[K_331] extends infer T_585 ? T_585 extends T_566[K_331] ? T_585 extends CanBeExpanded ? T_585[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] extends infer T_587 ? T_587 extends T_585[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] ? T_587 extends CanBeExpanded ? T_587[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] extends infer T_588 ? T_588 extends T_587[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] ? T_588 extends CanBeExpanded ? T_588[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] extends infer T_589 ? T_589 extends T_588[PrefixWith, K_331, "."> extends infer T_586 ? T_586 extends PrefixWith, K_331, "."> ? T_586 extends SplitAC ? "value" : "default" : never : never] ? T_589 extends CanBeExpanded ? any : T_589 extends (infer U)[] ? any[] : T_589 extends object ? { [K_332 in keyof T_589]-?: T_589[K_332] extends infer T_590 ? T_590 extends T_589[K_332] ? T_590 extends CanBeExpanded ? T_590["default"] : T_590 : never : never; } : T_589 : never : never : T_588 extends (infer U)[] ? any[] : T_588 extends object ? { [K_333 in keyof T_588]-?: T_588[K_333] extends infer T_591 ? T_591 extends T_588[K_333] ? T_591 extends CanBeExpanded ? T_591["default"] : T_591 : never : never; } : T_588 : never : never : T_587 extends (infer U)[] ? any[] : T_587 extends object ? { [K_334 in keyof T_587]-?: T_587[K_334] extends infer T_592 ? T_592 extends T_587[K_334] ? T_592 extends CanBeExpanded ? T_592["default"] : T_592 : never : never; } : T_587 : never : never : T_585 extends (infer U)[] ? any[] : T_585 extends object ? { [K_335 in keyof T_585]-?: T_585[K_335] extends infer T_593 ? T_593 extends T_585[K_335] ? T_593 extends CanBeExpanded ? T_593["default"] : T_593 : never : never; } : T_585 : never : never; } : T_566 : never : never : T_565 extends (infer U)[] ? any[] : T_565 extends object ? { [K_336 in keyof T_565]-?: T_565[K_336] extends infer T_594 ? T_594 extends T_565[K_336] ? T_594 extends CanBeExpanded ? T_594[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_596 ? T_596 extends T_594[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_596 extends CanBeExpanded ? T_596[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_597 ? T_597 extends T_596[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_597 extends CanBeExpanded ? T_597[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_598 ? T_598 extends T_597[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_598 extends CanBeExpanded ? T_598[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] extends infer T_599 ? T_599 extends T_598[PrefixWith, K_336, "."> extends infer T_595 ? T_595 extends PrefixWith, K_336, "."> ? T_595 extends SplitAC ? "value" : "default" : never : never] ? T_599 extends CanBeExpanded ? any : T_599 extends (infer U)[] ? any[] : T_599 extends object ? { [K_337 in keyof T_599]-?: T_599[K_337] extends infer T_600 ? T_600 extends T_599[K_337] ? T_600 extends CanBeExpanded ? T_600["default"] : T_600 : never : never; } : T_599 : never : never : T_598 extends (infer U)[] ? any[] : T_598 extends object ? { [K_338 in keyof T_598]-?: T_598[K_338] extends infer T_601 ? T_601 extends T_598[K_338] ? T_601 extends CanBeExpanded ? T_601["default"] : T_601 : never : never; } : T_598 : never : never : T_597 extends (infer U)[] ? any[] : T_597 extends object ? { [K_339 in keyof T_597]-?: T_597[K_339] extends infer T_602 ? T_602 extends T_597[K_339] ? T_602 extends CanBeExpanded ? T_602["default"] : T_602 : never : never; } : T_597 : never : never : T_596 extends (infer U)[] ? any[] : T_596 extends object ? { [K_340 in keyof T_596]-?: T_596[K_340] extends infer T_603 ? T_603 extends T_596[K_340] ? T_603 extends CanBeExpanded ? T_603["default"] : T_603 : never : never; } : T_596 : never : never : T_594 extends (infer U)[] ? any[] : T_594 extends object ? { [K_341 in keyof T_594]-?: T_594[K_341] extends infer T_604 ? T_604 extends T_594[K_341] ? T_604 extends CanBeExpanded ? T_604["default"] : T_604 : never : never; } : T_594 : never : never; } : T_565 : never : never : T_563 extends (infer U)[] ? any[] : T_563 extends object ? { [K_342 in keyof T_563]-?: T_563[K_342] extends infer T_605 ? T_605 extends T_563[K_342] ? T_605 extends CanBeExpanded ? T_605[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_607 ? T_607 extends T_605[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_607 extends CanBeExpanded ? T_607[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_608 ? T_608 extends T_607[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_608 extends CanBeExpanded ? T_608[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_609 ? T_609 extends T_608[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_609 extends CanBeExpanded ? T_609[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_610 ? T_610 extends T_609[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_610 extends CanBeExpanded ? T_610[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] extends infer T_611 ? T_611 extends T_610[PrefixWith, K_342, "."> extends infer T_606 ? T_606 extends PrefixWith, K_342, "."> ? T_606 extends SplitAC ? "value" : "default" : never : never] ? T_611 extends CanBeExpanded ? any : T_611 extends (infer U)[] ? any[] : T_611 extends object ? { [K_343 in keyof T_611]-?: T_611[K_343] extends infer T_612 ? T_612 extends T_611[K_343] ? T_612 extends CanBeExpanded ? T_612["default"] : T_612 : never : never; } : T_611 : never : never : T_610 extends (infer U)[] ? any[] : T_610 extends object ? { [K_344 in keyof T_610]-?: T_610[K_344] extends infer T_613 ? T_613 extends T_610[K_344] ? T_613 extends CanBeExpanded ? T_613["default"] : T_613 : never : never; } : T_610 : never : never : T_609 extends (infer U)[] ? any[] : T_609 extends object ? { [K_345 in keyof T_609]-?: T_609[K_345] extends infer T_614 ? T_614 extends T_609[K_345] ? T_614 extends CanBeExpanded ? T_614["default"] : T_614 : never : never; } : T_609 : never : never : T_608 extends (infer U)[] ? any[] : T_608 extends object ? { [K_346 in keyof T_608]-?: T_608[K_346] extends infer T_615 ? T_615 extends T_608[K_346] ? T_615 extends CanBeExpanded ? T_615["default"] : T_615 : never : never; } : T_608 : never : never : T_607 extends (infer U)[] ? any[] : T_607 extends object ? { [K_347 in keyof T_607]-?: T_607[K_347] extends infer T_616 ? T_616 extends T_607[K_347] ? T_616 extends CanBeExpanded ? T_616["default"] : T_616 : never : never; } : T_607 : never : never : T_605 extends (infer U)[] ? any[] : T_605 extends object ? { [K_348 in keyof T_605]-?: T_605[K_348] extends infer T_617 ? T_617 extends T_605[K_348] ? T_617 extends CanBeExpanded ? T_617["default"] : T_617 : never : never; } : T_605 : never : never; } : T_563 : never : never; } : T_449 : never : never : T_447 extends (infer U)[] ? any[] : T_447 extends object ? { [K_349 in keyof T_447]-?: T_447[K_349] extends infer T_618 ? T_618 extends T_447[K_349] ? T_618 extends CanBeExpanded ? T_618[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_620 ? T_620 extends T_618[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_620 extends CanBeExpanded ? T_620[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_621 ? T_621 extends T_620[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_621 extends CanBeExpanded ? T_621[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_622 ? T_622 extends T_621[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_622 extends CanBeExpanded ? T_622[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_623 ? T_623 extends T_622[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_623 extends CanBeExpanded ? T_623[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_624 ? T_624 extends T_623[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_624 extends CanBeExpanded ? T_624[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_625 ? T_625 extends T_624[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_625 extends CanBeExpanded ? T_625[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] extends infer T_626 ? T_626 extends T_625[PrefixWith<`${string & K_256}`, K_349, "."> extends infer T_619 ? T_619 extends PrefixWith<`${string & K_256}`, K_349, "."> ? T_619 extends SplitAC ? "value" : "default" : never : never] ? T_626 extends CanBeExpanded ? any : T_626 extends (infer U)[] ? any[] : T_626 extends object ? { [K_350 in keyof T_626]-?: any; } : T_626 : never : never : T_625 extends (infer U)[] ? any[] : T_625 extends object ? { [K_351 in keyof T_625]-?: T_625[K_351] extends infer T_627 ? T_627 extends T_625[K_351] ? T_627 extends CanBeExpanded ? any : T_627 extends (infer U)[] ? any[] : T_627 extends object ? { [K_352 in keyof T_627]-?: T_627[K_352] extends infer T_628 ? T_628 extends T_627[K_352] ? T_628 extends CanBeExpanded ? T_628["default"] : T_628 : never : never; } : T_627 : never : never; } : T_625 : never : never : T_624 extends (infer U)[] ? any[] : T_624 extends object ? { [K_353 in keyof T_624]-?: T_624[K_353] extends infer T_629 ? T_629 extends T_624[K_353] ? T_629 extends CanBeExpanded ? T_629[PrefixWith, K_353, "."> extends infer T_630 ? T_630 extends PrefixWith, K_353, "."> ? T_630 extends SplitAC ? "value" : "default" : never : never] extends infer T_631 ? T_631 extends T_629[PrefixWith, K_353, "."> extends infer T_630 ? T_630 extends PrefixWith, K_353, "."> ? T_630 extends SplitAC ? "value" : "default" : never : never] ? T_631 extends CanBeExpanded ? any : T_631 extends (infer U)[] ? any[] : T_631 extends object ? { [K_354 in keyof T_631]-?: T_631[K_354] extends infer T_632 ? T_632 extends T_631[K_354] ? T_632 extends CanBeExpanded ? T_632["default"] : T_632 : never : never; } : T_631 : never : never : T_629 extends (infer U)[] ? any[] : T_629 extends object ? { [K_355 in keyof T_629]-?: T_629[K_355] extends infer T_633 ? T_633 extends T_629[K_355] ? T_633 extends CanBeExpanded ? T_633["default"] : T_633 : never : never; } : T_629 : never : never; } : T_624 : never : never : T_623 extends (infer U)[] ? any[] : T_623 extends object ? { [K_356 in keyof T_623]-?: T_623[K_356] extends infer T_634 ? T_634 extends T_623[K_356] ? T_634 extends CanBeExpanded ? T_634[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] extends infer T_636 ? T_636 extends T_634[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] ? T_636 extends CanBeExpanded ? T_636[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] extends infer T_637 ? T_637 extends T_636[PrefixWith, K_356, "."> extends infer T_635 ? T_635 extends PrefixWith, K_356, "."> ? T_635 extends SplitAC ? "value" : "default" : never : never] ? T_637 extends CanBeExpanded ? any : T_637 extends (infer U)[] ? any[] : T_637 extends object ? { [K_357 in keyof T_637]-?: T_637[K_357] extends infer T_638 ? T_638 extends T_637[K_357] ? T_638 extends CanBeExpanded ? T_638["default"] : T_638 : never : never; } : T_637 : never : never : T_636 extends (infer U)[] ? any[] : T_636 extends object ? { [K_358 in keyof T_636]-?: T_636[K_358] extends infer T_639 ? T_639 extends T_636[K_358] ? T_639 extends CanBeExpanded ? T_639["default"] : T_639 : never : never; } : T_636 : never : never : T_634 extends (infer U)[] ? any[] : T_634 extends object ? { [K_359 in keyof T_634]-?: T_634[K_359] extends infer T_640 ? T_640 extends T_634[K_359] ? T_640 extends CanBeExpanded ? T_640["default"] : T_640 : never : never; } : T_634 : never : never; } : T_623 : never : never : T_622 extends (infer U)[] ? any[] : T_622 extends object ? { [K_360 in keyof T_622]-?: T_622[K_360] extends infer T_641 ? T_641 extends T_622[K_360] ? T_641 extends CanBeExpanded ? T_641[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] extends infer T_643 ? T_643 extends T_641[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] ? T_643 extends CanBeExpanded ? T_643[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] extends infer T_644 ? T_644 extends T_643[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] ? T_644 extends CanBeExpanded ? T_644[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] extends infer T_645 ? T_645 extends T_644[PrefixWith, K_360, "."> extends infer T_642 ? T_642 extends PrefixWith, K_360, "."> ? T_642 extends SplitAC ? "value" : "default" : never : never] ? T_645 extends CanBeExpanded ? any : T_645 extends (infer U)[] ? any[] : T_645 extends object ? { [K_361 in keyof T_645]-?: T_645[K_361] extends infer T_646 ? T_646 extends T_645[K_361] ? T_646 extends CanBeExpanded ? T_646["default"] : T_646 : never : never; } : T_645 : never : never : T_644 extends (infer U)[] ? any[] : T_644 extends object ? { [K_362 in keyof T_644]-?: T_644[K_362] extends infer T_647 ? T_647 extends T_644[K_362] ? T_647 extends CanBeExpanded ? T_647["default"] : T_647 : never : never; } : T_644 : never : never : T_643 extends (infer U)[] ? any[] : T_643 extends object ? { [K_363 in keyof T_643]-?: T_643[K_363] extends infer T_648 ? T_648 extends T_643[K_363] ? T_648 extends CanBeExpanded ? T_648["default"] : T_648 : never : never; } : T_643 : never : never : T_641 extends (infer U)[] ? any[] : T_641 extends object ? { [K_364 in keyof T_641]-?: T_641[K_364] extends infer T_649 ? T_649 extends T_641[K_364] ? T_649 extends CanBeExpanded ? T_649["default"] : T_649 : never : never; } : T_641 : never : never; } : T_622 : never : never : T_621 extends (infer U)[] ? any[] : T_621 extends object ? { [K_365 in keyof T_621]-?: T_621[K_365] extends infer T_650 ? T_650 extends T_621[K_365] ? T_650 extends CanBeExpanded ? T_650[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_652 ? T_652 extends T_650[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_652 extends CanBeExpanded ? T_652[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_653 ? T_653 extends T_652[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_653 extends CanBeExpanded ? T_653[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_654 ? T_654 extends T_653[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_654 extends CanBeExpanded ? T_654[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] extends infer T_655 ? T_655 extends T_654[PrefixWith, K_365, "."> extends infer T_651 ? T_651 extends PrefixWith, K_365, "."> ? T_651 extends SplitAC ? "value" : "default" : never : never] ? T_655 extends CanBeExpanded ? any : T_655 extends (infer U)[] ? any[] : T_655 extends object ? { [K_366 in keyof T_655]-?: T_655[K_366] extends infer T_656 ? T_656 extends T_655[K_366] ? T_656 extends CanBeExpanded ? T_656["default"] : T_656 : never : never; } : T_655 : never : never : T_654 extends (infer U)[] ? any[] : T_654 extends object ? { [K_367 in keyof T_654]-?: T_654[K_367] extends infer T_657 ? T_657 extends T_654[K_367] ? T_657 extends CanBeExpanded ? T_657["default"] : T_657 : never : never; } : T_654 : never : never : T_653 extends (infer U)[] ? any[] : T_653 extends object ? { [K_368 in keyof T_653]-?: T_653[K_368] extends infer T_658 ? T_658 extends T_653[K_368] ? T_658 extends CanBeExpanded ? T_658["default"] : T_658 : never : never; } : T_653 : never : never : T_652 extends (infer U)[] ? any[] : T_652 extends object ? { [K_369 in keyof T_652]-?: T_652[K_369] extends infer T_659 ? T_659 extends T_652[K_369] ? T_659 extends CanBeExpanded ? T_659["default"] : T_659 : never : never; } : T_652 : never : never : T_650 extends (infer U)[] ? any[] : T_650 extends object ? { [K_370 in keyof T_650]-?: T_650[K_370] extends infer T_660 ? T_660 extends T_650[K_370] ? T_660 extends CanBeExpanded ? T_660["default"] : T_660 : never : never; } : T_650 : never : never; } : T_621 : never : never : T_620 extends (infer U)[] ? any[] : T_620 extends object ? { [K_371 in keyof T_620]-?: T_620[K_371] extends infer T_661 ? T_661 extends T_620[K_371] ? T_661 extends CanBeExpanded ? T_661[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_663 ? T_663 extends T_661[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_663 extends CanBeExpanded ? T_663[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_664 ? T_664 extends T_663[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_664 extends CanBeExpanded ? T_664[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_665 ? T_665 extends T_664[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_665 extends CanBeExpanded ? T_665[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_666 ? T_666 extends T_665[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_666 extends CanBeExpanded ? T_666[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] extends infer T_667 ? T_667 extends T_666[PrefixWith, K_371, "."> extends infer T_662 ? T_662 extends PrefixWith, K_371, "."> ? T_662 extends SplitAC ? "value" : "default" : never : never] ? T_667 extends CanBeExpanded ? any : T_667 extends (infer U)[] ? any[] : T_667 extends object ? { [K_372 in keyof T_667]-?: T_667[K_372] extends infer T_668 ? T_668 extends T_667[K_372] ? T_668 extends CanBeExpanded ? T_668["default"] : T_668 : never : never; } : T_667 : never : never : T_666 extends (infer U)[] ? any[] : T_666 extends object ? { [K_373 in keyof T_666]-?: T_666[K_373] extends infer T_669 ? T_669 extends T_666[K_373] ? T_669 extends CanBeExpanded ? T_669["default"] : T_669 : never : never; } : T_666 : never : never : T_665 extends (infer U)[] ? any[] : T_665 extends object ? { [K_374 in keyof T_665]-?: T_665[K_374] extends infer T_670 ? T_670 extends T_665[K_374] ? T_670 extends CanBeExpanded ? T_670["default"] : T_670 : never : never; } : T_665 : never : never : T_664 extends (infer U)[] ? any[] : T_664 extends object ? { [K_375 in keyof T_664]-?: T_664[K_375] extends infer T_671 ? T_671 extends T_664[K_375] ? T_671 extends CanBeExpanded ? T_671["default"] : T_671 : never : never; } : T_664 : never : never : T_663 extends (infer U)[] ? any[] : T_663 extends object ? { [K_376 in keyof T_663]-?: T_663[K_376] extends infer T_672 ? T_672 extends T_663[K_376] ? T_672 extends CanBeExpanded ? T_672["default"] : T_672 : never : never; } : T_663 : never : never : T_661 extends (infer U)[] ? any[] : T_661 extends object ? { [K_377 in keyof T_661]-?: T_661[K_377] extends infer T_673 ? T_673 extends T_661[K_377] ? T_673 extends CanBeExpanded ? T_673["default"] : T_673 : never : never; } : T_661 : never : never; } : T_620 : never : never : T_618 extends (infer U)[] ? any[] : T_618 extends object ? { [K_378 in keyof T_618]-?: T_618[K_378] extends infer T_674 ? T_674 extends T_618[K_378] ? T_674 extends CanBeExpanded ? T_674[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_676 ? T_676 extends T_674[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_676 extends CanBeExpanded ? T_676[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_677 ? T_677 extends T_676[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_677 extends CanBeExpanded ? T_677[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_678 ? T_678 extends T_677[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_678 extends CanBeExpanded ? T_678[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_679 ? T_679 extends T_678[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_679 extends CanBeExpanded ? T_679[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_680 ? T_680 extends T_679[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_680 extends CanBeExpanded ? T_680[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] extends infer T_681 ? T_681 extends T_680[PrefixWith, K_378, "."> extends infer T_675 ? T_675 extends PrefixWith, K_378, "."> ? T_675 extends SplitAC ? "value" : "default" : never : never] ? T_681 extends CanBeExpanded ? any : T_681 extends (infer U)[] ? any[] : T_681 extends object ? { [K_379 in keyof T_681]-?: T_681[K_379] extends infer T_682 ? T_682 extends T_681[K_379] ? T_682 extends CanBeExpanded ? T_682["default"] : T_682 : never : never; } : T_681 : never : never : T_680 extends (infer U)[] ? any[] : T_680 extends object ? { [K_380 in keyof T_680]-?: T_680[K_380] extends infer T_683 ? T_683 extends T_680[K_380] ? T_683 extends CanBeExpanded ? T_683["default"] : T_683 : never : never; } : T_680 : never : never : T_679 extends (infer U)[] ? any[] : T_679 extends object ? { [K_381 in keyof T_679]-?: T_679[K_381] extends infer T_684 ? T_684 extends T_679[K_381] ? T_684 extends CanBeExpanded ? T_684["default"] : T_684 : never : never; } : T_679 : never : never : T_678 extends (infer U)[] ? any[] : T_678 extends object ? { [K_382 in keyof T_678]-?: T_678[K_382] extends infer T_685 ? T_685 extends T_678[K_382] ? T_685 extends CanBeExpanded ? T_685["default"] : T_685 : never : never; } : T_678 : never : never : T_677 extends (infer U)[] ? any[] : T_677 extends object ? { [K_383 in keyof T_677]-?: T_677[K_383] extends infer T_686 ? T_686 extends T_677[K_383] ? T_686 extends CanBeExpanded ? T_686["default"] : T_686 : never : never; } : T_677 : never : never : T_676 extends (infer U)[] ? any[] : T_676 extends object ? { [K_384 in keyof T_676]-?: T_676[K_384] extends infer T_687 ? T_687 extends T_676[K_384] ? T_687 extends CanBeExpanded ? T_687["default"] : T_687 : never : never; } : T_676 : never : never : T_674 extends (infer U)[] ? any[] : T_674 extends object ? { [K_385 in keyof T_674]-?: T_674[K_385] extends infer T_688 ? T_688 extends T_674[K_385] ? T_688 extends CanBeExpanded ? T_688["default"] : T_688 : never : never; } : T_674 : never : never; } : T_618 : never : never; } : T_447 : never : never; } : T_2 : never : never : T extends (infer U)[] ? any[] : T extends object ? { [K_386 in keyof T]-?: T[K_386] extends infer T_689 ? T_689 extends T[K_386] ? T_689 extends CanBeExpanded ? T_689[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_691 ? T_691 extends T_689[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_691 extends CanBeExpanded ? T_691[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_692 ? T_692 extends T_691[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_692 extends CanBeExpanded ? T_692[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_693 ? T_693 extends T_692[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_693 extends CanBeExpanded ? T_693[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_694 ? T_694 extends T_693[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_694 extends CanBeExpanded ? T_694[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_695 ? T_695 extends T_694[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_695 extends CanBeExpanded ? T_695[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_696 ? T_696 extends T_695[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_696 extends CanBeExpanded ? T_696[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_697 ? T_697 extends T_696[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_697 extends CanBeExpanded ? T_697[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_698 ? T_698 extends T_697[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_698 extends CanBeExpanded ? T_698[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] extends infer T_699 ? T_699 extends T_698[`${string & K_386}` extends infer T_690 ? T_690 extends `${string & K_386}` ? T_690 extends SplitAC ? "value" : "default" : never : never] ? T_699 extends CanBeExpanded ? any : T_699 extends (infer U)[] ? any[] : T_699 extends object ? { [K_387 in keyof T_699]-?: any; } : T_699 : never : never : T_698 extends (infer U)[] ? any[] : T_698 extends object ? { [K_388 in keyof T_698]-?: T_698[K_388] extends infer T_700 ? T_700 extends T_698[K_388] ? T_700 extends CanBeExpanded ? any : T_700 extends (infer U)[] ? any[] : T_700 extends object ? { [K_389 in keyof T_700]-?: any; } : T_700 : never : never; } : T_698 : never : never : T_697 extends (infer U)[] ? any[] : T_697 extends object ? { [K_390 in keyof T_697]-?: T_697[K_390] extends infer T_701 ? T_701 extends T_697[K_390] ? T_701 extends CanBeExpanded ? T_701[PrefixWith<`${string & K_386}`, K_390, "."> extends infer T_702 ? T_702 extends PrefixWith<`${string & K_386}`, K_390, "."> ? T_702 extends SplitAC ? "value" : "default" : never : never] extends infer T_703 ? T_703 extends T_701[PrefixWith<`${string & K_386}`, K_390, "."> extends infer T_702 ? T_702 extends PrefixWith<`${string & K_386}`, K_390, "."> ? T_702 extends SplitAC ? "value" : "default" : never : never] ? T_703 extends CanBeExpanded ? any : T_703 extends (infer U)[] ? any[] : T_703 extends object ? { [K_391 in keyof T_703]-?: any; } : T_703 : never : never : T_701 extends (infer U)[] ? any[] : T_701 extends object ? { [K_392 in keyof T_701]-?: T_701[K_392] extends infer T_704 ? T_704 extends T_701[K_392] ? T_704 extends CanBeExpanded ? any : T_704 extends (infer U)[] ? any[] : T_704 extends object ? { [K_393 in keyof T_704]-?: T_704[K_393] extends infer T_705 ? T_705 extends T_704[K_393] ? T_705 extends CanBeExpanded ? T_705["default"] : T_705 : never : never; } : T_704 : never : never; } : T_701 : never : never; } : T_697 : never : never : T_696 extends (infer U)[] ? any[] : T_696 extends object ? { [K_394 in keyof T_696]-?: T_696[K_394] extends infer T_706 ? T_706 extends T_696[K_394] ? T_706 extends CanBeExpanded ? T_706[PrefixWith<`${string & K_386}`, K_394, "."> extends infer T_707 ? T_707 extends PrefixWith<`${string & K_386}`, K_394, "."> ? T_707 extends SplitAC ? "value" : "default" : never : never] extends infer T_708 ? T_708 extends T_706[PrefixWith<`${string & K_386}`, K_394, "."> extends infer T_707 ? T_707 extends PrefixWith<`${string & K_386}`, K_394, "."> ? T_707 extends SplitAC ? "value" : "default" : never : never] ? T_708 extends CanBeExpanded ? T_708[PrefixWith<`${string & K_386}`, K_394, "."> extends infer T_707 ? T_707 extends PrefixWith<`${string & K_386}`, K_394, "."> ? T_707 extends SplitAC ? "value" : "default" : never : never] extends infer T_709 ? T_709 extends T_708[PrefixWith<`${string & K_386}`, K_394, "."> extends infer T_707 ? T_707 extends PrefixWith<`${string & K_386}`, K_394, "."> ? T_707 extends SplitAC ? "value" : "default" : never : never] ? T_709 extends CanBeExpanded ? any : T_709 extends (infer U)[] ? any[] : T_709 extends object ? { [K_395 in keyof T_709]-?: any; } : T_709 : never : never : T_708 extends (infer U)[] ? any[] : T_708 extends object ? { [K_396 in keyof T_708]-?: T_708[K_396] extends infer T_710 ? T_710 extends T_708[K_396] ? T_710 extends CanBeExpanded ? any : T_710 extends (infer U)[] ? any[] : T_710 extends object ? { [K_397 in keyof T_710]-?: T_710[K_397] extends infer T_711 ? T_711 extends T_710[K_397] ? T_711 extends CanBeExpanded ? T_711["default"] : T_711 : never : never; } : T_710 : never : never; } : T_708 : never : never : T_706 extends (infer U)[] ? any[] : T_706 extends object ? { [K_398 in keyof T_706]-?: T_706[K_398] extends infer T_712 ? T_712 extends T_706[K_398] ? T_712 extends CanBeExpanded ? T_712[PrefixWith, K_398, "."> extends infer T_713 ? T_713 extends PrefixWith, K_398, "."> ? T_713 extends SplitAC ? "value" : "default" : never : never] extends infer T_714 ? T_714 extends T_712[PrefixWith, K_398, "."> extends infer T_713 ? T_713 extends PrefixWith, K_398, "."> ? T_713 extends SplitAC ? "value" : "default" : never : never] ? T_714 extends CanBeExpanded ? any : T_714 extends (infer U)[] ? any[] : T_714 extends object ? { [K_399 in keyof T_714]-?: T_714[K_399] extends infer T_715 ? T_715 extends T_714[K_399] ? T_715 extends CanBeExpanded ? T_715["default"] : T_715 : never : never; } : T_714 : never : never : T_712 extends (infer U)[] ? any[] : T_712 extends object ? { [K_400 in keyof T_712]-?: T_712[K_400] extends infer T_716 ? T_716 extends T_712[K_400] ? T_716 extends CanBeExpanded ? T_716["default"] : T_716 : never : never; } : T_712 : never : never; } : T_706 : never : never; } : T_696 : never : never : T_695 extends (infer U)[] ? any[] : T_695 extends object ? { [K_401 in keyof T_695]-?: T_695[K_401] extends infer T_717 ? T_717 extends T_695[K_401] ? T_717 extends CanBeExpanded ? T_717[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] extends infer T_719 ? T_719 extends T_717[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] ? T_719 extends CanBeExpanded ? T_719[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] extends infer T_720 ? T_720 extends T_719[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] ? T_720 extends CanBeExpanded ? T_720[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] extends infer T_721 ? T_721 extends T_720[PrefixWith<`${string & K_386}`, K_401, "."> extends infer T_718 ? T_718 extends PrefixWith<`${string & K_386}`, K_401, "."> ? T_718 extends SplitAC ? "value" : "default" : never : never] ? T_721 extends CanBeExpanded ? any : T_721 extends (infer U)[] ? any[] : T_721 extends object ? { [K_402 in keyof T_721]-?: any; } : T_721 : never : never : T_720 extends (infer U)[] ? any[] : T_720 extends object ? { [K_403 in keyof T_720]-?: T_720[K_403] extends infer T_722 ? T_722 extends T_720[K_403] ? T_722 extends CanBeExpanded ? any : T_722 extends (infer U)[] ? any[] : T_722 extends object ? { [K_404 in keyof T_722]-?: T_722[K_404] extends infer T_723 ? T_723 extends T_722[K_404] ? T_723 extends CanBeExpanded ? T_723["default"] : T_723 : never : never; } : T_722 : never : never; } : T_720 : never : never : T_719 extends (infer U)[] ? any[] : T_719 extends object ? { [K_405 in keyof T_719]-?: T_719[K_405] extends infer T_724 ? T_724 extends T_719[K_405] ? T_724 extends CanBeExpanded ? T_724[PrefixWith, K_405, "."> extends infer T_725 ? T_725 extends PrefixWith, K_405, "."> ? T_725 extends SplitAC ? "value" : "default" : never : never] extends infer T_726 ? T_726 extends T_724[PrefixWith, K_405, "."> extends infer T_725 ? T_725 extends PrefixWith, K_405, "."> ? T_725 extends SplitAC ? "value" : "default" : never : never] ? T_726 extends CanBeExpanded ? any : T_726 extends (infer U)[] ? any[] : T_726 extends object ? { [K_406 in keyof T_726]-?: T_726[K_406] extends infer T_727 ? T_727 extends T_726[K_406] ? T_727 extends CanBeExpanded ? T_727["default"] : T_727 : never : never; } : T_726 : never : never : T_724 extends (infer U)[] ? any[] : T_724 extends object ? { [K_407 in keyof T_724]-?: T_724[K_407] extends infer T_728 ? T_728 extends T_724[K_407] ? T_728 extends CanBeExpanded ? T_728["default"] : T_728 : never : never; } : T_724 : never : never; } : T_719 : never : never : T_717 extends (infer U)[] ? any[] : T_717 extends object ? { [K_408 in keyof T_717]-?: T_717[K_408] extends infer T_729 ? T_729 extends T_717[K_408] ? T_729 extends CanBeExpanded ? T_729[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] extends infer T_731 ? T_731 extends T_729[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] ? T_731 extends CanBeExpanded ? T_731[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] extends infer T_732 ? T_732 extends T_731[PrefixWith, K_408, "."> extends infer T_730 ? T_730 extends PrefixWith, K_408, "."> ? T_730 extends SplitAC ? "value" : "default" : never : never] ? T_732 extends CanBeExpanded ? any : T_732 extends (infer U)[] ? any[] : T_732 extends object ? { [K_409 in keyof T_732]-?: T_732[K_409] extends infer T_733 ? T_733 extends T_732[K_409] ? T_733 extends CanBeExpanded ? T_733["default"] : T_733 : never : never; } : T_732 : never : never : T_731 extends (infer U)[] ? any[] : T_731 extends object ? { [K_410 in keyof T_731]-?: T_731[K_410] extends infer T_734 ? T_734 extends T_731[K_410] ? T_734 extends CanBeExpanded ? T_734["default"] : T_734 : never : never; } : T_731 : never : never : T_729 extends (infer U)[] ? any[] : T_729 extends object ? { [K_411 in keyof T_729]-?: T_729[K_411] extends infer T_735 ? T_735 extends T_729[K_411] ? T_735 extends CanBeExpanded ? T_735["default"] : T_735 : never : never; } : T_729 : never : never; } : T_717 : never : never; } : T_695 : never : never : T_694 extends (infer U)[] ? any[] : T_694 extends object ? { [K_412 in keyof T_694]-?: T_694[K_412] extends infer T_736 ? T_736 extends T_694[K_412] ? T_736 extends CanBeExpanded ? T_736[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_738 ? T_738 extends T_736[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_738 extends CanBeExpanded ? T_738[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_739 ? T_739 extends T_738[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_739 extends CanBeExpanded ? T_739[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_740 ? T_740 extends T_739[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_740 extends CanBeExpanded ? T_740[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] extends infer T_741 ? T_741 extends T_740[PrefixWith<`${string & K_386}`, K_412, "."> extends infer T_737 ? T_737 extends PrefixWith<`${string & K_386}`, K_412, "."> ? T_737 extends SplitAC ? "value" : "default" : never : never] ? T_741 extends CanBeExpanded ? any : T_741 extends (infer U)[] ? any[] : T_741 extends object ? { [K_413 in keyof T_741]-?: any; } : T_741 : never : never : T_740 extends (infer U)[] ? any[] : T_740 extends object ? { [K_414 in keyof T_740]-?: T_740[K_414] extends infer T_742 ? T_742 extends T_740[K_414] ? T_742 extends CanBeExpanded ? any : T_742 extends (infer U)[] ? any[] : T_742 extends object ? { [K_415 in keyof T_742]-?: T_742[K_415] extends infer T_743 ? T_743 extends T_742[K_415] ? T_743 extends CanBeExpanded ? T_743["default"] : T_743 : never : never; } : T_742 : never : never; } : T_740 : never : never : T_739 extends (infer U)[] ? any[] : T_739 extends object ? { [K_416 in keyof T_739]-?: T_739[K_416] extends infer T_744 ? T_744 extends T_739[K_416] ? T_744 extends CanBeExpanded ? T_744[PrefixWith, K_416, "."> extends infer T_745 ? T_745 extends PrefixWith, K_416, "."> ? T_745 extends SplitAC ? "value" : "default" : never : never] extends infer T_746 ? T_746 extends T_744[PrefixWith, K_416, "."> extends infer T_745 ? T_745 extends PrefixWith, K_416, "."> ? T_745 extends SplitAC ? "value" : "default" : never : never] ? T_746 extends CanBeExpanded ? any : T_746 extends (infer U)[] ? any[] : T_746 extends object ? { [K_417 in keyof T_746]-?: T_746[K_417] extends infer T_747 ? T_747 extends T_746[K_417] ? T_747 extends CanBeExpanded ? T_747["default"] : T_747 : never : never; } : T_746 : never : never : T_744 extends (infer U)[] ? any[] : T_744 extends object ? { [K_418 in keyof T_744]-?: T_744[K_418] extends infer T_748 ? T_748 extends T_744[K_418] ? T_748 extends CanBeExpanded ? T_748["default"] : T_748 : never : never; } : T_744 : never : never; } : T_739 : never : never : T_738 extends (infer U)[] ? any[] : T_738 extends object ? { [K_419 in keyof T_738]-?: T_738[K_419] extends infer T_749 ? T_749 extends T_738[K_419] ? T_749 extends CanBeExpanded ? T_749[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] extends infer T_751 ? T_751 extends T_749[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] ? T_751 extends CanBeExpanded ? T_751[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] extends infer T_752 ? T_752 extends T_751[PrefixWith, K_419, "."> extends infer T_750 ? T_750 extends PrefixWith, K_419, "."> ? T_750 extends SplitAC ? "value" : "default" : never : never] ? T_752 extends CanBeExpanded ? any : T_752 extends (infer U)[] ? any[] : T_752 extends object ? { [K_420 in keyof T_752]-?: T_752[K_420] extends infer T_753 ? T_753 extends T_752[K_420] ? T_753 extends CanBeExpanded ? T_753["default"] : T_753 : never : never; } : T_752 : never : never : T_751 extends (infer U)[] ? any[] : T_751 extends object ? { [K_421 in keyof T_751]-?: T_751[K_421] extends infer T_754 ? T_754 extends T_751[K_421] ? T_754 extends CanBeExpanded ? T_754["default"] : T_754 : never : never; } : T_751 : never : never : T_749 extends (infer U)[] ? any[] : T_749 extends object ? { [K_422 in keyof T_749]-?: T_749[K_422] extends infer T_755 ? T_755 extends T_749[K_422] ? T_755 extends CanBeExpanded ? T_755["default"] : T_755 : never : never; } : T_749 : never : never; } : T_738 : never : never : T_736 extends (infer U)[] ? any[] : T_736 extends object ? { [K_423 in keyof T_736]-?: T_736[K_423] extends infer T_756 ? T_756 extends T_736[K_423] ? T_756 extends CanBeExpanded ? T_756[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] extends infer T_758 ? T_758 extends T_756[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] ? T_758 extends CanBeExpanded ? T_758[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] extends infer T_759 ? T_759 extends T_758[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] ? T_759 extends CanBeExpanded ? T_759[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] extends infer T_760 ? T_760 extends T_759[PrefixWith, K_423, "."> extends infer T_757 ? T_757 extends PrefixWith, K_423, "."> ? T_757 extends SplitAC ? "value" : "default" : never : never] ? T_760 extends CanBeExpanded ? any : T_760 extends (infer U)[] ? any[] : T_760 extends object ? { [K_424 in keyof T_760]-?: T_760[K_424] extends infer T_761 ? T_761 extends T_760[K_424] ? T_761 extends CanBeExpanded ? T_761["default"] : T_761 : never : never; } : T_760 : never : never : T_759 extends (infer U)[] ? any[] : T_759 extends object ? { [K_425 in keyof T_759]-?: T_759[K_425] extends infer T_762 ? T_762 extends T_759[K_425] ? T_762 extends CanBeExpanded ? T_762["default"] : T_762 : never : never; } : T_759 : never : never : T_758 extends (infer U)[] ? any[] : T_758 extends object ? { [K_426 in keyof T_758]-?: T_758[K_426] extends infer T_763 ? T_763 extends T_758[K_426] ? T_763 extends CanBeExpanded ? T_763["default"] : T_763 : never : never; } : T_758 : never : never : T_756 extends (infer U)[] ? any[] : T_756 extends object ? { [K_427 in keyof T_756]-?: T_756[K_427] extends infer T_764 ? T_764 extends T_756[K_427] ? T_764 extends CanBeExpanded ? T_764["default"] : T_764 : never : never; } : T_756 : never : never; } : T_736 : never : never; } : T_694 : never : never : T_693 extends (infer U)[] ? any[] : T_693 extends object ? { [K_428 in keyof T_693]-?: T_693[K_428] extends infer T_765 ? T_765 extends T_693[K_428] ? T_765 extends CanBeExpanded ? T_765[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_767 ? T_767 extends T_765[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_767 extends CanBeExpanded ? T_767[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_768 ? T_768 extends T_767[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_768 extends CanBeExpanded ? T_768[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_769 ? T_769 extends T_768[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_769 extends CanBeExpanded ? T_769[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_770 ? T_770 extends T_769[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_770 extends CanBeExpanded ? T_770[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] extends infer T_771 ? T_771 extends T_770[PrefixWith<`${string & K_386}`, K_428, "."> extends infer T_766 ? T_766 extends PrefixWith<`${string & K_386}`, K_428, "."> ? T_766 extends SplitAC ? "value" : "default" : never : never] ? T_771 extends CanBeExpanded ? any : T_771 extends (infer U)[] ? any[] : T_771 extends object ? { [K_429 in keyof T_771]-?: any; } : T_771 : never : never : T_770 extends (infer U)[] ? any[] : T_770 extends object ? { [K_430 in keyof T_770]-?: T_770[K_430] extends infer T_772 ? T_772 extends T_770[K_430] ? T_772 extends CanBeExpanded ? any : T_772 extends (infer U)[] ? any[] : T_772 extends object ? { [K_431 in keyof T_772]-?: T_772[K_431] extends infer T_773 ? T_773 extends T_772[K_431] ? T_773 extends CanBeExpanded ? T_773["default"] : T_773 : never : never; } : T_772 : never : never; } : T_770 : never : never : T_769 extends (infer U)[] ? any[] : T_769 extends object ? { [K_432 in keyof T_769]-?: T_769[K_432] extends infer T_774 ? T_774 extends T_769[K_432] ? T_774 extends CanBeExpanded ? T_774[PrefixWith, K_432, "."> extends infer T_775 ? T_775 extends PrefixWith, K_432, "."> ? T_775 extends SplitAC ? "value" : "default" : never : never] extends infer T_776 ? T_776 extends T_774[PrefixWith, K_432, "."> extends infer T_775 ? T_775 extends PrefixWith, K_432, "."> ? T_775 extends SplitAC ? "value" : "default" : never : never] ? T_776 extends CanBeExpanded ? any : T_776 extends (infer U)[] ? any[] : T_776 extends object ? { [K_433 in keyof T_776]-?: T_776[K_433] extends infer T_777 ? T_777 extends T_776[K_433] ? T_777 extends CanBeExpanded ? T_777["default"] : T_777 : never : never; } : T_776 : never : never : T_774 extends (infer U)[] ? any[] : T_774 extends object ? { [K_434 in keyof T_774]-?: T_774[K_434] extends infer T_778 ? T_778 extends T_774[K_434] ? T_778 extends CanBeExpanded ? T_778["default"] : T_778 : never : never; } : T_774 : never : never; } : T_769 : never : never : T_768 extends (infer U)[] ? any[] : T_768 extends object ? { [K_435 in keyof T_768]-?: T_768[K_435] extends infer T_779 ? T_779 extends T_768[K_435] ? T_779 extends CanBeExpanded ? T_779[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] extends infer T_781 ? T_781 extends T_779[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] ? T_781 extends CanBeExpanded ? T_781[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] extends infer T_782 ? T_782 extends T_781[PrefixWith, K_435, "."> extends infer T_780 ? T_780 extends PrefixWith, K_435, "."> ? T_780 extends SplitAC ? "value" : "default" : never : never] ? T_782 extends CanBeExpanded ? any : T_782 extends (infer U)[] ? any[] : T_782 extends object ? { [K_436 in keyof T_782]-?: T_782[K_436] extends infer T_783 ? T_783 extends T_782[K_436] ? T_783 extends CanBeExpanded ? T_783["default"] : T_783 : never : never; } : T_782 : never : never : T_781 extends (infer U)[] ? any[] : T_781 extends object ? { [K_437 in keyof T_781]-?: T_781[K_437] extends infer T_784 ? T_784 extends T_781[K_437] ? T_784 extends CanBeExpanded ? T_784["default"] : T_784 : never : never; } : T_781 : never : never : T_779 extends (infer U)[] ? any[] : T_779 extends object ? { [K_438 in keyof T_779]-?: T_779[K_438] extends infer T_785 ? T_785 extends T_779[K_438] ? T_785 extends CanBeExpanded ? T_785["default"] : T_785 : never : never; } : T_779 : never : never; } : T_768 : never : never : T_767 extends (infer U)[] ? any[] : T_767 extends object ? { [K_439 in keyof T_767]-?: T_767[K_439] extends infer T_786 ? T_786 extends T_767[K_439] ? T_786 extends CanBeExpanded ? T_786[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] extends infer T_788 ? T_788 extends T_786[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] ? T_788 extends CanBeExpanded ? T_788[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] extends infer T_789 ? T_789 extends T_788[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] ? T_789 extends CanBeExpanded ? T_789[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] extends infer T_790 ? T_790 extends T_789[PrefixWith, K_439, "."> extends infer T_787 ? T_787 extends PrefixWith, K_439, "."> ? T_787 extends SplitAC ? "value" : "default" : never : never] ? T_790 extends CanBeExpanded ? any : T_790 extends (infer U)[] ? any[] : T_790 extends object ? { [K_440 in keyof T_790]-?: T_790[K_440] extends infer T_791 ? T_791 extends T_790[K_440] ? T_791 extends CanBeExpanded ? T_791["default"] : T_791 : never : never; } : T_790 : never : never : T_789 extends (infer U)[] ? any[] : T_789 extends object ? { [K_441 in keyof T_789]-?: T_789[K_441] extends infer T_792 ? T_792 extends T_789[K_441] ? T_792 extends CanBeExpanded ? T_792["default"] : T_792 : never : never; } : T_789 : never : never : T_788 extends (infer U)[] ? any[] : T_788 extends object ? { [K_442 in keyof T_788]-?: T_788[K_442] extends infer T_793 ? T_793 extends T_788[K_442] ? T_793 extends CanBeExpanded ? T_793["default"] : T_793 : never : never; } : T_788 : never : never : T_786 extends (infer U)[] ? any[] : T_786 extends object ? { [K_443 in keyof T_786]-?: T_786[K_443] extends infer T_794 ? T_794 extends T_786[K_443] ? T_794 extends CanBeExpanded ? T_794["default"] : T_794 : never : never; } : T_786 : never : never; } : T_767 : never : never : T_765 extends (infer U)[] ? any[] : T_765 extends object ? { [K_444 in keyof T_765]-?: T_765[K_444] extends infer T_795 ? T_795 extends T_765[K_444] ? T_795 extends CanBeExpanded ? T_795[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_797 ? T_797 extends T_795[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_797 extends CanBeExpanded ? T_797[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_798 ? T_798 extends T_797[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_798 extends CanBeExpanded ? T_798[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_799 ? T_799 extends T_798[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_799 extends CanBeExpanded ? T_799[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] extends infer T_800 ? T_800 extends T_799[PrefixWith, K_444, "."> extends infer T_796 ? T_796 extends PrefixWith, K_444, "."> ? T_796 extends SplitAC ? "value" : "default" : never : never] ? T_800 extends CanBeExpanded ? any : T_800 extends (infer U)[] ? any[] : T_800 extends object ? { [K_445 in keyof T_800]-?: T_800[K_445] extends infer T_801 ? T_801 extends T_800[K_445] ? T_801 extends CanBeExpanded ? T_801["default"] : T_801 : never : never; } : T_800 : never : never : T_799 extends (infer U)[] ? any[] : T_799 extends object ? { [K_446 in keyof T_799]-?: T_799[K_446] extends infer T_802 ? T_802 extends T_799[K_446] ? T_802 extends CanBeExpanded ? T_802["default"] : T_802 : never : never; } : T_799 : never : never : T_798 extends (infer U)[] ? any[] : T_798 extends object ? { [K_447 in keyof T_798]-?: T_798[K_447] extends infer T_803 ? T_803 extends T_798[K_447] ? T_803 extends CanBeExpanded ? T_803["default"] : T_803 : never : never; } : T_798 : never : never : T_797 extends (infer U)[] ? any[] : T_797 extends object ? { [K_448 in keyof T_797]-?: T_797[K_448] extends infer T_804 ? T_804 extends T_797[K_448] ? T_804 extends CanBeExpanded ? T_804["default"] : T_804 : never : never; } : T_797 : never : never : T_795 extends (infer U)[] ? any[] : T_795 extends object ? { [K_449 in keyof T_795]-?: T_795[K_449] extends infer T_805 ? T_805 extends T_795[K_449] ? T_805 extends CanBeExpanded ? T_805["default"] : T_805 : never : never; } : T_795 : never : never; } : T_765 : never : never; } : T_693 : never : never : T_692 extends (infer U)[] ? any[] : T_692 extends object ? { [K_450 in keyof T_692]-?: T_692[K_450] extends infer T_806 ? T_806 extends T_692[K_450] ? T_806 extends CanBeExpanded ? T_806[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_808 ? T_808 extends T_806[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_808 extends CanBeExpanded ? T_808[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_809 ? T_809 extends T_808[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_809 extends CanBeExpanded ? T_809[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_810 ? T_810 extends T_809[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_810 extends CanBeExpanded ? T_810[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_811 ? T_811 extends T_810[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_811 extends CanBeExpanded ? T_811[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_812 ? T_812 extends T_811[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_812 extends CanBeExpanded ? T_812[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] extends infer T_813 ? T_813 extends T_812[PrefixWith<`${string & K_386}`, K_450, "."> extends infer T_807 ? T_807 extends PrefixWith<`${string & K_386}`, K_450, "."> ? T_807 extends SplitAC ? "value" : "default" : never : never] ? T_813 extends CanBeExpanded ? any : T_813 extends (infer U)[] ? any[] : T_813 extends object ? { [K_451 in keyof T_813]-?: any; } : T_813 : never : never : T_812 extends (infer U)[] ? any[] : T_812 extends object ? { [K_452 in keyof T_812]-?: T_812[K_452] extends infer T_814 ? T_814 extends T_812[K_452] ? T_814 extends CanBeExpanded ? any : T_814 extends (infer U)[] ? any[] : T_814 extends object ? { [K_453 in keyof T_814]-?: T_814[K_453] extends infer T_815 ? T_815 extends T_814[K_453] ? T_815 extends CanBeExpanded ? T_815["default"] : T_815 : never : never; } : T_814 : never : never; } : T_812 : never : never : T_811 extends (infer U)[] ? any[] : T_811 extends object ? { [K_454 in keyof T_811]-?: T_811[K_454] extends infer T_816 ? T_816 extends T_811[K_454] ? T_816 extends CanBeExpanded ? T_816[PrefixWith, K_454, "."> extends infer T_817 ? T_817 extends PrefixWith, K_454, "."> ? T_817 extends SplitAC ? "value" : "default" : never : never] extends infer T_818 ? T_818 extends T_816[PrefixWith, K_454, "."> extends infer T_817 ? T_817 extends PrefixWith, K_454, "."> ? T_817 extends SplitAC ? "value" : "default" : never : never] ? T_818 extends CanBeExpanded ? any : T_818 extends (infer U)[] ? any[] : T_818 extends object ? { [K_455 in keyof T_818]-?: T_818[K_455] extends infer T_819 ? T_819 extends T_818[K_455] ? T_819 extends CanBeExpanded ? T_819["default"] : T_819 : never : never; } : T_818 : never : never : T_816 extends (infer U)[] ? any[] : T_816 extends object ? { [K_456 in keyof T_816]-?: T_816[K_456] extends infer T_820 ? T_820 extends T_816[K_456] ? T_820 extends CanBeExpanded ? T_820["default"] : T_820 : never : never; } : T_816 : never : never; } : T_811 : never : never : T_810 extends (infer U)[] ? any[] : T_810 extends object ? { [K_457 in keyof T_810]-?: T_810[K_457] extends infer T_821 ? T_821 extends T_810[K_457] ? T_821 extends CanBeExpanded ? T_821[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] extends infer T_823 ? T_823 extends T_821[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] ? T_823 extends CanBeExpanded ? T_823[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] extends infer T_824 ? T_824 extends T_823[PrefixWith, K_457, "."> extends infer T_822 ? T_822 extends PrefixWith, K_457, "."> ? T_822 extends SplitAC ? "value" : "default" : never : never] ? T_824 extends CanBeExpanded ? any : T_824 extends (infer U)[] ? any[] : T_824 extends object ? { [K_458 in keyof T_824]-?: T_824[K_458] extends infer T_825 ? T_825 extends T_824[K_458] ? T_825 extends CanBeExpanded ? T_825["default"] : T_825 : never : never; } : T_824 : never : never : T_823 extends (infer U)[] ? any[] : T_823 extends object ? { [K_459 in keyof T_823]-?: T_823[K_459] extends infer T_826 ? T_826 extends T_823[K_459] ? T_826 extends CanBeExpanded ? T_826["default"] : T_826 : never : never; } : T_823 : never : never : T_821 extends (infer U)[] ? any[] : T_821 extends object ? { [K_460 in keyof T_821]-?: T_821[K_460] extends infer T_827 ? T_827 extends T_821[K_460] ? T_827 extends CanBeExpanded ? T_827["default"] : T_827 : never : never; } : T_821 : never : never; } : T_810 : never : never : T_809 extends (infer U)[] ? any[] : T_809 extends object ? { [K_461 in keyof T_809]-?: T_809[K_461] extends infer T_828 ? T_828 extends T_809[K_461] ? T_828 extends CanBeExpanded ? T_828[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] extends infer T_830 ? T_830 extends T_828[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] ? T_830 extends CanBeExpanded ? T_830[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] extends infer T_831 ? T_831 extends T_830[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] ? T_831 extends CanBeExpanded ? T_831[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] extends infer T_832 ? T_832 extends T_831[PrefixWith, K_461, "."> extends infer T_829 ? T_829 extends PrefixWith, K_461, "."> ? T_829 extends SplitAC ? "value" : "default" : never : never] ? T_832 extends CanBeExpanded ? any : T_832 extends (infer U)[] ? any[] : T_832 extends object ? { [K_462 in keyof T_832]-?: T_832[K_462] extends infer T_833 ? T_833 extends T_832[K_462] ? T_833 extends CanBeExpanded ? T_833["default"] : T_833 : never : never; } : T_832 : never : never : T_831 extends (infer U)[] ? any[] : T_831 extends object ? { [K_463 in keyof T_831]-?: T_831[K_463] extends infer T_834 ? T_834 extends T_831[K_463] ? T_834 extends CanBeExpanded ? T_834["default"] : T_834 : never : never; } : T_831 : never : never : T_830 extends (infer U)[] ? any[] : T_830 extends object ? { [K_464 in keyof T_830]-?: T_830[K_464] extends infer T_835 ? T_835 extends T_830[K_464] ? T_835 extends CanBeExpanded ? T_835["default"] : T_835 : never : never; } : T_830 : never : never : T_828 extends (infer U)[] ? any[] : T_828 extends object ? { [K_465 in keyof T_828]-?: T_828[K_465] extends infer T_836 ? T_836 extends T_828[K_465] ? T_836 extends CanBeExpanded ? T_836["default"] : T_836 : never : never; } : T_828 : never : never; } : T_809 : never : never : T_808 extends (infer U)[] ? any[] : T_808 extends object ? { [K_466 in keyof T_808]-?: T_808[K_466] extends infer T_837 ? T_837 extends T_808[K_466] ? T_837 extends CanBeExpanded ? T_837[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_839 ? T_839 extends T_837[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_839 extends CanBeExpanded ? T_839[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_840 ? T_840 extends T_839[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_840 extends CanBeExpanded ? T_840[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_841 ? T_841 extends T_840[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_841 extends CanBeExpanded ? T_841[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] extends infer T_842 ? T_842 extends T_841[PrefixWith, K_466, "."> extends infer T_838 ? T_838 extends PrefixWith, K_466, "."> ? T_838 extends SplitAC ? "value" : "default" : never : never] ? T_842 extends CanBeExpanded ? any : T_842 extends (infer U)[] ? any[] : T_842 extends object ? { [K_467 in keyof T_842]-?: T_842[K_467] extends infer T_843 ? T_843 extends T_842[K_467] ? T_843 extends CanBeExpanded ? T_843["default"] : T_843 : never : never; } : T_842 : never : never : T_841 extends (infer U)[] ? any[] : T_841 extends object ? { [K_468 in keyof T_841]-?: T_841[K_468] extends infer T_844 ? T_844 extends T_841[K_468] ? T_844 extends CanBeExpanded ? T_844["default"] : T_844 : never : never; } : T_841 : never : never : T_840 extends (infer U)[] ? any[] : T_840 extends object ? { [K_469 in keyof T_840]-?: T_840[K_469] extends infer T_845 ? T_845 extends T_840[K_469] ? T_845 extends CanBeExpanded ? T_845["default"] : T_845 : never : never; } : T_840 : never : never : T_839 extends (infer U)[] ? any[] : T_839 extends object ? { [K_470 in keyof T_839]-?: T_839[K_470] extends infer T_846 ? T_846 extends T_839[K_470] ? T_846 extends CanBeExpanded ? T_846["default"] : T_846 : never : never; } : T_839 : never : never : T_837 extends (infer U)[] ? any[] : T_837 extends object ? { [K_471 in keyof T_837]-?: T_837[K_471] extends infer T_847 ? T_847 extends T_837[K_471] ? T_847 extends CanBeExpanded ? T_847["default"] : T_847 : never : never; } : T_837 : never : never; } : T_808 : never : never : T_806 extends (infer U)[] ? any[] : T_806 extends object ? { [K_472 in keyof T_806]-?: T_806[K_472] extends infer T_848 ? T_848 extends T_806[K_472] ? T_848 extends CanBeExpanded ? T_848[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_850 ? T_850 extends T_848[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_850 extends CanBeExpanded ? T_850[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_851 ? T_851 extends T_850[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_851 extends CanBeExpanded ? T_851[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_852 ? T_852 extends T_851[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_852 extends CanBeExpanded ? T_852[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_853 ? T_853 extends T_852[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_853 extends CanBeExpanded ? T_853[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] extends infer T_854 ? T_854 extends T_853[PrefixWith, K_472, "."> extends infer T_849 ? T_849 extends PrefixWith, K_472, "."> ? T_849 extends SplitAC ? "value" : "default" : never : never] ? T_854 extends CanBeExpanded ? any : T_854 extends (infer U)[] ? any[] : T_854 extends object ? { [K_473 in keyof T_854]-?: T_854[K_473] extends infer T_855 ? T_855 extends T_854[K_473] ? T_855 extends CanBeExpanded ? T_855["default"] : T_855 : never : never; } : T_854 : never : never : T_853 extends (infer U)[] ? any[] : T_853 extends object ? { [K_474 in keyof T_853]-?: T_853[K_474] extends infer T_856 ? T_856 extends T_853[K_474] ? T_856 extends CanBeExpanded ? T_856["default"] : T_856 : never : never; } : T_853 : never : never : T_852 extends (infer U)[] ? any[] : T_852 extends object ? { [K_475 in keyof T_852]-?: T_852[K_475] extends infer T_857 ? T_857 extends T_852[K_475] ? T_857 extends CanBeExpanded ? T_857["default"] : T_857 : never : never; } : T_852 : never : never : T_851 extends (infer U)[] ? any[] : T_851 extends object ? { [K_476 in keyof T_851]-?: T_851[K_476] extends infer T_858 ? T_858 extends T_851[K_476] ? T_858 extends CanBeExpanded ? T_858["default"] : T_858 : never : never; } : T_851 : never : never : T_850 extends (infer U)[] ? any[] : T_850 extends object ? { [K_477 in keyof T_850]-?: T_850[K_477] extends infer T_859 ? T_859 extends T_850[K_477] ? T_859 extends CanBeExpanded ? T_859["default"] : T_859 : never : never; } : T_850 : never : never : T_848 extends (infer U)[] ? any[] : T_848 extends object ? { [K_478 in keyof T_848]-?: T_848[K_478] extends infer T_860 ? T_860 extends T_848[K_478] ? T_860 extends CanBeExpanded ? T_860["default"] : T_860 : never : never; } : T_848 : never : never; } : T_806 : never : never; } : T_692 : never : never : T_691 extends (infer U)[] ? any[] : T_691 extends object ? { [K_479 in keyof T_691]-?: T_691[K_479] extends infer T_861 ? T_861 extends T_691[K_479] ? T_861 extends CanBeExpanded ? T_861[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_863 ? T_863 extends T_861[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_863 extends CanBeExpanded ? T_863[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_864 ? T_864 extends T_863[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_864 extends CanBeExpanded ? T_864[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_865 ? T_865 extends T_864[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_865 extends CanBeExpanded ? T_865[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_866 ? T_866 extends T_865[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_866 extends CanBeExpanded ? T_866[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_867 ? T_867 extends T_866[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_867 extends CanBeExpanded ? T_867[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_868 ? T_868 extends T_867[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_868 extends CanBeExpanded ? T_868[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] extends infer T_869 ? T_869 extends T_868[PrefixWith<`${string & K_386}`, K_479, "."> extends infer T_862 ? T_862 extends PrefixWith<`${string & K_386}`, K_479, "."> ? T_862 extends SplitAC ? "value" : "default" : never : never] ? T_869 extends CanBeExpanded ? any : T_869 extends (infer U)[] ? any[] : T_869 extends object ? { [K_480 in keyof T_869]-?: any; } : T_869 : never : never : T_868 extends (infer U)[] ? any[] : T_868 extends object ? { [K_481 in keyof T_868]-?: T_868[K_481] extends infer T_870 ? T_870 extends T_868[K_481] ? T_870 extends CanBeExpanded ? any : T_870 extends (infer U)[] ? any[] : T_870 extends object ? { [K_482 in keyof T_870]-?: T_870[K_482] extends infer T_871 ? T_871 extends T_870[K_482] ? T_871 extends CanBeExpanded ? T_871["default"] : T_871 : never : never; } : T_870 : never : never; } : T_868 : never : never : T_867 extends (infer U)[] ? any[] : T_867 extends object ? { [K_483 in keyof T_867]-?: T_867[K_483] extends infer T_872 ? T_872 extends T_867[K_483] ? T_872 extends CanBeExpanded ? T_872[PrefixWith, K_483, "."> extends infer T_873 ? T_873 extends PrefixWith, K_483, "."> ? T_873 extends SplitAC ? "value" : "default" : never : never] extends infer T_874 ? T_874 extends T_872[PrefixWith, K_483, "."> extends infer T_873 ? T_873 extends PrefixWith, K_483, "."> ? T_873 extends SplitAC ? "value" : "default" : never : never] ? T_874 extends CanBeExpanded ? any : T_874 extends (infer U)[] ? any[] : T_874 extends object ? { [K_484 in keyof T_874]-?: T_874[K_484] extends infer T_875 ? T_875 extends T_874[K_484] ? T_875 extends CanBeExpanded ? T_875["default"] : T_875 : never : never; } : T_874 : never : never : T_872 extends (infer U)[] ? any[] : T_872 extends object ? { [K_485 in keyof T_872]-?: T_872[K_485] extends infer T_876 ? T_876 extends T_872[K_485] ? T_876 extends CanBeExpanded ? T_876["default"] : T_876 : never : never; } : T_872 : never : never; } : T_867 : never : never : T_866 extends (infer U)[] ? any[] : T_866 extends object ? { [K_486 in keyof T_866]-?: T_866[K_486] extends infer T_877 ? T_877 extends T_866[K_486] ? T_877 extends CanBeExpanded ? T_877[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] extends infer T_879 ? T_879 extends T_877[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] ? T_879 extends CanBeExpanded ? T_879[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] extends infer T_880 ? T_880 extends T_879[PrefixWith, K_486, "."> extends infer T_878 ? T_878 extends PrefixWith, K_486, "."> ? T_878 extends SplitAC ? "value" : "default" : never : never] ? T_880 extends CanBeExpanded ? any : T_880 extends (infer U)[] ? any[] : T_880 extends object ? { [K_487 in keyof T_880]-?: T_880[K_487] extends infer T_881 ? T_881 extends T_880[K_487] ? T_881 extends CanBeExpanded ? T_881["default"] : T_881 : never : never; } : T_880 : never : never : T_879 extends (infer U)[] ? any[] : T_879 extends object ? { [K_488 in keyof T_879]-?: T_879[K_488] extends infer T_882 ? T_882 extends T_879[K_488] ? T_882 extends CanBeExpanded ? T_882["default"] : T_882 : never : never; } : T_879 : never : never : T_877 extends (infer U)[] ? any[] : T_877 extends object ? { [K_489 in keyof T_877]-?: T_877[K_489] extends infer T_883 ? T_883 extends T_877[K_489] ? T_883 extends CanBeExpanded ? T_883["default"] : T_883 : never : never; } : T_877 : never : never; } : T_866 : never : never : T_865 extends (infer U)[] ? any[] : T_865 extends object ? { [K_490 in keyof T_865]-?: T_865[K_490] extends infer T_884 ? T_884 extends T_865[K_490] ? T_884 extends CanBeExpanded ? T_884[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] extends infer T_886 ? T_886 extends T_884[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] ? T_886 extends CanBeExpanded ? T_886[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] extends infer T_887 ? T_887 extends T_886[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] ? T_887 extends CanBeExpanded ? T_887[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] extends infer T_888 ? T_888 extends T_887[PrefixWith, K_490, "."> extends infer T_885 ? T_885 extends PrefixWith, K_490, "."> ? T_885 extends SplitAC ? "value" : "default" : never : never] ? T_888 extends CanBeExpanded ? any : T_888 extends (infer U)[] ? any[] : T_888 extends object ? { [K_491 in keyof T_888]-?: T_888[K_491] extends infer T_889 ? T_889 extends T_888[K_491] ? T_889 extends CanBeExpanded ? T_889["default"] : T_889 : never : never; } : T_888 : never : never : T_887 extends (infer U)[] ? any[] : T_887 extends object ? { [K_492 in keyof T_887]-?: T_887[K_492] extends infer T_890 ? T_890 extends T_887[K_492] ? T_890 extends CanBeExpanded ? T_890["default"] : T_890 : never : never; } : T_887 : never : never : T_886 extends (infer U)[] ? any[] : T_886 extends object ? { [K_493 in keyof T_886]-?: T_886[K_493] extends infer T_891 ? T_891 extends T_886[K_493] ? T_891 extends CanBeExpanded ? T_891["default"] : T_891 : never : never; } : T_886 : never : never : T_884 extends (infer U)[] ? any[] : T_884 extends object ? { [K_494 in keyof T_884]-?: T_884[K_494] extends infer T_892 ? T_892 extends T_884[K_494] ? T_892 extends CanBeExpanded ? T_892["default"] : T_892 : never : never; } : T_884 : never : never; } : T_865 : never : never : T_864 extends (infer U)[] ? any[] : T_864 extends object ? { [K_495 in keyof T_864]-?: T_864[K_495] extends infer T_893 ? T_893 extends T_864[K_495] ? T_893 extends CanBeExpanded ? T_893[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_895 ? T_895 extends T_893[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_895 extends CanBeExpanded ? T_895[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_896 ? T_896 extends T_895[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_896 extends CanBeExpanded ? T_896[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_897 ? T_897 extends T_896[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_897 extends CanBeExpanded ? T_897[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] extends infer T_898 ? T_898 extends T_897[PrefixWith, K_495, "."> extends infer T_894 ? T_894 extends PrefixWith, K_495, "."> ? T_894 extends SplitAC ? "value" : "default" : never : never] ? T_898 extends CanBeExpanded ? any : T_898 extends (infer U)[] ? any[] : T_898 extends object ? { [K_496 in keyof T_898]-?: T_898[K_496] extends infer T_899 ? T_899 extends T_898[K_496] ? T_899 extends CanBeExpanded ? T_899["default"] : T_899 : never : never; } : T_898 : never : never : T_897 extends (infer U)[] ? any[] : T_897 extends object ? { [K_497 in keyof T_897]-?: T_897[K_497] extends infer T_900 ? T_900 extends T_897[K_497] ? T_900 extends CanBeExpanded ? T_900["default"] : T_900 : never : never; } : T_897 : never : never : T_896 extends (infer U)[] ? any[] : T_896 extends object ? { [K_498 in keyof T_896]-?: T_896[K_498] extends infer T_901 ? T_901 extends T_896[K_498] ? T_901 extends CanBeExpanded ? T_901["default"] : T_901 : never : never; } : T_896 : never : never : T_895 extends (infer U)[] ? any[] : T_895 extends object ? { [K_499 in keyof T_895]-?: T_895[K_499] extends infer T_902 ? T_902 extends T_895[K_499] ? T_902 extends CanBeExpanded ? T_902["default"] : T_902 : never : never; } : T_895 : never : never : T_893 extends (infer U)[] ? any[] : T_893 extends object ? { [K_500 in keyof T_893]-?: T_893[K_500] extends infer T_903 ? T_903 extends T_893[K_500] ? T_903 extends CanBeExpanded ? T_903["default"] : T_903 : never : never; } : T_893 : never : never; } : T_864 : never : never : T_863 extends (infer U)[] ? any[] : T_863 extends object ? { [K_501 in keyof T_863]-?: T_863[K_501] extends infer T_904 ? T_904 extends T_863[K_501] ? T_904 extends CanBeExpanded ? T_904[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_906 ? T_906 extends T_904[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_906 extends CanBeExpanded ? T_906[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_907 ? T_907 extends T_906[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_907 extends CanBeExpanded ? T_907[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_908 ? T_908 extends T_907[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_908 extends CanBeExpanded ? T_908[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_909 ? T_909 extends T_908[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_909 extends CanBeExpanded ? T_909[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] extends infer T_910 ? T_910 extends T_909[PrefixWith, K_501, "."> extends infer T_905 ? T_905 extends PrefixWith, K_501, "."> ? T_905 extends SplitAC ? "value" : "default" : never : never] ? T_910 extends CanBeExpanded ? any : T_910 extends (infer U)[] ? any[] : T_910 extends object ? { [K_502 in keyof T_910]-?: T_910[K_502] extends infer T_911 ? T_911 extends T_910[K_502] ? T_911 extends CanBeExpanded ? T_911["default"] : T_911 : never : never; } : T_910 : never : never : T_909 extends (infer U)[] ? any[] : T_909 extends object ? { [K_503 in keyof T_909]-?: T_909[K_503] extends infer T_912 ? T_912 extends T_909[K_503] ? T_912 extends CanBeExpanded ? T_912["default"] : T_912 : never : never; } : T_909 : never : never : T_908 extends (infer U)[] ? any[] : T_908 extends object ? { [K_504 in keyof T_908]-?: T_908[K_504] extends infer T_913 ? T_913 extends T_908[K_504] ? T_913 extends CanBeExpanded ? T_913["default"] : T_913 : never : never; } : T_908 : never : never : T_907 extends (infer U)[] ? any[] : T_907 extends object ? { [K_505 in keyof T_907]-?: T_907[K_505] extends infer T_914 ? T_914 extends T_907[K_505] ? T_914 extends CanBeExpanded ? T_914["default"] : T_914 : never : never; } : T_907 : never : never : T_906 extends (infer U)[] ? any[] : T_906 extends object ? { [K_506 in keyof T_906]-?: T_906[K_506] extends infer T_915 ? T_915 extends T_906[K_506] ? T_915 extends CanBeExpanded ? T_915["default"] : T_915 : never : never; } : T_906 : never : never : T_904 extends (infer U)[] ? any[] : T_904 extends object ? { [K_507 in keyof T_904]-?: T_904[K_507] extends infer T_916 ? T_916 extends T_904[K_507] ? T_916 extends CanBeExpanded ? T_916["default"] : T_916 : never : never; } : T_904 : never : never; } : T_863 : never : never : T_861 extends (infer U)[] ? any[] : T_861 extends object ? { [K_508 in keyof T_861]-?: T_861[K_508] extends infer T_917 ? T_917 extends T_861[K_508] ? T_917 extends CanBeExpanded ? T_917[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_919 ? T_919 extends T_917[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_919 extends CanBeExpanded ? T_919[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_920 ? T_920 extends T_919[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_920 extends CanBeExpanded ? T_920[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_921 ? T_921 extends T_920[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_921 extends CanBeExpanded ? T_921[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_922 ? T_922 extends T_921[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_922 extends CanBeExpanded ? T_922[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_923 ? T_923 extends T_922[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_923 extends CanBeExpanded ? T_923[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] extends infer T_924 ? T_924 extends T_923[PrefixWith, K_508, "."> extends infer T_918 ? T_918 extends PrefixWith, K_508, "."> ? T_918 extends SplitAC ? "value" : "default" : never : never] ? T_924 extends CanBeExpanded ? any : T_924 extends (infer U)[] ? any[] : T_924 extends object ? { [K_509 in keyof T_924]-?: T_924[K_509] extends infer T_925 ? T_925 extends T_924[K_509] ? T_925 extends CanBeExpanded ? T_925["default"] : T_925 : never : never; } : T_924 : never : never : T_923 extends (infer U)[] ? any[] : T_923 extends object ? { [K_510 in keyof T_923]-?: T_923[K_510] extends infer T_926 ? T_926 extends T_923[K_510] ? T_926 extends CanBeExpanded ? T_926["default"] : T_926 : never : never; } : T_923 : never : never : T_922 extends (infer U)[] ? any[] : T_922 extends object ? { [K_511 in keyof T_922]-?: T_922[K_511] extends infer T_927 ? T_927 extends T_922[K_511] ? T_927 extends CanBeExpanded ? T_927["default"] : T_927 : never : never; } : T_922 : never : never : T_921 extends (infer U)[] ? any[] : T_921 extends object ? { [K_512 in keyof T_921]-?: T_921[K_512] extends infer T_928 ? T_928 extends T_921[K_512] ? T_928 extends CanBeExpanded ? T_928["default"] : T_928 : never : never; } : T_921 : never : never : T_920 extends (infer U)[] ? any[] : T_920 extends object ? { [K_513 in keyof T_920]-?: T_920[K_513] extends infer T_929 ? T_929 extends T_920[K_513] ? T_929 extends CanBeExpanded ? T_929["default"] : T_929 : never : never; } : T_920 : never : never : T_919 extends (infer U)[] ? any[] : T_919 extends object ? { [K_514 in keyof T_919]-?: T_919[K_514] extends infer T_930 ? T_930 extends T_919[K_514] ? T_930 extends CanBeExpanded ? T_930["default"] : T_930 : never : never; } : T_919 : never : never : T_917 extends (infer U)[] ? any[] : T_917 extends object ? { [K_515 in keyof T_917]-?: T_917[K_515] extends infer T_931 ? T_931 extends T_917[K_515] ? T_931 extends CanBeExpanded ? T_931["default"] : T_931 : never : never; } : T_917 : never : never; } : T_861 : never : never; } : T_691 : never : never : T_689 extends (infer U)[] ? any[] : T_689 extends object ? { [K_516 in keyof T_689]-?: T_689[K_516] extends infer T_932 ? T_932 extends T_689[K_516] ? T_932 extends CanBeExpanded ? T_932[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_934 ? T_934 extends T_932[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_934 extends CanBeExpanded ? T_934[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_935 ? T_935 extends T_934[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_935 extends CanBeExpanded ? T_935[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_936 ? T_936 extends T_935[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_936 extends CanBeExpanded ? T_936[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_937 ? T_937 extends T_936[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_937 extends CanBeExpanded ? T_937[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_938 ? T_938 extends T_937[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_938 extends CanBeExpanded ? T_938[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_939 ? T_939 extends T_938[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_939 extends CanBeExpanded ? T_939[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_940 ? T_940 extends T_939[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_940 extends CanBeExpanded ? T_940[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] extends infer T_941 ? T_941 extends T_940[PrefixWith<`${string & K_386}`, K_516, "."> extends infer T_933 ? T_933 extends PrefixWith<`${string & K_386}`, K_516, "."> ? T_933 extends SplitAC ? "value" : "default" : never : never] ? T_941 extends CanBeExpanded ? any : T_941 extends (infer U)[] ? any[] : T_941 extends object ? { [K_517 in keyof T_941]-?: any; } : T_941 : never : never : T_940 extends (infer U)[] ? any[] : T_940 extends object ? { [K_518 in keyof T_940]-?: T_940[K_518] extends infer T_942 ? T_942 extends T_940[K_518] ? T_942 extends CanBeExpanded ? any : T_942 extends (infer U)[] ? any[] : T_942 extends object ? { [K_519 in keyof T_942]-?: T_942[K_519] extends infer T_943 ? T_943 extends T_942[K_519] ? T_943 extends CanBeExpanded ? T_943["default"] : T_943 : never : never; } : T_942 : never : never; } : T_940 : never : never : T_939 extends (infer U)[] ? any[] : T_939 extends object ? { [K_520 in keyof T_939]-?: T_939[K_520] extends infer T_944 ? T_944 extends T_939[K_520] ? T_944 extends CanBeExpanded ? T_944[PrefixWith, K_520, "."> extends infer T_945 ? T_945 extends PrefixWith, K_520, "."> ? T_945 extends SplitAC ? "value" : "default" : never : never] extends infer T_946 ? T_946 extends T_944[PrefixWith, K_520, "."> extends infer T_945 ? T_945 extends PrefixWith, K_520, "."> ? T_945 extends SplitAC ? "value" : "default" : never : never] ? T_946 extends CanBeExpanded ? any : T_946 extends (infer U)[] ? any[] : T_946 extends object ? { [K_521 in keyof T_946]-?: T_946[K_521] extends infer T_947 ? T_947 extends T_946[K_521] ? T_947 extends CanBeExpanded ? T_947["default"] : T_947 : never : never; } : T_946 : never : never : T_944 extends (infer U)[] ? any[] : T_944 extends object ? { [K_522 in keyof T_944]-?: T_944[K_522] extends infer T_948 ? T_948 extends T_944[K_522] ? T_948 extends CanBeExpanded ? T_948["default"] : T_948 : never : never; } : T_944 : never : never; } : T_939 : never : never : T_938 extends (infer U)[] ? any[] : T_938 extends object ? { [K_523 in keyof T_938]-?: T_938[K_523] extends infer T_949 ? T_949 extends T_938[K_523] ? T_949 extends CanBeExpanded ? T_949[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] extends infer T_951 ? T_951 extends T_949[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] ? T_951 extends CanBeExpanded ? T_951[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] extends infer T_952 ? T_952 extends T_951[PrefixWith, K_523, "."> extends infer T_950 ? T_950 extends PrefixWith, K_523, "."> ? T_950 extends SplitAC ? "value" : "default" : never : never] ? T_952 extends CanBeExpanded ? any : T_952 extends (infer U)[] ? any[] : T_952 extends object ? { [K_524 in keyof T_952]-?: T_952[K_524] extends infer T_953 ? T_953 extends T_952[K_524] ? T_953 extends CanBeExpanded ? T_953["default"] : T_953 : never : never; } : T_952 : never : never : T_951 extends (infer U)[] ? any[] : T_951 extends object ? { [K_525 in keyof T_951]-?: T_951[K_525] extends infer T_954 ? T_954 extends T_951[K_525] ? T_954 extends CanBeExpanded ? T_954["default"] : T_954 : never : never; } : T_951 : never : never : T_949 extends (infer U)[] ? any[] : T_949 extends object ? { [K_526 in keyof T_949]-?: T_949[K_526] extends infer T_955 ? T_955 extends T_949[K_526] ? T_955 extends CanBeExpanded ? T_955["default"] : T_955 : never : never; } : T_949 : never : never; } : T_938 : never : never : T_937 extends (infer U)[] ? any[] : T_937 extends object ? { [K_527 in keyof T_937]-?: T_937[K_527] extends infer T_956 ? T_956 extends T_937[K_527] ? T_956 extends CanBeExpanded ? T_956[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] extends infer T_958 ? T_958 extends T_956[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] ? T_958 extends CanBeExpanded ? T_958[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] extends infer T_959 ? T_959 extends T_958[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] ? T_959 extends CanBeExpanded ? T_959[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] extends infer T_960 ? T_960 extends T_959[PrefixWith, K_527, "."> extends infer T_957 ? T_957 extends PrefixWith, K_527, "."> ? T_957 extends SplitAC ? "value" : "default" : never : never] ? T_960 extends CanBeExpanded ? any : T_960 extends (infer U)[] ? any[] : T_960 extends object ? { [K_528 in keyof T_960]-?: T_960[K_528] extends infer T_961 ? T_961 extends T_960[K_528] ? T_961 extends CanBeExpanded ? T_961["default"] : T_961 : never : never; } : T_960 : never : never : T_959 extends (infer U)[] ? any[] : T_959 extends object ? { [K_529 in keyof T_959]-?: T_959[K_529] extends infer T_962 ? T_962 extends T_959[K_529] ? T_962 extends CanBeExpanded ? T_962["default"] : T_962 : never : never; } : T_959 : never : never : T_958 extends (infer U)[] ? any[] : T_958 extends object ? { [K_530 in keyof T_958]-?: T_958[K_530] extends infer T_963 ? T_963 extends T_958[K_530] ? T_963 extends CanBeExpanded ? T_963["default"] : T_963 : never : never; } : T_958 : never : never : T_956 extends (infer U)[] ? any[] : T_956 extends object ? { [K_531 in keyof T_956]-?: T_956[K_531] extends infer T_964 ? T_964 extends T_956[K_531] ? T_964 extends CanBeExpanded ? T_964["default"] : T_964 : never : never; } : T_956 : never : never; } : T_937 : never : never : T_936 extends (infer U)[] ? any[] : T_936 extends object ? { [K_532 in keyof T_936]-?: T_936[K_532] extends infer T_965 ? T_965 extends T_936[K_532] ? T_965 extends CanBeExpanded ? T_965[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_967 ? T_967 extends T_965[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_967 extends CanBeExpanded ? T_967[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_968 ? T_968 extends T_967[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_968 extends CanBeExpanded ? T_968[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_969 ? T_969 extends T_968[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_969 extends CanBeExpanded ? T_969[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] extends infer T_970 ? T_970 extends T_969[PrefixWith, K_532, "."> extends infer T_966 ? T_966 extends PrefixWith, K_532, "."> ? T_966 extends SplitAC ? "value" : "default" : never : never] ? T_970 extends CanBeExpanded ? any : T_970 extends (infer U)[] ? any[] : T_970 extends object ? { [K_533 in keyof T_970]-?: T_970[K_533] extends infer T_971 ? T_971 extends T_970[K_533] ? T_971 extends CanBeExpanded ? T_971["default"] : T_971 : never : never; } : T_970 : never : never : T_969 extends (infer U)[] ? any[] : T_969 extends object ? { [K_534 in keyof T_969]-?: T_969[K_534] extends infer T_972 ? T_972 extends T_969[K_534] ? T_972 extends CanBeExpanded ? T_972["default"] : T_972 : never : never; } : T_969 : never : never : T_968 extends (infer U)[] ? any[] : T_968 extends object ? { [K_535 in keyof T_968]-?: T_968[K_535] extends infer T_973 ? T_973 extends T_968[K_535] ? T_973 extends CanBeExpanded ? T_973["default"] : T_973 : never : never; } : T_968 : never : never : T_967 extends (infer U)[] ? any[] : T_967 extends object ? { [K_536 in keyof T_967]-?: T_967[K_536] extends infer T_974 ? T_974 extends T_967[K_536] ? T_974 extends CanBeExpanded ? T_974["default"] : T_974 : never : never; } : T_967 : never : never : T_965 extends (infer U)[] ? any[] : T_965 extends object ? { [K_537 in keyof T_965]-?: T_965[K_537] extends infer T_975 ? T_975 extends T_965[K_537] ? T_975 extends CanBeExpanded ? T_975["default"] : T_975 : never : never; } : T_965 : never : never; } : T_936 : never : never : T_935 extends (infer U)[] ? any[] : T_935 extends object ? { [K_538 in keyof T_935]-?: T_935[K_538] extends infer T_976 ? T_976 extends T_935[K_538] ? T_976 extends CanBeExpanded ? T_976[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_978 ? T_978 extends T_976[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_978 extends CanBeExpanded ? T_978[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_979 ? T_979 extends T_978[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_979 extends CanBeExpanded ? T_979[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_980 ? T_980 extends T_979[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_980 extends CanBeExpanded ? T_980[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_981 ? T_981 extends T_980[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_981 extends CanBeExpanded ? T_981[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] extends infer T_982 ? T_982 extends T_981[PrefixWith, K_538, "."> extends infer T_977 ? T_977 extends PrefixWith, K_538, "."> ? T_977 extends SplitAC ? "value" : "default" : never : never] ? T_982 extends CanBeExpanded ? any : T_982 extends (infer U)[] ? any[] : T_982 extends object ? { [K_539 in keyof T_982]-?: T_982[K_539] extends infer T_983 ? T_983 extends T_982[K_539] ? T_983 extends CanBeExpanded ? T_983["default"] : T_983 : never : never; } : T_982 : never : never : T_981 extends (infer U)[] ? any[] : T_981 extends object ? { [K_540 in keyof T_981]-?: T_981[K_540] extends infer T_984 ? T_984 extends T_981[K_540] ? T_984 extends CanBeExpanded ? T_984["default"] : T_984 : never : never; } : T_981 : never : never : T_980 extends (infer U)[] ? any[] : T_980 extends object ? { [K_541 in keyof T_980]-?: T_980[K_541] extends infer T_985 ? T_985 extends T_980[K_541] ? T_985 extends CanBeExpanded ? T_985["default"] : T_985 : never : never; } : T_980 : never : never : T_979 extends (infer U)[] ? any[] : T_979 extends object ? { [K_542 in keyof T_979]-?: T_979[K_542] extends infer T_986 ? T_986 extends T_979[K_542] ? T_986 extends CanBeExpanded ? T_986["default"] : T_986 : never : never; } : T_979 : never : never : T_978 extends (infer U)[] ? any[] : T_978 extends object ? { [K_543 in keyof T_978]-?: T_978[K_543] extends infer T_987 ? T_987 extends T_978[K_543] ? T_987 extends CanBeExpanded ? T_987["default"] : T_987 : never : never; } : T_978 : never : never : T_976 extends (infer U)[] ? any[] : T_976 extends object ? { [K_544 in keyof T_976]-?: T_976[K_544] extends infer T_988 ? T_988 extends T_976[K_544] ? T_988 extends CanBeExpanded ? T_988["default"] : T_988 : never : never; } : T_976 : never : never; } : T_935 : never : never : T_934 extends (infer U)[] ? any[] : T_934 extends object ? { [K_545 in keyof T_934]-?: T_934[K_545] extends infer T_989 ? T_989 extends T_934[K_545] ? T_989 extends CanBeExpanded ? T_989[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_991 ? T_991 extends T_989[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_991 extends CanBeExpanded ? T_991[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_992 ? T_992 extends T_991[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_992 extends CanBeExpanded ? T_992[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_993 ? T_993 extends T_992[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_993 extends CanBeExpanded ? T_993[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_994 ? T_994 extends T_993[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_994 extends CanBeExpanded ? T_994[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_995 ? T_995 extends T_994[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_995 extends CanBeExpanded ? T_995[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] extends infer T_996 ? T_996 extends T_995[PrefixWith, K_545, "."> extends infer T_990 ? T_990 extends PrefixWith, K_545, "."> ? T_990 extends SplitAC ? "value" : "default" : never : never] ? T_996 extends CanBeExpanded ? any : T_996 extends (infer U)[] ? any[] : T_996 extends object ? { [K_546 in keyof T_996]-?: T_996[K_546] extends infer T_997 ? T_997 extends T_996[K_546] ? T_997 extends CanBeExpanded ? T_997["default"] : T_997 : never : never; } : T_996 : never : never : T_995 extends (infer U)[] ? any[] : T_995 extends object ? { [K_547 in keyof T_995]-?: T_995[K_547] extends infer T_998 ? T_998 extends T_995[K_547] ? T_998 extends CanBeExpanded ? T_998["default"] : T_998 : never : never; } : T_995 : never : never : T_994 extends (infer U)[] ? any[] : T_994 extends object ? { [K_548 in keyof T_994]-?: T_994[K_548] extends infer T_999 ? T_999 extends T_994[K_548] ? T_999 extends CanBeExpanded ? T_999["default"] : T_999 : never : never; } : T_994 : never : never : T_993 extends (infer U)[] ? any[] : T_993 extends object ? { [K_549 in keyof T_993]-?: T_993[K_549] extends infer T_1000 ? T_1000 extends T_993[K_549] ? T_1000 extends CanBeExpanded ? T_1000["default"] : T_1000 : never : never; } : T_993 : never : never : T_992 extends (infer U)[] ? any[] : T_992 extends object ? { [K_550 in keyof T_992]-?: T_992[K_550] extends infer T_1001 ? T_1001 extends T_992[K_550] ? T_1001 extends CanBeExpanded ? T_1001["default"] : T_1001 : never : never; } : T_992 : never : never : T_991 extends (infer U)[] ? any[] : T_991 extends object ? { [K_551 in keyof T_991]-?: T_991[K_551] extends infer T_1002 ? T_1002 extends T_991[K_551] ? T_1002 extends CanBeExpanded ? T_1002["default"] : T_1002 : never : never; } : T_991 : never : never : T_989 extends (infer U)[] ? any[] : T_989 extends object ? { [K_552 in keyof T_989]-?: T_989[K_552] extends infer T_1003 ? T_1003 extends T_989[K_552] ? T_1003 extends CanBeExpanded ? T_1003["default"] : T_1003 : never : never; } : T_989 : never : never; } : T_934 : never : never : T_932 extends (infer U)[] ? any[] : T_932 extends object ? { [K_553 in keyof T_932]-?: T_932[K_553] extends infer T_1004 ? T_1004 extends T_932[K_553] ? T_1004 extends CanBeExpanded ? T_1004[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1006 ? T_1006 extends T_1004[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1006 extends CanBeExpanded ? T_1006[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1007 ? T_1007 extends T_1006[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1007 extends CanBeExpanded ? T_1007[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1008 ? T_1008 extends T_1007[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1008 extends CanBeExpanded ? T_1008[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1009 ? T_1009 extends T_1008[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1009 extends CanBeExpanded ? T_1009[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1010 ? T_1010 extends T_1009[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1010 extends CanBeExpanded ? T_1010[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1011 ? T_1011 extends T_1010[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1011 extends CanBeExpanded ? T_1011[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] extends infer T_1012 ? T_1012 extends T_1011[PrefixWith, K_553, "."> extends infer T_1005 ? T_1005 extends PrefixWith, K_553, "."> ? T_1005 extends SplitAC ? "value" : "default" : never : never] ? T_1012 extends CanBeExpanded ? any : T_1012 extends (infer U)[] ? any[] : T_1012 extends object ? { [K_554 in keyof T_1012]-?: T_1012[K_554] extends infer T_1013 ? T_1013 extends T_1012[K_554] ? T_1013 extends CanBeExpanded ? T_1013["default"] : T_1013 : never : never; } : T_1012 : never : never : T_1011 extends (infer U)[] ? any[] : T_1011 extends object ? { [K_555 in keyof T_1011]-?: T_1011[K_555] extends infer T_1014 ? T_1014 extends T_1011[K_555] ? T_1014 extends CanBeExpanded ? T_1014["default"] : T_1014 : never : never; } : T_1011 : never : never : T_1010 extends (infer U)[] ? any[] : T_1010 extends object ? { [K_556 in keyof T_1010]-?: T_1010[K_556] extends infer T_1015 ? T_1015 extends T_1010[K_556] ? T_1015 extends CanBeExpanded ? T_1015["default"] : T_1015 : never : never; } : T_1010 : never : never : T_1009 extends (infer U)[] ? any[] : T_1009 extends object ? { [K_557 in keyof T_1009]-?: T_1009[K_557] extends infer T_1016 ? T_1016 extends T_1009[K_557] ? T_1016 extends CanBeExpanded ? T_1016["default"] : T_1016 : never : never; } : T_1009 : never : never : T_1008 extends (infer U)[] ? any[] : T_1008 extends object ? { [K_558 in keyof T_1008]-?: T_1008[K_558] extends infer T_1017 ? T_1017 extends T_1008[K_558] ? T_1017 extends CanBeExpanded ? T_1017["default"] : T_1017 : never : never; } : T_1008 : never : never : T_1007 extends (infer U)[] ? any[] : T_1007 extends object ? { [K_559 in keyof T_1007]-?: T_1007[K_559] extends infer T_1018 ? T_1018 extends T_1007[K_559] ? T_1018 extends CanBeExpanded ? T_1018["default"] : T_1018 : never : never; } : T_1007 : never : never : T_1006 extends (infer U)[] ? any[] : T_1006 extends object ? { [K_560 in keyof T_1006]-?: T_1006[K_560] extends infer T_1019 ? T_1019 extends T_1006[K_560] ? T_1019 extends CanBeExpanded ? T_1019["default"] : T_1019 : never : never; } : T_1006 : never : never : T_1004 extends (infer U)[] ? any[] : T_1004 extends object ? { [K_561 in keyof T_1004]-?: T_1004[K_561] extends infer T_1020 ? T_1020 extends T_1004[K_561] ? T_1020 extends CanBeExpanded ? T_1020["default"] : T_1020 : never : never; } : T_1004 : never : never; } : T_932 : never : never; } : T_689 : never : never; } : T type UseQueryOptions3 = Expand_ extends infer O ? O : never >UseQueryOptions3 : UseQueryOptions3 diff --git a/tests/baselines/reference/recursiveReverseMappedType.types b/tests/baselines/reference/recursiveReverseMappedType.types index 761a5893fd43b..3526b115c1366 100644 --- a/tests/baselines/reference/recursiveReverseMappedType.types +++ b/tests/baselines/reference/recursiveReverseMappedType.types @@ -27,7 +27,7 @@ function a(l: Recur[]): void { const x: Recur | undefined = join(l); >x : Recur | undefined >join(l) : Recur ->join : (l: Recur[]) => Recur +>join : (l: Recur[]) => Recur >l : Recur[] } diff --git a/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.types b/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.types index 087c597359313..d4198da0cde85 100644 --- a/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.types +++ b/tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.types @@ -30,7 +30,7 @@ function foo(x: List); // error, duplicate >x : List function foo(x: List) { ->foo : { (x: List): any; (x: List): any; } +>foo : { (x: List): any; (x: List): any; } >x : List } @@ -43,7 +43,7 @@ function foo2(x: MyList); // ok, nominally compared with first overload >x : MyList function foo2(x: any) { ->foo2 : { (x: List): any; (x: MyList): any; } +>foo2 : { (x: List): any; (x: MyList): any; } >x : any } @@ -57,7 +57,7 @@ function other, U>() { >x : T function foo3(x: MyList) { } ->foo3 : (x: T) => any +>foo3 : (x: T) => any >x : MyList // should be error @@ -67,24 +67,24 @@ function other, U>() { >x : T function foo4(x: List) { } ->foo4 : (x: T) => any +>foo4 : (x: T) => any >x : List // ok function foo5(x: T): string; ->foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } +>foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } >x : T function foo5(x: List): number; ->foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } +>foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } >x : List function foo5(x: MyList): boolean; ->foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } +>foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } >x : MyList function foo5(x: any): any { return null; } ->foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } +>foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } >x : any var list: List; @@ -96,12 +96,12 @@ function other, U>() { var r = foo5(list); >r : number >foo5(list) : number ->foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } +>foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } >list : List var r2 = foo5(myList); >r2 : number >foo5(myList) : number ->foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } +>foo5 : { (x: T): string; (x: List): number; (x: MyList): boolean; } >myList : MyList } diff --git a/tests/baselines/reference/restElementWithNumberPropertyName.types b/tests/baselines/reference/restElementWithNumberPropertyName.types index 81077fcdc7512..925045bd4afe7 100644 --- a/tests/baselines/reference/restElementWithNumberPropertyName.types +++ b/tests/baselines/reference/restElementWithNumberPropertyName.types @@ -3,7 +3,7 @@ === restElementWithNumberPropertyName.ts === const { 0: a, ...b } = [0, 1, 2]; >a : number ->b : { [n: number]: number; 0: number; 1: number; 2: number; length: 3; toString(): string; toLocaleString(): string; pop(): number; push(...items: number[]): number; concat(...items: ConcatArray[]): number[]; concat(...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, number, number]; splice(start: number, deleteCount?: number): number[]; splice(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[]; every(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[]; filter(predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; reduce(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; reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; } +>b : { [n: number]: number; 0: number; 1: number; 2: number; length: 3; toString(): string; toLocaleString(): string; pop(): number; push(...items: number[]): number; concat(...items: ConcatArray[]): number[]; concat(...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, number, number]; splice(start: number, deleteCount?: number): number[]; splice(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[]; every(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_1, thisArg?: any): S_1[]; filter(predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; reduce(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: number[]) => U_1, initialValue: U_1): U_1; reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; reduceRight(callbackfn: (previousValue: U_2, currentValue: number, currentIndex: number, array: number[]) => U_2, initialValue: U_2): U_2; } >[0, 1, 2] : [number, number, number] >0 : 0 >1 : 1 diff --git a/tests/baselines/reference/restInvalidArgumentType.types b/tests/baselines/reference/restInvalidArgumentType.types index a97d40bee9cf6..549b845a660a0 100644 --- a/tests/baselines/reference/restInvalidArgumentType.types +++ b/tests/baselines/reference/restInvalidArgumentType.types @@ -72,7 +72,7 @@ function f(p1: T, p2: T[]) { >p1 : T var {...r2} = p2; // OK ->r2 : { [n: number]: T; length: number; toString(): string; toLocaleString(): string; pop(): T; push(...items: T[]): number; concat(...items: ConcatArray[]): T[]; concat(...items: (T | ConcatArray)[]): T[]; join(separator?: string): string; reverse(): T[]; shift(): T; slice(start?: number, end?: number): T[]; sort(compareFn?: (a: T, b: T) => number): T[]; splice(start: number, deleteCount?: number): T[]; splice(start: number, deleteCount: number, ...items: T[]): T[]; unshift(...items: T[]): number; indexOf(searchElement: T, fromIndex?: number): number; lastIndexOf(searchElement: T, fromIndex?: number): number; every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; filter(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } +>r2 : { [n: number]: T; length: number; toString(): string; toLocaleString(): string; pop(): T; push(...items: T[]): number; concat(...items: ConcatArray[]): T[]; concat(...items: (T | ConcatArray)[]): T[]; join(separator?: string): string; reverse(): T[]; shift(): T; slice(start?: number, end?: number): T[]; sort(compareFn?: (a: T, b: T) => number): T[]; splice(start: number, deleteCount?: number): T[]; splice(start: number, deleteCount: number, ...items: T[]): T[]; unshift(...items: T[]): number; indexOf(searchElement: T, fromIndex?: number): number; lastIndexOf(searchElement: T, fromIndex?: number): number; every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; filter(predicate: (value: T, index: number, array: T[]) => value is S_1, thisArg?: any): S_1[]; filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduce(callbackfn: (previousValue: U_1, currentValue: T, currentIndex: number, array: T[]) => U_1, initialValue: U_1): U_1; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduceRight(callbackfn: (previousValue: U_2, currentValue: T, currentIndex: number, array: T[]) => U_2, initialValue: U_2): U_2; } >p2 : T[] var {...r3} = t; // Error, generic type paramter diff --git a/tests/baselines/reference/restParameterWithBindingPattern3.types b/tests/baselines/reference/restParameterWithBindingPattern3.types index 4104e8619875c..8911cd6931c30 100644 --- a/tests/baselines/reference/restParameterWithBindingPattern3.types +++ b/tests/baselines/reference/restParameterWithBindingPattern3.types @@ -33,5 +33,5 @@ function e(...{0: a = 1, 1: b = true, ...rest: rest}: [boolean, string, number]) >b : string >true : true >rest : any ->rest : { [n: number]: string | number | boolean; 0: boolean; 1: string; 2: number; length: 3; toString(): string; toLocaleString(): string; pop(): string | number | boolean; push(...items: (string | number | boolean)[]): number; concat(...items: ConcatArray[]): (string | number | boolean)[]; concat(...items: (string | number | boolean | ConcatArray)[]): (string | number | boolean)[]; join(separator?: string): string; reverse(): (string | number | boolean)[]; shift(): string | number | boolean; slice(start?: number, end?: number): (string | number | boolean)[]; sort(compareFn?: (a: string | number | boolean, b: string | number | boolean) => number): [boolean, string, number]; splice(start: number, deleteCount?: number): (string | number | boolean)[]; splice(start: number, deleteCount: number, ...items: (string | number | boolean)[]): (string | number | boolean)[]; unshift(...items: (string | number | boolean)[]): number; indexOf(searchElement: string | number | boolean, fromIndex?: number): number; lastIndexOf(searchElement: string | number | boolean, fromIndex?: number): number; every(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => unknown, thisArg?: any): boolean; some(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => void, thisArg?: any): void; map(callbackfn: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => U, thisArg?: any): U[]; filter(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => unknown, thisArg?: any): (string | number | boolean)[]; reduce(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean): string | number | boolean; reduce(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean, initialValue: string | number | boolean): string | number | boolean; reduce(callbackfn: (previousValue: U, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean): string | number | boolean; reduceRight(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean, initialValue: string | number | boolean): string | number | boolean; reduceRight(callbackfn: (previousValue: U, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => U, initialValue: U): U; } +>rest : { [n: number]: string | number | boolean; 0: boolean; 1: string; 2: number; length: 3; toString(): string; toLocaleString(): string; pop(): string | number | boolean; push(...items: (string | number | boolean)[]): number; concat(...items: ConcatArray[]): (string | number | boolean)[]; concat(...items: (string | number | boolean | ConcatArray)[]): (string | number | boolean)[]; join(separator?: string): string; reverse(): (string | number | boolean)[]; shift(): string | number | boolean; slice(start?: number, end?: number): (string | number | boolean)[]; sort(compareFn?: (a: string | number | boolean, b: string | number | boolean) => number): [boolean, string, number]; splice(start: number, deleteCount?: number): (string | number | boolean)[]; splice(start: number, deleteCount: number, ...items: (string | number | boolean)[]): (string | number | boolean)[]; unshift(...items: (string | number | boolean)[]): number; indexOf(searchElement: string | number | boolean, fromIndex?: number): number; lastIndexOf(searchElement: string | number | boolean, fromIndex?: number): number; every(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => unknown, thisArg?: any): boolean; some(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => void, thisArg?: any): void; map(callbackfn: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => U, thisArg?: any): U[]; filter(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => value is S_1, thisArg?: any): S_1[]; filter(predicate: (value: string | number | boolean, index: number, array: (string | number | boolean)[]) => unknown, thisArg?: any): (string | number | boolean)[]; reduce(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean): string | number | boolean; reduce(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean, initialValue: string | number | boolean): string | number | boolean; reduce(callbackfn: (previousValue: U_1, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => U_1, initialValue: U_1): U_1; reduceRight(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean): string | number | boolean; reduceRight(callbackfn: (previousValue: string | number | boolean, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => string | number | boolean, initialValue: string | number | boolean): string | number | boolean; reduceRight(callbackfn: (previousValue: U_2, currentValue: string | number | boolean, currentIndex: number, array: (string | number | boolean)[]) => U_2, initialValue: U_2): U_2; } diff --git a/tests/baselines/reference/restPropertyWithBindingPattern.types b/tests/baselines/reference/restPropertyWithBindingPattern.types index 970654185dbdb..b2d1b760495c1 100644 --- a/tests/baselines/reference/restPropertyWithBindingPattern.types +++ b/tests/baselines/reference/restPropertyWithBindingPattern.types @@ -19,14 +19,14 @@ ({...[]} = {}); >({...[]} = {}) : {} >{...[]} = {} : {} ->{...[]} : { [n: number]: never; length: 0; toString(): string; toLocaleString(): string; pop(): never; push(...items: never[]): number; concat(...items: ConcatArray[]): never[]; concat(...items: ConcatArray[]): never[]; join(separator?: string): string; reverse(): never[]; shift(): never; slice(start?: number, end?: number): never[]; sort(compareFn?: (a: never, b: never) => number): []; splice(start: number, deleteCount?: number): never[]; splice(start: number, deleteCount: number, ...items: never[]): never[]; unshift(...items: never[]): number; indexOf(searchElement: never, fromIndex?: number): number; lastIndexOf(searchElement: never, fromIndex?: number): number; every(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; some(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: never, index: number, array: never[]) => void, thisArg?: any): void; map(callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any): U[]; filter(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): never[]; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduce(callbackfn: (previousValue: U, currentValue: never, currentIndex: number, array: never[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduceRight(callbackfn: (previousValue: U, currentValue: never, currentIndex: number, array: never[]) => U, initialValue: U): U; } +>{...[]} : { [n: number]: never; length: 0; toString(): string; toLocaleString(): string; pop(): never; push(...items: never[]): number; concat(...items: ConcatArray[]): never[]; concat(...items: ConcatArray[]): never[]; join(separator?: string): string; reverse(): never[]; shift(): never; slice(start?: number, end?: number): never[]; sort(compareFn?: (a: never, b: never) => number): []; splice(start: number, deleteCount?: number): never[]; splice(start: number, deleteCount: number, ...items: never[]): never[]; unshift(...items: never[]): number; indexOf(searchElement: never, fromIndex?: number): number; lastIndexOf(searchElement: never, fromIndex?: number): number; every(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; some(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: never, index: number, array: never[]) => void, thisArg?: any): void; map(callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any): U[]; filter(predicate: (value: never, index: number, array: never[]) => value is S_1, thisArg?: any): S_1[]; filter(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): never[]; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduce(callbackfn: (previousValue: U_1, currentValue: never, currentIndex: number, array: never[]) => U_1, initialValue: U_1): U_1; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduceRight(callbackfn: (previousValue: U_2, currentValue: never, currentIndex: number, array: never[]) => U_2, initialValue: U_2): U_2; } >[] : [] >{} : {} ({...([])} = {}); >({...([])} = {}) : {} >{...([])} = {} : {} ->{...([])} : { [n: number]: never; length: 0; toString(): string; toLocaleString(): string; pop(): never; push(...items: never[]): number; concat(...items: ConcatArray[]): never[]; concat(...items: ConcatArray[]): never[]; join(separator?: string): string; reverse(): never[]; shift(): never; slice(start?: number, end?: number): never[]; sort(compareFn?: (a: never, b: never) => number): []; splice(start: number, deleteCount?: number): never[]; splice(start: number, deleteCount: number, ...items: never[]): never[]; unshift(...items: never[]): number; indexOf(searchElement: never, fromIndex?: number): number; lastIndexOf(searchElement: never, fromIndex?: number): number; every(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; some(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: never, index: number, array: never[]) => void, thisArg?: any): void; map(callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any): U[]; filter(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): never[]; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduce(callbackfn: (previousValue: U, currentValue: never, currentIndex: number, array: never[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduceRight(callbackfn: (previousValue: U, currentValue: never, currentIndex: number, array: never[]) => U, initialValue: U): U; } +>{...([])} : { [n: number]: never; length: 0; toString(): string; toLocaleString(): string; pop(): never; push(...items: never[]): number; concat(...items: ConcatArray[]): never[]; concat(...items: ConcatArray[]): never[]; join(separator?: string): string; reverse(): never[]; shift(): never; slice(start?: number, end?: number): never[]; sort(compareFn?: (a: never, b: never) => number): []; splice(start: number, deleteCount?: number): never[]; splice(start: number, deleteCount: number, ...items: never[]): never[]; unshift(...items: never[]): number; indexOf(searchElement: never, fromIndex?: number): number; lastIndexOf(searchElement: never, fromIndex?: number): number; every(predicate: (value: never, index: number, array: never[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; some(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: never, index: number, array: never[]) => void, thisArg?: any): void; map(callbackfn: (value: never, index: number, array: never[]) => U, thisArg?: any): U[]; filter(predicate: (value: never, index: number, array: never[]) => value is S_1, thisArg?: any): S_1[]; filter(predicate: (value: never, index: number, array: never[]) => unknown, thisArg?: any): never[]; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduce(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduce(callbackfn: (previousValue: U_1, currentValue: never, currentIndex: number, array: never[]) => U_1, initialValue: U_1): U_1; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never): never; reduceRight(callbackfn: (previousValue: never, currentValue: never, currentIndex: number, array: never[]) => never, initialValue: never): never; reduceRight(callbackfn: (previousValue: U_2, currentValue: never, currentIndex: number, array: never[]) => U_2, initialValue: U_2): U_2; } >([]) : [] >[] : [] >{} : {} diff --git a/tests/baselines/reference/simplifyingConditionalWithInteriorConditionalIsRelated.types b/tests/baselines/reference/simplifyingConditionalWithInteriorConditionalIsRelated.types index e9d21e88a4e78..368c15d87d6b5 100644 --- a/tests/baselines/reference/simplifyingConditionalWithInteriorConditionalIsRelated.types +++ b/tests/baselines/reference/simplifyingConditionalWithInteriorConditionalIsRelated.types @@ -19,7 +19,7 @@ function JustConditional(): ConditionalType { return ConditionalOrUndefined()!; // shouldn't error >ConditionalOrUndefined()! : ConditionalType >ConditionalOrUndefined() : ConditionalType | undefined ->ConditionalOrUndefined : () => ConditionalType | undefined +>ConditionalOrUndefined : () => ConditionalType | undefined } @@ -38,7 +38,7 @@ function JustGeneric(): T { return genericOrUndefined()!; // no error >genericOrUndefined()! : NonNullable >genericOrUndefined() : T | undefined ->genericOrUndefined : () => T | undefined +>genericOrUndefined : () => T_1 | undefined } // Simplified example: diff --git a/tests/baselines/reference/specializationError.types b/tests/baselines/reference/specializationError.types index 8db99160074d0..6934a86a3b6ac 100644 --- a/tests/baselines/reference/specializationError.types +++ b/tests/baselines/reference/specializationError.types @@ -9,16 +9,16 @@ interface Promise { interface Bar { bar(value: "Menu"): Promise; ->bar : { (value: "Menu"): Promise; (value: string, element: string): Promise; (value: string): Promise; } +>bar : { (value: "Menu"): Promise; (value: string, element: string): Promise; (value: string): Promise; } >value : "Menu" bar(value: string, element: string): Promise; ->bar : { (value: "Menu"): Promise; (value: string, element: string): Promise; (value: string): Promise; } +>bar : { (value: "Menu"): Promise; (value: string, element: string): Promise; (value: string): Promise; } >value : string >element : string bar(value: string): Promise; ->bar : { (value: "Menu"): Promise; (value: string, element: string): Promise; (value: string): Promise; } +>bar : { (value: "Menu"): Promise; (value: string, element: string): Promise; (value: string): Promise; } >value : string } diff --git a/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.types b/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.types index 7cac3a934a948..cead646fda14b 100644 --- a/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.types +++ b/tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.types @@ -124,7 +124,7 @@ var a: { } var a2: { ->a2 : { (x: 'a'): any; (x: T): any; foo(x: 'a'): any; foo(x: T): any; } +>a2 : { (x: 'a'): any; (x: T): any; foo(x: 'a'): any; foo(x: T_1): any; } (x: 'a'); >x : "a" @@ -142,7 +142,7 @@ var a2: { } var a3: { ->a3 : { (x: 'a'): any; (x: T): any; foo(x: 'a'): any; foo(x: T): any; } +>a3 : { (x: 'a'): any; (x: T): any; foo(x: 'a'): any; foo(x: T_1): any; } (x: 'a'); >x : "a" diff --git a/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.types b/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.types index 7f030c4c93ad1..fcfb876590eb8 100644 --- a/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.types +++ b/tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.types @@ -167,7 +167,7 @@ var a: { } var a2: { ->a2 : { (x: 'a'): any; (x: string): any; (x: T): any; foo(x: string): any; foo(x: 'a'): any; foo(x: T): any; } +>a2 : { (x: 'a'): any; (x: string): any; (x: T): any; foo(x: string): any; foo(x: 'a'): any; foo(x: T_1): any; } (x: 'a'); >x : "a" @@ -192,7 +192,7 @@ var a2: { } var a3: { ->a3 : { (x: 'a'): any; (x: T): any; (x: string): any; foo(x: string): any; foo(x: 'a'): any; foo(x: T): any; } +>a3 : { (x: 'a'): any; (x: T): any; (x: string): any; foo(x: string): any; foo(x: 'a'): any; foo(x: T_1): any; } (x: 'a'); >x : "a" diff --git a/tests/baselines/reference/spreadInvalidArgumentType.types b/tests/baselines/reference/spreadInvalidArgumentType.types index b4166b2678c48..48d4b266be95d 100644 --- a/tests/baselines/reference/spreadInvalidArgumentType.types +++ b/tests/baselines/reference/spreadInvalidArgumentType.types @@ -74,8 +74,8 @@ function f(p1: T, p2: T[]) { >p1 : T var o2 = { ...p2 }; // OK ->o2 : { [x: number]: T; length: number; toString(): string; toLocaleString(): string; pop(): T; push(...items: T[]): number; concat(...items: ConcatArray[]): T[]; concat(...items: (T | ConcatArray)[]): T[]; join(separator?: string): string; reverse(): T[]; shift(): T; slice(start?: number, end?: number): T[]; sort(compareFn?: (a: T, b: T) => number): T[]; splice(start: number, deleteCount?: number): T[]; splice(start: number, deleteCount: number, ...items: T[]): T[]; unshift(...items: T[]): number; indexOf(searchElement: T, fromIndex?: number): number; lastIndexOf(searchElement: T, fromIndex?: number): number; every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; filter(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } ->{ ...p2 } : { [n: number]: T; length: number; toString(): string; toLocaleString(): string; pop(): T; push(...items: T[]): number; concat(...items: ConcatArray[]): T[]; concat(...items: (T | ConcatArray)[]): T[]; join(separator?: string): string; reverse(): T[]; shift(): T; slice(start?: number, end?: number): T[]; sort(compareFn?: (a: T, b: T) => number): T[]; splice(start: number, deleteCount?: number): T[]; splice(start: number, deleteCount: number, ...items: T[]): T[]; unshift(...items: T[]): number; indexOf(searchElement: T, fromIndex?: number): number; lastIndexOf(searchElement: T, fromIndex?: number): number; every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; filter(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; } +>o2 : { [x: number]: T; length: number; toString(): string; toLocaleString(): string; pop(): T; push(...items: T[]): number; concat(...items: ConcatArray[]): T[]; concat(...items: (T | ConcatArray)[]): T[]; join(separator?: string): string; reverse(): T[]; shift(): T; slice(start?: number, end?: number): T[]; sort(compareFn?: (a: T, b: T) => number): T[]; splice(start: number, deleteCount?: number): T[]; splice(start: number, deleteCount: number, ...items: T[]): T[]; unshift(...items: T[]): number; indexOf(searchElement: T, fromIndex?: number): number; lastIndexOf(searchElement: T, fromIndex?: number): number; every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; filter(predicate: (value: T, index: number, array: T[]) => value is S_1, thisArg?: any): S_1[]; filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduce(callbackfn: (previousValue: U_1, currentValue: T, currentIndex: number, array: T[]) => U_1, initialValue: U_1): U_1; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduceRight(callbackfn: (previousValue: U_2, currentValue: T, currentIndex: number, array: T[]) => U_2, initialValue: U_2): U_2; } +>{ ...p2 } : { [n: number]: T; length: number; toString(): string; toLocaleString(): string; pop(): T; push(...items: T[]): number; concat(...items: ConcatArray[]): T[]; concat(...items: (T | ConcatArray)[]): T[]; join(separator?: string): string; reverse(): T[]; shift(): T; slice(start?: number, end?: number): T[]; sort(compareFn?: (a: T, b: T) => number): T[]; splice(start: number, deleteCount?: number): T[]; splice(start: number, deleteCount: number, ...items: T[]): T[]; unshift(...items: T[]): number; indexOf(searchElement: T, fromIndex?: number): number; lastIndexOf(searchElement: T, fromIndex?: number): number; every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; filter(predicate: (value: T, index: number, array: T[]) => value is S_1, thisArg?: any): S_1[]; filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduce(callbackfn: (previousValue: U_1, currentValue: T, currentIndex: number, array: T[]) => U_1, initialValue: U_1): U_1; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; reduceRight(callbackfn: (previousValue: U_2, currentValue: T, currentIndex: number, array: T[]) => U_2, initialValue: U_2): U_2; } >p2 : T[] var o3 = { ...t }; // OK, generic type paramter diff --git a/tests/baselines/reference/spyComparisonChecking.types b/tests/baselines/reference/spyComparisonChecking.types index 4299f4b0035bf..2e32828c510d4 100644 --- a/tests/baselines/reference/spyComparisonChecking.types +++ b/tests/baselines/reference/spyComparisonChecking.types @@ -40,7 +40,7 @@ function mock(spyName: string, methodNames: Array): SpyObj { const spyObj = createSpyObj(spyName, methodNames); >spyObj : SpyObj >createSpyObj(spyName, methodNames) : SpyObj ->createSpyObj : (name: string, names: (keyof T)[]) => SpyObj +>createSpyObj : (name: string, names: (keyof T_1)[]) => SpyObj >spyName : string >methodNames : (keyof T)[] diff --git a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types index 19a594a49fbff..7663fd0974b6d 100644 --- a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types +++ b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types @@ -49,9 +49,9 @@ class ListWrapper2 { var a = ListWrapper2.clone(dit, array); >a : T[] >ListWrapper2.clone(dit, array) : T[] ->ListWrapper2.clone : (dit: typeof ListWrapper2, array: T[]) => T[] +>ListWrapper2.clone : (dit: typeof ListWrapper2, array: T_1[]) => T_1[] >ListWrapper2 : typeof ListWrapper2 ->clone : (dit: typeof ListWrapper2, array: T[]) => T[] +>clone : (dit: typeof ListWrapper2, array: T_1[]) => T_1[] >dit : typeof ListWrapper2 >array : T[] @@ -262,9 +262,9 @@ class ListWrapper { var a = ListWrapper.clone(dit, array); >a : T[] >ListWrapper.clone(dit, array) : T[] ->ListWrapper.clone : (dit: typeof ListWrapper, array: T[]) => T[] +>ListWrapper.clone : (dit: typeof ListWrapper, array: T_1[]) => T_1[] >ListWrapper : typeof ListWrapper ->clone : (dit: typeof ListWrapper, array: T[]) => T[] +>clone : (dit: typeof ListWrapper, array: T_1[]) => T_1[] >dit : typeof ListWrapper >array : T[] @@ -273,9 +273,9 @@ class ListWrapper { scanner.scanRange(3, 5, () => { }); >scanner.scanRange(3, 5, () => { }) : void ->scanner.scanRange : (start: number, length: number, callback: () => T) => T +>scanner.scanRange : (start: number, length: number, callback: () => T_1) => T_1 >scanner : Scanner ->scanRange : (start: number, length: number, callback: () => T) => T +>scanRange : (start: number, length: number, callback: () => T_1) => T_1 >3 : 3 >5 : 5 >() => { } : () => void @@ -283,9 +283,9 @@ class ListWrapper { return tessst.funkyFor(array, t => t.toString()) ? a.reverse() : a; >tessst.funkyFor(array, t => t.toString()) ? a.reverse() : a : T[] >tessst.funkyFor(array, t => t.toString()) : string ->tessst.funkyFor : (array: T[], callback: (element: T, index: number) => U) => U +>tessst.funkyFor : (array: T_1[], callback: (element: T_1, index: number) => U) => U >tessst : typeof tessst ->funkyFor : (array: T[], callback: (element: T, index: number) => U) => U +>funkyFor : (array: T_1[], callback: (element: T_1, index: number) => U) => U >array : T[] >t => t.toString() : (t: T) => string >t : T @@ -556,7 +556,7 @@ class ListWrapper { if (isPresent(compareFn)) { >isPresent(compareFn) : boolean ->isPresent : (compareFn?: (a: T, b: T) => number) => boolean +>isPresent : (compareFn?: (a: T_1, b: T_1) => number) => boolean >compareFn : (a: T, b: T) => number l.sort(compareFn); diff --git a/tests/baselines/reference/strictBindCallApply1.types b/tests/baselines/reference/strictBindCallApply1.types index 85bc6138eba87..46e6891e5bfc5 100644 --- a/tests/baselines/reference/strictBindCallApply1.types +++ b/tests/baselines/reference/strictBindCallApply1.types @@ -21,26 +21,26 @@ declare function generic(x: T): T; let f00 = foo.bind(undefined); >f00 : (a: number, b: string) => string >foo.bind(undefined) : (a: number, b: string) => string ->foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >foo : (a: number, b: string) => string ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >undefined : undefined let f01 = foo.bind(undefined, 10); >f01 : (b: string) => string >foo.bind(undefined, 10) : (b: string) => string ->foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >foo : (a: number, b: string) => string ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >undefined : undefined >10 : 10 let f02 = foo.bind(undefined, 10, "hello"); >f02 : () => string >foo.bind(undefined, 10, "hello") : () => string ->foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >foo : (a: number, b: string) => string ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >undefined : undefined >10 : 10 >"hello" : "hello" @@ -48,9 +48,9 @@ let f02 = foo.bind(undefined, 10, "hello"); let f03 = foo.bind(undefined, 10, 20); // Error >f03 : () => string >foo.bind(undefined, 10, 20) : () => string ->foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >foo : (a: number, b: string) => string ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >undefined : undefined >10 : 10 >20 : 20 @@ -58,17 +58,17 @@ let f03 = foo.bind(undefined, 10, 20); // Error let f04 = overloaded.bind(undefined); // typeof overloaded >f04 : { (s: string): number; (n: number): string; } >overloaded.bind(undefined) : { (s: string): number; (n: number): string; } ->overloaded.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>overloaded.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >overloaded : { (s: string): number; (n: number): string; } ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >undefined : undefined let f05 = generic.bind(undefined); // typeof generic >f05 : (x: T) => T >generic.bind(undefined) : (x: T) => T ->generic.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>generic.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >generic : (x: T) => T ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >undefined : undefined let c00 = foo.call(undefined, 10, "hello"); @@ -114,9 +114,9 @@ let c03 = foo.call(undefined, 10, "hello", 30); // Error let a00 = foo.apply(undefined, [10, "hello"]); >a00 : string >foo.apply(undefined, [10, "hello"]) : string ->foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >foo : (a: number, b: string) => string ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >undefined : undefined >[10, "hello"] : [number, string] >10 : 10 @@ -125,9 +125,9 @@ let a00 = foo.apply(undefined, [10, "hello"]); let a01 = foo.apply(undefined, [10]); // Error >a01 : string >foo.apply(undefined, [10]) : string ->foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >foo : (a: number, b: string) => string ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >undefined : undefined >[10] : [number] >10 : 10 @@ -135,9 +135,9 @@ let a01 = foo.apply(undefined, [10]); // Error let a02 = foo.apply(undefined, [10, 20]); // Error >a02 : string >foo.apply(undefined, [10, 20]) : string ->foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >foo : (a: number, b: string) => string ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >undefined : undefined >[10, 20] : [number, number] >10 : 10 @@ -146,9 +146,9 @@ let a02 = foo.apply(undefined, [10, 20]); // Error let a03 = foo.apply(undefined, [10, "hello", 30]); // Error >a03 : string >foo.apply(undefined, [10, "hello", 30]) : string ->foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >foo : (a: number, b: string) => string ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >undefined : undefined >[10, "hello", 30] : [number, string, number] >10 : 10 @@ -198,32 +198,32 @@ declare let obj: {}; let f10 = c.foo.bind(c); >f10 : (a: number, b: string) => string >c.foo.bind(c) : (a: number, b: string) => string ->c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >c.foo : (this: C, a: number, b: string) => string >c : C >foo : (this: C, a: number, b: string) => string ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >c : C let f11 = c.foo.bind(c, 10); >f11 : (b: string) => string >c.foo.bind(c, 10) : (b: string) => string ->c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >c.foo : (this: C, a: number, b: string) => string >c : C >foo : (this: C, a: number, b: string) => string ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >c : C >10 : 10 let f12 = c.foo.bind(c, 10, "hello"); >f12 : () => string >c.foo.bind(c, 10, "hello") : () => string ->c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >c.foo : (this: C, a: number, b: string) => string >c : C >foo : (this: C, a: number, b: string) => string ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >c : C >10 : 10 >"hello" : "hello" @@ -231,11 +231,11 @@ let f12 = c.foo.bind(c, 10, "hello"); let f13 = c.foo.bind(c, 10, 20); // Error >f13 : () => string >c.foo.bind(c, 10, 20) : () => string ->c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >c.foo : (this: C, a: number, b: string) => string >c : C >foo : (this: C, a: number, b: string) => string ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >c : C >10 : 10 >20 : 20 @@ -243,31 +243,31 @@ let f13 = c.foo.bind(c, 10, 20); // Error let f14 = c.foo.bind(undefined); // Error >f14 : (a: number, b: string) => string >c.foo.bind(undefined) : (a: number, b: string) => string ->c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>c.foo.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >c.foo : (this: C, a: number, b: string) => string >c : C >foo : (this: C, a: number, b: string) => string ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >undefined : undefined let f15 = c.overloaded.bind(c); // typeof C.prototype.overloaded >f15 : { (s: string): number; (n: number): string; } >c.overloaded.bind(c) : { (s: string): number; (n: number): string; } ->c.overloaded.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>c.overloaded.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >c.overloaded : { (s: string): number; (n: number): string; } >c : C >overloaded : { (s: string): number; (n: number): string; } ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >c : C let f16 = c.generic.bind(c); // typeof C.prototype.generic >f16 : (x: T) => T >c.generic.bind(c) : (x: T) => T ->c.generic.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>c.generic.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >c.generic : (x: T) => T >c : C >generic : (x: T) => T ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >c : C let c10 = c.foo.call(c, 10, "hello"); @@ -333,11 +333,11 @@ let c14 = c.foo.call(undefined, 10, "hello"); // Error let a10 = c.foo.apply(c, [10, "hello"]); >a10 : string >c.foo.apply(c, [10, "hello"]) : string ->c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >c.foo : (this: C, a: number, b: string) => string >c : C >foo : (this: C, a: number, b: string) => string ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >c : C >[10, "hello"] : [number, string] >10 : 10 @@ -346,11 +346,11 @@ let a10 = c.foo.apply(c, [10, "hello"]); let a11 = c.foo.apply(c, [10]); // Error >a11 : string >c.foo.apply(c, [10]) : string ->c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >c.foo : (this: C, a: number, b: string) => string >c : C >foo : (this: C, a: number, b: string) => string ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >c : C >[10] : [number] >10 : 10 @@ -358,11 +358,11 @@ let a11 = c.foo.apply(c, [10]); // Error let a12 = c.foo.apply(c, [10, 20]); // Error >a12 : string >c.foo.apply(c, [10, 20]) : string ->c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >c.foo : (this: C, a: number, b: string) => string >c : C >foo : (this: C, a: number, b: string) => string ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >c : C >[10, 20] : [number, number] >10 : 10 @@ -371,11 +371,11 @@ let a12 = c.foo.apply(c, [10, 20]); // Error let a13 = c.foo.apply(c, [10, "hello", 30]); // Error >a13 : string >c.foo.apply(c, [10, "hello", 30]) : string ->c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >c.foo : (this: C, a: number, b: string) => string >c : C >foo : (this: C, a: number, b: string) => string ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >c : C >[10, "hello", 30] : [number, string, number] >10 : 10 @@ -385,11 +385,11 @@ let a13 = c.foo.apply(c, [10, "hello", 30]); // Error let a14 = c.foo.apply(undefined, [10, "hello"]); // Error >a14 : string >c.foo.apply(undefined, [10, "hello"]) : string ->c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>c.foo.apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >c.foo : (this: C, a: number, b: string) => string >c : C >foo : (this: C, a: number, b: string) => string ->apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T, ...args: A) => R, thisArg: T, args: A): R; } +>apply : { (this: (this: T) => R, thisArg: T): R; (this: (this: T_1, ...args: A) => R_1, thisArg: T_1, args: A): R_1; } >undefined : undefined >[10, "hello"] : [number, string] >10 : 10 @@ -470,9 +470,9 @@ C.call(c, 10, "hello", 30); // Error C.apply(c, [10, "hello"]); >C.apply(c, [10, "hello"]) : void ->C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } +>C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T_1, thisArg: T_1, args: A): void; } >C : typeof C ->apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } +>apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T_1, thisArg: T_1, args: A): void; } >c : C >[10, "hello"] : [number, string] >10 : 10 @@ -480,18 +480,18 @@ C.apply(c, [10, "hello"]); C.apply(c, [10]); // Error >C.apply(c, [10]) : void ->C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } +>C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T_1, thisArg: T_1, args: A): void; } >C : typeof C ->apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } +>apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T_1, thisArg: T_1, args: A): void; } >c : C >[10] : [number] >10 : 10 C.apply(c, [10, 20]); // Error >C.apply(c, [10, 20]) : void ->C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } +>C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T_1, thisArg: T_1, args: A): void; } >C : typeof C ->apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } +>apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T_1, thisArg: T_1, args: A): void; } >c : C >[10, 20] : [number, number] >10 : 10 @@ -499,9 +499,9 @@ C.apply(c, [10, 20]); // Error C.apply(c, [10, "hello", 30]); // Error >C.apply(c, [10, "hello", 30]) : void ->C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } +>C.apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T_1, thisArg: T_1, args: A): void; } >C : typeof C ->apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T, thisArg: T, args: A): void; } +>apply : { (this: new () => T, thisArg: T): void; (this: new (...args: A) => T_1, thisArg: T_1, args: A): void; } >c : C >[10, "hello", 30] : [number, string, number] >10 : 10 @@ -516,16 +516,16 @@ function bar(callback: (this: 1, ...args: T) => void) { callback.bind(1); >callback.bind(1) : (...args: T) => void ->callback.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>callback.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } >callback : (this: 1, ...args: T) => void ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } >1 : 1 callback.bind(2); // Error >callback.bind(2) : (...args: T) => void ->callback.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>callback.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } >callback : (this: 1, ...args: T) => void ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } >2 : 2 } @@ -537,16 +537,16 @@ function baz(callback: (this: 1, ...args: T extends 1 ? [unknow callback.bind(1); >callback.bind(1) : (...args: T extends 1 ? [unknown] : [unknown, unknown]) => void ->callback.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>callback.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } >callback : (this: 1, ...args: T extends 1 ? [unknown] : [unknown, unknown]) => void ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } >1 : 1 callback.bind(2); // Error >callback.bind(2) : (...args: T extends 1 ? [unknown] : [unknown, unknown]) => void ->callback.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>callback.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } >callback : (this: 1, ...args: T extends 1 ? [unknown] : [unknown, unknown]) => void ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } >2 : 2 } @@ -557,11 +557,11 @@ class Foo { constructor() { this.fn.bind(this); >this.fn.bind(this) : (...args: T) => void ->this.fn.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>this.fn.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } >this.fn : (...args: T) => void >this : this >fn : (...args: T) => void ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } >this : this } @@ -576,11 +576,11 @@ class Bar { constructor() { this.fn.bind(this); >this.fn.bind(this) : (...args: T extends 1 ? [unknown] : [unknown, unknown]) => void ->this.fn.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>this.fn.bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } >this.fn : (...args: T extends 1 ? [unknown] : [unknown, unknown]) => void >this : this >fn : (...args: T extends 1 ? [unknown] : [unknown, unknown]) => void ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T_1, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_2, ...args: [...A, ...B]) => R, thisArg: T_2, ...args: A): (...args: B) => R; } >this : this } diff --git a/tests/baselines/reference/strictBindCallApply2.types b/tests/baselines/reference/strictBindCallApply2.types index 2442c452eb8c8..926fe78184573 100644 --- a/tests/baselines/reference/strictBindCallApply2.types +++ b/tests/baselines/reference/strictBindCallApply2.types @@ -17,9 +17,9 @@ type Test = ThisParameterType; const fb = fn.bind({ blub: "blub" }); >fb : () => void >fn.bind({ blub: "blub" }) : () => void ->fn.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>fn.bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >fn : (this: Foo) => void ->bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; } +>bind : { (this: T, thisArg: ThisParameterType): OmitThisParameter; (this: (this: T_1, ...args: [...A, ...B]) => R, thisArg: T_1, ...args: A): (...args: B) => R; } >{ blub: "blub" } : { blub: string; } >blub : string >"blub" : "blub" diff --git a/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.types b/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.types index e7fe99d9dd60e..7674f238a3fd8 100644 --- a/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.types +++ b/tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.types @@ -236,27 +236,27 @@ function f11(x: any) { } >x : any function f12(x: 'a'); ->f12 : { (x: 'a'): any; (x: T): any; } +>f12 : { (x: 'a'): any; (x: T_1): any; } >x : "a" function f12(x: T); ->f12 : { (x: "a"): any; (x: T): any; } +>f12 : { (x: "a"): any; (x: T): any; } >x : T function f12(x: any) { } ->f12 : { (x: "a"): any; (x: T): any; } +>f12 : { (x: "a"): any; (x: T_2): any; } >x : any function f13(x: 'a'); ->f13 : { (x: 'a'): any; (x: T): any; } +>f13 : { (x: 'a'): any; (x: T_1): any; } >x : "a" function f13(x: T); ->f13 : { (x: "a"): any; (x: T): any; } +>f13 : { (x: "a"): any; (x: T): any; } >x : T function f13(x: any) { } ->f13 : { (x: "a"): any; (x: T): any; } +>f13 : { (x: "a"): any; (x: T_2): any; } >x : any enum E { A } @@ -276,26 +276,26 @@ function f14(x: any) { } >x : any function f15(x: 'a'); ->f15 : { (x: 'a'): any; (x: U): any; } +>f15 : { (x: 'a'): any; (x: U_1): any; } >x : "a" function f15(x: U); ->f15 : { (x: "a"): any; (x: U): any; } +>f15 : { (x: "a"): any; (x: U): any; } >x : U function f15(x: any) { } ->f15 : { (x: "a"): any; (x: U): any; } +>f15 : { (x: "a"): any; (x: U_2): any; } >x : any function f16(x: 'a'); ->f16 : { (x: 'a'): any; (x: U): any; } +>f16 : { (x: 'a'): any; (x: U_1): any; } >x : "a" function f16(x: U); ->f16 : { (x: "a"): any; (x: U): any; } +>f16 : { (x: "a"): any; (x: U): any; } >x : U function f16(x: any) { } ->f16 : { (x: "a"): any; (x: U): any; } +>f16 : { (x: "a"): any; (x: U_2): any; } >x : any diff --git a/tests/baselines/reference/styledComponentsInstantiaionLimitNotReached.types b/tests/baselines/reference/styledComponentsInstantiaionLimitNotReached.types index d8a305fd36b09..bb4c363a0fc20 100644 --- a/tests/baselines/reference/styledComponentsInstantiaionLimitNotReached.types +++ b/tests/baselines/reference/styledComponentsInstantiaionLimitNotReached.types @@ -332,7 +332,7 @@ export interface StyledComponentBase< >React : any withComponent( ->withComponent : { (component: WithC): StyledComponent, T, O & StyledComponentInnerOtherProps, A | StyledComponentInnerAttrs>; >(component: WithC): StyledComponent; } +>withComponent : { (component: WithC): StyledComponent, T, O & StyledComponentInnerOtherProps, A | StyledComponentInnerAttrs>; >(component: WithC_1): StyledComponent; } component: WithC, >component : WithC @@ -344,7 +344,7 @@ export interface StyledComponentBase< A | StyledComponentInnerAttrs >; withComponent>( ->withComponent : { (component: WithC): StyledComponent, T, O & StyledComponentInnerOtherProps, A | StyledComponentInnerAttrs>; >(component: WithC): StyledComponent; } +>withComponent : { (component: WithC_1): StyledComponent, T, O & StyledComponentInnerOtherProps, A | StyledComponentInnerAttrs>; >(component: WithC): StyledComponent; } >JSX : any >React : any diff --git a/tests/baselines/reference/subclassWithPolymorphicThisIsAssignable.types b/tests/baselines/reference/subclassWithPolymorphicThisIsAssignable.types index 1688b620c843e..44191b764e30a 100644 --- a/tests/baselines/reference/subclassWithPolymorphicThisIsAssignable.types +++ b/tests/baselines/reference/subclassWithPolymorphicThisIsAssignable.types @@ -17,9 +17,9 @@ export class Example { // types of increment not compatible?? this.test(); >this.test() : void ->this.test : () => void +>this.test : () => void >this : this ->test : () => void +>test : () => void } public test() { } diff --git a/tests/baselines/reference/subtypesOfTypeParameter.types b/tests/baselines/reference/subtypesOfTypeParameter.types index ab39dafe401ae..0548b15971661 100644 --- a/tests/baselines/reference/subtypesOfTypeParameter.types +++ b/tests/baselines/reference/subtypesOfTypeParameter.types @@ -216,20 +216,20 @@ function f2(x: T, y: U) { >() => { } : () => void var r8 = true ? (x: T) => { return x } : x; ->r8 : T | ((x: T) => T) ->true ? (x: T) => { return x } : x : T | ((x: T) => T) +>r8 : T | ((x: T_1) => T_1) +>true ? (x: T) => { return x } : x : T | ((x: T_1) => T_1) >true : true ->(x: T) => { return x } : (x: T) => T +>(x: T) => { return x } : (x: T_1) => T_1 >x : T >x : T >x : T var r8b = true ? x : (x: T) => { return x }; // type parameters not identical across declarations ->r8b : T | ((x: T) => T) ->true ? x : (x: T) => { return x } : T | ((x: T) => T) +>r8b : T | ((x: T_1) => T_1) +>true ? x : (x: T) => { return x } : T | ((x: T_1) => T_1) >true : true >x : T ->(x: T) => { return x } : (x: T) => T +>(x: T) => { return x } : (x: T_1) => T_1 >x : T >x : T @@ -359,18 +359,18 @@ function f2(x: T, y: U) { >a : T var r17 = true ? x : a; ->r17 : T | T ->true ? x : a : T | T +>r17 : T_1 | T +>true ? x : a : T_1 | T >true : true ->x : T +>x : T_1 >a : T var r17 = true ? a : x; ->r17 : T | T ->true ? a : x : T | T +>r17 : T_1 | T +>true ? a : x : T_1 | T >true : true >a : T ->x : T +>x : T_1 } function f18(a: U) { @@ -378,18 +378,18 @@ function f2(x: T, y: U) { >a : U var r18 = true ? x : a; ->r18 : T | U ->true ? x : a : T | U +>r18 : T_1 | U +>true ? x : a : T_1 | U >true : true ->x : T +>x : T_1 >a : U var r18 = true ? a : x; ->r18 : T | U ->true ? a : x : T | U +>r18 : T_1 | U +>true ? a : x : T_1 | U >true : true >a : U ->x : T +>x : T_1 } var r19 = true ? new Object() : x; // BCT is Object diff --git a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types index 1da00c72e99f7..dda07b63b5e8f 100644 --- a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types +++ b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types @@ -349,20 +349,20 @@ function f12(x: U) => U>(x: T) { >x : T var r8 = true ? (x: T) => { return x } : x; // ok ->r8 : (x: T) => T ->true ? (x: T) => { return x } : x : (x: T) => T +>r8 : (x: T_1) => T_1 +>true ? (x: T) => { return x } : x : (x: T_1) => T_1 >true : true ->(x: T) => { return x } : (x: T) => T +>(x: T) => { return x } : (x: T_1) => T_1 >x : T >x : T >x : T var r8b = true ? x : (x: T) => { return x }; // ok, type parameters not identical across declarations ->r8b : (x: T) => T ->true ? x : (x: T) => { return x } : (x: T) => T +>r8b : (x: T_1) => T_1 +>true ? x : (x: T) => { return x } : (x: T_1) => T_1 >true : true >x : T ->(x: T) => { return x } : (x: T) => T +>(x: T) => { return x } : (x: T_1) => T_1 >x : T >x : T } diff --git a/tests/baselines/reference/subtypesOfUnion.types b/tests/baselines/reference/subtypesOfUnion.types index 13ba5e2c612dc..a9528d07397b7 100644 --- a/tests/baselines/reference/subtypesOfUnion.types +++ b/tests/baselines/reference/subtypesOfUnion.types @@ -78,7 +78,7 @@ interface I1 { >x : any foo13: (x: T) => T; // error ->foo13 : (x: T) => T +>foo13 : (x: T_1) => T_1 >x : T foo14: typeof f; // error @@ -141,7 +141,7 @@ interface I2 { >x : any foo13: (x: T) => T; // error ->foo13 : (x: T) => T +>foo13 : (x: T_1) => T_1 >x : T foo14: typeof f; // error diff --git a/tests/baselines/reference/subtypingWithCallSignatures3.types b/tests/baselines/reference/subtypingWithCallSignatures3.types index b6f6b35364858..1cff2f0edf256 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures3.types +++ b/tests/baselines/reference/subtypingWithCallSignatures3.types @@ -142,11 +142,11 @@ module Errors { >a2 : any declare function foo17(a2: { ->foo17 : { (a2: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }; (a2: any): any; } ->a2 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +>foo17 : { (a2: { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; }): { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; }; (a2: any): any; } +>a2 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } (x: { ->x : { (a: T): T; (a: T): T; } +>x : { (a: T): T; (a: T_1): T_1; } (a: T): T; >a : T @@ -156,7 +156,7 @@ module Errors { }): any[]; (x: { ->x : { (a: T): T; (a: T): T; } +>x : { (a: T): T; (a: T_1): T_1; } (a: T): T; >a : T @@ -166,10 +166,10 @@ module Errors { }): any[]; }): typeof a2; ->a2 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +>a2 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } declare function foo17(a2: any): any; ->foo17 : { (a2: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }; (a2: any): any; } +>foo17 : { (a2: { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; }): { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; }; (a2: any): any; } >a2 : any var r1 = foo2((x: T) => null); // any @@ -457,9 +457,9 @@ module Errors { >null : any[] var r9 = foo17(r9arg); // (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; ->r9 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } ->foo17(r9arg) : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } ->foo17 : { (a2: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }; (a2: any): any; } +>r9 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } +>foo17(r9arg) : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } +>foo17 : { (a2: { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; }): { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; }; (a2: any): any; } >r9arg : (x: (a: T) => T) => any[] } diff --git a/tests/baselines/reference/subtypingWithCallSignatures4.types b/tests/baselines/reference/subtypingWithCallSignatures4.types index cd83aa7031f32..536f6fa021650 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures4.types +++ b/tests/baselines/reference/subtypingWithCallSignatures4.types @@ -115,8 +115,8 @@ declare function foo16(a: any): any; >a : any declare function foo17(a17: { ->foo17 : { (a17: { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; }): any; (a: any): any; } ->a17 : { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; } +>foo17 : { (a17: { (x: (a: T) => T): T[]; (x: (a: T_1) => T_1): T_1[]; }): any; (a: any): any; } +>a17 : { (x: (a: T) => T): T[]; (x: (a: T_1) => T_1): T_1[]; } (x: (a: T) => T): T[]; >x : (a: T) => T @@ -128,15 +128,15 @@ declare function foo17(a17: { }); declare function foo17(a: any): any; ->foo17 : { (a17: { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; }): any; (a: any): any; } +>foo17 : { (a17: { (x: (a: T) => T): T[]; (x: (a: T_1) => T_1): T_1[]; }): any; (a: any): any; } >a : any declare function foo18(a18: { ->foo18 : { (a18: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): any; (a: any): any; } ->a18 : { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; } +>foo18 : { (a18: { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; }): any; (a: any): any; } +>a18 : { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; } (x: { ->x : { (a: T): T; (a: T): T; } +>x : { (a: T): T; (a: T_1): T_1; } (a: T): T; >a : T @@ -146,7 +146,7 @@ declare function foo18(a18: { }): any[]; (x: { ->x : { (a: T): T; (a: T): T; } +>x : { (a: T): T; (a: T_1): T_1; } (a: T): T; >a : T @@ -157,7 +157,7 @@ declare function foo18(a18: { }): any[]; }); declare function foo18(a: any): any; ->foo18 : { (a18: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): any; (a: any): any; } +>foo18 : { (a18: { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; }): any; (a: any): any; } >a : any var r1arg = (x: T) => null; @@ -463,7 +463,7 @@ var r17arg = (x: (a: T) => T) => null; var r17 = foo17(r17arg); >r17 : any >foo17(r17arg) : any ->foo17 : { (a17: { (x: (a: T) => T): T[]; (x: (a: T) => T): T[]; }): any; (a: any): any; } +>foo17 : { (a17: { (x: (a: T) => T): T[]; (x: (a: T_1) => T_1): T_1[]; }): any; (a: any): any; } >r17arg : (x: (a: T) => T) => T[] var r18arg = (x: (a: T) => T) => null; @@ -476,6 +476,6 @@ var r18arg = (x: (a: T) => T) => null; var r18 = foo18(r18arg); >r18 : any >foo18(r18arg) : any ->foo18 : { (a18: { (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; }): any; (a: any): any; } +>foo18 : { (a18: { (x: { (a: T): T; (a: T_1): T_1; }): any[]; (x: { (a: T_2): T_2; (a: T_3): T_3; }): any[]; }): any; (a: any): any; } >r18arg : (x: (a: T) => T) => any[] diff --git a/tests/baselines/reference/subtypingWithConstructSignatures3.types b/tests/baselines/reference/subtypingWithConstructSignatures3.types index f497e10743a05..2c39d41384f87 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures3.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures3.types @@ -142,11 +142,11 @@ module Errors { >a2 : any declare function foo17(a2: { ->foo17 : { (a2: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }; (a2: any): any; } ->a2 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } +>foo17 : { (a2: { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; }): { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; }; (a2: any): any; } +>a2 : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } new (x: { ->x : { new (a: T): T; new (a: T): T; } +>x : { new (a: T): T; new (a: T_1): T_1; } new (a: T): T; >a : T @@ -156,7 +156,7 @@ module Errors { }): any[]; new (x: { ->x : { new (a: T): T; new (a: T): T; } +>x : { new (a: T): T; new (a: T_1): T_1; } new (a: T): T; >a : T @@ -166,10 +166,10 @@ module Errors { }): any[]; }): typeof a2; ->a2 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } +>a2 : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } declare function foo17(a2: any): any; ->foo17 : { (a2: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }; (a2: any): any; } +>foo17 : { (a2: { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; }): { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; }; (a2: any): any; } >a2 : any var r1arg1: new (x: T) => U[]; @@ -419,9 +419,9 @@ module Errors { >a : T var r9 = foo17(r9arg); // // (x: { (a: T): T; (a: T): T; }): any[]; (x: { (a: T): T; (a: T): T; }): any[]; ->r9 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } ->foo17(r9arg) : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } ->foo17 : { (a2: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }; (a2: any): any; } +>r9 : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } +>foo17(r9arg) : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } +>foo17 : { (a2: { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; }): { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; }; (a2: any): any; } >r9arg : new (x: new (a: T) => T) => any[] } diff --git a/tests/baselines/reference/subtypingWithConstructSignatures4.types b/tests/baselines/reference/subtypingWithConstructSignatures4.types index 133bed90ed9c9..f85e667bb1b6f 100644 --- a/tests/baselines/reference/subtypingWithConstructSignatures4.types +++ b/tests/baselines/reference/subtypingWithConstructSignatures4.types @@ -115,8 +115,8 @@ declare function foo16(a: any): any; >a : any declare function foo17(a17: { ->foo17 : { (a17: { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; }): any; (a: any): any; } ->a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; } +>foo17 : { (a17: { new (x: new (a: T) => T): T[]; new (x: new (a: T_1) => T_1): T_1[]; }): any; (a: any): any; } +>a17 : { new (x: new (a: T) => T): T[]; new (x: new (a: T_1) => T_1): T_1[]; } new (x: new (a: T) => T): T[]; >x : new (a: T) => T @@ -128,15 +128,15 @@ declare function foo17(a17: { }); declare function foo17(a: any): any; ->foo17 : { (a17: { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; }): any; (a: any): any; } +>foo17 : { (a17: { new (x: new (a: T) => T): T[]; new (x: new (a: T_1) => T_1): T_1[]; }): any; (a: any): any; } >a : any declare function foo18(a18: { ->foo18 : { (a18: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): any; (a: any): any; } ->a18 : { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; } +>foo18 : { (a18: { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; }): any; (a: any): any; } +>a18 : { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; } new (x: { ->x : { new (a: T): T; new (a: T): T; } +>x : { new (a: T): T; new (a: T_1): T_1; } new (a: T): T; >a : T @@ -146,7 +146,7 @@ declare function foo18(a18: { }): any[]; new (x: { ->x : { new (a: T): T; new (a: T): T; } +>x : { new (a: T): T; new (a: T_1): T_1; } new (a: T): T; >a : T @@ -157,7 +157,7 @@ declare function foo18(a18: { }): any[]; }); declare function foo18(a: any): any; ->foo18 : { (a18: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): any; (a: any): any; } +>foo18 : { (a18: { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; }): any; (a: any): any; } >a : any var r1arg: new (x: T) => T[]; @@ -424,7 +424,7 @@ var r17arg: new (x: new (a: T) => T) => T[]; var r17 = foo17(r17arg); >r17 : any >foo17(r17arg) : any ->foo17 : { (a17: { new (x: new (a: T) => T): T[]; new (x: new (a: T) => T): T[]; }): any; (a: any): any; } +>foo17 : { (a17: { new (x: new (a: T) => T): T[]; new (x: new (a: T_1) => T_1): T_1[]; }): any; (a: any): any; } >r17arg : new (x: new (a: T) => T) => T[] var r18arg: new (x: new (a: T) => T) => any[]; @@ -435,6 +435,6 @@ var r18arg: new (x: new (a: T) => T) => any[]; var r18 = foo18(r18arg); >r18 : any >foo18(r18arg) : any ->foo18 : { (a18: { new (x: { new (a: T): T; new (a: T): T; }): any[]; new (x: { new (a: T): T; new (a: T): T; }): any[]; }): any; (a: any): any; } +>foo18 : { (a18: { new (x: { new (a: T): T; new (a: T_1): T_1; }): any[]; new (x: { new (a: T_2): T_2; new (a: T_3): T_3; }): any[]; }): any; (a: any): any; } >r18arg : new (x: new (a: T) => T) => any[] diff --git a/tests/baselines/reference/taggedTemplateContextualTyping1.types b/tests/baselines/reference/taggedTemplateContextualTyping1.types index a713670852ff9..93e6ed32e6139 100644 --- a/tests/baselines/reference/taggedTemplateContextualTyping1.types +++ b/tests/baselines/reference/taggedTemplateContextualTyping1.types @@ -8,20 +8,20 @@ type FuncType = (x: (p: T) => T) => typeof x; >x : (p: T) => T function tempTag1(templateStrs: TemplateStringsArray, f: FuncType, x: T): T; ->tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T_1): T_1; } >templateStrs : TemplateStringsArray >f : FuncType >x : T function tempTag1(templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; ->tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T_1): T_1; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } >templateStrs : TemplateStringsArray >f : FuncType >h : FuncType >x : T function tempTag1(...rest: any[]): T { ->tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T_1): T_1; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T_2): T_2; } >rest : any[] return undefined; @@ -34,7 +34,7 @@ function tempTag1(...rest: any[]): T { // so this test will error. tempTag1 `${ x => { x(undefined); return x; } }${ 10 }`; >tempTag1 `${ x => { x(undefined); return x; } }${ 10 }` : 10 ->tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T_1): T_1; } >`${ x => { x(undefined); return x; } }${ 10 }` : string >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T @@ -46,7 +46,7 @@ tempTag1 `${ x => { x(undefined); return x; } }${ 10 } tempTag1 `${ x => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ 10 }`; >tempTag1 `${ x => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ 10 }` : 10 ->tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T_1): T_1; } >`${ x => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ 10 }` : string >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T @@ -64,7 +64,7 @@ tempTag1 `${ x => { x(undefined); return x; } }${ y => tempTag1 `${ x => { x(undefined); return x; } }${ (y: (p: T) => T) => { y(undefined); return y } }${ undefined }`; >tempTag1 `${ x => { x(undefined); return x; } }${ (y: (p: T) => T) => { y(undefined); return y } }${ undefined }` : any ->tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T_1): T_1; } >`${ x => { x(undefined); return x; } }${ (y: (p: T) => T) => { y(undefined); return y } }${ undefined }` : string >x => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T @@ -83,7 +83,7 @@ tempTag1 `${ x => { x(undefined); return x; } }${ (y: tempTag1 `${ (x: (p: T) => T) => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ undefined }`; >tempTag1 `${ (x: (p: T) => T) => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ undefined }` : any ->tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T): T; } +>tempTag1 : { (templateStrs: TemplateStringsArray, f: FuncType, x: T): T; (templateStrs: TemplateStringsArray, f: FuncType, h: FuncType, x: T_1): T_1; } >`${ (x: (p: T) => T) => { x(undefined); return x; } }${ y => { y(undefined); return y; } }${ undefined }` : string >(x: (p: T) => T) => { x(undefined); return x; } : (x: (p: T) => T) => (p: T) => T >x : (p: T) => T diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.types index 6620b7798dc3b..d80a3bd5f9e31 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3.types @@ -89,38 +89,38 @@ fn2 `${ '' }${ 0 }`; // OK // Generic overloads with differing arity function fn3(strs: TemplateStringsArray, n: T): string; ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } >strs : TemplateStringsArray >n : T function fn3(strs: TemplateStringsArray, s: string, t: T, u: U): U; ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T_1): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_3): number; } >strs : TemplateStringsArray >s : string >t : T >u : U function fn3(strs: TemplateStringsArray, v: V, u: U, t: T): number; ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T_1): string; (strs: TemplateStringsArray, s: string, t: T_2, u: U_1): U_1; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } >strs : TemplateStringsArray >v : V >u : U >t : T function fn3() { return null; } ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } var s = fn3 `${ 3 }`; >s : string >fn3 `${ 3 }` : string ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } >`${ 3 }` : string >3 : 3 var s = fn3 `${'' }${ 3 }${ '' }`; >s : string >fn3 `${'' }${ 3 }${ '' }` : "" ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } >`${'' }${ 3 }${ '' }` : string >'' : "" >3 : 3 @@ -129,7 +129,7 @@ var s = fn3 `${'' }${ 3 }${ '' }`; var n = fn3 `${ 5 }${ 5 }${ 5 }`; >n : number >fn3 `${ 5 }${ 5 }${ 5 }` : number ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } >`${ 5 }${ 5 }${ 5 }` : string >5 : 5 >5 : 5 @@ -142,14 +142,14 @@ var n: number; var s = fn3 `${ 4 }` >s : string >fn3 `${ 4 }` : string ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } >`${ 4 }` : string >4 : 4 var s = fn3 `${ '' }${ '' }${ '' }`; >s : string >fn3 `${ '' }${ '' }${ '' }` : "" ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } >`${ '' }${ '' }${ '' }` : string >'' : "" >'' : "" @@ -158,7 +158,7 @@ var s = fn3 `${ '' }${ '' }${ '' }`; var n = fn3 `${ '' }${ '' }${ 3 }`; >n : number >fn3 `${ '' }${ '' }${ 3 }` : 3 ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } >`${ '' }${ '' }${ 3 }` : string >'' : "" >'' : "" @@ -167,73 +167,73 @@ var n = fn3 `${ '' }${ '' }${ 3 }`; // Generic overloads with differing arity tagging with argument count that doesn't match any overload fn3 ``; // Error >fn3 `` : string ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } >`` : "" // Generic overloads with constraints function fn4(strs: TemplateStringsArray, n: T, m: U); ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } >strs : TemplateStringsArray >n : T >m : U function fn4(strs: TemplateStringsArray, n: T, m: U); ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } >strs : TemplateStringsArray >n : T >m : U function fn4(strs: TemplateStringsArray) ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } >strs : TemplateStringsArray function fn4() { } ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } // Generic overloads with constraints tagged with types that satisfy the constraints fn4 `${ '' }${ 3 }`; >fn4 `${ '' }${ 3 }` : any ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } >`${ '' }${ 3 }` : string >'' : "" >3 : 3 fn4 `${ 3 }${ '' }`; >fn4 `${ 3 }${ '' }` : any ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } >`${ 3 }${ '' }` : string >3 : 3 >'' : "" fn4 `${ 3 }${ undefined }`; >fn4 `${ 3 }${ undefined }` : any ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } >`${ 3 }${ undefined }` : string >3 : 3 >undefined : undefined fn4 `${ '' }${ null }`; >fn4 `${ '' }${ null }` : any ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } >`${ '' }${ null }` : string >'' : "" // Generic overloads with constraints called with type arguments that do not satisfy the constraints fn4 `${ null }${ null }`; // Error >fn4 `${ null }${ null }` : any ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } >`${ null }${ null }` : string // Generic overloads with constraints called without type arguments but with types that do not satisfy the constraints fn4 `${ true }${ null }`; >fn4 `${ true }${ null }` : any ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } >`${ true }${ null }` : string >true : true fn4 `${ null }${ true }`; >fn4 `${ null }${ true }` : any ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } >`${ null }${ true }` : string >true : true diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.types index e5374b7fdd702..602609d6d21d4 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution3_ES6.types @@ -89,38 +89,38 @@ fn2 `${ '' }${ 0 }`; // OK // Generic overloads with differing arity function fn3(strs: TemplateStringsArray, n: T): string; ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } >strs : TemplateStringsArray >n : T function fn3(strs: TemplateStringsArray, s: string, t: T, u: U): U; ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T_1): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_3): number; } >strs : TemplateStringsArray >s : string >t : T >u : U function fn3(strs: TemplateStringsArray, v: V, u: U, t: T): number; ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T_1): string; (strs: TemplateStringsArray, s: string, t: T_2, u: U_1): U_1; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } >strs : TemplateStringsArray >v : V >u : U >t : T function fn3() { return null; } ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } var s = fn3 `${ 3 }`; >s : string >fn3 `${ 3 }` : string ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } >`${ 3 }` : string >3 : 3 var s = fn3 `${'' }${ 3 }${ '' }`; >s : string >fn3 `${'' }${ 3 }${ '' }` : "" ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } >`${'' }${ 3 }${ '' }` : string >'' : "" >3 : 3 @@ -129,7 +129,7 @@ var s = fn3 `${'' }${ 3 }${ '' }`; var n = fn3 `${ 5 }${ 5 }${ 5 }`; >n : number >fn3 `${ 5 }${ 5 }${ 5 }` : number ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } >`${ 5 }${ 5 }${ 5 }` : string >5 : 5 >5 : 5 @@ -142,14 +142,14 @@ var n: number; var s = fn3 `${ 4 }` >s : string >fn3 `${ 4 }` : string ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } >`${ 4 }` : string >4 : 4 var s = fn3 `${ '' }${ '' }${ '' }`; >s : string >fn3 `${ '' }${ '' }${ '' }` : "" ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } >`${ '' }${ '' }${ '' }` : string >'' : "" >'' : "" @@ -158,7 +158,7 @@ var s = fn3 `${ '' }${ '' }${ '' }`; var n = fn3 `${ '' }${ '' }${ 3 }`; >n : number >fn3 `${ '' }${ '' }${ 3 }` : 3 ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } >`${ '' }${ '' }${ 3 }` : string >'' : "" >'' : "" @@ -167,73 +167,73 @@ var n = fn3 `${ '' }${ '' }${ 3 }`; // Generic overloads with differing arity tagging with argument count that doesn't match any overload fn3 ``; // Error >fn3 `` : string ->fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T, u: U): U; (strs: TemplateStringsArray, v: V, u: U, t: T): number; } +>fn3 : { (strs: TemplateStringsArray, n: T): string; (strs: TemplateStringsArray, s: string, t: T_1, u: U): U; (strs: TemplateStringsArray, v: V, u: U_1, t: T_2): number; } >`` : "" // Generic overloads with constraints function fn4(strs: TemplateStringsArray, n: T, m: U); ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } >strs : TemplateStringsArray >n : T >m : U function fn4(strs: TemplateStringsArray, n: T, m: U); ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } >strs : TemplateStringsArray >n : T >m : U function fn4(strs: TemplateStringsArray) ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } >strs : TemplateStringsArray function fn4() { } ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } // Generic overloads with constraints tagged with types that satisfy the constraints fn4 `${ '' }${ 3 }`; >fn4 `${ '' }${ 3 }` : any ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } >`${ '' }${ 3 }` : string >'' : "" >3 : 3 fn4 `${ 3 }${ '' }`; >fn4 `${ 3 }${ '' }` : any ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } >`${ 3 }${ '' }` : string >3 : 3 >'' : "" fn4 `${ 3 }${ undefined }`; >fn4 `${ 3 }${ undefined }` : any ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } >`${ 3 }${ undefined }` : string >3 : 3 >undefined : undefined fn4 `${ '' }${ null }`; >fn4 `${ '' }${ null }` : any ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } >`${ '' }${ null }` : string >'' : "" // Generic overloads with constraints called with type arguments that do not satisfy the constraints fn4 `${ null }${ null }`; // Error >fn4 `${ null }${ null }` : any ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } >`${ null }${ null }` : string // Generic overloads with constraints called without type arguments but with types that do not satisfy the constraints fn4 `${ true }${ null }`; >fn4 `${ true }${ null }` : any ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } >`${ true }${ null }` : string >true : true fn4 `${ null }${ true }`; >fn4 `${ null }${ true }` : any ->fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray): any; } +>fn4 : { (strs: TemplateStringsArray, n: T, m: U): any; (strs: TemplateStringsArray, n: T_1, m: U_1): any; (strs: TemplateStringsArray): any; } >`${ null }${ true }` : string >true : true diff --git a/tests/baselines/reference/templateLiteralTypes1.types b/tests/baselines/reference/templateLiteralTypes1.types index 76fc3a74b239b..0ce03eed14e89 100644 --- a/tests/baselines/reference/templateLiteralTypes1.types +++ b/tests/baselines/reference/templateLiteralTypes1.types @@ -86,7 +86,7 @@ function test(name: `get${Capitalize}`) { } function fa1(x: T, y: { [P in keyof T]: T[P] }, z: { [P in keyof T & string as `p_${P}`]: T[P] }) { ->fa1 : (x: T, y: { [P in keyof T]: T[P]; }, z: { [P in keyof T & string as `p_${P}`]: T[P]; }) => void +>fa1 : (x: T, y: { [P in keyof T]: T[P]; }, z: { [P_1 in keyof T & string as `p_${P_1}`]: T[P_1]; }) => void >x : T >y : { [P in keyof T]: T[P]; } >z : { [P in keyof T & string as `p_${P}`]: T[P]; } @@ -263,29 +263,29 @@ type T43 = Split; // string[] // Inference and property name paths declare function getProp(obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; ->getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } +>getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T_1, path: `${P0_1}.${P1_1}`): T_1[P0_1][P1_1]; (obj: T_2, path: P0_2): T_2[P0_2]; (obj: object, path: string): unknown; } >obj : T >path : `${P0}.${P1}.${P2}` declare function getProp(obj: T, path: `${P0}.${P1}`): T[P0][P1]; ->getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } +>getProp : { (obj: T_1, path: `${P0_1}.${P1_1}.${P2}`): T_1[P0_1][P1_1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T_3, path: P0_3): T_3[P0_3]; (obj: object, path: string): unknown; } >obj : T >path : `${P0}.${P1}` declare function getProp(obj: T, path: P0): T[P0]; ->getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } +>getProp : { (obj: T_1, path: `${P0_1}.${P1}.${P2}`): T_1[P0_1][P1][P2]; (obj: T_2, path: `${P0_2}.${P1_1}`): T_2[P0_2][P1_1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } >obj : T >path : P0 declare function getProp(obj: object, path: string): unknown; ->getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } +>getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T_1, path: `${P0_1}.${P1_1}`): T_1[P0_1][P1_1]; (obj: T_2, path: P0_2): T_2[P0_2]; (obj: object, path: string): unknown; } >obj : object >path : string let p1 = getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a'); >p1 : { readonly b: { readonly c: 42; readonly d: "hello"; }; } >getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a') : { readonly b: { readonly c: 42; readonly d: "hello"; }; } ->getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } +>getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T_1, path: `${P0_1}.${P1_1}`): T_1[P0_1][P1_1]; (obj: T_2, path: P0_2): T_2[P0_2]; (obj: object, path: string): unknown; } >{ a: { b: {c: 42, d: 'hello' }}} as const : { readonly a: { readonly b: { readonly c: 42; readonly d: "hello"; }; }; } >{ a: { b: {c: 42, d: 'hello' }}} : { readonly a: { readonly b: { readonly c: 42; readonly d: "hello"; }; }; } >a : { readonly b: { readonly c: 42; readonly d: "hello"; }; } @@ -301,7 +301,7 @@ let p1 = getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a'); let p2 = getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a.b'); >p2 : { readonly c: 42; readonly d: "hello"; } >getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a.b') : { readonly c: 42; readonly d: "hello"; } ->getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } +>getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T_1, path: `${P0_1}.${P1_1}`): T_1[P0_1][P1_1]; (obj: T_2, path: P0_2): T_2[P0_2]; (obj: object, path: string): unknown; } >{ a: { b: {c: 42, d: 'hello' }}} as const : { readonly a: { readonly b: { readonly c: 42; readonly d: "hello"; }; }; } >{ a: { b: {c: 42, d: 'hello' }}} : { readonly a: { readonly b: { readonly c: 42; readonly d: "hello"; }; }; } >a : { readonly b: { readonly c: 42; readonly d: "hello"; }; } @@ -317,7 +317,7 @@ let p2 = getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a.b'); let p3 = getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a.b.d'); >p3 : "hello" >getProp({ a: { b: {c: 42, d: 'hello' }}} as const, 'a.b.d') : "hello" ->getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T, path: `${P0}.${P1}`): T[P0][P1]; (obj: T, path: P0): T[P0]; (obj: object, path: string): unknown; } +>getProp : { (obj: T, path: `${P0}.${P1}.${P2}`): T[P0][P1][P2]; (obj: T_1, path: `${P0_1}.${P1_1}`): T_1[P0_1][P1_1]; (obj: T_2, path: P0_2): T_2[P0_2]; (obj: object, path: string): unknown; } >{ a: { b: {c: 42, d: 'hello' }}} as const : { readonly a: { readonly b: { readonly c: 42; readonly d: "hello"; }; }; } >{ a: { b: {c: 42, d: 'hello' }}} : { readonly a: { readonly b: { readonly c: 42; readonly d: "hello"; }; }; } >a : { readonly b: { readonly c: 42; readonly d: "hello"; }; } diff --git a/tests/baselines/reference/templateLiteralTypes3.types b/tests/baselines/reference/templateLiteralTypes3.types index 67115bf715ab6..388a1f8e9b7f7 100644 --- a/tests/baselines/reference/templateLiteralTypes3.types +++ b/tests/baselines/reference/templateLiteralTypes3.types @@ -395,7 +395,7 @@ declare function chain(field: F | `${F}.${F}`): void; chain("a"); >chain("a") : void ->chain : (field: F | `${F}.${F}`) => void +>chain : (field: F_1 | `${F_1}.${F_1}`) => void >"a" : "a" // Repro from #46125 diff --git a/tests/baselines/reference/thisInGenericStaticMembers.types b/tests/baselines/reference/thisInGenericStaticMembers.types index e7e477804884d..0bcf9c3b2188c 100644 --- a/tests/baselines/reference/thisInGenericStaticMembers.types +++ b/tests/baselines/reference/thisInGenericStaticMembers.types @@ -21,9 +21,9 @@ class A { return this.one(source, 42); >this.one(source, 42) : T ->this.one : (source: T, value: number) => T +>this.one : (source: T_1, value: number) => T_1 >this : typeof A ->one : (source: T, value: number) => T +>one : (source: T_1, value: number) => T_1 >source : T >42 : 42 } diff --git a/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.types b/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.types index 3ff75d9d1cf66..9fff92177d3d4 100644 --- a/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.types +++ b/tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.types @@ -17,14 +17,14 @@ interface Collection { } interface Combinators { map(c: Collection, f: (x: T, y: U) => V): Collection; ->map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T, y: U) => any): Collection; } +>map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T_1, y: U_1) => any): Collection; } >c : Collection >f : (x: T, y: U) => V >x : T >y : U map(c: Collection, f: (x: T, y: U) => any): Collection; ->map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T, y: U) => any): Collection; } +>map : { (c: Collection, f: (x: T_1, y: U_1) => V): Collection; (c: Collection, f: (x: T, y: U) => any): Collection; } >c : Collection >f : (x: T, y: U) => any >x : T @@ -39,9 +39,9 @@ var _: Combinators; var r1a = _.map(c2, (x) => { return x.toFixed() }); >r1a : Collection >_.map(c2, (x) => { return x.toFixed() }) : Collection ->_.map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T, y: U) => any): Collection; } +>_.map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T_1, y: U_1) => any): Collection; } >_ : Combinators ->map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T, y: U) => any): Collection; } +>map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T_1, y: U_1) => any): Collection; } >c2 : Collection >(x) => { return x.toFixed() } : (x: number) => string >x : number @@ -62,9 +62,9 @@ var rf1 = (x: number) => { return x.toFixed() }; var r1b = _.map(c2, rf1); >r1b : Collection >_.map(c2, rf1) : Collection ->_.map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T, y: U) => any): Collection; } +>_.map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T_1, y: U_1) => any): Collection; } >_ : Combinators ->map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T, y: U) => any): Collection; } +>map : { (c: Collection, f: (x: T, y: U) => V): Collection; (c: Collection, f: (x: T_1, y: U_1) => any): Collection; } >c2 : Collection >rf1 : (x: number) => string diff --git a/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2015).types b/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2015).types index d9c1727ab5917..12b0285308066 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2015).types +++ b/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2015).types @@ -183,9 +183,9 @@ const arr = [Promise.resolve()]; >arr : Promise[] >[Promise.resolve()] : Promise[] >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2017).types b/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2017).types index d9c1727ab5917..12b0285308066 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2017).types +++ b/tests/baselines/reference/topLevelAwait.1(module=es2022,target=es2017).types @@ -183,9 +183,9 @@ const arr = [Promise.resolve()]; >arr : Promise[] >[Promise.resolve()] : Promise[] >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2015).types b/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2015).types index d9c1727ab5917..12b0285308066 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2015).types +++ b/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2015).types @@ -183,9 +183,9 @@ const arr = [Promise.resolve()]; >arr : Promise[] >[Promise.resolve()] : Promise[] >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2017).types b/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2017).types index d9c1727ab5917..12b0285308066 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2017).types +++ b/tests/baselines/reference/topLevelAwait.1(module=esnext,target=es2017).types @@ -183,9 +183,9 @@ const arr = [Promise.resolve()]; >arr : Promise[] >[Promise.resolve()] : Promise[] >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=system,target=es2015).types b/tests/baselines/reference/topLevelAwait.1(module=system,target=es2015).types index d9c1727ab5917..12b0285308066 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=system,target=es2015).types +++ b/tests/baselines/reference/topLevelAwait.1(module=system,target=es2015).types @@ -183,9 +183,9 @@ const arr = [Promise.resolve()]; >arr : Promise[] >[Promise.resolve()] : Promise[] >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwait.1(module=system,target=es2017).types b/tests/baselines/reference/topLevelAwait.1(module=system,target=es2017).types index d9c1727ab5917..12b0285308066 100644 --- a/tests/baselines/reference/topLevelAwait.1(module=system,target=es2017).types +++ b/tests/baselines/reference/topLevelAwait.1(module=system,target=es2017).types @@ -183,9 +183,9 @@ const arr = [Promise.resolve()]; >arr : Promise[] >[Promise.resolve()] : Promise[] >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwaitNonModule(module=es2022).types b/tests/baselines/reference/topLevelAwaitNonModule(module=es2022).types index ceb80b5eb718c..6586353aab041 100644 --- a/tests/baselines/reference/topLevelAwaitNonModule(module=es2022).types +++ b/tests/baselines/reference/topLevelAwaitNonModule(module=es2022).types @@ -9,9 +9,9 @@ const arr = [Promise.resolve()]; >arr : Promise[] >[Promise.resolve()] : Promise[] >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/topLevelAwaitNonModule(module=esnext).types b/tests/baselines/reference/topLevelAwaitNonModule(module=esnext).types index ceb80b5eb718c..6586353aab041 100644 --- a/tests/baselines/reference/topLevelAwaitNonModule(module=esnext).types +++ b/tests/baselines/reference/topLevelAwaitNonModule(module=esnext).types @@ -9,9 +9,9 @@ const arr = [Promise.resolve()]; >arr : Promise[] >[Promise.resolve()] : Promise[] >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } for await (const item of arr) { >item : void diff --git a/tests/baselines/reference/transformNestedGeneratorsWithTry.types b/tests/baselines/reference/transformNestedGeneratorsWithTry.types index e2a5f3ce0da69..d3e4d6d242c6c 100644 --- a/tests/baselines/reference/transformNestedGeneratorsWithTry.types +++ b/tests/baselines/reference/transformNestedGeneratorsWithTry.types @@ -18,9 +18,9 @@ async function a(): Bluebird { await Bluebird.resolve(); // -- remove this and it compiles >await Bluebird.resolve() : void >Bluebird.resolve() : Promise ->Bluebird.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Bluebird.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Bluebird : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } } catch (error) { } >error : any diff --git a/tests/baselines/reference/tslibReExportHelpers2.types b/tests/baselines/reference/tslibReExportHelpers2.types index 7c69753e9b592..8b36a5492ac4b 100644 --- a/tests/baselines/reference/tslibReExportHelpers2.types +++ b/tests/baselines/reference/tslibReExportHelpers2.types @@ -2,7 +2,7 @@ === /node_modules/tslib/index.d.ts === export declare function __classPrivateFieldGet( ->__classPrivateFieldGet : { (receiver: T, state: { has(o: T): boolean; get(o: T): V | undefined; }, kind?: "f"): V; unknown, V>(receiver: T, state: T, kind: "f", f: { value: V; }): V; } +>__classPrivateFieldGet : { (receiver: T, state: { has(o: T): boolean; get(o: T): V | undefined; }, kind?: "f"): V; unknown, V_1>(receiver: T_1, state: T_1, kind: "f", f: { value: V_1; }): V_1; } receiver: T, >receiver : T @@ -19,7 +19,7 @@ export declare function __classPrivateFieldGet( ): V; export declare function __classPrivateFieldGet unknown, V>( ->__classPrivateFieldGet : { (receiver: T, state: { has(o: T): boolean; get(o: T): V; }, kind?: "f"): V; unknown, V>(receiver: T, state: T, kind: "f", f: { value: V;}): V; } +>__classPrivateFieldGet : { (receiver: T_1, state: { has(o: T_1): boolean; get(o: T_1): V_1; }, kind?: "f"): V_1; unknown, V_2>(receiver: T, state: T, kind: "f", f: { value: V;}): V; } >args : any[] receiver: T, @@ -39,7 +39,7 @@ export declare function __classPrivateFieldGet === /node_modules/tslib/index.d.mts === export { __classPrivateFieldGet } from "./index.js"; ->__classPrivateFieldGet : { (receiver: T, state: { has(o: T): boolean; get(o: T): V; }, kind?: "f"): V; unknown, V>(receiver: T, state: T, kind: "f", f: { value: V; }): V; } +>__classPrivateFieldGet : { (receiver: T, state: { has(o: T): boolean; get(o: T): V; }, kind?: "f"): V; unknown, V_1>(receiver: T_1, state: T_1, kind: "f", f: { value: V_1; }): V_1; } === /index.mts === export class Foo { diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments3.types b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments3.types index 4b897cde05d77..4d452a55ff46c 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments3.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments3.types @@ -5,11 +5,11 @@ import React = require('react') >React : typeof React declare function OverloadComponent(): JSX.Element; ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_2; a: T; }): JSX.Element; } >JSX : any declare function OverloadComponent(attr: {b: U, a?: string, "ignore-prop": boolean}): JSX.Element; ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a?: string; "ignore-prop": boolean;}): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U; a?: string; "ignore-prop": boolean;}): JSX.Element; (attr: { b: U_3; a: T; }): JSX.Element; } >attr : { b: U; a?: string; "ignore-prop": boolean; } >b : U >a : string @@ -17,7 +17,7 @@ declare function OverloadComponent(attr: {b: U, a?: string, "ignore-prop": bo >JSX : any declare function OverloadComponent(attr: {b: U, a: T}): JSX.Element; ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T;}): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T;}): JSX.Element; } >attr : { b: U; a: T; } >b : U >a : T @@ -35,7 +35,7 @@ function Baz(arg1: T, a let a0 = ; >a0 : JSX.Element > : JSX.Element ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_3; a: T_1; }): JSX.Element; } >arg1 : T >a : string >ignore-prop : true @@ -43,32 +43,32 @@ function Baz(arg1: T, a let a1 = ; >a1 : JSX.Element > : JSX.Element ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_3; a: T_1; }): JSX.Element; } >arg2 : U >ignore-pro : string let a2 = ; >a2 : JSX.Element > : JSX.Element ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_3; a: T_1; }): JSX.Element; } >arg2 : U let a3 = ; >a3 : JSX.Element > : JSX.Element ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_3; a: T_1; }): JSX.Element; } >arg1 : T >ignore-prop : true let a4 = ; >a4 : JSX.Element > : JSX.Element ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_3; a: T_1; }): JSX.Element; } let a5 = ; >a5 : JSX.Element > : JSX.Element ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_3; a: T_1; }): JSX.Element; } >arg2 : U >ignore-prop : string >arg1 : T @@ -76,21 +76,21 @@ function Baz(arg1: T, a let a6 = ; >a6 : JSX.Element > : JSX.Element ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a?: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_3; a: T_1; }): JSX.Element; } >arg2 : U >ignore-prop : true >arg1 : T } declare function Link(l: {func: (arg: U)=>void}): JSX.Element; ->Link : { (l: { func: (arg: U) => void; }): JSX.Element; (l: { func: (arg1: U, arg2: string) => void; }): JSX.Element; } +>Link : { (l: { func: (arg: U) => void; }): JSX.Element; (l: { func: (arg1: U_1, arg2: string) => void; }): JSX.Element; } >l : { func: (arg: U) => void; } >func : (arg: U) => void >arg : U >JSX : any declare function Link(l: {func: (arg1:U, arg2: string)=>void}): JSX.Element; ->Link : { (l: { func: (arg: U) => void; }): JSX.Element; (l: { func: (arg1: U, arg2: string) => void; }): JSX.Element; } +>Link : { (l: { func: (arg: U_1) => void; }): JSX.Element; (l: { func: (arg1: U, arg2: string) => void; }): JSX.Element; } >l : { func: (arg1: U, arg2: string) => void; } >func : (arg1: U, arg2: string) => void >arg1 : U @@ -105,14 +105,14 @@ function createLink(func: (a: number)=>void) { let o = >o : JSX.Element > : JSX.Element ->Link : { (l: { func: (arg: U) => void; }): JSX.Element; (l: { func: (arg1: U, arg2: string) => void; }): JSX.Element; } +>Link : { (l: { func: (arg: U) => void; }): JSX.Element; (l: { func: (arg1: U_1, arg2: string) => void; }): JSX.Element; } >func : (a: number) => void >func : (a: number) => void let o1 = {}} />; >o1 : JSX.Element >{}} /> : JSX.Element ->Link : { (l: { func: (arg: U) => void; }): JSX.Element; (l: { func: (arg1: U, arg2: string) => void; }): JSX.Element; } +>Link : { (l: { func: (arg: U) => void; }): JSX.Element; (l: { func: (arg1: U_1, arg2: string) => void; }): JSX.Element; } >func : (a: number, b: string) => void >(a:number, b:string)=>{} : (a: number, b: string) => void >a : number diff --git a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.types b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.types index c9b0010bb955c..c1f0a3ff7be49 100644 --- a/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.types +++ b/tests/baselines/reference/tsxStatelessFunctionComponentsWithTypeArguments4.types @@ -5,11 +5,11 @@ import React = require('react') >React : typeof React declare function OverloadComponent(): JSX.Element; ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U_1; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_2; a: T; }): JSX.Element; } >JSX : any declare function OverloadComponent(attr: {b: U, a: string, "ignore-prop": boolean}): JSX.Element; ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a: string; "ignore-prop": boolean;}): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U; a: string; "ignore-prop": boolean;}): JSX.Element; (attr: { b: U_3; a: T; }): JSX.Element; } >attr : { b: U; a: string; "ignore-prop": boolean; } >b : U >a : string @@ -17,7 +17,7 @@ declare function OverloadComponent(attr: {b: U, a: string, "ignore-prop": boo >JSX : any declare function OverloadComponent(attr: {b: U, a: T}): JSX.Element; ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T;}): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T;}): JSX.Element; } >attr : { b: U; a: T; } >b : U >a : T @@ -35,7 +35,7 @@ function Baz(arg1: T, a let a0 = >a0 : JSX.Element > : JSX.Element ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_3; a: T_1; }): JSX.Element; } >a : number >arg1.b : number >arg1 : T @@ -44,7 +44,7 @@ function Baz(arg1: T, a let a2 = // missing a >a2 : JSX.Element > : JSX.Element ->OverloadComponent : { (): JSX.Element; (attr: { b: U; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U; a: T; }): JSX.Element; } +>OverloadComponent : { (): JSX.Element; (attr: { b: U_2; a: string; "ignore-prop": boolean; }): JSX.Element; (attr: { b: U_3; a: T_1; }): JSX.Element; } >arg1 : T >ignore-prop : true } diff --git a/tests/baselines/reference/tupleTypeInference.types b/tests/baselines/reference/tupleTypeInference.types index 95543c8a860b9..5c20b00cf4921 100644 --- a/tests/baselines/reference/tupleTypeInference.types +++ b/tests/baselines/reference/tupleTypeInference.types @@ -6,15 +6,15 @@ declare var $q: IQService; interface IQService { all(x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; ->all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } +>all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_1, T2_1]>; (x: [IPromise]): IPromise<[T1_2]>; } >x : [IPromise, IPromise, IPromise] all(x: [IPromise, IPromise]): IPromise<[T1, T2]>; ->all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } +>all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1_1, T2_1, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1_3]>; } >x : [IPromise, IPromise] all(x: [IPromise]): IPromise<[T1]>; ->all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } +>all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1_1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_2, T2_1]>; (x: [IPromise]): IPromise<[T1]>; } >x : [IPromise] when(t?: T): IPromise; @@ -33,9 +33,9 @@ interface IPromise { var a = $q.all([$q.when(), $q.when()]); >a : IPromise<[string, number]> >$q.all([$q.when(), $q.when()]) : IPromise<[string, number]> ->$q.all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } +>$q.all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_1, T2_1]>; (x: [IPromise]): IPromise<[T1_2]>; } >$q : IQService ->all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } +>all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_1, T2_1]>; (x: [IPromise]): IPromise<[T1_2]>; } >[$q.when(), $q.when()] : [IPromise, IPromise] >$q.when() : IPromise >$q.when : (t?: T) => IPromise @@ -50,9 +50,9 @@ var a = $q.all([$q.when(), $q.when()]); var b = $q.all([$q.when(), $q.when()]); >b : IPromise<[string, number]> >$q.all([$q.when(), $q.when()]) : IPromise<[string, number]> ->$q.all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } +>$q.all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_1, T2_1]>; (x: [IPromise]): IPromise<[T1_2]>; } >$q : IQService ->all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } +>all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_1, T2_1]>; (x: [IPromise]): IPromise<[T1_2]>; } >[$q.when(), $q.when()] : [IPromise, IPromise] >$q.when() : IPromise >$q.when : (t?: T) => IPromise @@ -67,9 +67,9 @@ var b = $q.all([$q.when(), $q.when()]); var c = $q.all([$q.when(), $q.when()]); >c : IPromise<[string, string]> >$q.all([$q.when(), $q.when()]) : IPromise<[string, string]> ->$q.all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } +>$q.all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_1, T2_1]>; (x: [IPromise]): IPromise<[T1_2]>; } >$q : IQService ->all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1, T2]>; (x: [IPromise]): IPromise<[T1]>; } +>all : { (x: [IPromise, IPromise, IPromise]): IPromise<[T1, T2, T3]>; (x: [IPromise, IPromise]): IPromise<[T1_1, T2_1]>; (x: [IPromise]): IPromise<[T1_2]>; } >[$q.when(), $q.when()] : [IPromise, IPromise] >$q.when() : IPromise >$q.when : (t?: T) => IPromise diff --git a/tests/baselines/reference/twiceNestedKeyofIndexInference.types b/tests/baselines/reference/twiceNestedKeyofIndexInference.types index 8d6582809cad3..52040db975a5e 100644 --- a/tests/baselines/reference/twiceNestedKeyofIndexInference.types +++ b/tests/baselines/reference/twiceNestedKeyofIndexInference.types @@ -16,13 +16,13 @@ type Set2 = T extends any[] ? T : }[K1]; declare function set(source: T, path: [K1], value: T[K1]): Set1; ->set : { (source: T, path: [K1], value: T[K1]): Set1; (source: T, path: [K1, K2], value: T[K1][K2]): Set2; } +>set : { (source: T, path: [K1], value: T[K1]): Set1; (source: T_1, path: [K1_1, K2], value: T_1[K1_1][K2]): Set2; } >source : T >path : [K1] >value : T[K1] declare function set(source: T, path: [K1, K2], value: T[K1][K2]): Set2; ->set : { (source: T, path: [K1], value: T[K1]): Set1; (source: T, path: [K1, K2], value: T[K1][K2]): Set2; } +>set : { (source: T_1, path: [K1_1], value: T_1[K1_1]): Set1; (source: T, path: [K1, K2], value: T[K1][K2]): Set2; } >source : T >path : [K1, K2] >value : T[K1][K2] @@ -69,7 +69,7 @@ const state: State = { const newState: State = set(state, ["a", 'b'], 'why'); // shouldn't be an error >newState : State >set(state, ["a", 'b'], 'why') : Pick & Required<{ a: Pick<{ b: string; c: number; }, "c"> & Required>; }> ->set : { (source: T, path: [K1], value: T[K1]): Set1; (source: T, path: [K1, K2], value: T[K1][K2]): Set2; } +>set : { (source: T, path: [K1], value: T[K1]): Set1; (source: T_1, path: [K1_1, K2], value: T_1[K1_1][K2]): Set2; } >state : State >["a", 'b'] : ["a", "b"] >"a" : "a" diff --git a/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.types b/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.types index 42ee590b400db..08934a5f14e0d 100644 --- a/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.types +++ b/tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.types @@ -98,7 +98,7 @@ interface D { interface D { foo(x: W, y: W): T; ->foo : { (x: A, y: A): U; (x: W, y: W): T; } +>foo : { (x: A_1, y: A_1): U; (x: W, y: W): T; } >x : W >y : W } @@ -109,9 +109,9 @@ var d: D; var r3 = d.foo(1, 1); // boolean, last definition wins >r3 : boolean >d.foo(1, 1) : boolean ->d.foo : { (x: A, y: A): Date; (x: W, y: W): boolean; } +>d.foo : { (x: A_1, y: A_1): Date; (x: W, y: W): boolean; } >d : D ->foo : { (x: A, y: A): Date; (x: W, y: W): boolean; } +>foo : { (x: A_1, y: A_1): Date; (x: W, y: W): boolean; } >1 : 1 >1 : 1 diff --git a/tests/baselines/reference/typeAliases.types b/tests/baselines/reference/typeAliases.types index 28f9934eb3641..9ae9eb2209130 100644 --- a/tests/baselines/reference/typeAliases.types +++ b/tests/baselines/reference/typeAliases.types @@ -130,13 +130,13 @@ declare function foo13(t1: T1, t2: T13): void; foo13(x13_1, x13_2); >foo13(x13_1, x13_2) : void ->foo13 : (t1: T1, t2: I13) => void +>foo13 : (t1: T1_1, t2: I13) => void >x13_1 : I13 >x13_2 : I13 foo13(x13_2, x13_1); >foo13(x13_2, x13_1) : void ->foo13 : (t1: T1, t2: I13) => void +>foo13 : (t1: T1_1, t2: I13) => void >x13_2 : I13 >x13_1 : I13 diff --git a/tests/baselines/reference/typeArgumentConstraintResolution1.types b/tests/baselines/reference/typeArgumentConstraintResolution1.types index 1cdceb48b9877..331810369b696 100644 --- a/tests/baselines/reference/typeArgumentConstraintResolution1.types +++ b/tests/baselines/reference/typeArgumentConstraintResolution1.types @@ -2,38 +2,38 @@ === typeArgumentConstraintResolution1.ts === function foo1(test: T); ->foo1 : { (test: T): any; (test: string): any; } +>foo1 : { (test: T): any; (test: string): any; } >test : T function foo1(test: string); ->foo1 : { (test: T): any; (test: string): any; } +>foo1 : { (test: T_1): any; (test: string): any; } >test : string function foo1(test: any) { } ->foo1 : { (test: T): any; (test: string): any; } +>foo1 : { (test: T_1): any; (test: string): any; } >test : any foo1(""); // should error >foo1("") : any ->foo1 : { (test: T): any; (test: string): any; } +>foo1 : { (test: T): any; (test: string): any; } >"" : "" function foo2(test: T): T; ->foo2 : { (test: T): T; (test: string): T; } +>foo2 : { (test: T): T; (test: string): T_1; } >test : T function foo2(test: string): T; ->foo2 : { (test: T): T; (test: string): T; } +>foo2 : { (test: T_1): T_1; (test: string): T; } >test : string function foo2(test: any): any { return null; } ->foo2 : { (test: T): T; (test: string): T; } +>foo2 : { (test: T_1): T_1; (test: string): T_2; } >test : any foo2(""); // Type Date does not satisfy the constraint 'Number' for type parameter 'T extends Number' >foo2("") : Date ->foo2 : { (test: T): T; (test: string): T; } +>foo2 : { (test: T): T; (test: string): T_1; } >"" : "" diff --git a/tests/baselines/reference/typeAssertionToGenericFunctionType.types b/tests/baselines/reference/typeAssertionToGenericFunctionType.types index 641b0ac002312..5fac20a682884 100644 --- a/tests/baselines/reference/typeAssertionToGenericFunctionType.types +++ b/tests/baselines/reference/typeAssertionToGenericFunctionType.types @@ -2,8 +2,8 @@ === typeAssertionToGenericFunctionType.ts === var x = { ->x : { a: (x: T) => T; b: (x: T) => void; } ->{ a: < (x: T) => T > ((x: any) => 1), b: (x: T) => { x }} : { a: (x: T) => T; b: (x: T) => void; } +>x : { a: (x: T) => T; b: (x: T_1) => void; } +>{ a: < (x: T) => T > ((x: any) => 1), b: (x: T) => { x }} : { a: (x: T) => T; b: (x: T_1) => void; } a: < (x: T) => T > ((x: any) => 1), >a : (x: T) => T @@ -23,13 +23,13 @@ var x = { x.a(1); // bug was that this caused 'Could not find symbol T' on return type T in the type assertion on x.a's definition >x.a(1) : string >x.a : (x: T) => T ->x : { a: (x: T) => T; b: (x: T) => void; } +>x : { a: (x: T) => T; b: (x: T_1) => void; } >a : (x: T) => T >1 : 1 x.b(); // error >x.b() : void >x.b : (x: T) => void ->x : { a: (x: T) => T; b: (x: T) => void; } +>x : { a: (x: T) => T; b: (x: T_1) => void; } >b : (x: T) => void diff --git a/tests/baselines/reference/typeParameterDirectlyConstrainedToItself.types b/tests/baselines/reference/typeParameterDirectlyConstrainedToItself.types index bf39e6d725ddb..f3be4463c33d6 100644 --- a/tests/baselines/reference/typeParameterDirectlyConstrainedToItself.types +++ b/tests/baselines/reference/typeParameterDirectlyConstrainedToItself.types @@ -19,7 +19,7 @@ function f2() { } >f2 : () => void var a: { ->a : { (): void; (): void; } +>a : { (): void; (): void; } (): void; (): void; diff --git a/tests/baselines/reference/typeParameterIndirectlyConstrainedToItself.types b/tests/baselines/reference/typeParameterIndirectlyConstrainedToItself.types index 14a3007b88637..dfb0ab0d03c8f 100644 --- a/tests/baselines/reference/typeParameterIndirectlyConstrainedToItself.types +++ b/tests/baselines/reference/typeParameterIndirectlyConstrainedToItself.types @@ -17,7 +17,7 @@ function f2() { } >f2 : () => void var a: { ->a : { (): void; (): void; } +>a : { (): void; (): void; } (): void; (): void; diff --git a/tests/baselines/reference/typeParametersAreIdenticalToThemselves.types b/tests/baselines/reference/typeParametersAreIdenticalToThemselves.types index aece864f92b9e..5e2d463b83a9b 100644 --- a/tests/baselines/reference/typeParametersAreIdenticalToThemselves.types +++ b/tests/baselines/reference/typeParametersAreIdenticalToThemselves.types @@ -4,27 +4,27 @@ // type parameters from the same declaration are identical to themself function foo1(x: T); ->foo1 : { (x: T): any; (x: T): any; } +>foo1 : { (x: T): any; (x: T_1): any; } >x : T function foo1(x: T); // no error, different declaration for each T ->foo1 : { (x: T): any; (x: T): any; } +>foo1 : { (x: T_1): any; (x: T): any; } >x : T function foo1(x: T) { } ->foo1 : { (x: T): any; (x: T): any; } +>foo1 : { (x: T_1): any; (x: T_2): any; } >x : T function foo2(x: T); ->foo2 : { (x: T): any; (x: T): any; } +>foo2 : { (x: T): any; (x: T_1): any; } >x : T function foo2(x: T); // no error, different declaration for each T ->foo2 : { (x: T): any; (x: T): any; } +>foo2 : { (x: T_1): any; (x: T): any; } >x : T function foo2(x: T) { } ->foo2 : { (x: T): any; (x: T): any; } +>foo2 : { (x: T_1): any; (x: T_2): any; } >x : T function foo3(x: T, y: U) { @@ -45,15 +45,15 @@ function foo3(x: T, y: U) { >x : T function inner2(x: T); ->inner2 : { (x: T): any; (x: T): any; } +>inner2 : { (x: T): any; (x: T_1): any; } >x : T function inner2(x: T); // no error, different T ->inner2 : { (x: T): any; (x: T): any; } +>inner2 : { (x: T): any; (x: T): any; } >x : T function inner2(x: any) { } ->inner2 : { (x: T): any; (x: T): any; } +>inner2 : { (x: T): any; (x: T_1): any; } >x : any } @@ -73,42 +73,42 @@ class C { >x : T foo2(a: T, x: U); ->foo2 : { (a: T, x: U): any; (a: T, x: U): any; } +>foo2 : { (a: T, x: U): any; (a: T, x: U_1): any; } >a : T >x : U foo2(a: T, x: U); // no error, different declaration for each U ->foo2 : { (a: T, x: U): any; (a: T, x: U): any; } +>foo2 : { (a: T, x: U_1): any; (a: T, x: U): any; } >a : T >x : U foo2(a: T, x: U) { } ->foo2 : { (a: T, x: U): any; (a: T, x: U): any; } +>foo2 : { (a: T, x: U_1): any; (a: T, x: U_2): any; } >a : T >x : U foo3(x: T); ->foo3 : { (x: T): any; (x: T): any; } +>foo3 : { (x: T): any; (x: T_1): any; } >x : T foo3(x: T); // no error, different declaration for each T ->foo3 : { (x: T): any; (x: T): any; } +>foo3 : { (x: T_1): any; (x: T): any; } >x : T foo3(x: T) { } ->foo3 : { (x: T): any; (x: T): any; } +>foo3 : { (x: T_1): any; (x: T_2): any; } >x : T foo4(x: T); ->foo4 : { (x: T): any; (x: T): any; } +>foo4 : { (x: T): any; (x: T_1): any; } >x : T foo4(x: T); // no error, different declaration for each T ->foo4 : { (x: T): any; (x: T): any; } +>foo4 : { (x: T_1): any; (x: T): any; } >x : T foo4(x: T) { } ->foo4 : { (x: T): any; (x: T): any; } +>foo4 : { (x: T_1): any; (x: T_2): any; } >x : T } @@ -128,30 +128,30 @@ class C2 { >x : T foo2(a: T, x: U); ->foo2 : { (a: T, x: U): any; (a: T, x: U): any; } +>foo2 : { (a: T, x: U): any; (a: T, x: U_1): any; } >a : T >x : U foo2(a: T, x: U); // no error, different declaration for each U ->foo2 : { (a: T, x: U): any; (a: T, x: U): any; } +>foo2 : { (a: T, x: U_1): any; (a: T, x: U): any; } >a : T >x : U foo2(a: T, x: U) { } ->foo2 : { (a: T, x: U): any; (a: T, x: U): any; } +>foo2 : { (a: T, x: U_1): any; (a: T, x: U_2): any; } >a : T >x : U foo3(x: T); ->foo3 : { (x: T): any; (x: T): any; } +>foo3 : { (x: T): any; (x: T_1): any; } >x : T foo3(x: T); // no error, different declaration for each T ->foo3 : { (x: T): any; (x: T): any; } +>foo3 : { (x: T_1): any; (x: T): any; } >x : T foo3(x: T) { } ->foo3 : { (x: T): any; (x: T): any; } +>foo3 : { (x: T_1): any; (x: T_2): any; } >x : T } @@ -165,29 +165,29 @@ interface I { >x : T foo2(a: T, x: U); ->foo2 : { (a: T, x: U): any; (a: T, x: U): any; } +>foo2 : { (a: T, x: U): any; (a: T, x: U_1): any; } >a : T >x : U foo2(a: T, x: U); // no error, different declaration for each U ->foo2 : { (a: T, x: U): any; (a: T, x: U): any; } +>foo2 : { (a: T, x: U_1): any; (a: T, x: U): any; } >a : T >x : U foo3(x: T); ->foo3 : { (x: T): any; (x: T): any; } +>foo3 : { (x: T): any; (x: T_1): any; } >x : T foo3(x: T); // no error, different declaration for each T ->foo3 : { (x: T): any; (x: T): any; } +>foo3 : { (x: T_1): any; (x: T): any; } >x : T foo4(x: T); ->foo4 : { (x: T): any; (x: T): any; } +>foo4 : { (x: T): any; (x: T_1): any; } >x : T foo4(x: T); // no error, different declaration for each T ->foo4 : { (x: T): any; (x: T): any; } +>foo4 : { (x: T_1): any; (x: T): any; } >x : T } @@ -201,20 +201,20 @@ interface I2 { >x : T foo2(a: T, x: U); ->foo2 : { (a: T, x: U): any; (a: T, x: U): any; } +>foo2 : { (a: T, x: U): any; (a: T, x: U_1): any; } >a : T >x : U foo2(a: T, x: U); // no error, different declaration for each U ->foo2 : { (a: T, x: U): any; (a: T, x: U): any; } +>foo2 : { (a: T, x: U_1): any; (a: T, x: U): any; } >a : T >x : U foo3(x: T); ->foo3 : { (x: T): any; (x: T): any; } +>foo3 : { (x: T): any; (x: T_1): any; } >x : T foo3(x: T); // no error, different declaration for each T ->foo3 : { (x: T): any; (x: T): any; } +>foo3 : { (x: T_1): any; (x: T): any; } >x : T } diff --git a/tests/baselines/reference/typeParametersAvailableInNestedScope3.types b/tests/baselines/reference/typeParametersAvailableInNestedScope3.types index 3874823aa2f34..b818c65def888 100644 --- a/tests/baselines/reference/typeParametersAvailableInNestedScope3.types +++ b/tests/baselines/reference/typeParametersAvailableInNestedScope3.types @@ -2,7 +2,7 @@ === typeParametersAvailableInNestedScope3.ts === function foo(v: T) { ->foo : (v: T) => { a: (a: T) => T; b: () => T; c: (v: T) => { a: (a: T) => T; b: () => T; }; } +>foo : (v: T) => { a: (a: T_1) => T_1; b: () => T; c: (v: T_2) => { a: (a: T_3) => T_3; b: () => T_2; }; } >v : T function a(a: T) { return a; } @@ -15,7 +15,7 @@ function foo(v: T) { >v : T function c(v: T) { ->c : (v: T) => { a: (a: T) => T; b: () => T; } +>c : (v: T) => { a: (a: T_1) => T_1; b: () => T; } >v : T function a(a: T) { return a; } @@ -28,15 +28,15 @@ function foo(v: T) { >v : T return { a, b }; ->{ a, b } : { a: (a: T) => T; b: () => T; } ->a : (a: T) => T +>{ a, b } : { a: (a: T_1) => T_1; b: () => T; } +>a : (a: T_1) => T_1 >b : () => T } return { a, b, c }; ->{ a, b, c } : { a: (a: T) => T; b: () => T; c: (v: T) => { a: (a: T) => T; b: () => T; }; } ->a : (a: T) => T +>{ a, b, c } : { a: (a: T_1) => T_1; b: () => T; c: (v: T_2) => { a: (a: T_3) => T_3; b: () => T_2; }; } +>a : (a: T_1) => T_1 >b : () => T ->c : (v: T) => { a: (a: T) => T; b: () => T; } +>c : (v: T_1) => { a: (a: T_2) => T_2; b: () => T_1; } } diff --git a/tests/baselines/reference/typedArrays.types b/tests/baselines/reference/typedArrays.types index ecf71bb911812..27907ad954987 100644 --- a/tests/baselines/reference/typedArrays.types +++ b/tests/baselines/reference/typedArrays.types @@ -757,9 +757,9 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >typedArrays : any[] >0 : 0 >Int8Array.from(obj, mapFn) : Int8Array ->Int8Array.from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } +>Int8Array.from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } >Int8Array : Int8ArrayConstructor ->from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } +>from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } >obj : ArrayLike >mapFn : (n: T, v: number) => number @@ -769,9 +769,9 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >typedArrays : any[] >1 : 1 >Uint8Array.from(obj, mapFn) : Uint8Array ->Uint8Array.from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } +>Uint8Array.from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } >Uint8Array : Uint8ArrayConstructor ->from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } +>from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } >obj : ArrayLike >mapFn : (n: T, v: number) => number @@ -781,9 +781,9 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >typedArrays : any[] >2 : 2 >Int16Array.from(obj, mapFn) : Int16Array ->Int16Array.from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } +>Int16Array.from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } >Int16Array : Int16ArrayConstructor ->from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } +>from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } >obj : ArrayLike >mapFn : (n: T, v: number) => number @@ -793,9 +793,9 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >typedArrays : any[] >3 : 3 >Uint16Array.from(obj, mapFn) : Uint16Array ->Uint16Array.from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } +>Uint16Array.from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } >Uint16Array : Uint16ArrayConstructor ->from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } +>from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } >obj : ArrayLike >mapFn : (n: T, v: number) => number @@ -805,9 +805,9 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >typedArrays : any[] >4 : 4 >Int32Array.from(obj, mapFn) : Int32Array ->Int32Array.from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } +>Int32Array.from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } >Int32Array : Int32ArrayConstructor ->from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } +>from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } >obj : ArrayLike >mapFn : (n: T, v: number) => number @@ -817,9 +817,9 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >typedArrays : any[] >5 : 5 >Uint32Array.from(obj, mapFn) : Uint32Array ->Uint32Array.from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } +>Uint32Array.from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } >Uint32Array : Uint32ArrayConstructor ->from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } +>from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } >obj : ArrayLike >mapFn : (n: T, v: number) => number @@ -829,9 +829,9 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >typedArrays : any[] >6 : 6 >Float32Array.from(obj, mapFn) : Float32Array ->Float32Array.from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } +>Float32Array.from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } >Float32Array : Float32ArrayConstructor ->from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } +>from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } >obj : ArrayLike >mapFn : (n: T, v: number) => number @@ -841,9 +841,9 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >typedArrays : any[] >7 : 7 >Float64Array.from(obj, mapFn) : Float64Array ->Float64Array.from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } +>Float64Array.from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } >Float64Array : Float64ArrayConstructor ->from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } +>from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } >obj : ArrayLike >mapFn : (n: T, v: number) => number @@ -853,9 +853,9 @@ function CreateTypedArraysFromMapFn2(obj:ArrayLike, mapFn: (n:T, v:number) >typedArrays : any[] >8 : 8 >Uint8ClampedArray.from(obj, mapFn) : Uint8ClampedArray ->Uint8ClampedArray.from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } +>Uint8ClampedArray.from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } >Uint8ClampedArray : Uint8ClampedArrayConstructor ->from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } +>from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } >obj : ArrayLike >mapFn : (n: T, v: number) => number @@ -1137,9 +1137,9 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >typedArrays : any[] >0 : 0 >Int8Array.from(obj, mapFn, thisArg) : Int8Array ->Int8Array.from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } +>Int8Array.from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } >Int8Array : Int8ArrayConstructor ->from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } +>from : { (arrayLike: ArrayLike): Int8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int8Array; } >obj : ArrayLike >mapFn : (n: T, v: number) => number >thisArg : {} @@ -1150,9 +1150,9 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >typedArrays : any[] >1 : 1 >Uint8Array.from(obj, mapFn, thisArg) : Uint8Array ->Uint8Array.from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } +>Uint8Array.from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } >Uint8Array : Uint8ArrayConstructor ->from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } +>from : { (arrayLike: ArrayLike): Uint8Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8Array; } >obj : ArrayLike >mapFn : (n: T, v: number) => number >thisArg : {} @@ -1163,9 +1163,9 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >typedArrays : any[] >2 : 2 >Int16Array.from(obj, mapFn, thisArg) : Int16Array ->Int16Array.from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } +>Int16Array.from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } >Int16Array : Int16ArrayConstructor ->from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } +>from : { (arrayLike: ArrayLike): Int16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int16Array; } >obj : ArrayLike >mapFn : (n: T, v: number) => number >thisArg : {} @@ -1176,9 +1176,9 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >typedArrays : any[] >3 : 3 >Uint16Array.from(obj, mapFn, thisArg) : Uint16Array ->Uint16Array.from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } +>Uint16Array.from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } >Uint16Array : Uint16ArrayConstructor ->from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } +>from : { (arrayLike: ArrayLike): Uint16Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint16Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint16Array; } >obj : ArrayLike >mapFn : (n: T, v: number) => number >thisArg : {} @@ -1189,9 +1189,9 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >typedArrays : any[] >4 : 4 >Int32Array.from(obj, mapFn, thisArg) : Int32Array ->Int32Array.from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } +>Int32Array.from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } >Int32Array : Int32ArrayConstructor ->from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } +>from : { (arrayLike: ArrayLike): Int32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Int32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Int32Array; } >obj : ArrayLike >mapFn : (n: T, v: number) => number >thisArg : {} @@ -1202,9 +1202,9 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >typedArrays : any[] >5 : 5 >Uint32Array.from(obj, mapFn, thisArg) : Uint32Array ->Uint32Array.from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } +>Uint32Array.from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } >Uint32Array : Uint32ArrayConstructor ->from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } +>from : { (arrayLike: ArrayLike): Uint32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint32Array; } >obj : ArrayLike >mapFn : (n: T, v: number) => number >thisArg : {} @@ -1215,9 +1215,9 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >typedArrays : any[] >6 : 6 >Float32Array.from(obj, mapFn, thisArg) : Float32Array ->Float32Array.from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } +>Float32Array.from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } >Float32Array : Float32ArrayConstructor ->from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } +>from : { (arrayLike: ArrayLike): Float32Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float32Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float32Array; } >obj : ArrayLike >mapFn : (n: T, v: number) => number >thisArg : {} @@ -1228,9 +1228,9 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >typedArrays : any[] >7 : 7 >Float64Array.from(obj, mapFn, thisArg) : Float64Array ->Float64Array.from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } +>Float64Array.from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } >Float64Array : Float64ArrayConstructor ->from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } +>from : { (arrayLike: ArrayLike): Float64Array; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Float64Array; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Float64Array; } >obj : ArrayLike >mapFn : (n: T, v: number) => number >thisArg : {} @@ -1241,9 +1241,9 @@ function CreateTypedArraysFromThisObj2(obj:ArrayLike, mapFn: (n:T, v:numbe >typedArrays : any[] >8 : 8 >Uint8ClampedArray.from(obj, mapFn, thisArg) : Uint8ClampedArray ->Uint8ClampedArray.from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } +>Uint8ClampedArray.from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } >Uint8ClampedArray : Uint8ClampedArrayConstructor ->from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } +>from : { (arrayLike: ArrayLike): Uint8ClampedArray; (arrayLike: ArrayLike, mapfn: (v: T_1, k: number) => number, thisArg?: any): Uint8ClampedArray; (arrayLike: Iterable, mapfn?: (v: number, k: number) => number, thisArg?: any): Uint8ClampedArray; } >obj : ArrayLike >mapFn : (n: T, v: number) => number >thisArg : {} diff --git a/tests/baselines/reference/types.asyncGenerators.es2018.1.types b/tests/baselines/reference/types.asyncGenerators.es2018.1.types index 9dc19ba31f703..1dab8448cf487 100644 --- a/tests/baselines/reference/types.asyncGenerators.es2018.1.types +++ b/tests/baselines/reference/types.asyncGenerators.es2018.1.types @@ -23,9 +23,9 @@ async function * inferReturnType4() { yield Promise.resolve(1); >yield Promise.resolve(1) : any >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 } async function * inferReturnType5() { @@ -38,9 +38,9 @@ async function * inferReturnType5() { yield Promise.resolve(2); >yield Promise.resolve(2) : any >Promise.resolve(2) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >2 : 2 } async function * inferReturnType6() { @@ -59,9 +59,9 @@ async function * inferReturnType7() { >yield* [Promise.resolve(1)] : any >[Promise.resolve(1)] : Promise[] >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 } async function * inferReturnType8() { @@ -91,9 +91,9 @@ const assignability2: () => AsyncIterableIterator = async function * () yield Promise.resolve(1); >yield Promise.resolve(1) : undefined >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 }; @@ -116,9 +116,9 @@ const assignability4: () => AsyncIterableIterator = async function * () >yield* [Promise.resolve(1)] : any >[Promise.resolve(1)] : Promise[] >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 }; @@ -151,9 +151,9 @@ const assignability7: () => AsyncIterable = async function * () { yield Promise.resolve(1); >yield Promise.resolve(1) : undefined >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 }; @@ -176,9 +176,9 @@ const assignability9: () => AsyncIterable = async function * () { >yield* [Promise.resolve(1)] : any >[Promise.resolve(1)] : Promise[] >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 }; @@ -211,9 +211,9 @@ const assignability12: () => AsyncIterator = async function * () { yield Promise.resolve(1); >yield Promise.resolve(1) : undefined >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 }; @@ -236,9 +236,9 @@ const assignability14: () => AsyncIterator = async function * () { >yield* [Promise.resolve(1)] : any >[Promise.resolve(1)] : Promise[] >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 }; @@ -268,9 +268,9 @@ async function * explicitReturnType2(): AsyncIterableIterator { yield Promise.resolve(1); >yield Promise.resolve(1) : undefined >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 } async function * explicitReturnType3(): AsyncIterableIterator { @@ -289,9 +289,9 @@ async function * explicitReturnType4(): AsyncIterableIterator { >yield* [Promise.resolve(1)] : any >[Promise.resolve(1)] : Promise[] >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 } async function * explicitReturnType5(): AsyncIterableIterator { @@ -318,9 +318,9 @@ async function * explicitReturnType7(): AsyncIterable { yield Promise.resolve(1); >yield Promise.resolve(1) : undefined >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 } async function * explicitReturnType8(): AsyncIterable { @@ -339,9 +339,9 @@ async function * explicitReturnType9(): AsyncIterable { >yield* [Promise.resolve(1)] : any >[Promise.resolve(1)] : Promise[] >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 } async function * explicitReturnType10(): AsyncIterable { @@ -368,9 +368,9 @@ async function * explicitReturnType12(): AsyncIterator { yield Promise.resolve(1); >yield Promise.resolve(1) : undefined >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 } async function * explicitReturnType13(): AsyncIterator { @@ -389,9 +389,9 @@ async function * explicitReturnType14(): AsyncIterator { >yield* [Promise.resolve(1)] : any >[Promise.resolve(1)] : Promise[] >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 } async function * explicitReturnType15(): AsyncIterator { @@ -427,9 +427,9 @@ async function * awaitedType2() { >x : number >await Promise.resolve(1) : number >Promise.resolve(1) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >1 : 1 } async function * nextType1(): { next(...args: [] | [number | PromiseLike]): any } { diff --git a/tests/baselines/reference/types.asyncGenerators.es2018.2.types b/tests/baselines/reference/types.asyncGenerators.es2018.2.types index 6ab2b214dbf0c..915189c840378 100644 --- a/tests/baselines/reference/types.asyncGenerators.es2018.2.types +++ b/tests/baselines/reference/types.asyncGenerators.es2018.2.types @@ -22,9 +22,9 @@ async function * inferReturnType3() { yield* Promise.resolve([1, 2]); >yield* Promise.resolve([1, 2]) : any >Promise.resolve([1, 2]) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >[1, 2] : number[] >1 : 1 >2 : 2 diff --git a/tests/baselines/reference/undefinedTypeArgument2.types b/tests/baselines/reference/undefinedTypeArgument2.types index 3dfaa30dc6924..cc4dc7eba2b18 100644 --- a/tests/baselines/reference/undefinedTypeArgument2.types +++ b/tests/baselines/reference/undefinedTypeArgument2.types @@ -4,12 +4,12 @@ // once caused stack overflow interface Query { selectMany(selector: (item: T) => U[]): Query; ->selectMany : { (selector: (item: T) => U[]): Query; (arraySelector: (item: T) => U[], resultSelector: (outer: T, inner: U) => R): Query; } +>selectMany : { (selector: (item: T) => U[]): Query; (arraySelector: (item: T) => U_1[], resultSelector: (outer: T, inner: U_1) => R): Query; } >selector : (item: T) => U[] >item : T selectMany(arraySelector: (item: T) => U[], resultSelector: (outer: T, inner: U) => R): Query; ->selectMany : { (selector: (item: T) => U[]): Query; (arraySelector: (item: T) => U[], resultSelector: (outer: T, inner: U) => R): Query; } +>selectMany : { (selector: (item: T) => U_1[]): Query; (arraySelector: (item: T) => U[], resultSelector: (outer: T, inner: U) => R): Query; } >arraySelector : (item: T) => U[] >item : T >resultSelector : (outer: T, inner: U) => R diff --git a/tests/baselines/reference/underscoreTest1.types b/tests/baselines/reference/underscoreTest1.types index 384aa0fde9555..d76badc5861c7 100644 --- a/tests/baselines/reference/underscoreTest1.types +++ b/tests/baselines/reference/underscoreTest1.types @@ -12,9 +12,9 @@ declare function alert(x: string): void; _.each([1, 2, 3], (num) => alert(num.toString())); >_.each([1, 2, 3], (num) => alert(num.toString())) : void ->_.each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } +>_.each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } >_ : Underscore.Static ->each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } +>each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } >[1, 2, 3] : number[] >1 : 1 >2 : 2 @@ -30,9 +30,9 @@ _.each([1, 2, 3], (num) => alert(num.toString())); _.each({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => alert(value.toString())); >_.each({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => alert(value.toString())) : void ->_.each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } +>_.each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } >_ : Underscore.Static ->each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } +>each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } >one : number >1 : 1 @@ -52,9 +52,9 @@ _.each({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => alert(valu _.map([1, 2, 3], (num) => num * 3); >_.map([1, 2, 3], (num) => num * 3) : number[] ->_.map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U[]; } +>_.map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U_1[]; } >_ : Underscore.Static ->map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U[]; } +>map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U_1[]; } >[1, 2, 3] : number[] >1 : 1 >2 : 2 @@ -67,9 +67,9 @@ _.map([1, 2, 3], (num) => num * 3); _.map({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => value * 3); >_.map({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => value * 3) : number[] ->_.map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U[]; } +>_.map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U_1[]; } >_ : Underscore.Static ->map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U[]; } +>map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U_1[]; } >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } >one : number >1 : 1 @@ -87,9 +87,9 @@ _.map({ one: 1, two: 2, three: 3 }, (value: number, key?: string) => value * 3); var sum = _.reduce([1, 2, 3], (memo, num) => memo + num, 0); >sum : number >_.reduce([1, 2, 3], (memo, num) => memo + num, 0) : number ->_.reduce : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>_.reduce : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T_1[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T_2, context?: any): T_2; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >_ : Underscore.Static ->reduce : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>reduce : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T_1[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T_2, context?: any): T_2; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >[1, 2, 3] : number[] >1 : 1 >2 : 2 @@ -118,9 +118,9 @@ var list = [[0, 1], [2, 3], [4, 5]]; var flat = _.reduceRight(list, (a, b) => a.concat(b), []); >flat : number[] >_.reduceRight(list, (a, b) => a.concat(b), []) : number[] ->_.reduceRight : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>_.reduceRight : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T_1[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T_2, context?: any): T_2; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >_ : Underscore.Static ->reduceRight : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>reduceRight : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T_1[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T_2, context?: any): T_2; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >list : number[][] >(a, b) => a.concat(b) : (a: number[], b: number[]) => number[] >a : number[] @@ -135,9 +135,9 @@ var flat = _.reduceRight(list, (a, b) => a.concat(b), []); var even = _.find([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >even : number >_.find([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0) : number ->_.find : { (list: T[], iterator: Iterator_, context?: any): T; (list: Dictionary, iterator: Iterator_, context?: any): T; } +>_.find : { (list: T[], iterator: Iterator_, context?: any): T; (list: Dictionary, iterator: Iterator_, context?: any): T_1; } >_ : Underscore.Static ->find : { (list: T[], iterator: Iterator_, context?: any): T; (list: Dictionary, iterator: Iterator_, context?: any): T; } +>find : { (list: T[], iterator: Iterator_, context?: any): T; (list: Dictionary, iterator: Iterator_, context?: any): T_1; } >[1, 2, 3, 4, 5, 6] : number[] >1 : 1 >2 : 2 @@ -156,9 +156,9 @@ var even = _.find([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); var evens = _.filter([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >evens : number[] >_.filter([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0) : number[] ->_.filter : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } +>_.filter : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T_1[]; } >_ : Underscore.Static ->filter : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } +>filter : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T_1[]; } >[1, 2, 3, 4, 5, 6] : number[] >1 : 1 >2 : 2 @@ -201,9 +201,9 @@ var listOfPlays = [{ title: "Cymbeline", author: "Shakespeare", year: 1611 }, { _.where(listOfPlays, { author: "Shakespeare", year: 1611 }); >_.where(listOfPlays, { author: "Shakespeare", year: 1611 }) : { title: string; author: string; year: number; }[] ->_.where : { (list: T[], properties: Object): T[]; (list: Dictionary, properties: Object): T[]; } +>_.where : { (list: T[], properties: Object): T[]; (list: Dictionary, properties: Object): T_1[]; } >_ : Underscore.Static ->where : { (list: T[], properties: Object): T[]; (list: Dictionary, properties: Object): T[]; } +>where : { (list: T[], properties: Object): T[]; (list: Dictionary, properties: Object): T_1[]; } >listOfPlays : { title: string; author: string; year: number; }[] >{ author: "Shakespeare", year: 1611 } : { author: string; year: number; } >author : string @@ -214,9 +214,9 @@ _.where(listOfPlays, { author: "Shakespeare", year: 1611 }); var odds = _.reject([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >odds : number[] >_.reject([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0) : number[] ->_.reject : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } +>_.reject : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T_1[]; } >_ : Underscore.Static ->reject : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } +>reject : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T_1[]; } >[1, 2, 3, 4, 5, 6] : number[] >1 : 1 >2 : 2 @@ -234,9 +234,9 @@ var odds = _.reject([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); _.all([true, 1, null, 'yes'], _.identity); >_.all([true, 1, null, 'yes'], _.identity) : boolean ->_.all : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } +>_.all : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } >_ : Underscore.Static ->all : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } +>all : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } >[true, 1, null, 'yes'] : (string | number | true)[] >true : true >1 : 1 @@ -247,9 +247,9 @@ _.all([true, 1, null, 'yes'], _.identity); _.any([null, 0, 'yes', false]); >_.any([null, 0, 'yes', false]) : boolean ->_.any : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } +>_.any : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } >_ : Underscore.Static ->any : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } +>any : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } >[null, 0, 'yes', false] : (string | number | false)[] >0 : 0 >'yes' : "yes" @@ -257,9 +257,9 @@ _.any([null, 0, 'yes', false]); _.contains([1, 2, 3], 3); >_.contains([1, 2, 3], 3) : boolean ->_.contains : { (list: T[], value: T): boolean; (list: Dictionary, value: T): boolean; } +>_.contains : { (list: T[], value: T): boolean; (list: Dictionary, value: T_1): boolean; } >_ : Underscore.Static ->contains : { (list: T[], value: T): boolean; (list: Dictionary, value: T): boolean; } +>contains : { (list: T[], value: T): boolean; (list: Dictionary, value: T_1): boolean; } >[1, 2, 3] : number[] >1 : 1 >2 : 2 @@ -311,9 +311,9 @@ _.pluck(stooges, 'name'); _.max(stooges, (stooge) => stooge.age); >_.max(stooges, (stooge) => stooge.age) : { name: string; age: number; } ->_.max : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T; } +>_.max : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T_1; } >_ : Underscore.Static ->max : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T; } +>max : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T_1; } >stooges : { name: string; age: number; }[] >(stooge) => stooge.age : (stooge: { name: string; age: number; }) => number >stooge : { name: string; age: number; } @@ -332,16 +332,16 @@ var numbers = [10, 5, 100, 2, 1000]; _.min(numbers); >_.min(numbers) : number ->_.min : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T; } +>_.min : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T_1; } >_ : Underscore.Static ->min : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T; } +>min : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T_1; } >numbers : number[] _.sortBy([1, 2, 3, 4, 5, 6], (num) => Math.sin(num)); >_.sortBy([1, 2, 3, 4, 5, 6], (num) => Math.sin(num)) : number[] ->_.sortBy : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; (list: T[], propertyName: string): T[]; (list: Dictionary, propertyName: string): T[]; } +>_.sortBy : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T_1[]; (list: T_2[], propertyName: string): T_2[]; (list: Dictionary, propertyName: string): T_3[]; } >_ : Underscore.Static ->sortBy : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; (list: T[], propertyName: string): T[]; (list: Dictionary, propertyName: string): T[]; } +>sortBy : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T_1[]; (list: T_2[], propertyName: string): T_2[]; (list: Dictionary, propertyName: string): T_3[]; } >[1, 2, 3, 4, 5, 6] : number[] >1 : 1 >2 : 2 @@ -381,9 +381,9 @@ _([1.3, 2.1, 2.4]).groupBy((e: number, i?: number, list?: number[]) => Math.floo _.groupBy([1.3, 2.1, 2.4], (num: number) => Math.floor(num)); >_.groupBy([1.3, 2.1, 2.4], (num: number) => Math.floor(num)) : Dictionary ->_.groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +>_.groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T_2[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >_ : Underscore.Static ->groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +>groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T_2[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >[1.3, 2.1, 2.4] : number[] >1.3 : 1.3 >2.1 : 2.1 @@ -398,9 +398,9 @@ _.groupBy([1.3, 2.1, 2.4], (num: number) => Math.floor(num)); _.groupBy(['one', 'two', 'three'], 'length'); >_.groupBy(['one', 'two', 'three'], 'length') : Dictionary ->_.groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +>_.groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T_2[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >_ : Underscore.Static ->groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +>groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T_2[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >['one', 'two', 'three'] : string[] >'one' : "one" >'two' : "two" @@ -409,9 +409,9 @@ _.groupBy(['one', 'two', 'three'], 'length'); _.countBy([1, 2, 3, 4, 5], (num) => num % 2 == 0 ? 'even' : 'odd'); >_.countBy([1, 2, 3, 4, 5], (num) => num % 2 == 0 ? 'even' : 'odd') : Dictionary ->_.countBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +>_.countBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T_2[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >_ : Underscore.Static ->countBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +>countBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T_2[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >[1, 2, 3, 4, 5] : number[] >1 : 1 >2 : 2 @@ -431,9 +431,9 @@ _.countBy([1, 2, 3, 4, 5], (num) => num % 2 == 0 ? 'even' : 'odd'); _.shuffle([1, 2, 3, 4, 5, 6]); >_.shuffle([1, 2, 3, 4, 5, 6]) : number[] ->_.shuffle : { (list: T[]): T[]; (list: Dictionary): T[]; } +>_.shuffle : { (list: T[]): T[]; (list: Dictionary): T_1[]; } >_ : Underscore.Static ->shuffle : { (list: T[]): T[]; (list: Dictionary): T[]; } +>shuffle : { (list: T[]): T[]; (list: Dictionary): T_1[]; } >[1, 2, 3, 4, 5, 6] : number[] >1 : 1 >2 : 2 @@ -446,9 +446,9 @@ _.shuffle([1, 2, 3, 4, 5, 6]); _.size({ one: 1, two: 2, three: 3 }); >_.size({ one: 1, two: 2, three: 3 }) : number ->_.size : { (list: T[]): number; (list: Dictionary): number; } +>_.size : { (list: T[]): number; (list: Dictionary): number; } >_ : Underscore.Static ->size : { (list: T[]): number; (list: Dictionary): number; } +>size : { (list: T[]): number; (list: Dictionary): number; } >{ one: 1, two: 2, three: 3 } : { one: number; two: number; three: number; } >one : number >1 : 1 @@ -461,9 +461,9 @@ _.size({ one: 1, two: 2, three: 3 }); _.first([5, 4, 3, 2, 1]); >_.first([5, 4, 3, 2, 1]) : number ->_.first : { (list: T[]): T; (list: T[], count: number): T[]; } +>_.first : { (list: T[]): T; (list: T_1[], count: number): T_1[]; } >_ : Underscore.Static ->first : { (list: T[]): T; (list: T[], count: number): T[]; } +>first : { (list: T[]): T; (list: T_1[], count: number): T_1[]; } >[5, 4, 3, 2, 1] : number[] >5 : 5 >4 : 4 @@ -473,9 +473,9 @@ _.first([5, 4, 3, 2, 1]); _.initial([5, 4, 3, 2, 1]); >_.initial([5, 4, 3, 2, 1]) : number ->_.initial : { (list: T[]): T; (list: T[], count: number): T[]; } +>_.initial : { (list: T[]): T; (list: T_1[], count: number): T_1[]; } >_ : Underscore.Static ->initial : { (list: T[]): T; (list: T[], count: number): T[]; } +>initial : { (list: T[]): T; (list: T_1[], count: number): T_1[]; } >[5, 4, 3, 2, 1] : number[] >5 : 5 >4 : 4 @@ -485,9 +485,9 @@ _.initial([5, 4, 3, 2, 1]); _.last([5, 4, 3, 2, 1]); >_.last([5, 4, 3, 2, 1]) : number ->_.last : { (list: T[]): T; (list: T[], count: number): T[]; } +>_.last : { (list: T[]): T; (list: T_1[], count: number): T_1[]; } >_ : Underscore.Static ->last : { (list: T[]): T; (list: T[], count: number): T[]; } +>last : { (list: T[]): T; (list: T_1[], count: number): T_1[]; } >[5, 4, 3, 2, 1] : number[] >5 : 5 >4 : 4 @@ -522,9 +522,9 @@ _.compact([0, 1, false, 2, '', 3]); _.flatten([1, 2, 3, 4]); >_.flatten([1, 2, 3, 4]) : unknown[] ->_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } +>_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T_1[]; } >_ : Underscore.Static ->flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } +>flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T_1[]; } >[1, 2, 3, 4] : number[] >1 : 1 >2 : 2 @@ -533,9 +533,9 @@ _.flatten([1, 2, 3, 4]); _.flatten([1, [2]]); >_.flatten([1, [2]]) : unknown[] ->_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } +>_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T_1[]; } >_ : Underscore.Static ->flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } +>flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T_1[]; } >[1, [2]] : (number | number[])[] >1 : 1 >[2] : number[] @@ -544,9 +544,9 @@ _.flatten([1, [2]]); // typescript doesn't like the elements being different _.flatten([1, [2], [3, [[4]]]]); >_.flatten([1, [2], [3, [[4]]]]) : unknown[] ->_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } +>_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T_1[]; } >_ : Underscore.Static ->flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } +>flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T_1[]; } >[1, [2], [3, [[4]]]] : (number | (number | number[][])[])[] >1 : 1 >[2] : number[] @@ -559,9 +559,9 @@ _.flatten([1, [2], [3, [[4]]]]); _.flatten([1, [2], [3, [[4]]]], true); >_.flatten([1, [2], [3, [[4]]]], true) : unknown[] ->_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } +>_.flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T_1[]; } >_ : Underscore.Static ->flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } +>flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T_1[]; } >[1, [2], [3, [[4]]]] : (number | (number | number[][])[])[] >1 : 1 >[2] : number[] @@ -643,9 +643,9 @@ _.difference([1, 2, 3, 4, 5], [5, 2, 10]); _.uniq([1, 2, 1, 3, 1, 4]); >_.uniq([1, 2, 1, 3, 1, 4]) : number[] ->_.uniq : { (list: T[], isSorted?: boolean): T[]; (list: T[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; } +>_.uniq : { (list: T[], isSorted?: boolean): T[]; (list: T_1[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; } >_ : Underscore.Static ->uniq : { (list: T[], isSorted?: boolean): T[]; (list: T[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; } +>uniq : { (list: T[], isSorted?: boolean): T[]; (list: T_1[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; } >[1, 2, 1, 3, 1, 4] : number[] >1 : 1 >2 : 2 @@ -656,9 +656,9 @@ _.uniq([1, 2, 1, 3, 1, 4]); _.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]); >_.zip(['moe', 'larry', 'curly'], [30, 40, 50], [true, false, false]) : Tuple3[] ->_.zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0[], a1: T1[], a2: T2[]): Tuple3[]; (a0: T0[], a1: T1[], a2: T2[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } +>_.zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0_1[], a1: T1_1[], a2: T2[]): Tuple3[]; (a0: T0_2[], a1: T1_2[], a2: T2_1[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } >_ : Underscore.Static ->zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0[], a1: T1[], a2: T2[]): Tuple3[]; (a0: T0[], a1: T1[], a2: T2[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } +>zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0_1[], a1: T1_1[], a2: T2[]): Tuple3[]; (a0: T0_2[], a1: T1_2[], a2: T2_1[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } >['moe', 'larry', 'curly'] : string[] >'moe' : "moe" >'larry' : "larry" @@ -729,9 +729,9 @@ _.lastIndexOf([1, 2, 3, 1, 2, 3], 2); _.sortedIndex([10, 20, 30, 40, 50], 35); >_.sortedIndex([10, 20, 30, 40, 50], 35) : number ->_.sortedIndex : { (list: T[], obj: T, propertyName: string): number; (list: T[], obj: T, iterator?: Iterator_, context?: any): number; } +>_.sortedIndex : { (list: T[], obj: T, propertyName: string): number; (list: T_1[], obj: T_1, iterator?: Iterator_, context?: any): number; } >_ : Underscore.Static ->sortedIndex : { (list: T[], obj: T, propertyName: string): number; (list: T[], obj: T, iterator?: Iterator_, context?: any): number; } +>sortedIndex : { (list: T[], obj: T, propertyName: string): number; (list: T_1[], obj: T_1, iterator?: Iterator_, context?: any): number; } >[10, 20, 30, 40, 50] : number[] >10 : 10 >20 : 20 @@ -1015,9 +1015,9 @@ var renderNotes = _.after(notes.length, render); _.each(notes, (note) => note.asyncSave({ success: renderNotes })); >_.each(notes, (note) => note.asyncSave({ success: renderNotes })) : void ->_.each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } +>_.each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } >_ : Underscore.Static ->each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } +>each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } >notes : any[] >(note) => note.asyncSave({ success: renderNotes }) : (note: any) => any >note : any @@ -1230,9 +1230,9 @@ _.chain([1, 2, 3, 200]) >_.chain([1, 2, 3, 200]) .filter(function (num) { return num % 2 == 0; }) : Underscore.ChainedArray >_.chain([1, 2, 3, 200]) .filter : (iterator: Iterator_, context?: any) => Underscore.ChainedArray >_.chain([1, 2, 3, 200]) : Underscore.ChainedArray ->_.chain : { (list: T[]): Underscore.ChainedArray; (list: Dictionary): Underscore.ChainedDictionary; (obj: T): Underscore.ChainedObject; } +>_.chain : { (list: T[]): Underscore.ChainedArray; (list: Dictionary): Underscore.ChainedDictionary; (obj: T_2): Underscore.ChainedObject; } >_ : Underscore.Static ->chain : { (list: T[]): Underscore.ChainedArray; (list: Dictionary): Underscore.ChainedDictionary; (obj: T): Underscore.ChainedObject; } +>chain : { (list: T[]): Underscore.ChainedArray; (list: Dictionary): Underscore.ChainedDictionary; (obj: T_2): Underscore.ChainedObject; } >[1, 2, 3, 200] : number[] >1 : 1 >2 : 2 @@ -3225,350 +3225,350 @@ module Underscore { >obj : T chain(list: T[]): ChainedArray; ->chain : { (list: T[]): ChainedArray; (list: Dictionary): ChainedDictionary; (obj: T): ChainedObject; } +>chain : { (list: T[]): ChainedArray; (list: Dictionary): ChainedDictionary; (obj: T_2): ChainedObject; } >list : T[] chain(list: Dictionary): ChainedDictionary; ->chain : { (list: T[]): ChainedArray; (list: Dictionary): ChainedDictionary; (obj: T): ChainedObject; } +>chain : { (list: T_1[]): ChainedArray; (list: Dictionary): ChainedDictionary; (obj: T_3): ChainedObject; } >list : Dictionary chain(obj: T): ChainedObject; ->chain : { (list: T[]): ChainedArray; (list: Dictionary): ChainedDictionary; (obj: T): ChainedObject; } +>chain : { (list: T_1[]): ChainedArray; (list: Dictionary): ChainedDictionary; (obj: T): ChainedObject; } >obj : T each(list: T[], iterator: Iterator_, context?: any): void; ->each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } +>each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } >list : T[] >iterator : Iterator_ >context : any each(list: Dictionary, iterator: Iterator_, context?: any): void; ->each : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } +>each : { (list: T_1[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } >list : Dictionary >iterator : Iterator_ >context : any forEach(list: T[], iterator: Iterator_, context?: any): void; ->forEach : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } +>forEach : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } >list : T[] >iterator : Iterator_ >context : any forEach(list: Dictionary, iterator: Iterator_, context?: any): void; ->forEach : { (list: T[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } +>forEach : { (list: T_1[], iterator: Iterator_, context?: any): void; (list: Dictionary, iterator: Iterator_, context?: any): void; } >list : Dictionary >iterator : Iterator_ >context : any map(list: T[], iterator: Iterator_, context?: any): U[]; ->map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U[]; } +>map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U_1[]; } >list : T[] >iterator : Iterator_ >context : any map(list: Dictionary, iterator: Iterator_, context?: any): U[]; ->map : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U[]; } +>map : { (list: T_1[], iterator: Iterator_, context?: any): U_1[]; (list: Dictionary, iterator: Iterator_, context?: any): U[]; } >list : Dictionary >iterator : Iterator_ >context : any collect(list: T[], iterator: Iterator_, context?: any): U[]; ->collect : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U[]; } +>collect : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U_1[]; } >list : T[] >iterator : Iterator_ >context : any collect(list: Dictionary, iterator: Iterator_, context?: any): U[]; ->collect : { (list: T[], iterator: Iterator_, context?: any): U[]; (list: Dictionary, iterator: Iterator_, context?: any): U[]; } +>collect : { (list: T_1[], iterator: Iterator_, context?: any): U_1[]; (list: Dictionary, iterator: Iterator_, context?: any): U[]; } >list : Dictionary >iterator : Iterator_ >context : any reduce(list: T[], iterator: Reducer, initialValue?: T, context?: any): T; ->reduce : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>reduce : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T_1[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T_2, context?: any): T_2; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >list : T[] >iterator : Reducer >initialValue : T >context : any reduce(list: T[], iterator: Reducer, initialValue: U, context?: any): U; ->reduce : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>reduce : { (list: T_1[], iterator: Reducer, initialValue?: T_1, context?: any): T_1; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T_3, context?: any): T_3; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >list : T[] >iterator : Reducer >initialValue : U >context : any reduce(list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; ->reduce : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>reduce : { (list: T_1[], iterator: Reducer, initialValue?: T_1, context?: any): T_1; (list: T_2[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >list : Dictionary >iterator : Reducer >initialValue : T >context : any reduce(list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; ->reduce : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>reduce : { (list: T_1[], iterator: Reducer, initialValue?: T_1, context?: any): T_1; (list: T_2[], iterator: Reducer, initialValue: U_1, context?: any): U_1; (list: Dictionary, iterator: Reducer, initialValue?: T_3, context?: any): T_3; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } >list : Dictionary >iterator : Reducer >initialValue : U >context : any foldl(list: T[], iterator: Reducer, initialValue?: T, context?: any): T; ->foldl : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>foldl : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T_1[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T_2, context?: any): T_2; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >list : T[] >iterator : Reducer >initialValue : T >context : any foldl(list: T[], iterator: Reducer, initialValue: U, context?: any): U; ->foldl : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>foldl : { (list: T_1[], iterator: Reducer, initialValue?: T_1, context?: any): T_1; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T_3, context?: any): T_3; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >list : T[] >iterator : Reducer >initialValue : U >context : any foldl(list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; ->foldl : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>foldl : { (list: T_1[], iterator: Reducer, initialValue?: T_1, context?: any): T_1; (list: T_2[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >list : Dictionary >iterator : Reducer >initialValue : T >context : any foldl(list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; ->foldl : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>foldl : { (list: T_1[], iterator: Reducer, initialValue?: T_1, context?: any): T_1; (list: T_2[], iterator: Reducer, initialValue: U_1, context?: any): U_1; (list: Dictionary, iterator: Reducer, initialValue?: T_3, context?: any): T_3; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } >list : Dictionary >iterator : Reducer >initialValue : U >context : any inject(list: T[], iterator: Reducer, initialValue?: T, context?: any): T; ->inject : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>inject : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T_1[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T_2, context?: any): T_2; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >list : T[] >iterator : Reducer >initialValue : T >context : any inject(list: T[], iterator: Reducer, initialValue: U, context?: any): U; ->inject : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>inject : { (list: T_1[], iterator: Reducer, initialValue?: T_1, context?: any): T_1; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T_3, context?: any): T_3; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >list : T[] >iterator : Reducer >initialValue : U >context : any inject(list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; ->inject : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>inject : { (list: T_1[], iterator: Reducer, initialValue?: T_1, context?: any): T_1; (list: T_2[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >list : Dictionary >iterator : Reducer >initialValue : T >context : any inject(list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; ->inject : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>inject : { (list: T_1[], iterator: Reducer, initialValue?: T_1, context?: any): T_1; (list: T_2[], iterator: Reducer, initialValue: U_1, context?: any): U_1; (list: Dictionary, iterator: Reducer, initialValue?: T_3, context?: any): T_3; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } >list : Dictionary >iterator : Reducer >initialValue : U >context : any reduceRight(list: T[], iterator: Reducer, initialValue?: T, context?: any): T; ->reduceRight : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>reduceRight : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T_1[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T_2, context?: any): T_2; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >list : T[] >iterator : Reducer >initialValue : T >context : any reduceRight(list: T[], iterator: Reducer, initialValue: U, context?: any): U; ->reduceRight : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>reduceRight : { (list: T_1[], iterator: Reducer, initialValue?: T_1, context?: any): T_1; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T_3, context?: any): T_3; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >list : T[] >iterator : Reducer >initialValue : U >context : any reduceRight(list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; ->reduceRight : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>reduceRight : { (list: T_1[], iterator: Reducer, initialValue?: T_1, context?: any): T_1; (list: T_2[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >list : Dictionary >iterator : Reducer >initialValue : T >context : any reduceRight(list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; ->reduceRight : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>reduceRight : { (list: T_1[], iterator: Reducer, initialValue?: T_1, context?: any): T_1; (list: T_2[], iterator: Reducer, initialValue: U_1, context?: any): U_1; (list: Dictionary, iterator: Reducer, initialValue?: T_3, context?: any): T_3; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } >list : Dictionary >iterator : Reducer >initialValue : U >context : any foldr(list: T[], iterator: Reducer, initialValue?: T, context?: any): T; ->foldr : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>foldr : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T_1[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T_2, context?: any): T_2; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >list : T[] >iterator : Reducer >initialValue : T >context : any foldr(list: T[], iterator: Reducer, initialValue: U, context?: any): U; ->foldr : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>foldr : { (list: T_1[], iterator: Reducer, initialValue?: T_1, context?: any): T_1; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T_3, context?: any): T_3; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >list : T[] >iterator : Reducer >initialValue : U >context : any foldr(list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; ->foldr : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>foldr : { (list: T_1[], iterator: Reducer, initialValue?: T_1, context?: any): T_1; (list: T_2[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U_1, context?: any): U_1; } >list : Dictionary >iterator : Reducer >initialValue : T >context : any foldr(list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; ->foldr : { (list: T[], iterator: Reducer, initialValue?: T, context?: any): T; (list: T[], iterator: Reducer, initialValue: U, context?: any): U; (list: Dictionary, iterator: Reducer, initialValue?: T, context?: any): T; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } +>foldr : { (list: T_1[], iterator: Reducer, initialValue?: T_1, context?: any): T_1; (list: T_2[], iterator: Reducer, initialValue: U_1, context?: any): U_1; (list: Dictionary, iterator: Reducer, initialValue?: T_3, context?: any): T_3; (list: Dictionary, iterator: Reducer, initialValue: U, context?: any): U; } >list : Dictionary >iterator : Reducer >initialValue : U >context : any find(list: T[], iterator: Iterator_, context?: any): T; ->find : { (list: T[], iterator: Iterator_, context?: any): T; (list: Dictionary, iterator: Iterator_, context?: any): T; } +>find : { (list: T[], iterator: Iterator_, context?: any): T; (list: Dictionary, iterator: Iterator_, context?: any): T_1; } >list : T[] >iterator : Iterator_ >context : any find(list: Dictionary, iterator: Iterator_, context?: any): T; ->find : { (list: T[], iterator: Iterator_, context?: any): T; (list: Dictionary, iterator: Iterator_, context?: any): T; } +>find : { (list: T_1[], iterator: Iterator_, context?: any): T_1; (list: Dictionary, iterator: Iterator_, context?: any): T; } >list : Dictionary >iterator : Iterator_ >context : any detect(list: T[], iterator: Iterator_, context?: any): T; ->detect : { (list: T[], iterator: Iterator_, context?: any): T; (list: Dictionary, iterator: Iterator_, context?: any): T; } +>detect : { (list: T[], iterator: Iterator_, context?: any): T; (list: Dictionary, iterator: Iterator_, context?: any): T_1; } >list : T[] >iterator : Iterator_ >context : any detect(list: Dictionary, iterator: Iterator_, context?: any): T; ->detect : { (list: T[], iterator: Iterator_, context?: any): T; (list: Dictionary, iterator: Iterator_, context?: any): T; } +>detect : { (list: T_1[], iterator: Iterator_, context?: any): T_1; (list: Dictionary, iterator: Iterator_, context?: any): T; } >list : Dictionary >iterator : Iterator_ >context : any filter(list: T[], iterator: Iterator_, context?: any): T[]; ->filter : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } +>filter : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T_1[]; } >list : T[] >iterator : Iterator_ >context : any filter(list: Dictionary, iterator: Iterator_, context?: any): T[]; ->filter : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } +>filter : { (list: T_1[], iterator: Iterator_, context?: any): T_1[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } >list : Dictionary >iterator : Iterator_ >context : any select(list: T[], iterator: Iterator_, context?: any): T[]; ->select : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } +>select : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T_1[]; } >list : T[] >iterator : Iterator_ >context : any select(list: Dictionary, iterator: Iterator_, context?: any): T[]; ->select : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } +>select : { (list: T_1[], iterator: Iterator_, context?: any): T_1[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } >list : Dictionary >iterator : Iterator_ >context : any where(list: T[], properties: Object): T[]; ->where : { (list: T[], properties: Object): T[]; (list: Dictionary, properties: Object): T[]; } +>where : { (list: T[], properties: Object): T[]; (list: Dictionary, properties: Object): T_1[]; } >list : T[] >properties : Object where(list: Dictionary, properties: Object): T[]; ->where : { (list: T[], properties: Object): T[]; (list: Dictionary, properties: Object): T[]; } +>where : { (list: T_1[], properties: Object): T_1[]; (list: Dictionary, properties: Object): T[]; } >list : Dictionary >properties : Object findWhere(list: T[], properties: Object): T; ->findWhere : { (list: T[], properties: Object): T; (list: Dictionary, properties: Object): T; } +>findWhere : { (list: T[], properties: Object): T; (list: Dictionary, properties: Object): T_1; } >list : T[] >properties : Object findWhere(list: Dictionary, properties: Object): T; ->findWhere : { (list: T[], properties: Object): T; (list: Dictionary, properties: Object): T; } +>findWhere : { (list: T_1[], properties: Object): T_1; (list: Dictionary, properties: Object): T; } >list : Dictionary >properties : Object reject(list: T[], iterator: Iterator_, context?: any): T[]; ->reject : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } +>reject : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T_1[]; } >list : T[] >iterator : Iterator_ >context : any reject(list: Dictionary, iterator: Iterator_, context?: any): T[]; ->reject : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } +>reject : { (list: T_1[], iterator: Iterator_, context?: any): T_1[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; } >list : Dictionary >iterator : Iterator_ >context : any every(list: T[], iterator?: Iterator_, context?: any): boolean; ->every : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } +>every : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } >list : T[] >iterator : Iterator_ >context : any every(list: Dictionary, iterator?: Iterator_, context?: any): boolean; ->every : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } +>every : { (list: T_1[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } >list : Dictionary >iterator : Iterator_ >context : any all(list: T[], iterator?: Iterator_, context?: any): boolean; ->all : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } +>all : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } >list : T[] >iterator : Iterator_ >context : any all(list: Dictionary, iterator?: Iterator_, context?: any): boolean; ->all : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } +>all : { (list: T_1[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } >list : Dictionary >iterator : Iterator_ >context : any some(list: T[], iterator?: Iterator_, context?: any): boolean; ->some : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } +>some : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } >list : T[] >iterator : Iterator_ >context : any some(list: Dictionary, iterator?: Iterator_, context?: any): boolean; ->some : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } +>some : { (list: T_1[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } >list : Dictionary >iterator : Iterator_ >context : any any(list: T[], iterator?: Iterator_, context?: any): boolean; ->any : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } +>any : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } >list : T[] >iterator : Iterator_ >context : any any(list: Dictionary, iterator?: Iterator_, context?: any): boolean; ->any : { (list: T[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } +>any : { (list: T_1[], iterator?: Iterator_, context?: any): boolean; (list: Dictionary, iterator?: Iterator_, context?: any): boolean; } >list : Dictionary >iterator : Iterator_ >context : any contains(list: T[], value: T): boolean; ->contains : { (list: T[], value: T): boolean; (list: Dictionary, value: T): boolean; } +>contains : { (list: T[], value: T): boolean; (list: Dictionary, value: T_1): boolean; } >list : T[] >value : T contains(list: Dictionary, value: T): boolean; ->contains : { (list: T[], value: T): boolean; (list: Dictionary, value: T): boolean; } +>contains : { (list: T_1[], value: T_1): boolean; (list: Dictionary, value: T): boolean; } >list : Dictionary >value : T include(list: T[], value: T): boolean; ->include : { (list: T[], value: T): boolean; (list: Dictionary, value: T): boolean; } +>include : { (list: T[], value: T): boolean; (list: Dictionary, value: T_1): boolean; } >list : T[] >value : T include(list: Dictionary, value: T): boolean; ->include : { (list: T[], value: T): boolean; (list: Dictionary, value: T): boolean; } +>include : { (list: T_1[], value: T_1): boolean; (list: Dictionary, value: T): boolean; } >list : Dictionary >value : T @@ -3595,161 +3595,161 @@ module Underscore { >propertyName : string max(list: T[], iterator?: Iterator_, context?: any): T; ->max : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T; } +>max : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T_1; } >list : T[] >iterator : Iterator_ >context : any max(list: Dictionary, iterator?: Iterator_, context?: any): T; ->max : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T; } +>max : { (list: T_1[], iterator?: Iterator_, context?: any): T_1; (list: Dictionary, iterator?: Iterator_, context?: any): T; } >list : Dictionary >iterator : Iterator_ >context : any min(list: T[], iterator?: Iterator_, context?: any): T; ->min : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T; } +>min : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T_1; } >list : T[] >iterator : Iterator_ >context : any min(list: Dictionary, iterator?: Iterator_, context?: any): T; ->min : { (list: T[], iterator?: Iterator_, context?: any): T; (list: Dictionary, iterator?: Iterator_, context?: any): T; } +>min : { (list: T_1[], iterator?: Iterator_, context?: any): T_1; (list: Dictionary, iterator?: Iterator_, context?: any): T; } >list : Dictionary >iterator : Iterator_ >context : any sortBy(list: T[], iterator: Iterator_, context?: any): T[]; ->sortBy : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; (list: T[], propertyName: string): T[]; (list: Dictionary, propertyName: string): T[]; } +>sortBy : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T_1[]; (list: T_2[], propertyName: string): T_2[]; (list: Dictionary, propertyName: string): T_3[]; } >list : T[] >iterator : Iterator_ >context : any sortBy(list: Dictionary, iterator: Iterator_, context?: any): T[]; ->sortBy : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; (list: T[], propertyName: string): T[]; (list: Dictionary, propertyName: string): T[]; } +>sortBy : { (list: T_1[], iterator: Iterator_, context?: any): T_1[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; (list: T_3[], propertyName: string): T_3[]; (list: Dictionary, propertyName: string): T_4[]; } >list : Dictionary >iterator : Iterator_ >context : any sortBy(list: T[], propertyName: string): T[]; ->sortBy : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; (list: T[], propertyName: string): T[]; (list: Dictionary, propertyName: string): T[]; } +>sortBy : { (list: T_1[], iterator: Iterator_, context?: any): T_1[]; (list: Dictionary, iterator: Iterator_, context?: any): T_2[]; (list: T[], propertyName: string): T[]; (list: Dictionary, propertyName: string): T_4[]; } >list : T[] >propertyName : string sortBy(list: Dictionary, propertyName: string): T[]; ->sortBy : { (list: T[], iterator: Iterator_, context?: any): T[]; (list: Dictionary, iterator: Iterator_, context?: any): T[]; (list: T[], propertyName: string): T[]; (list: Dictionary, propertyName: string): T[]; } +>sortBy : { (list: T_1[], iterator: Iterator_, context?: any): T_1[]; (list: Dictionary, iterator: Iterator_, context?: any): T_2[]; (list: T_3[], propertyName: string): T_3[]; (list: Dictionary, propertyName: string): T[]; } >list : Dictionary >propertyName : string groupBy(list: T[], iterator?: Iterator_, context?: any): Dictionary; ->groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +>groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T_2[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >list : T[] >iterator : Iterator_ >context : any groupBy(list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; ->groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +>groupBy : { (list: T_1[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T_3[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >list : Dictionary >iterator : Iterator_ >context : any groupBy(list: T[], propertyName: string): Dictionary; ->groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +>groupBy : { (list: T_1[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >list : T[] >propertyName : string groupBy(list: Dictionary, propertyName: string): Dictionary; ->groupBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +>groupBy : { (list: T_1[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T_3[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >list : Dictionary >propertyName : string countBy(list: T[], iterator?: Iterator_, context?: any): Dictionary; ->countBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +>countBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T_2[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >list : T[] >iterator : Iterator_ >context : any countBy(list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; ->countBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +>countBy : { (list: T_1[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T_3[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >list : Dictionary >iterator : Iterator_ >context : any countBy(list: T[], propertyName: string): Dictionary; ->countBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +>countBy : { (list: T_1[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >list : T[] >propertyName : string countBy(list: Dictionary, propertyName: string): Dictionary; ->countBy : { (list: T[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } +>countBy : { (list: T_1[], iterator?: Iterator_, context?: any): Dictionary; (list: Dictionary, iterator?: Iterator_, context?: any): Dictionary; (list: T_3[], propertyName: string): Dictionary; (list: Dictionary, propertyName: string): Dictionary; } >list : Dictionary >propertyName : string shuffle(list: T[]): T[]; ->shuffle : { (list: T[]): T[]; (list: Dictionary): T[]; } +>shuffle : { (list: T[]): T[]; (list: Dictionary): T_1[]; } >list : T[] shuffle(list: Dictionary): T[]; ->shuffle : { (list: T[]): T[]; (list: Dictionary): T[]; } +>shuffle : { (list: T_1[]): T_1[]; (list: Dictionary): T[]; } >list : Dictionary toArray(list: T[]): T[]; ->toArray : { (list: T[]): T[]; (list: Dictionary): T[]; } +>toArray : { (list: T[]): T[]; (list: Dictionary): T_1[]; } >list : T[] toArray(list: Dictionary): T[]; ->toArray : { (list: T[]): T[]; (list: Dictionary): T[]; } +>toArray : { (list: T_1[]): T_1[]; (list: Dictionary): T[]; } >list : Dictionary size(list: T[]): number; ->size : { (list: T[]): number; (list: Dictionary): number; } +>size : { (list: T[]): number; (list: Dictionary): number; } >list : T[] size(list: Dictionary): number; ->size : { (list: T[]): number; (list: Dictionary): number; } +>size : { (list: T_1[]): number; (list: Dictionary): number; } >list : Dictionary first(list: T[]): T; ->first : { (list: T[]): T; (list: T[], count: number): T[]; } +>first : { (list: T[]): T; (list: T_1[], count: number): T_1[]; } >list : T[] first(list: T[], count: number): T[]; ->first : { (list: T[]): T; (list: T[], count: number): T[]; } +>first : { (list: T_1[]): T_1; (list: T[], count: number): T[]; } >list : T[] >count : number head(list: T[]): T; ->head : { (list: T[]): T; (list: T[], count: number): T[]; } +>head : { (list: T[]): T; (list: T_1[], count: number): T_1[]; } >list : T[] head(list: T[], count: number): T[]; ->head : { (list: T[]): T; (list: T[], count: number): T[]; } +>head : { (list: T_1[]): T_1; (list: T[], count: number): T[]; } >list : T[] >count : number take(list: T[]): T; ->take : { (list: T[]): T; (list: T[], count: number): T[]; } +>take : { (list: T[]): T; (list: T_1[], count: number): T_1[]; } >list : T[] take(list: T[], count: number): T[]; ->take : { (list: T[]): T; (list: T[], count: number): T[]; } +>take : { (list: T_1[]): T_1; (list: T[], count: number): T[]; } >list : T[] >count : number initial(list: T[]): T; ->initial : { (list: T[]): T; (list: T[], count: number): T[]; } +>initial : { (list: T[]): T; (list: T_1[], count: number): T_1[]; } >list : T[] initial(list: T[], count: number): T[]; ->initial : { (list: T[]): T; (list: T[], count: number): T[]; } +>initial : { (list: T_1[]): T_1; (list: T[], count: number): T[]; } >list : T[] >count : number last(list: T[]): T; ->last : { (list: T[]): T; (list: T[], count: number): T[]; } +>last : { (list: T[]): T; (list: T_1[], count: number): T_1[]; } >list : T[] last(list: T[], count: number): T[]; ->last : { (list: T[]): T; (list: T[], count: number): T[]; } +>last : { (list: T_1[]): T_1; (list: T[], count: number): T[]; } >list : T[] >count : number @@ -3763,11 +3763,11 @@ module Underscore { >list : T[] flatten(list: T[][]): T[]; ->flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } +>flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T_1[]; } >list : T[][] flatten(array: any[], shallow?: boolean): T[]; ->flatten : { (list: T[][]): T[]; (array: any[], shallow?: boolean): T[]; } +>flatten : { (list: T_1[][]): T_1[]; (array: any[], shallow?: boolean): T[]; } >array : any[] >shallow : boolean @@ -3790,49 +3790,49 @@ module Underscore { >others : T[][] uniq(list: T[], isSorted?: boolean): T[]; ->uniq : { (list: T[], isSorted?: boolean): T[]; (list: T[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; } +>uniq : { (list: T[], isSorted?: boolean): T[]; (list: T_1[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; } >list : T[] >isSorted : boolean uniq(list: T[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; ->uniq : { (list: T[], isSorted?: boolean): T[]; (list: T[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; } +>uniq : { (list: T_1[], isSorted?: boolean): T_1[]; (list: T[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; } >list : T[] >isSorted : boolean >iterator : Iterator_ >context : any unique(list: T[], isSorted?: boolean): T[]; ->unique : { (list: T[], isSorted?: boolean): T[]; (list: T[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; } +>unique : { (list: T[], isSorted?: boolean): T[]; (list: T_1[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; } >list : T[] >isSorted : boolean unique(list: T[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; ->unique : { (list: T[], isSorted?: boolean): T[]; (list: T[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; } +>unique : { (list: T_1[], isSorted?: boolean): T_1[]; (list: T[], isSorted: boolean, iterator: Iterator_, context?: any): U[]; } >list : T[] >isSorted : boolean >iterator : Iterator_ >context : any zip(a0: T0[], a1: T1[]): Tuple2[]; ->zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0[], a1: T1[], a2: T2[]): Tuple3[]; (a0: T0[], a1: T1[], a2: T2[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } +>zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0_1[], a1: T1_1[], a2: T2[]): Tuple3[]; (a0: T0_2[], a1: T1_2[], a2: T2_1[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } >a0 : T0[] >a1 : T1[] zip(a0: T0[], a1: T1[], a2: T2[]): Tuple3[]; ->zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0[], a1: T1[], a2: T2[]): Tuple3[]; (a0: T0[], a1: T1[], a2: T2[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } +>zip : { (a0: T0_1[], a1: T1_1[]): Tuple2[]; (a0: T0[], a1: T1[], a2: T2[]): Tuple3[]; (a0: T0_3[], a1: T1_3[], a2: T2_1[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } >a0 : T0[] >a1 : T1[] >a2 : T2[] zip(a0: T0[], a1: T1[], a2: T2[], a3: T3[]): Tuple4[]; ->zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0[], a1: T1[], a2: T2[]): Tuple3[]; (a0: T0[], a1: T1[], a2: T2[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } +>zip : { (a0: T0_1[], a1: T1_1[]): Tuple2[]; (a0: T0_2[], a1: T1_2[], a2: T2_1[]): Tuple3[]; (a0: T0[], a1: T1[], a2: T2[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } >a0 : T0[] >a1 : T1[] >a2 : T2[] >a3 : T3[] zip(...arrays: any[][]): any[][]; ->zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0[], a1: T1[], a2: T2[]): Tuple3[]; (a0: T0[], a1: T1[], a2: T2[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } +>zip : { (a0: T0[], a1: T1[]): Tuple2[]; (a0: T0_1[], a1: T1_1[], a2: T2[]): Tuple3[]; (a0: T0_2[], a1: T1_2[], a2: T2_1[], a3: T3[]): Tuple4[]; (...arrays: any[][]): any[][]; } >arrays : any[][] object(list: any[][]): any; @@ -3857,13 +3857,13 @@ module Underscore { >fromIndex : number sortedIndex(list: T[], obj: T, propertyName: string): number; ->sortedIndex : { (list: T[], obj: T, propertyName: string): number; (list: T[], obj: T, iterator?: Iterator_, context?: any): number; } +>sortedIndex : { (list: T[], obj: T, propertyName: string): number; (list: T_1[], obj: T_1, iterator?: Iterator_, context?: any): number; } >list : T[] >obj : T >propertyName : string sortedIndex(list: T[], obj: T, iterator?: Iterator_, context?: any): number; ->sortedIndex : { (list: T[], obj: T, propertyName: string): number; (list: T[], obj: T, iterator?: Iterator_, context?: any): number; } +>sortedIndex : { (list: T_1[], obj: T_1, propertyName: string): number; (list: T[], obj: T, iterator?: Iterator_, context?: any): number; } >list : T[] >obj : T >iterator : Iterator_ diff --git a/tests/baselines/reference/unionAndIntersectionInference1.types b/tests/baselines/reference/unionAndIntersectionInference1.types index 03cfbabd0d1c7..053ed68a25dd3 100644 --- a/tests/baselines/reference/unionAndIntersectionInference1.types +++ b/tests/baselines/reference/unionAndIntersectionInference1.types @@ -89,7 +89,7 @@ function foo1(value: void|a): void { if (isVoid(value)) { >isVoid(value) : boolean ->isVoid : (value: void | a) => value is void +>isVoid : (value: void | a_1) => value is void >value : void | a value; // value is void @@ -107,7 +107,7 @@ function baz1(value: void|a): void { if (isNonVoid(value)) { >isNonVoid(value) : boolean ->isNonVoid : (value: void | a) => value is a +>isNonVoid : (value: void | a_1) => value is a_1 >value : void | a value; // value is a @@ -193,9 +193,9 @@ const createTestAsync = (): Promise => Promise.resolve().then(() => ({ na >Promise.resolve().then(() => ({ name: 'test' })) : Promise >Promise.resolve().then : (onfulfilled?: (value: void) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >Promise.resolve() : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >then : (onfulfilled?: (value: void) => TResult1 | PromiseLike, onrejected?: (reason: any) => TResult2 | PromiseLike) => Promise >() => ({ name: 'test' }) : () => { name: "test"; } >({ name: 'test' }) : { name: "test"; } @@ -247,9 +247,9 @@ const assign = (a: T, b: U) => Object.assign(a, b); >a : T >b : U >Object.assign(a, b) : T & U ->Object.assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>Object.assign : { (target: T_1, source: U_1): T_1 & U_1; (target: T_2, source1: U_2, source2: V): T_2 & U_2 & V; (target: T_3, source1: U_3, source2: V_1, source3: W): T_3 & U_3 & V_1 & W; (target: object, ...sources: any[]): any; } >Object : ObjectConstructor ->assign : { (target: T, source: U): T & U; (target: T, source1: U, source2: V): T & U & V; (target: T, source1: U, source2: V, source3: W): T & U & V & W; (target: object, ...sources: any[]): any; } +>assign : { (target: T_1, source: U_1): T_1 & U_1; (target: T_2, source1: U_2, source2: V): T_2 & U_2 & V; (target: T_3, source1: U_3, source2: V_1, source3: W): T_3 & U_3 & V_1 & W; (target: object, ...sources: any[]): any; } >a : T >b : U diff --git a/tests/baselines/reference/unionOfArraysFilterCall.types b/tests/baselines/reference/unionOfArraysFilterCall.types index 6ed4be099fd78..db3c071e29ee9 100644 --- a/tests/baselines/reference/unionOfArraysFilterCall.types +++ b/tests/baselines/reference/unionOfArraysFilterCall.types @@ -19,11 +19,11 @@ interface Buzz { ([] as Fizz[] | Buzz[]).filter(item => item.id < 5); >([] as Fizz[] | Buzz[]).filter(item => item.id < 5) : (Fizz | Buzz)[] ->([] as Fizz[] | Buzz[]).filter : { (predicate: (value: Fizz, index: number, array: Fizz[]) => value is S, thisArg?: any): S[]; (predicate: (value: Fizz, index: number, array: Fizz[]) => unknown, thisArg?: any): Fizz[]; } | { (predicate: (value: Buzz, index: number, array: Buzz[]) => value is S, thisArg?: any): S[]; (predicate: (value: Buzz, index: number, array: Buzz[]) => unknown, thisArg?: any): Buzz[]; } +>([] as Fizz[] | Buzz[]).filter : { (predicate: (value: Fizz, index: number, array: Fizz[]) => value is S, thisArg?: any): S[]; (predicate: (value: Fizz, index: number, array: Fizz[]) => unknown, thisArg?: any): Fizz[]; } | { (predicate: (value: Buzz, index: number, array: Buzz[]) => value is S_1, thisArg?: any): S_1[]; (predicate: (value: Buzz, index: number, array: Buzz[]) => unknown, thisArg?: any): Buzz[]; } >([] as Fizz[] | Buzz[]) : Fizz[] | Buzz[] >[] as Fizz[] | Buzz[] : Fizz[] | Buzz[] >[] : undefined[] ->filter : { (predicate: (value: Fizz, index: number, array: Fizz[]) => value is S, thisArg?: any): S[]; (predicate: (value: Fizz, index: number, array: Fizz[]) => unknown, thisArg?: any): Fizz[]; } | { (predicate: (value: Buzz, index: number, array: Buzz[]) => value is S, thisArg?: any): S[]; (predicate: (value: Buzz, index: number, array: Buzz[]) => unknown, thisArg?: any): Buzz[]; } +>filter : { (predicate: (value: Fizz, index: number, array: Fizz[]) => value is S, thisArg?: any): S[]; (predicate: (value: Fizz, index: number, array: Fizz[]) => unknown, thisArg?: any): Fizz[]; } | { (predicate: (value: Buzz, index: number, array: Buzz[]) => value is S_1, thisArg?: any): S_1[]; (predicate: (value: Buzz, index: number, array: Buzz[]) => unknown, thisArg?: any): Buzz[]; } >item => item.id < 5 : (item: Fizz | Buzz) => boolean >item : Fizz | Buzz >item.id < 5 : boolean @@ -34,11 +34,11 @@ interface Buzz { ([] as Fizz[] | readonly Buzz[]).filter(item => item.id < 5); >([] as Fizz[] | readonly Buzz[]).filter(item => item.id < 5) : (Fizz | Buzz)[] ->([] as Fizz[] | readonly Buzz[]).filter : { (predicate: (value: Fizz, index: number, array: Fizz[]) => value is S, thisArg?: any): S[]; (predicate: (value: Fizz, index: number, array: Fizz[]) => unknown, thisArg?: any): Fizz[]; } | { (predicate: (value: Buzz, index: number, array: readonly Buzz[]) => value is S, thisArg?: any): S[]; (predicate: (value: Buzz, index: number, array: readonly Buzz[]) => unknown, thisArg?: any): Buzz[]; } +>([] as Fizz[] | readonly Buzz[]).filter : { (predicate: (value: Fizz, index: number, array: Fizz[]) => value is S, thisArg?: any): S[]; (predicate: (value: Fizz, index: number, array: Fizz[]) => unknown, thisArg?: any): Fizz[]; } | { (predicate: (value: Buzz, index: number, array: readonly Buzz[]) => value is S_1, thisArg?: any): S_1[]; (predicate: (value: Buzz, index: number, array: readonly Buzz[]) => unknown, thisArg?: any): Buzz[]; } >([] as Fizz[] | readonly Buzz[]) : Fizz[] | readonly Buzz[] >[] as Fizz[] | readonly Buzz[] : Fizz[] | readonly Buzz[] >[] : undefined[] ->filter : { (predicate: (value: Fizz, index: number, array: Fizz[]) => value is S, thisArg?: any): S[]; (predicate: (value: Fizz, index: number, array: Fizz[]) => unknown, thisArg?: any): Fizz[]; } | { (predicate: (value: Buzz, index: number, array: readonly Buzz[]) => value is S, thisArg?: any): S[]; (predicate: (value: Buzz, index: number, array: readonly Buzz[]) => unknown, thisArg?: any): Buzz[]; } +>filter : { (predicate: (value: Fizz, index: number, array: Fizz[]) => value is S, thisArg?: any): S[]; (predicate: (value: Fizz, index: number, array: Fizz[]) => unknown, thisArg?: any): Fizz[]; } | { (predicate: (value: Buzz, index: number, array: readonly Buzz[]) => value is S_1, thisArg?: any): S_1[]; (predicate: (value: Buzz, index: number, array: readonly Buzz[]) => unknown, thisArg?: any): Buzz[]; } >item => item.id < 5 : (item: Fizz | Buzz) => boolean >item : Fizz | Buzz >item.id < 5 : boolean @@ -49,11 +49,11 @@ interface Buzz { ([] as Fizz[] | Buzz[]).find(item => item); >([] as Fizz[] | Buzz[]).find(item => item) : Fizz | Buzz ->([] as Fizz[] | Buzz[]).find : { (predicate: (value: Fizz, index: number, obj: Fizz[]) => value is S, thisArg?: any): S; (predicate: (value: Fizz, index: number, obj: Fizz[]) => unknown, thisArg?: any): Fizz; } | { (predicate: (value: Buzz, index: number, obj: Buzz[]) => value is S, thisArg?: any): S; (predicate: (value: Buzz, index: number, obj: Buzz[]) => unknown, thisArg?: any): Buzz; } +>([] as Fizz[] | Buzz[]).find : { (predicate: (value: Fizz, index: number, obj: Fizz[]) => value is S, thisArg?: any): S; (predicate: (value: Fizz, index: number, obj: Fizz[]) => unknown, thisArg?: any): Fizz; } | { (predicate: (value: Buzz, index: number, obj: Buzz[]) => value is S_1, thisArg?: any): S_1; (predicate: (value: Buzz, index: number, obj: Buzz[]) => unknown, thisArg?: any): Buzz; } >([] as Fizz[] | Buzz[]) : Fizz[] | Buzz[] >[] as Fizz[] | Buzz[] : Fizz[] | Buzz[] >[] : undefined[] ->find : { (predicate: (value: Fizz, index: number, obj: Fizz[]) => value is S, thisArg?: any): S; (predicate: (value: Fizz, index: number, obj: Fizz[]) => unknown, thisArg?: any): Fizz; } | { (predicate: (value: Buzz, index: number, obj: Buzz[]) => value is S, thisArg?: any): S; (predicate: (value: Buzz, index: number, obj: Buzz[]) => unknown, thisArg?: any): Buzz; } +>find : { (predicate: (value: Fizz, index: number, obj: Fizz[]) => value is S, thisArg?: any): S; (predicate: (value: Fizz, index: number, obj: Fizz[]) => unknown, thisArg?: any): Fizz; } | { (predicate: (value: Buzz, index: number, obj: Buzz[]) => value is S_1, thisArg?: any): S_1; (predicate: (value: Buzz, index: number, obj: Buzz[]) => unknown, thisArg?: any): Buzz; } >item => item : (item: Fizz | Buzz) => Fizz | Buzz >item : Fizz | Buzz >item : Fizz | Buzz @@ -64,11 +64,11 @@ declare function isFizz(x: unknown): x is Fizz; ([] as Fizz[] | Buzz[]).find(isFizz); >([] as Fizz[] | Buzz[]).find(isFizz) : Fizz ->([] as Fizz[] | Buzz[]).find : { (predicate: (value: Fizz, index: number, obj: Fizz[]) => value is S, thisArg?: any): S; (predicate: (value: Fizz, index: number, obj: Fizz[]) => unknown, thisArg?: any): Fizz; } | { (predicate: (value: Buzz, index: number, obj: Buzz[]) => value is S, thisArg?: any): S; (predicate: (value: Buzz, index: number, obj: Buzz[]) => unknown, thisArg?: any): Buzz; } +>([] as Fizz[] | Buzz[]).find : { (predicate: (value: Fizz, index: number, obj: Fizz[]) => value is S, thisArg?: any): S; (predicate: (value: Fizz, index: number, obj: Fizz[]) => unknown, thisArg?: any): Fizz; } | { (predicate: (value: Buzz, index: number, obj: Buzz[]) => value is S_1, thisArg?: any): S_1; (predicate: (value: Buzz, index: number, obj: Buzz[]) => unknown, thisArg?: any): Buzz; } >([] as Fizz[] | Buzz[]) : Fizz[] | Buzz[] >[] as Fizz[] | Buzz[] : Fizz[] | Buzz[] >[] : undefined[] ->find : { (predicate: (value: Fizz, index: number, obj: Fizz[]) => value is S, thisArg?: any): S; (predicate: (value: Fizz, index: number, obj: Fizz[]) => unknown, thisArg?: any): Fizz; } | { (predicate: (value: Buzz, index: number, obj: Buzz[]) => value is S, thisArg?: any): S; (predicate: (value: Buzz, index: number, obj: Buzz[]) => unknown, thisArg?: any): Buzz; } +>find : { (predicate: (value: Fizz, index: number, obj: Fizz[]) => value is S, thisArg?: any): S; (predicate: (value: Fizz, index: number, obj: Fizz[]) => unknown, thisArg?: any): Fizz; } | { (predicate: (value: Buzz, index: number, obj: Buzz[]) => value is S_1, thisArg?: any): S_1; (predicate: (value: Buzz, index: number, obj: Buzz[]) => unknown, thisArg?: any): Buzz; } >isFizz : (x: unknown) => x is Fizz declare function isBuzz(x: unknown): x is Buzz; @@ -77,20 +77,20 @@ declare function isBuzz(x: unknown): x is Buzz; ([] as Fizz[] | Buzz[]).find(isBuzz); >([] as Fizz[] | Buzz[]).find(isBuzz) : Buzz ->([] as Fizz[] | Buzz[]).find : { (predicate: (value: Fizz, index: number, obj: Fizz[]) => value is S, thisArg?: any): S; (predicate: (value: Fizz, index: number, obj: Fizz[]) => unknown, thisArg?: any): Fizz; } | { (predicate: (value: Buzz, index: number, obj: Buzz[]) => value is S, thisArg?: any): S; (predicate: (value: Buzz, index: number, obj: Buzz[]) => unknown, thisArg?: any): Buzz; } +>([] as Fizz[] | Buzz[]).find : { (predicate: (value: Fizz, index: number, obj: Fizz[]) => value is S, thisArg?: any): S; (predicate: (value: Fizz, index: number, obj: Fizz[]) => unknown, thisArg?: any): Fizz; } | { (predicate: (value: Buzz, index: number, obj: Buzz[]) => value is S_1, thisArg?: any): S_1; (predicate: (value: Buzz, index: number, obj: Buzz[]) => unknown, thisArg?: any): Buzz; } >([] as Fizz[] | Buzz[]) : Fizz[] | Buzz[] >[] as Fizz[] | Buzz[] : Fizz[] | Buzz[] >[] : undefined[] ->find : { (predicate: (value: Fizz, index: number, obj: Fizz[]) => value is S, thisArg?: any): S; (predicate: (value: Fizz, index: number, obj: Fizz[]) => unknown, thisArg?: any): Fizz; } | { (predicate: (value: Buzz, index: number, obj: Buzz[]) => value is S, thisArg?: any): S; (predicate: (value: Buzz, index: number, obj: Buzz[]) => unknown, thisArg?: any): Buzz; } +>find : { (predicate: (value: Fizz, index: number, obj: Fizz[]) => value is S, thisArg?: any): S; (predicate: (value: Fizz, index: number, obj: Fizz[]) => unknown, thisArg?: any): Fizz; } | { (predicate: (value: Buzz, index: number, obj: Buzz[]) => value is S_1, thisArg?: any): S_1; (predicate: (value: Buzz, index: number, obj: Buzz[]) => unknown, thisArg?: any): Buzz; } >isBuzz : (x: unknown) => x is Buzz ([] as Fizz[] | Buzz[]).every(item => item.id < 5); >([] as Fizz[] | Buzz[]).every(item => item.id < 5) : boolean ->([] as Fizz[] | Buzz[]).every : { (predicate: (value: Fizz, index: number, array: Fizz[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Fizz, index: number, array: Fizz[]) => unknown, thisArg?: any): boolean; } | { (predicate: (value: Buzz, index: number, array: Buzz[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Buzz, index: number, array: Buzz[]) => unknown, thisArg?: any): boolean; } +>([] as Fizz[] | Buzz[]).every : { (predicate: (value: Fizz, index: number, array: Fizz[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Fizz, index: number, array: Fizz[]) => unknown, thisArg?: any): boolean; } | { (predicate: (value: Buzz, index: number, array: Buzz[]) => value is S_1, thisArg?: any): this is S_1[]; (predicate: (value: Buzz, index: number, array: Buzz[]) => unknown, thisArg?: any): boolean; } >([] as Fizz[] | Buzz[]) : Fizz[] | Buzz[] >[] as Fizz[] | Buzz[] : Fizz[] | Buzz[] >[] : undefined[] ->every : { (predicate: (value: Fizz, index: number, array: Fizz[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Fizz, index: number, array: Fizz[]) => unknown, thisArg?: any): boolean; } | { (predicate: (value: Buzz, index: number, array: Buzz[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Buzz, index: number, array: Buzz[]) => unknown, thisArg?: any): boolean; } +>every : { (predicate: (value: Fizz, index: number, array: Fizz[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: Fizz, index: number, array: Fizz[]) => unknown, thisArg?: any): boolean; } | { (predicate: (value: Buzz, index: number, array: Buzz[]) => value is S_1, thisArg?: any): this is S_1[]; (predicate: (value: Buzz, index: number, array: Buzz[]) => unknown, thisArg?: any): boolean; } >item => item.id < 5 : (item: Fizz | Buzz) => boolean >item : Fizz | Buzz >item.id < 5 : boolean @@ -101,11 +101,11 @@ declare function isBuzz(x: unknown): x is Buzz; ([] as Fizz[] | Buzz[]).reduce(item => item); >([] as Fizz[] | Buzz[]).reduce(item => item) : Fizz | Buzz ->([] as Fizz[] | Buzz[]).reduce : { (callbackfn: (previousValue: Fizz, currentValue: Fizz, currentIndex: number, array: Fizz[]) => Fizz): Fizz; (callbackfn: (previousValue: Fizz, currentValue: Fizz, currentIndex: number, array: Fizz[]) => Fizz, initialValue: Fizz): Fizz; (callbackfn: (previousValue: U, currentValue: Fizz, currentIndex: number, array: Fizz[]) => U, initialValue: U): U; } | { (callbackfn: (previousValue: Buzz, currentValue: Buzz, currentIndex: number, array: Buzz[]) => Buzz): Buzz; (callbackfn: (previousValue: Buzz, currentValue: Buzz, currentIndex: number, array: Buzz[]) => Buzz, initialValue: Buzz): Buzz; (callbackfn: (previousValue: U, currentValue: Buzz, currentIndex: number, array: Buzz[]) => U, initialValue: U): U; } +>([] as Fizz[] | Buzz[]).reduce : { (callbackfn: (previousValue: Fizz, currentValue: Fizz, currentIndex: number, array: Fizz[]) => Fizz): Fizz; (callbackfn: (previousValue: Fizz, currentValue: Fizz, currentIndex: number, array: Fizz[]) => Fizz, initialValue: Fizz): Fizz; (callbackfn: (previousValue: U, currentValue: Fizz, currentIndex: number, array: Fizz[]) => U, initialValue: U): U; } | { (callbackfn: (previousValue: Buzz, currentValue: Buzz, currentIndex: number, array: Buzz[]) => Buzz): Buzz; (callbackfn: (previousValue: Buzz, currentValue: Buzz, currentIndex: number, array: Buzz[]) => Buzz, initialValue: Buzz): Buzz; (callbackfn: (previousValue: U_1, currentValue: Buzz, currentIndex: number, array: Buzz[]) => U_1, initialValue: U_1): U_1; } >([] as Fizz[] | Buzz[]) : Fizz[] | Buzz[] >[] as Fizz[] | Buzz[] : Fizz[] | Buzz[] >[] : undefined[] ->reduce : { (callbackfn: (previousValue: Fizz, currentValue: Fizz, currentIndex: number, array: Fizz[]) => Fizz): Fizz; (callbackfn: (previousValue: Fizz, currentValue: Fizz, currentIndex: number, array: Fizz[]) => Fizz, initialValue: Fizz): Fizz; (callbackfn: (previousValue: U, currentValue: Fizz, currentIndex: number, array: Fizz[]) => U, initialValue: U): U; } | { (callbackfn: (previousValue: Buzz, currentValue: Buzz, currentIndex: number, array: Buzz[]) => Buzz): Buzz; (callbackfn: (previousValue: Buzz, currentValue: Buzz, currentIndex: number, array: Buzz[]) => Buzz, initialValue: Buzz): Buzz; (callbackfn: (previousValue: U, currentValue: Buzz, currentIndex: number, array: Buzz[]) => U, initialValue: U): U; } +>reduce : { (callbackfn: (previousValue: Fizz, currentValue: Fizz, currentIndex: number, array: Fizz[]) => Fizz): Fizz; (callbackfn: (previousValue: Fizz, currentValue: Fizz, currentIndex: number, array: Fizz[]) => Fizz, initialValue: Fizz): Fizz; (callbackfn: (previousValue: U, currentValue: Fizz, currentIndex: number, array: Fizz[]) => U, initialValue: U): U; } | { (callbackfn: (previousValue: Buzz, currentValue: Buzz, currentIndex: number, array: Buzz[]) => Buzz): Buzz; (callbackfn: (previousValue: Buzz, currentValue: Buzz, currentIndex: number, array: Buzz[]) => Buzz, initialValue: Buzz): Buzz; (callbackfn: (previousValue: U_1, currentValue: Buzz, currentIndex: number, array: Buzz[]) => U_1, initialValue: U_1): U_1; } >item => item : (item: Fizz | Buzz) => Fizz | Buzz >item : Fizz | Buzz >item : Fizz | Buzz @@ -113,11 +113,11 @@ declare function isBuzz(x: unknown): x is Buzz; ([] as [Fizz] | readonly [Buzz?]).filter(item => item?.id < 5); >([] as [Fizz] | readonly [Buzz?]).filter(item => item?.id < 5) : (Fizz | Buzz)[] ->([] as [Fizz] | readonly [Buzz?]).filter : { (predicate: (value: Fizz, index: number, array: Fizz[]) => value is S, thisArg?: any): S[]; (predicate: (value: Fizz, index: number, array: Fizz[]) => unknown, thisArg?: any): Fizz[]; } | { (predicate: (value: Buzz, index: number, array: readonly Buzz[]) => value is S, thisArg?: any): S[]; (predicate: (value: Buzz, index: number, array: readonly Buzz[]) => unknown, thisArg?: any): Buzz[]; } +>([] as [Fizz] | readonly [Buzz?]).filter : { (predicate: (value: Fizz, index: number, array: Fizz[]) => value is S, thisArg?: any): S[]; (predicate: (value: Fizz, index: number, array: Fizz[]) => unknown, thisArg?: any): Fizz[]; } | { (predicate: (value: Buzz, index: number, array: readonly Buzz[]) => value is S_1, thisArg?: any): S_1[]; (predicate: (value: Buzz, index: number, array: readonly Buzz[]) => unknown, thisArg?: any): Buzz[]; } >([] as [Fizz] | readonly [Buzz?]) : [Fizz] | readonly [Buzz?] >[] as [Fizz] | readonly [Buzz?] : [Fizz] | readonly [Buzz?] >[] : [] ->filter : { (predicate: (value: Fizz, index: number, array: Fizz[]) => value is S, thisArg?: any): S[]; (predicate: (value: Fizz, index: number, array: Fizz[]) => unknown, thisArg?: any): Fizz[]; } | { (predicate: (value: Buzz, index: number, array: readonly Buzz[]) => value is S, thisArg?: any): S[]; (predicate: (value: Buzz, index: number, array: readonly Buzz[]) => unknown, thisArg?: any): Buzz[]; } +>filter : { (predicate: (value: Fizz, index: number, array: Fizz[]) => value is S, thisArg?: any): S[]; (predicate: (value: Fizz, index: number, array: Fizz[]) => unknown, thisArg?: any): Fizz[]; } | { (predicate: (value: Buzz, index: number, array: readonly Buzz[]) => value is S_1, thisArg?: any): S_1[]; (predicate: (value: Buzz, index: number, array: readonly Buzz[]) => unknown, thisArg?: any): Buzz[]; } >item => item?.id < 5 : (item: Fizz | Buzz) => boolean >item : Fizz | Buzz >item?.id < 5 : boolean diff --git a/tests/baselines/reference/unionOfClassCalls.types b/tests/baselines/reference/unionOfClassCalls.types index 2a94afe451913..c31e22185f9c7 100644 --- a/tests/baselines/reference/unionOfClassCalls.types +++ b/tests/baselines/reference/unionOfClassCalls.types @@ -24,9 +24,9 @@ declare const tmp: Test | Test; switch (tmp.get('t')) { >tmp.get('t') : "A" | "B" ->tmp.get : ((k: K) => A[K]) | ((k: K) => B[K]) +>tmp.get : ((k: K) => A[K]) | ((k: K_1) => B[K_1]) >tmp : Test | Test ->get : ((k: K) => A[K]) | ((k: K) => B[K]) +>get : ((k: K) => A[K]) | ((k: K_1) => B[K_1]) >'t' : "t" case 'A': break; @@ -52,9 +52,9 @@ const arr2: string[] = []; arr.map((a: number | string, index: number) => { >arr.map((a: number | string, index: number) => { return index}) : number[] ->arr.map : ((callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) +>arr.map : ((callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: string, index: number, array: string[]) => U_1, thisArg?: any) => U_1[]) >arr : number[] | string[] ->map : ((callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: string, index: number, array: string[]) => U, thisArg?: any) => U[]) +>map : ((callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]) | ((callbackfn: (value: string, index: number, array: string[]) => U_1, thisArg?: any) => U_1[]) >(a: number | string, index: number) => { return index} : (a: number | string, index: number) => number >a : string | number >index : number @@ -67,9 +67,9 @@ arr.map((a: number | string, index: number) => { // This case still doesn't work because `reduce` has multiple overloads :( arr.reduce((acc: Array, a: number | string, index: number) => { >arr.reduce((acc: Array, a: number | string, index: number) => { return []}, []) : never[] ->arr.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; } | { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; } +>arr.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; } | { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U_1, currentValue: string, currentIndex: number, array: string[]) => U_1, initialValue: U_1): U_1; } >arr : number[] | string[] ->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; } | { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U, currentValue: string, currentIndex: number, array: string[]) => U, initialValue: U): U; } +>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; } | { (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string): string; (callbackfn: (previousValue: string, currentValue: string, currentIndex: number, array: string[]) => string, initialValue: string): string; (callbackfn: (previousValue: U_1, currentValue: string, currentIndex: number, array: string[]) => U_1, initialValue: U_1): U_1; } >(acc: Array, a: number | string, index: number) => { return []} : (acc: Array, a: number | string, index: number) => never[] >acc : string[] >a : string | number @@ -213,12 +213,12 @@ declare var a: Bar | Baz; // note, you must annotate `result` for now a.doThing().then((result: Bar | Baz) => { >a.doThing().then((result: Bar | Baz) => { // whatever}) : Promise ->a.doThing().then : ((onfulfilled?: ((value: Baz) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise) | ((onfulfilled?: ((value: Bar) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise) +>a.doThing().then : ((onfulfilled?: ((value: Baz) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise) | ((onfulfilled?: ((value: Bar) => TResult1_1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2_1 | PromiseLike) | null | undefined) => Promise) >a.doThing() : Promise | Promise >a.doThing : (() => Promise) | (() => Promise) >a : Bar | Baz >doThing : (() => Promise) | (() => Promise) ->then : ((onfulfilled?: ((value: Baz) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise) | ((onfulfilled?: ((value: Bar) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise) +>then : ((onfulfilled?: ((value: Baz) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null | undefined) => Promise) | ((onfulfilled?: ((value: Bar) => TResult1_1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2_1 | PromiseLike) | null | undefined) => Promise) >(result: Bar | Baz) => { // whatever} : (result: Bar | Baz) => void >result : Bar | Baz diff --git a/tests/baselines/reference/unionTypeInference.types b/tests/baselines/reference/unionTypeInference.types index 2d7719b994653..89bc8b57d0742 100644 --- a/tests/baselines/reference/unionTypeInference.types +++ b/tests/baselines/reference/unionTypeInference.types @@ -216,9 +216,9 @@ async function fun(deepPromised: DeepPromised) { for (const value of Object.values(deepPromisedWithIndexer)) { >value : {} | ({ [containsPromises]?: true | undefined; } & {}) | Promise<{ [containsPromises]?: true | undefined; } & {}> | null | undefined >Object.values(deepPromisedWithIndexer) : ({} | ({ [containsPromises]?: true | undefined; } & {}) | Promise<{ [containsPromises]?: true | undefined; } & {}> | null | undefined)[] ->Object.values : { (o: { [s: string]: T; } | ArrayLike): T[]; (o: {}): any[]; } +>Object.values : { (o: { [s: string]: T_1; } | ArrayLike): T_1[]; (o: {}): any[]; } >Object : ObjectConstructor ->values : { (o: { [s: string]: T; } | ArrayLike): T[]; (o: {}): any[]; } +>values : { (o: { [s: string]: T_1; } | ArrayLike): T_1[]; (o: {}): any[]; } >deepPromisedWithIndexer : DeepPromised<{ [name: string]: {} | null | undefined; }> const awaitedValue = await value; diff --git a/tests/baselines/reference/unionTypeMembers.types b/tests/baselines/reference/unionTypeMembers.types index d077636d028ba..4a75cea5740d4 100644 --- a/tests/baselines/reference/unionTypeMembers.types +++ b/tests/baselines/reference/unionTypeMembers.types @@ -144,27 +144,27 @@ num = x.commonMethodWithOwnTypeParameter(num); >num = x.commonMethodWithOwnTypeParameter(num) : number >num : number >x.commonMethodWithOwnTypeParameter(num) : number ->x.commonMethodWithOwnTypeParameter : ((a: U) => U) | ((a: U) => U) +>x.commonMethodWithOwnTypeParameter : ((a: U) => U) | ((a: U_1) => U_1) >x : I1 | I2 ->commonMethodWithOwnTypeParameter : ((a: U) => U) | ((a: U) => U) +>commonMethodWithOwnTypeParameter : ((a: U) => U) | ((a: U_1) => U_1) >num : number str = x.commonMethodWithOwnTypeParameter(str); >str = x.commonMethodWithOwnTypeParameter(str) : string >str : string >x.commonMethodWithOwnTypeParameter(str) : string ->x.commonMethodWithOwnTypeParameter : ((a: U) => U) | ((a: U) => U) +>x.commonMethodWithOwnTypeParameter : ((a: U) => U) | ((a: U_1) => U_1) >x : I1 | I2 ->commonMethodWithOwnTypeParameter : ((a: U) => U) | ((a: U) => U) +>commonMethodWithOwnTypeParameter : ((a: U) => U) | ((a: U_1) => U_1) >str : string strOrNum = x.commonMethodWithOwnTypeParameter(strOrNum); >strOrNum = x.commonMethodWithOwnTypeParameter(strOrNum) : string | number >strOrNum : string | number >x.commonMethodWithOwnTypeParameter(strOrNum) : string | number ->x.commonMethodWithOwnTypeParameter : ((a: U) => U) | ((a: U) => U) +>x.commonMethodWithOwnTypeParameter : ((a: U) => U) | ((a: U_1) => U_1) >x : I1 | I2 ->commonMethodWithOwnTypeParameter : ((a: U) => U) | ((a: U) => U) +>commonMethodWithOwnTypeParameter : ((a: U) => U) | ((a: U_1) => U_1) >strOrNum : string | number x.propertyOnlyInI1; // error diff --git a/tests/baselines/reference/unionTypeParameterInference.types b/tests/baselines/reference/unionTypeParameterInference.types index 29b6d87f40dbe..bf9bab1afcd66 100644 --- a/tests/baselines/reference/unionTypeParameterInference.types +++ b/tests/baselines/reference/unionTypeParameterInference.types @@ -17,7 +17,7 @@ function unlift(value: U | Foo): U { return lift(value).prop; >lift(value).prop : U >lift(value) : Foo ->lift : (value: U | Foo) => Foo +>lift : (value: U_1 | Foo) => Foo >value : U | Foo >prop : U } diff --git a/tests/baselines/reference/uniqueSymbols.types b/tests/baselines/reference/uniqueSymbols.types index 37e1d29fcc38f..2733ed076ca87 100644 --- a/tests/baselines/reference/uniqueSymbols.types +++ b/tests/baselines/reference/uniqueSymbols.types @@ -402,9 +402,9 @@ const constInitToLReadonlyNestedTypeWithIndexedAccess: L["nested"]["readonlyNest const promiseForConstCall = Promise.resolve(constCall); >promiseForConstCall : Promise >Promise.resolve(constCall) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >constCall : unique symbol const arrayOfConstCall = [constCall]; diff --git a/tests/baselines/reference/uniqueSymbolsDeclarations.types b/tests/baselines/reference/uniqueSymbolsDeclarations.types index b22c81175916e..7d9ec469eb1ca 100644 --- a/tests/baselines/reference/uniqueSymbolsDeclarations.types +++ b/tests/baselines/reference/uniqueSymbolsDeclarations.types @@ -395,9 +395,9 @@ const constInitToLReadonlyNestedTypeWithIndexedAccess: L["nested"]["readonlyNest const promiseForConstCall = Promise.resolve(constCall); >promiseForConstCall : Promise >Promise.resolve(constCall) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >constCall : unique symbol const arrayOfConstCall = [constCall]; diff --git a/tests/baselines/reference/uniqueSymbolsErrors.types b/tests/baselines/reference/uniqueSymbolsErrors.types index 0375397ffe408..874f0811100ad 100644 --- a/tests/baselines/reference/uniqueSymbolsErrors.types +++ b/tests/baselines/reference/uniqueSymbolsErrors.types @@ -152,7 +152,7 @@ interface InvalidInterface { // type literals type InvalidTypeLiteral = { ->InvalidTypeLiteral : { invalidPropertyType: unique symbol; invalidArgType(arg: unique symbol): void; invalidRestArgType(...args: (unique symbol)[]): void; invalidReturnType(): unique symbol; invalidThisType(this: unique symbol): any; invalidTypePredicate(n: any): n is symbol; invalidTypeParameterConstraint(): void; invalidTypeParameterDefault(): void; } +>InvalidTypeLiteral : { invalidPropertyType: unique symbol; invalidArgType(arg: unique symbol): void; invalidRestArgType(...args: (unique symbol)[]): void; invalidReturnType(): unique symbol; invalidThisType(this: unique symbol): any; invalidTypePredicate(n: any): n is symbol; invalidTypeParameterConstraint(): void; invalidTypeParameterDefault(): void; } invalidPropertyType: unique symbol; >invalidPropertyType : symbol diff --git a/tests/baselines/reference/unknownControlFlow.types b/tests/baselines/reference/unknownControlFlow.types index 52524827dd58c..4f452904c7105 100644 --- a/tests/baselines/reference/unknownControlFlow.types +++ b/tests/baselines/reference/unknownControlFlow.types @@ -468,9 +468,9 @@ function possiblyNullOrUndefined(x: T) { return possiblyUndefined(possiblyNull(x)); // T | null | undefined >possiblyUndefined(possiblyNull(x)) : T | null | undefined ->possiblyUndefined : (x: T) => T | undefined +>possiblyUndefined : (x: T_1) => T_1 | undefined >possiblyNull(x) : T | null ->possiblyNull : (x: T) => T | null +>possiblyNull : (x: T_1) => T_1 | null >x : T } @@ -509,9 +509,9 @@ function ensureNotNullOrUndefined(x: T) { return ensureNotUndefined(ensureNotNull(x)); // T & {} >ensureNotUndefined(ensureNotNull(x)) : T & {} ->ensureNotUndefined : (x: T) => T & ({} | null) +>ensureNotUndefined : (x: T_1) => T_1 & ({} | null) >ensureNotNull(x) : T & ({} | undefined) ->ensureNotNull : (x: T) => T & ({} | undefined) +>ensureNotNull : (x: T_1) => T_1 & ({} | undefined) >x : T } @@ -543,73 +543,73 @@ function f41(a: T) { let a1 = ensureNotUndefined(ensureNotNull(a)); // T & {} >a1 : T & {} >ensureNotUndefined(ensureNotNull(a)) : T & {} ->ensureNotUndefined : (x: T) => T & ({} | null) +>ensureNotUndefined : (x: T_1) => T_1 & ({} | null) >ensureNotNull(a) : T & ({} | undefined) ->ensureNotNull : (x: T) => T & ({} | undefined) +>ensureNotNull : (x: T_1) => T_1 & ({} | undefined) >a : T let a2 = ensureNotNull(ensureNotUndefined(a)); // T & {} >a2 : T & {} >ensureNotNull(ensureNotUndefined(a)) : T & {} ->ensureNotNull : (x: T) => T & ({} | undefined) +>ensureNotNull : (x: T_1) => T_1 & ({} | undefined) >ensureNotUndefined(a) : T & ({} | null) ->ensureNotUndefined : (x: T) => T & ({} | null) +>ensureNotUndefined : (x: T_1) => T_1 & ({} | null) >a : T let a3 = ensureNotNull(ensureNotNull(a)); // T & {} | T & undefined >a3 : (T & undefined) | (T & {}) >ensureNotNull(ensureNotNull(a)) : (T & undefined) | (T & {}) ->ensureNotNull : (x: T) => T & ({} | undefined) +>ensureNotNull : (x: T_1) => T_1 & ({} | undefined) >ensureNotNull(a) : T & ({} | undefined) ->ensureNotNull : (x: T) => T & ({} | undefined) +>ensureNotNull : (x: T_1) => T_1 & ({} | undefined) >a : T let a4 = ensureNotUndefined(ensureNotUndefined(a)); // T & {} | T & null >a4 : (T & {}) | (T & null) >ensureNotUndefined(ensureNotUndefined(a)) : (T & {}) | (T & null) ->ensureNotUndefined : (x: T) => T & ({} | null) +>ensureNotUndefined : (x: T_1) => T_1 & ({} | null) >ensureNotUndefined(a) : T & ({} | null) ->ensureNotUndefined : (x: T) => T & ({} | null) +>ensureNotUndefined : (x: T_1) => T_1 & ({} | null) >a : T let a5 = ensureNotNullOrUndefined(ensureNotNullOrUndefined(a)); // T & {} >a5 : T & {} >ensureNotNullOrUndefined(ensureNotNullOrUndefined(a)) : T & {} ->ensureNotNullOrUndefined : (x: T) => T & {} +>ensureNotNullOrUndefined : (x: T_1) => T_1 & {} >ensureNotNullOrUndefined(a) : T & {} ->ensureNotNullOrUndefined : (x: T) => T & {} +>ensureNotNullOrUndefined : (x: T_1) => T_1 & {} >a : T let a6 = ensureNotNull(possiblyNullOrUndefined(a)); // T & {} | undefined >a6 : (T & {}) | undefined >ensureNotNull(possiblyNullOrUndefined(a)) : (T & {}) | undefined ->ensureNotNull : (x: T) => T & ({} | undefined) +>ensureNotNull : (x: T_1) => T_1 & ({} | undefined) >possiblyNullOrUndefined(a) : T | null | undefined ->possiblyNullOrUndefined : (x: T) => T | null | undefined +>possiblyNullOrUndefined : (x: T_1) => T_1 | null | undefined >a : T let a7 = ensureNotUndefined(possiblyNullOrUndefined(a)); // T & {} | null >a7 : (T & {}) | null >ensureNotUndefined(possiblyNullOrUndefined(a)) : (T & {}) | null ->ensureNotUndefined : (x: T) => T & ({} | null) +>ensureNotUndefined : (x: T_1) => T_1 & ({} | null) >possiblyNullOrUndefined(a) : T | null | undefined ->possiblyNullOrUndefined : (x: T) => T | null | undefined +>possiblyNullOrUndefined : (x: T_1) => T_1 | null | undefined >a : T let a8 = ensureNotNull(possiblyUndefined(a)); // T & {} | undefined >a8 : (T & {}) | undefined >ensureNotNull(possiblyUndefined(a)) : (T & {}) | undefined ->ensureNotNull : (x: T) => T & ({} | undefined) +>ensureNotNull : (x: T_1) => T_1 & ({} | undefined) >possiblyUndefined(a) : T | undefined ->possiblyUndefined : (x: T) => T | undefined +>possiblyUndefined : (x: T_1) => T_1 | undefined >a : T let a9 = ensureNotUndefined(possiblyNull(a)); // T & {} | null >a9 : (T & {}) | null >ensureNotUndefined(possiblyNull(a)) : (T & {}) | null ->ensureNotUndefined : (x: T) => T & ({} | null) +>ensureNotUndefined : (x: T_1) => T_1 & ({} | null) >possiblyNull(a) : T | null ->possiblyNull : (x: T) => T | null +>possiblyNull : (x: T_1) => T_1 | null >a : T } diff --git a/tests/baselines/reference/unknownLikeUnionObjectFlagsNotPropagated.types b/tests/baselines/reference/unknownLikeUnionObjectFlagsNotPropagated.types index f9a01dfe2d568..244ce3e3c4294 100644 --- a/tests/baselines/reference/unknownLikeUnionObjectFlagsNotPropagated.types +++ b/tests/baselines/reference/unknownLikeUnionObjectFlagsNotPropagated.types @@ -24,9 +24,9 @@ async function myUnusedFunction() { const fetch1 = Promise.resolve(['hello', 'world']); >fetch1 : Promise >Promise.resolve(['hello', 'world']) : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >['hello', 'world'] : string[] >'hello' : "hello" >'world' : "world" @@ -35,9 +35,9 @@ async function myUnusedFunction() { >data1 : string[] >await Promise.all([fetch1]) : [string[]] >Promise.all([fetch1]) : Promise<[string[]]> ->Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >Promise : PromiseConstructor ->all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >[fetch1] : [Promise] >fetch1 : Promise diff --git a/tests/baselines/reference/unspecializedConstraints.types b/tests/baselines/reference/unspecializedConstraints.types index 2c49dae768d07..e299697691d8d 100644 --- a/tests/baselines/reference/unspecializedConstraints.types +++ b/tests/baselines/reference/unspecializedConstraints.types @@ -592,7 +592,7 @@ module ts { if (!arrayContains(b, a[i])) return false; >!arrayContains(b, a[i]) : boolean >arrayContains(b, a[i]) : boolean ->arrayContains : >(a: T[], item: T) => boolean +>arrayContains : >(a: T_1[], item: T_1) => boolean >b : T[] >a[i] : T >a : T[] diff --git a/tests/baselines/reference/unusedTypeParametersCheckedByNoUnusedParameters.types b/tests/baselines/reference/unusedTypeParametersCheckedByNoUnusedParameters.types index 55af55a808723..21c45aa7c33fd 100644 --- a/tests/baselines/reference/unusedTypeParametersCheckedByNoUnusedParameters.types +++ b/tests/baselines/reference/unusedTypeParametersCheckedByNoUnusedParameters.types @@ -18,6 +18,6 @@ class C { }; let l = () => { }; ->l : () => void ->() => { } : () => void +>l : () => void +>() => { } : () => void diff --git a/tests/baselines/reference/unusedTypeParametersNotCheckedByNoUnusedLocals.types b/tests/baselines/reference/unusedTypeParametersNotCheckedByNoUnusedLocals.types index e21a6f2b7f3f0..4dcbe8e82e0fe 100644 --- a/tests/baselines/reference/unusedTypeParametersNotCheckedByNoUnusedLocals.types +++ b/tests/baselines/reference/unusedTypeParametersNotCheckedByNoUnusedLocals.types @@ -18,6 +18,6 @@ class C { }; let l = () => { }; ->l : () => void ->() => { } : () => void +>l : () => void +>() => { } : () => void diff --git a/tests/baselines/reference/variableDeclaratorResolvedDuringContextualTyping.types b/tests/baselines/reference/variableDeclaratorResolvedDuringContextualTyping.types index dec29502f660d..a5863bebec99e 100644 --- a/tests/baselines/reference/variableDeclaratorResolvedDuringContextualTyping.types +++ b/tests/baselines/reference/variableDeclaratorResolvedDuringContextualTyping.types @@ -97,7 +97,7 @@ module WinJS { >oncancel : any public then(success?: (value: V) => TPromise, error?: (err: any) => TPromise, progress?: ProgressCallback): TPromise; ->then : { (success?: (value: V) => TPromise, error?: (err: any) => TPromise, progress?: ProgressCallback): TPromise; (success?: (value: V) => TPromise, error?: (err: any) => U, progress?: ProgressCallback): TPromise; (success?: (value: V) => U, error?: (err: any) => TPromise, progress?: ProgressCallback): TPromise; (success?: (value: V) => U, error?: (err: any) => U, progress?: ProgressCallback): TPromise; } +>then : { (success?: (value: V) => TPromise, error?: (err: any) => TPromise, progress?: ProgressCallback): TPromise; (success?: (value: V) => TPromise, error?: (err: any) => U_1, progress?: ProgressCallback): TPromise; (success?: (value: V) => U_2, error?: (err: any) => TPromise, progress?: ProgressCallback): TPromise; (success?: (value: V) => U_3, error?: (err: any) => U_3, progress?: ProgressCallback): TPromise; } >success : (value: V) => TPromise >value : V >error : (err: any) => TPromise @@ -105,7 +105,7 @@ module WinJS { >progress : ProgressCallback public then(success?: (value: V) => TPromise, error?: (err: any) => U, progress?: ProgressCallback): TPromise; ->then : { (success?: (value: V) => TPromise, error?: (err: any) => TPromise, progress?: ProgressCallback): TPromise; (success?: (value: V) => TPromise, error?: (err: any) => U, progress?: ProgressCallback): TPromise; (success?: (value: V) => U, error?: (err: any) => TPromise, progress?: ProgressCallback): TPromise; (success?: (value: V) => U, error?: (err: any) => U, progress?: ProgressCallback): TPromise; } +>then : { (success?: (value: V) => TPromise, error?: (err: any) => TPromise, progress?: ProgressCallback): TPromise; (success?: (value: V) => TPromise, error?: (err: any) => U, progress?: ProgressCallback): TPromise; (success?: (value: V) => U_3, error?: (err: any) => TPromise, progress?: ProgressCallback): TPromise; (success?: (value: V) => U_4, error?: (err: any) => U_4, progress?: ProgressCallback): TPromise; } >success : (value: V) => TPromise >value : V >error : (err: any) => U @@ -113,7 +113,7 @@ module WinJS { >progress : ProgressCallback public then(success?: (value: V) => U, error?: (err: any) => TPromise, progress?: ProgressCallback): TPromise; ->then : { (success?: (value: V) => TPromise, error?: (err: any) => TPromise, progress?: ProgressCallback): TPromise; (success?: (value: V) => TPromise, error?: (err: any) => U, progress?: ProgressCallback): TPromise; (success?: (value: V) => U, error?: (err: any) => TPromise, progress?: ProgressCallback): TPromise; (success?: (value: V) => U, error?: (err: any) => U, progress?: ProgressCallback): TPromise; } +>then : { (success?: (value: V) => TPromise, error?: (err: any) => TPromise, progress?: ProgressCallback): TPromise; (success?: (value: V) => TPromise, error?: (err: any) => U_2, progress?: ProgressCallback): TPromise; (success?: (value: V) => U, error?: (err: any) => TPromise, progress?: ProgressCallback): TPromise; (success?: (value: V) => U_4, error?: (err: any) => U_4, progress?: ProgressCallback): TPromise; } >success : (value: V) => U >value : V >error : (err: any) => TPromise @@ -121,7 +121,7 @@ module WinJS { >progress : ProgressCallback public then(success?: (value: V) => U, error?: (err: any) => U, progress?: ProgressCallback): TPromise; ->then : { (success?: (value: V) => TPromise, error?: (err: any) => TPromise, progress?: ProgressCallback): TPromise; (success?: (value: V) => TPromise, error?: (err: any) => U, progress?: ProgressCallback): TPromise; (success?: (value: V) => U, error?: (err: any) => TPromise, progress?: ProgressCallback): TPromise; (success?: (value: V) => U, error?: (err: any) => U, progress?: ProgressCallback): TPromise; } +>then : { (success?: (value: V) => TPromise, error?: (err: any) => TPromise, progress?: ProgressCallback): TPromise; (success?: (value: V) => TPromise, error?: (err: any) => U_2, progress?: ProgressCallback): TPromise; (success?: (value: V) => U_3, error?: (err: any) => TPromise, progress?: ProgressCallback): TPromise; (success?: (value: V) => U, error?: (err: any) => U, progress?: ProgressCallback): TPromise; } >success : (value: V) => U >value : V >error : (err: any) => U diff --git a/tests/baselines/reference/variadicTuples1.types b/tests/baselines/reference/variadicTuples1.types index f41a817d57e00..73a28336eb9a7 100644 --- a/tests/baselines/reference/variadicTuples1.types +++ b/tests/baselines/reference/variadicTuples1.types @@ -1324,11 +1324,11 @@ function f21(args: [...U, number?]) { } declare function f22(args: [...T, number]): T; ->f22 : { (args: [...T, number]): T; (args: [...T]): T; } +>f22 : { (args: [...T, number]): T; (args: [...T_1]): T_1; } >args : [...T, number] declare function f22(args: [...T]): T; ->f22 : { (args: [...T, number]): T; (args: [...T]): T; } +>f22 : { (args: [...T_1, number]): T_1; (args: [...T]): T; } >args : [...T] function f23(args: [...U, number]) { @@ -1338,13 +1338,13 @@ function f23(args: [...U, number]) { let v1 = f22(args); // U >v1 : U >f22(args) : U ->f22 : { (args: [...T, number]): T; (args: [...T]): T; } +>f22 : { (args: [...T, number]): T; (args: [...T_1]): T_1; } >args : [...U, number] let v2 = f22(["foo", "bar"]); // [string, string] >v2 : [string, string] >f22(["foo", "bar"]) : [string, string] ->f22 : { (args: [...T, number]): T; (args: [...T]): T; } +>f22 : { (args: [...T, number]): T; (args: [...T_1]): T_1; } >["foo", "bar"] : [string, string] >"foo" : "foo" >"bar" : "bar" @@ -1352,7 +1352,7 @@ function f23(args: [...U, number]) { let v3 = f22(["foo", 42]); // [string] >v3 : [string] >f22(["foo", 42]) : [string] ->f22 : { (args: [...T, number]): T; (args: [...T]): T; } +>f22 : { (args: [...T, number]): T; (args: [...T_1]): T_1; } >["foo", 42] : [string, number] >"foo" : "foo" >42 : 42 From 9b137893bdc6d31a02b268b1ec44b9f60fbc1f30 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Fri, 3 Nov 2023 13:35:48 -0700 Subject: [PATCH 3/3] Update baselines --- .../reference/contextuallyTypeAsyncFunctionReturnType.types | 4 ++-- .../contextuallyTypeGeneratorReturnTypeFromUnion.types | 4 ++-- tests/baselines/reference/noImplicitReturnsExclusions.types | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnType.types b/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnType.types index 307d73e306a1d..bf756a3ad45fb 100644 --- a/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnType.types +++ b/tests/baselines/reference/contextuallyTypeAsyncFunctionReturnType.types @@ -203,9 +203,9 @@ async function copyExtensions( await Promise.all( >await Promise.all( fromExtensions .filter((e) => !e.isApplicationScoped) .map(async (e) => [e, await scanMetadata(e)]) ) : [ILocalExtension, Metadata][] >Promise.all( fromExtensions .filter((e) => !e.isApplicationScoped) .map(async (e) => [e, await scanMetadata(e)]) ) : Promise<[ILocalExtension, Metadata][]> ->Promise.all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>Promise.all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } >Promise : PromiseConstructor ->all : { (values: Iterable>): Promise[]>; (values: T): Promise<{ -readonly [P in keyof T]: Awaited; }>; } +>all : { (values: Iterable>): Promise[]>; (values: T_1): Promise<{ -readonly [P in keyof T_1]: Awaited; }>; } fromExtensions >fromExtensions .filter((e) => !e.isApplicationScoped) .map(async (e) => [e, await scanMetadata(e)]) : Promise<[ILocalExtension, Metadata]>[] diff --git a/tests/baselines/reference/contextuallyTypeGeneratorReturnTypeFromUnion.types b/tests/baselines/reference/contextuallyTypeGeneratorReturnTypeFromUnion.types index 0632c1e9ec7f5..00ab6773d3da7 100644 --- a/tests/baselines/reference/contextuallyTypeGeneratorReturnTypeFromUnion.types +++ b/tests/baselines/reference/contextuallyTypeGeneratorReturnTypeFromUnion.types @@ -33,9 +33,9 @@ const test2: Action2 = async function* () { >yield await Promise.resolve('') : string[] >await Promise.resolve('') : string >Promise.resolve('') : Promise ->Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>Promise.resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >Promise : PromiseConstructor ->resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } +>resolve : { (): Promise; (value: T): Promise>; (value: T_1 | PromiseLike): Promise>; } >'' : "" return next[0] diff --git a/tests/baselines/reference/noImplicitReturnsExclusions.types b/tests/baselines/reference/noImplicitReturnsExclusions.types index 547287b962e50..1547993dbfa13 100644 --- a/tests/baselines/reference/noImplicitReturnsExclusions.types +++ b/tests/baselines/reference/noImplicitReturnsExclusions.types @@ -147,7 +147,7 @@ declare class HistoryItem { interface Thenable { then( ->then : { (onfulfilled?: ((value: T) => TResult | Thenable) | undefined, onrejected?: ((reason: any) => TResult | Thenable) | undefined): Thenable; (onfulfilled?: ((value: T) => TResult | Thenable) | undefined, onrejected?: ((reason: any) => void) | undefined): Thenable; } +>then : { (onfulfilled?: ((value: T) => TResult | Thenable) | undefined, onrejected?: ((reason: any) => TResult | Thenable) | undefined): Thenable; (onfulfilled?: ((value: T) => TResult_1 | Thenable) | undefined, onrejected?: ((reason: any) => void) | undefined): Thenable; } onfulfilled?: (value: T) => TResult | Thenable, >onfulfilled : ((value: T) => TResult | Thenable) | undefined @@ -159,7 +159,7 @@ interface Thenable { ): Thenable; then( ->then : { (onfulfilled?: ((value: T) => TResult | Thenable) | undefined, onrejected?: ((reason: any) => TResult | Thenable) | undefined): Thenable; (onfulfilled?: ((value: T) => TResult | Thenable) | undefined, onrejected?: ((reason: any) => void) | undefined): Thenable; } +>then : { (onfulfilled?: ((value: T) => TResult_1 | Thenable) | undefined, onrejected?: ((reason: any) => TResult_1 | Thenable) | undefined): Thenable; (onfulfilled?: ((value: T) => TResult | Thenable) | undefined, onrejected?: ((reason: any) => void) | undefined): Thenable; } onfulfilled?: (value: T) => TResult | Thenable, >onfulfilled : ((value: T) => TResult | Thenable) | undefined