var __extends = this && this . __extends || function ( e , t ) { function n ( ) { this . constructor = e ; } for ( var r in t ) t . hasOwnProperty ( r ) && ( e [ r ] = t [ r ] ) ; e . prototype = null === t ? Object . create ( t ) : ( n . prototype = t . prototype , new n ) ; } , ts ; ! function ( e ) { ! function ( e ) { e [ e . Unknown = 0 ] = "Unknown" , e [ e . EndOfFileToken = 1 ] = "EndOfFileToken" , e [ e . SingleLineCommentTrivia = 2 ] = "SingleLineCommentTrivia" , e [ e . MultiLineCommentTrivia = 3 ] = "MultiLineCommentTrivia" , e [ e . NewLineTrivia = 4 ] = "NewLineTrivia" , e [ e . WhitespaceTrivia = 5 ] = "WhitespaceTrivia" , e [ e . ShebangTrivia = 6 ] = "ShebangTrivia" , e [ e . ConflictMarkerTrivia = 7 ] = "ConflictMarkerTrivia" , e [ e . NumericLiteral = 8 ] = "NumericLiteral" , e [ e . StringLiteral = 9 ] = "StringLiteral" , e [ e . RegularExpressionLiteral = 10 ] = "RegularExpressionLiteral" , e [ e . NoSubstitutionTemplateLiteral = 11 ] = "NoSubstitutionTemplateLiteral" , e [ e . TemplateHead = 12 ] = "TemplateHead" , e [ e . TemplateMiddle = 13 ] = "TemplateMiddle" , e [ e . TemplateTail = 14 ] = "TemplateTail" , e [ e . OpenBraceToken = 15 ] = "OpenBraceToken" , e [ e . CloseBraceToken = 16 ] = "CloseBraceToken" , e [ e . OpenParenToken = 17 ] = "OpenParenToken" , e [ e . CloseParenToken = 18 ] = "CloseParenToken" , e [ e . OpenBracketToken = 19 ] = "OpenBracketToken" , e [ e . CloseBracketToken = 20 ] = "CloseBracketToken" , e [ e . DotToken = 21 ] = "DotToken" , e [ e . DotDotDotToken = 22 ] = "DotDotDotToken" , e [ e . SemicolonToken = 23 ] = "SemicolonToken" , e [ e . CommaToken = 24 ] = "CommaToken" , e [ e . LessThanToken = 25 ] = "LessThanToken" , e [ e . LessThanSlashToken = 26 ] = "LessThanSlashToken" , e [ e . GreaterThanToken = 27 ] = "GreaterThanToken" , e [ e . LessThanEqualsToken = 28 ] = "LessThanEqualsToken" , e [ e . GreaterThanEqualsToken = 29 ] = "GreaterThanEqualsToken" , e [ e . EqualsEqualsToken = 30 ] = "EqualsEqualsToken" , e [ e . ExclamationEqualsToken = 31 ] = "ExclamationEqualsToken" , e [ e . EqualsEqualsEqualsToken = 32 ] = "EqualsEqualsEqualsToken" , e [ e . ExclamationEqualsEqualsToken = 33 ] = "ExclamationEqualsEqualsToken" , e [ e . EqualsGreaterThanToken = 34 ] = "EqualsGreaterThanToken" , e [ e . PlusToken = 35 ] = "PlusToken" , e [ e . MinusToken = 36 ] = "MinusToken" , e [ e . AsteriskToken = 37 ] = "AsteriskToken" , e [ e . AsteriskAsteriskToken = 38 ] = "AsteriskAsteriskToken" , e [ e . SlashToken = 39 ] = "SlashToken" , e [ e . PercentToken = 40 ] = "PercentToken" , e [ e . PlusPlusToken = 41 ] = "PlusPlusToken" , e [ e . MinusMinusToken = 42 ] = "MinusMinusToken" , e [ e . LessThanLessThanToken = 43 ] = "LessThanLessThanToken" , e [ e . GreaterThanGreaterThanToken = 44 ] = "GreaterThanGreaterThanToken" , e [ e . GreaterThanGreaterThanGreaterThanToken = 45 ] = "GreaterThanGreaterThanGreaterThanToken" , e [ e . AmpersandToken = 46 ] = "AmpersandToken" , e [ e . BarToken = 47 ] = "BarToken" , e [ e . CaretToken = 48 ] = "CaretToken" , e [ e . ExclamationToken = 49 ] = "ExclamationToken" , e [ e . TildeToken = 50 ] = "TildeToken" , e [ e . AmpersandAmpersandToken = 51 ] = "AmpersandAmpersandToken" , e [ e . BarBarToken = 52 ] = "BarBarToken" , e [ e . QuestionToken = 53 ] = "QuestionToken" , e [ e . ColonToken = 54 ] = "ColonToken" , e [ e . AtToken = 55 ] = "AtToken" , e [ e . EqualsToken = 56 ] = "EqualsToken" , e [ e . PlusEqualsToken = 57 ] = "PlusEqualsToken" , e [ e . MinusEqualsToken = 58 ] = "MinusEqualsToken" , e [ e . AsteriskEqualsToken = 59 ] = "AsteriskEqualsToken" , e [ e . AsteriskAsteriskEqualsToken = 60 ] = "AsteriskAsteriskEqualsToken" , e [ e . SlashEqualsToken = 61 ] = "SlashEqualsToken" , e [ e . PercentEqualsToken = 62 ] = "PercentEqualsToken" , e [ e . LessThanLessThanEqualsToken = 63 ] = "LessThanLessThanEqualsToken" , e [ e . GreaterThanGreaterThanEqualsToken = 64 ] = "GreaterThanGreaterThanEqualsToken" , e [ e . GreaterThanGreaterThanGreaterThanEqualsToken = 65 ] = "GreaterThanGreaterThanGreaterThanEqualsToken" , e [ e . AmpersandEqualsToken = 66 ] = "AmpersandEqualsToken" , e [ e . BarEqualsToken = 67 ] = "BarEqualsToken" , e [ e . CaretEqualsToken = 68 ] = "CaretEqualsToken" , e [ e . Identifier = 69 ] = "Identifier" , e [ e . BreakKeyword = 70 ] = "BreakKeyword" , e [ e . CaseKeyword = 71 ] = "CaseKeyword" , e [ e . CatchKeyword = 72 ] = "CatchKeyword" , e [ e . ClassKeyword = 73 ] = "ClassKeyword" , e [ e . ConstKeyword = 74 ] = "ConstKeyword" , e [ e . ContinueKeyword = 75 ] = "ContinueKeyword" , e [ e . DebuggerKeyword = 76 ] = "DebuggerKeyword" , e [ e . DefaultKeyword = 77 ] = "DefaultKeyword" , e [ e . DeleteKeyword = 78 ] = "DeleteKeyword" , e [ e . DoKeyword = 79 ] = "DoKeyword" , e [ e . ElseKeyword = 80 ] = "ElseKeyword" , e [ e . EnumKeyword = 81 ] = "EnumKeyword" , e [ e . ExportKeyword = 82 ] = "ExportKeyword" , e [ e . ExtendsKeyword = 83 ] = "ExtendsKeyword" , e [ e . FalseKeyword = 84 ] = "FalseKeyword" , e [ e . FinallyKeyword = 85 ] = "FinallyKeyword" , e [ e . ForKeyword = 86 ] = "ForKeyword" , e [ e . FunctionKeyword = 87 ] = "FunctionKeyword" , e [ e . IfKeyword = 88 ] = "IfKeyword" , e [ e . ImportKeyword = 89 ] = "ImportKeyword" , e [ e . InKeyword = 90 ] = "InKeyword" , e [ e . InstanceOfKeyword = 91 ] = "InstanceOfKeyword" , e [ e . NewKeyword = 92 ] = "NewKeyword" , e [ e . NullKeyword = 93 ] = "NullKeyword" , e [ e . ReturnKeyword = 94 ] = "ReturnKeyword" , e [ e . SuperKeyword = 95 ] = "SuperKeyword" , e [ e . SwitchKeyword = 96 ] = "SwitchKeyword" , e [ e . ThisKeyword = 97 ] = "ThisKeyword" , e [ e . ThrowKeyword = 98 ] = "ThrowKeyword" , e [ e . TrueKeyword = 99 ] = "TrueKeyword" , e [ e . TryKeyword = 100 ] = "TryKeyword" , e [ e . TypeOfKeyword = 101 ] = "TypeOfKeyword" , e [ e . VarKeyword = 102 ] = "VarKeyword" , e [ e . VoidKeyword = 103 ] = "VoidKeyword" , e [ e . WhileKeyword = 104 ] = "WhileKeyword" , e [ e . WithKeyword = 105 ] = "WithKeyword" , e [ e . ImplementsKeyword = 106 ] = "ImplementsKeyword" , e [ e . InterfaceKeyword = 107 ] = "InterfaceKeyword" , e [ e . LetKeyword = 108 ] = "LetKeyword" , e [ e . PackageKeyword = 109 ] = "PackageKeyword" , e [ e . PrivateKeyword = 110 ] = "PrivateKeyword" , e [ e . ProtectedKeyword = 111 ] = "ProtectedKeyword" , e [ e . PublicKeyword = 112 ] = "PublicKeyword" , e [ e . StaticKeyword = 113 ] = "StaticKeyword" , e [ e . YieldKeyword = 114 ] = "YieldKeyword" , e [ e . AbstractKeyword = 115 ] = "AbstractKeyword" , e [ e . AsKeyword = 116 ] = "AsKeyword" , e [ e . AnyKeyword = 117 ] = "AnyKeyword" , e [ e . AsyncKeyword = 118 ] = "AsyncKeyword" , e [ e . AwaitKeyword = 119 ] = "AwaitKeyword" , e [ e . BooleanKeyword = 120 ] = "BooleanKeyword" , e [ e . ConstructorKeyword = 121 ] = "ConstructorKeyword" , e [ e . DeclareKeyword = 122 ] = "DeclareKeyword" , e [ e . GetKeyword = 123 ] = "GetKeyword" , e [ e . IsKeyword = 124 ] = "IsKeyword" , e [ e . ModuleKeyword = 125 ] = "ModuleKeyword" , e [ e . NamespaceKeyword = 126 ] = "NamespaceKeyword" , e [ e . RequireKeyword = 127 ] = "RequireKeyword" , e [ e . NumberKeyword = 128 ] = "NumberKeyword" , e [ e . SetKeyword = 129 ] = "SetKeyword" , e [ e . StringKeyword = 130 ] = "StringKeyword" , e [ e . SymbolKeyword = 131 ] = "SymbolKeyword" , e [ e . TypeKeyword = 132 ] = "TypeKeyword" , e [ e . FromKeyword = 133 ] = "FromKeyword" , e [ e . GlobalKeyword = 134 ] = "GlobalKeyword" , e [ e . OfKeyword = 135 ] = "OfKeyword" , e [ e . QualifiedName = 136 ] = "QualifiedName" , e [ e . ComputedPropertyName = 137 ] = "ComputedPropertyName" , e [ e . TypeParameter = 138 ] = "TypeParameter" , e [ e . Parameter = 139 ] = "Parameter" , e [ e . Decorator = 140 ] = "Decorator" , e [ e . PropertySignature = 141 ] = "PropertySignature" , e [ e . PropertyDeclaration = 142 ] = "PropertyDeclaration" , e [ e . MethodSignature = 143 ] = "MethodSignature" , e [ e . MethodDeclaration = 144 ] = "MethodDeclaration" , e [ e . Constructor = 145 ] = "Constructor" , e [ e . GetAccessor = 146 ] = "GetAccessor" , e [ e . SetAccessor = 147 ] = "SetAccessor" , e [ e . CallSignature = 148 ] = "CallSignature" , e [ e . ConstructSignature = 149 ] = "ConstructSignature" , e [ e . IndexSignature = 150 ] = "IndexSignature" , e [ e . TypePredicate = 151 ] = "TypePredicate" , e [ e . TypeReference = 152 ] = "TypeReference" , e [ e . FunctionType = 153 ] = "FunctionType" , e [ e . ConstructorType = 154 ] = "ConstructorType" , e [ e . TypeQuery = 155 ] = "TypeQuery" , e [ e . TypeLiteral = 156 ] = "TypeLiteral" , e [ e . ArrayType = 157 ] = "ArrayType" , e [ e . TupleType = 158 ] = "TupleType" , e [ e . UnionType = 159 ] = "UnionType" , e [ e . IntersectionType = 160 ] = "IntersectionType" , e [ e . ParenthesizedType = 161 ] = "ParenthesizedType" , e [ e . ThisType = 162 ] = "ThisType" , e [ e . StringLiteralType = 163 ] = "StringLiteralType" , e [ e . ObjectBindingPattern = 164 ] = "ObjectBindingPattern" , e [ e . ArrayBindingPattern = 165 ] = "ArrayBindingPattern" , e [ e . BindingElement = 166 ] = "BindingElement" , e [ e . ArrayLiteralExpression = 167 ] = "ArrayLiteralExpression" , e [ e . ObjectLiteralExpression = 168 ] = "ObjectLiteralExpression" , e [ e . PropertyAccessExpression = 169 ] = "PropertyAccessExpression" , e [ e . ElementAccessExpression = 170 ] = "ElementAccessExpression" , e [ e . CallExpression = 171 ] = "CallExpression" , e [ e . NewExpression = 172 ] = "NewExpression" , e [ e . TaggedTemplateExpression = 173 ] = "TaggedTemplateExpression" , e [ e . TypeAssertionExpression = 174 ] = "TypeAssertionExpression" , e [ e . ParenthesizedExpression = 175 ] = "ParenthesizedExpression" , e [ e . FunctionExpression = 176 ] = "FunctionExpression" , e [ e . ArrowFunction = 177 ] = "ArrowFunction" , e [ e . DeleteExpression = 178 ] = "DeleteExpression" , e [ e . TypeOfExpression = 179 ] = "TypeOfExpression" , e [ e . VoidExpression = 180 ] = "VoidExpression" , e [ e . AwaitExpression = 181 ] = "AwaitExpression" , e [ e . PrefixUnaryExpression = 182 ] = "PrefixUnaryExpression" , e [ e . PostfixUnaryExpression = 183 ] = "PostfixUnaryExpression" , e [ e . BinaryExpression = 184 ] = "BinaryExpression" , e [ e . ConditionalExpression = 185 ] = "ConditionalExpression" , e [ e . TemplateExpression = 186 ] = "TemplateExpression" , e [ e . YieldExpression = 187 ] = "YieldExpression" , e [ e . SpreadElementExpression = 188 ] = "SpreadElementExpression" , e [ e . ClassExpression = 189 ] = "ClassExpression" , e [ e . OmittedExpression = 190 ] = "OmittedExpression" , e [ e . ExpressionWithTypeArguments = 191 ] = "ExpressionWithTypeArguments" , e [ e . AsExpression = 192 ] = "AsExpression" , e [ e . TemplateSpan = 193 ] = "TemplateSpan" , e [ e . SemicolonClassElement = 194 ] = "SemicolonClassElement" , e [ e . Block = 195 ] = "Block" , e [ e . VariableStatement = 196 ] = "VariableStatement" , e [ e . EmptyStatement = 197 ] = "EmptyStatement" , e [ e . ExpressionStatement = 198 ] = "ExpressionStatement" , e [ e . IfStatement = 199 ] = "IfStatement" , e [ e . DoStatement = 200 ] = "DoStatement" , e [ e . WhileStatement = 201 ] = "WhileStatement" , e [ e . ForStatement = 202 ] = "ForStatement" , e [ e . ForInStatement = 203 ] = "ForInStatement" , e [ e . ForOfStatement = 204 ] = "ForOfStatement" , e [ e . ContinueStatement = 205 ] = "ContinueStatement" , e [ e . BreakStatement = 206 ] = "BreakStatement" , e [ e . ReturnStatement = 207 ] = "ReturnStatement" , e [ e . WithStatement = 208 ] = "WithStatement" , e [ e . SwitchStatement = 209 ] = "SwitchStatement" , e [ e . LabeledStatement = 210 ] = "LabeledStatement" , e [ e . ThrowStatement = 211 ] = "ThrowStatement" , e [ e . TryStatement = 212 ] = "TryStatement" , e [ e . DebuggerStatement = 213 ] = "DebuggerStatement" , e [ e . VariableDeclaration = 214 ] = "VariableDeclaration" , e [ e . VariableDeclarationList = 215 ] = "VariableDeclarationList" , e [ e . FunctionDeclaration = 216 ] = "FunctionDeclaration" , e [ e . ClassDeclaration = 217 ] = "ClassDeclaration" , e [ e . InterfaceDeclaration = 218 ] = "InterfaceDeclaration" , e [ e . TypeAliasDeclaration = 219 ] = "TypeAliasDeclaration" , e [ e . EnumDeclaration = 220 ] = "EnumDeclaration" , e [ e . ModuleDeclaration = 221 ] = "ModuleDeclaration" , e [ e . ModuleBlock = 222 ] = "ModuleBlock" , e [ e . CaseBlock = 223 ] = "CaseBlock" , e [ e . ImportEqualsDeclaration = 224 ] = "ImportEqualsDeclaration" , e [ e . ImportDeclaration = 225 ] = "ImportDeclaration" , e [ e . ImportClause = 226 ] = "ImportClause" , e [ e . NamespaceImport = 227 ] = "NamespaceImport" , e [ e . NamedImports = 228 ] = "NamedImports" , e [ e . ImportSpecifier = 229 ] = "ImportSpecifier" , e [ e . ExportAssignment = 230 ] = "ExportAssignment" , e [ e . ExportDeclaration = 231 ] = "ExportDeclaration" , e [ e . NamedExports = 232 ] = "NamedExports" , e [ e . ExportSpecifier = 233 ] = "ExportSpecifier" , e [ e . MissingDeclaration = 234 ] = "MissingDeclaration" , e [ e . ExternalModuleReference = 235 ] = "ExternalModuleReference" , e [ e . JsxElement = 236 ] = "JsxElement" , e [ e . JsxSelfClosingElement = 237 ] = "JsxSelfClosingElement" , e [ e . JsxOpeningElement = 238 ] = "JsxOpeningElement" , e [ e . JsxText = 239 ] = "JsxText" , e [ e . JsxClosingElement = 240 ] = "JsxClosingElement" , e [ e . JsxAttribute = 241 ] = "JsxAttribute" , e [ e . JsxSpreadAttribute = 242 ] = "JsxSpreadAttribute" , e [ e . JsxExpression = 243 ] = "JsxExpression" , e [ e . CaseClause = 244 ] = "CaseClause" , e [ e . DefaultClause = 245 ] = "DefaultClause" , e [ e . HeritageClause = 246 ] = "HeritageClause" , e [ e . CatchClause = 247 ] = "CatchClause" , e [ e . PropertyAssignment = 248 ] = "PropertyAssignment" , e [ e . ShorthandPropertyAssignment = 249 ] = "ShorthandPropertyAssignment" , e [ e . EnumMember = 250 ] = "EnumMember" , e [ e . SourceFile = 251 ] = "SourceFile" , e [ e . JSDocTypeExpression = 252 ] = "JSDocTypeExpression" , e [ e . JSDocAllType = 253 ] = "JSDocAllType" , e [ e . JSDocUnknownType = 254 ] = "JSDocUnknownType" , e [ e . JSDocArrayType = 255 ] = "JSDocArrayType" , e [ e . JSDocUnionType = 256 ] = "JSDocUnionType" , e [ e . JSDocTupleType = 257 ] = "JSDocTupleType" , e [ e . JSDocNullableType = 258 ] = "JSDocNullableType" , e [ e . JSDocNonNullableType = 259 ] = "JSDocNonNullableType" , e [ e . JSDocRecordType = 260 ] = "JSDocRecordType" , e [ e . JSDocRecordMember = 261 ] = "JSDocRecordMember" , e [ e . JSDocTypeReference = 262 ] = "JSDocTypeReference" , e [ e . JSDocOptionalType = 263 ] = "JSDocOptionalType" , e [ e . JSDocFunctionType = 264 ] = "JSDocFunctionType" , e [ e . JSDocVariadicType = 265 ] = "JSDocVariadicType" , e [ e . JSDocConstructorType = 266 ] = "JSDocConstructorType" , e [ e . JSDocThisType = 267 ] = "JSDocThisType" , e [ e . JSDocComment = 268 ] = "JSDocComment" , e [ e . JSDocTag = 269 ] = "JSDocTag" , e [ e . JSDocParameterTag = 270 ] = "JSDocParameterTag" , e [ e . JSDocReturnTag = 271 ] = "JSDocReturnTag" , e [ e . JSDocTypeTag = 272 ] = "JSDocTypeTag" , e [ e . JSDocTemplateTag = 273 ] = "JSDocTemplateTag" , e [ e . SyntaxList = 274 ] = "SyntaxList" , e [ e . Count = 275 ] = "Count" , e [ e . FirstAssignment = 56 ] = "FirstAssignment" , e [ e . LastAssignment = 68 ] = "LastAssignment" , e [ e . FirstReservedWord = 70 ] = "FirstReservedWord" , e [ e . LastReservedWord = 105 ] = "LastReservedWord" , e [ e . FirstKeyword = 70 ] = "FirstKeyword" , e [ e . LastKeyword = 135 ] = "LastKeyword" , e [ e . FirstFutureReservedWord = 106 ] = "FirstFutureReservedWord" , e [ e . LastFutureReservedWord = 114 ] = "LastFutureReservedWord" , e [ e . FirstTypeNode = 151 ] = "FirstTypeNode" , e [ e . LastTypeNode = 163 ] = "LastTypeNode" , e [ e . FirstPunctuation = 15 ] = "FirstPunctuation" , e [ e . LastPunctuation = 68 ] = "LastPunctuation" , e [ e . FirstToken = 0 ] = "FirstToken" , e [ e . LastToken = 135 ] = "LastToken" , e [ e . FirstTriviaToken = 2 ] = "FirstTriviaToken" , e [ e . LastTriviaToken = 7 ] = "LastTriviaToken" , e [ e . FirstLiteralToken = 8 ] = "FirstLiteralToken" , e [ e . LastLiteralToken = 11 ] = "LastLiteralToken" , e [ e . FirstTemplateToken = 11 ] = "FirstTemplateToken" , e [ e . LastTemplateToken = 14 ] = "LastTemplateToken" , e [ e . FirstBinaryOperator = 25 ] = "FirstBinaryOperator" , e [ e . LastBinaryOperator = 68 ] = "LastBinaryOperator" , e [ e . FirstNode = 136 ] = "FirstNode" ; } ( e . SyntaxKind || ( e . SyntaxKind = { } ) ) ; e . SyntaxKind ; ! function ( e ) { e [ e . None = 0 ] = "None" , e [ e . Export = 2 ] = "Export" , e [ e . Ambient = 4 ] = "Ambient" , e [ e . Public = 8 ] = "Public" , e [ e . Private = 16 ] = "Private" , e [ e . Protected = 32 ] = "Protected" , e [ e . Static = 64 ] = "Static" , e [ e . Abstract = 128 ] = "Abstract" , e [ e . Async = 256 ] = "Async" , e [ e . Default = 512 ] = "Default" , e [ e . MultiLine = 1024 ] = "MultiLine" , e [ e . Synthetic = 2048 ] = "Synthetic" , e [ e . DeclarationFile = 4096 ] = "DeclarationFile" , e [ e . Let = 8192 ] = "Let" , e [ e . Const = 16384 ] = "Const" , e [ e . OctalLiteral = 32768 ] = "OctalLiteral" , e [ e . Namespace = 65536 ] = "Namespace" , e [ e . ExportContext = 131072 ] = "ExportContext" , e [ e . ContainsThis = 262144 ] = "ContainsThis" , e [ e . HasImplicitReturn = 524288 ] = "HasImplicitReturn" , e [ e . HasExplicitReturn = 1048576 ] = "HasExplicitReturn" , e [ e . GlobalAugmentation = 2097152 ] = "GlobalAugmentation" , e [ e . HasClassExtends = 4194304 ] = "HasClassExtends" , e [ e . HasDecorators = 8388608 ] = "HasDecorators" , e [ e . HasParamDecorators = 16777216 ] = "HasParamDecorators" , e [ e . HasAsyncFunctions = 33554432 ] = "HasAsyncFunctions" , e [ e . HasJsxSpreadAttribute = 1073741824 ] = "HasJsxSpreadAttribute" , e [ e . Modifier = 1022 ] = "Modifier" , e [ e . AccessibilityModifier = 56 ] = "AccessibilityModifier" , e [ e . BlockScoped = 24576 ] = "BlockScoped" , e [ e . ReachabilityCheckFlags = 1572864 ] = "ReachabilityCheckFlags" , e [ e . EmitHelperFlags = 62914560 ] = "EmitHelperFlags" ; } ( e . NodeFlags || ( e . NodeFlags = { } ) ) ; e . NodeFlags ; ! function ( e ) { e [ e . None = 0 ] = "None" , e [ e . DisallowIn = 1 ] = "DisallowIn" , e [ e . Yield = 2 ] = "Yield" , e [ e . Decorator = 4 ] = "Decorator" , e [ e . Await = 8 ] = "Await" , e [ e . ThisNodeHasError = 16 ] = "ThisNodeHasError" , e [ e . JavaScriptFile = 32 ] = "JavaScriptFile" , e [ e . ParserGeneratedFlags = 63 ] = "ParserGeneratedFlags" , e [ e . TypeExcludesFlags = 10 ] = "TypeExcludesFlags" , e [ e . ThisNodeOrAnySubNodesHasError = 64 ] = "ThisNodeOrAnySubNodesHasError" , e [ e . HasAggregatedChildData = 128 ] = "HasAggregatedChildData" ; } ( e . ParserContextFlags || ( e . ParserContextFlags = { } ) ) ; e . ParserContextFlags ; ! function ( e ) { e [ e . None = 0 ] = "None" , e [ e . IntrinsicNamedElement = 1 ] = "IntrinsicNamedElement" , e [ e . IntrinsicIndexedElement = 2 ] = "IntrinsicIndexedElement" , e [ e . ValueElement = 4 ] = "ValueElement" , e [ e . UnknownElement = 16 ] = "UnknownElement" , e [ e . IntrinsicElement = 3 ] = "IntrinsicElement" ; } ( e . JsxFlags || ( e . JsxFlags = { } ) ) ; e . JsxFlags ; ! function ( e ) { e [ e . Succeeded = 1 ] = "Succeeded" , e [ e . Failed = 2 ] = "Failed" , e [ e . FailedAndReported = 3 ] = "FailedAndReported" ; } ( e . RelationComparisonResult || ( e . RelationComparisonResult = { } ) ) ; var t = ( e . RelationComparisonResult , function ( ) { function e ( ) { } return e ; } ( ) ) ; e . OperationCanceledException = t , function ( e ) { e [ e . Success = 0 ] = "Success" , e [ e . DiagnosticsPresent_OutputsSkipped = 1 ] = "DiagnosticsPresent_OutputsSkipped" , e [ e . DiagnosticsPresent_OutputsGenerated = 2 ] = "DiagnosticsPresent_OutputsGenerated" ; } ( e . ExitStatus || ( e . ExitStatus = { } ) ) ; e . ExitStatus ; ! function ( e ) { e [ e . None = 0 ] = "None" , e [ e . WriteArrayAsGenericType = 1 ] = "WriteArrayAsGenericType" , e [ e . UseTypeOfFunction = 2 ] = "UseTypeOfFunction" , e [ e . NoTruncation = 4 ] = "NoTruncation" , e [ e . WriteArrowStyleSignature = 8 ] = "WriteArrowStyleSignature" , e [ e . WriteOwnNameForAnyLike = 16 ] = "WriteOwnNameForAnyLike" , e [ e . WriteTypeArgumentsOfSignature = 32 ] = "WriteTypeArgumentsOfSignature" , e [ e . InElementType = 64 ] = "InElementType" , e [ e . UseFullyQualifiedType = 128 ] = "UseFullyQualifiedType" ; } ( e . TypeFormatFlags || ( e . TypeFormatFlags = { } ) ) ; e . TypeFormatFlags ; ! function ( e ) { e [ e . None = 0 ] = "None" , e [ e . WriteTypeParametersOrArguments = 1 ] = "WriteTypeParametersOrArguments" , e [ e . UseOnlyExternalAliasing = 2 ] = "UseOnlyExternalAliasing" ; } ( e . SymbolFormatFlags || ( e . SymbolFormatFlags = { } ) ) ; e . SymbolFormatFlags ; ! function ( e ) { e [ e . Accessible = 0 ] = "Accessible" , e [ e . NotAccessible = 1 ] = "NotAccessible" , e [ e . CannotBeNamed = 2 ] = "CannotBeNamed" ; } ( e . SymbolAccessibility || ( e . SymbolAccessibility = { } ) ) ; e . SymbolAccessibility ; ! function ( e ) { e [ e . This = 0 ] = "This" , e [ e . Identifier = 1 ] = "Identifier" ; } ( e . TypePredicateKind || ( e . TypePredicateKind = { } ) ) ; e . TypePredicateKind ; ! function ( e ) { e [ e . Unknown = 0 ] = "Unknown" , e [ e . TypeWithConstructSignatureAndValue = 1 ] = "TypeWithConstructSignatureAndValue" , e [ e . VoidType = 2 ] = "VoidType" , e [ e . NumberLikeType = 3 ] = "NumberLikeType" , e [ e . StringLikeType = 4 ] = "StringLikeType" , e [ e . BooleanType = 5 ] = "BooleanType" , e [ e . ArrayLikeType = 6 ] = "ArrayLikeType" , e [ e . ESSymbolType = 7 ] = "ESSymbolType" , e [ e . TypeWithCallSignature = 8 ] = "TypeWithCallSignature" , e [ e . ObjectType = 9 ] = "ObjectType" ; } ( e . TypeReferenceSerializationKind || ( e . TypeReferenceSerializationKind = { } ) ) ; e . TypeReferenceSerializationKind ; ! function ( e ) { e [ e . None = 0 ] = "None" , e [ e . FunctionScopedVariable = 1 ] = "FunctionScopedVariable" , e [ e . BlockScopedVariable = 2 ] = "BlockScopedVariable" , e [ e . Property = 4 ] = "Property" , e [ e . EnumMember = 8 ] = "EnumMember" , e [ e . Function = 16 ] = "Function" , e [ e . Class = 32 ] = "Class" , e [ e . Interface = 64 ] = "Interface" , e [ e . ConstEnum = 128 ] = "ConstEnum" , e [ e . RegularEnum = 256 ] = "RegularEnum" , e [ e . ValueModule = 512 ] = "ValueModule" , e [ e . NamespaceModule = 1024 ] = "NamespaceModule" , e [ e . TypeLiteral = 2048 ] = "TypeLiteral" , e [ e . ObjectLiteral = 4096 ] = "ObjectLiteral" , e [ e . Method = 8192 ] = "Method" , e [ e . Constructor = 16384 ] = "Constructor" , e [ e . GetAccessor = 32768 ] = "GetAccessor" , e [ e . SetAccessor = 65536 ] = "SetAccessor" , e [ e . Signature = 131072 ] = "Signature" , e [ e . TypeParameter = 262144 ] = "TypeParameter" , e [ e . TypeAlias = 524288 ] = "TypeAlias" , e [ e . ExportValue = 1048576 ] = "ExportValue" , e [ e . ExportType = 2097152 ] = "ExportType" , e [ e . ExportNamespace = 4194304 ] = "ExportNamespace" , e [ e . Alias = 8388608 ] = "Alias" , e [ e . Instantiated = 16777216 ] = "Instantiated" , e [ e . Merged = 33554432 ] = "Merged" , e [ e . Transient = 67108864 ] = "Transient" , e [ e . Prototype = 134217728 ] = "Prototype" , e [ e . SyntheticProperty = 268435456 ] = "SyntheticProperty" , e [ e . Optional = 536870912 ] = "Optional" , e [ e . ExportStar = 1073741824 ] = "ExportStar" , e [ e . Enum = 384 ] = "Enum" , e [ e . Variable = 3 ] = "Variable" , e [ e . Value = 107455 ] = "Value" , e [ e . Type = 793056 ] = "Type" , e [ e . Namespace = 1536 ] = "Namespace" , e [ e . Module = 1536 ] = "Module" , e [ e . Accessor = 98304 ] = "Accessor" , e [ e . FunctionScopedVariableExcludes = 107454 ] = "FunctionScopedVariableExcludes" , e [ e . BlockScopedVariableExcludes = 107455 ] = "BlockScopedVariableExcludes" , e [ e . ParameterExcludes = 107455 ] = "ParameterExcludes" , e [ e . PropertyExcludes = 107455 ] = "PropertyExcludes" , e [ e . EnumMemberExcludes = 107455 ] = "EnumMemberExcludes" , e [ e . FunctionExcludes = 106927 ] = "FunctionExcludes" , e [ e . ClassExcludes = 899519 ] = "ClassExcludes" , e [ e . InterfaceExcludes = 792960 ] = "InterfaceExcludes" , e [ e . RegularEnumExcludes = 899327 ] = "RegularEnumExcludes" , e [ e . ConstEnumExcludes = 899967 ] = "ConstEnumExcludes" , e [ e . ValueModuleExcludes = 106639 ] = "ValueModuleExcludes" , e [ e . NamespaceModuleExcludes = 0 ] = "NamespaceModuleExcludes" , e [ e . MethodExcludes = 99263 ] = "MethodExcludes" , e [ e . GetAccessorExcludes = 41919 ] = "GetAccessorExcludes" , e [ e . SetAccessorExcludes = 74687 ] = "SetAccessorExcludes" , e [ e . TypeParameterExcludes = 530912 ] = "TypeParameterExcludes" , e [ e . TypeAliasExcludes = 793056 ] = "TypeAliasExcludes" , e [ e . AliasExcludes = 8388608 ] = "AliasExcludes" , e [ e . ModuleMember = 8914931 ] = "ModuleMember" , e [ e . ExportHasLocal = 944 ] = "ExportHasLocal" , e [ e . HasExports = 1952 ] = "HasExports" , e [ e . HasMembers = 6240 ] = "HasMembers" , e [ e . BlockScoped = 418 ] = "BlockScoped" , e [ e . PropertyOrAccessor = 98308 ] = "PropertyOrAccessor" , e [ e . Export = 7340032 ] = "Export" , e [ e . Classifiable = 788448 ] = "Classifiable" ; } ( e . SymbolFlags || ( e . SymbolFlags = { } ) ) ; e . SymbolFlags ; ! function ( e ) { e [ e . TypeChecked = 1 ] = "TypeChecked" , e [ e . LexicalThis = 2 ] = "LexicalThis" , e [ e . CaptureThis = 4 ] = "CaptureThis" , e [ e . SuperInstance = 256 ] = "SuperInstance" , e [ e . SuperStatic = 512 ] = "SuperStatic" , e [ e . ContextChecked = 1024 ] = "ContextChecked" , e [ e . AsyncMethodWithSuper = 2048 ] = "AsyncMethodWithSuper" , e [ e . AsyncMethodWithSuperBinding = 4096 ] = "AsyncMethodWithSuperBinding" , e [ e . CaptureArguments = 8192 ] = "CaptureArguments" , e [ e . EnumValuesComputed = 16384 ] = "EnumValuesComputed" , e [ e . LexicalModuleMergesWithClass = 32768 ] = "LexicalModuleMergesWithClass" , e [ e . LoopWithCapturedBlockScopedBinding = 65536 ] = "LoopWithCapturedBlockScopedBinding" , e [ e . CapturedBlockScopedBinding = 131072 ] = "CapturedBlockScopedBinding" , e [ e . BlockScopedBindingInLoop = 262144 ] = "BlockScopedBindingInLoop" , e [ e . ClassWithBodyScopedClassBinding = 524288 ] = "ClassWithBodyScopedClassBinding" , e [ e . BodyScopedClassBinding = 1048576 ] = "BodyScopedClassBinding" , e [ e . NeedsLoopOutParameter = 2097152 ] = "NeedsLoopOutParameter" ; } ( e . NodeCheckFlags || ( e . NodeCheckFlags = { } ) ) ; e . NodeCheckFlags ; ! function ( e ) { e [ e . Any = 1 ] = "Any" , e [ e . String = 2 ] = "String" , e [ e . Number = 4 ] = "Number" , e [ e . Boolean = 8 ] = "Boolean" , e [ e . Void = 16 ] = "Void" , e [ e . Undefined = 32 ] = "Undefined" , e [ e . Null = 64 ] = "Null" , e [ e . Enum = 128 ] = "Enum" , e [ e . StringLiteral = 256 ] = "StringLiteral" , e [ e . TypeParameter = 512 ] = "TypeParameter" , e [ e . Class = 1024 ] = "Class" , e [ e . Interface = 2048 ] = "Interface" , e [ e . Reference = 4096 ] = "Reference" , e [ e . Tuple = 8192 ] = "Tuple" , e [ e . Union = 16384 ] = "Union" , e [ e . Intersection = 32768 ] = "Intersection" , e [ e . Anonymous = 65536 ] = "Anonymous" , e [ e . Instantiated = 131072 ] = "Instantiated" , e [ e . FromSignature = 262144 ] = "FromSignature" , e [ e . ObjectLiteral = 524288 ] = "ObjectLiteral" , e [ e . FreshObjectLiteral = 1048576 ] = "FreshObjectLiteral" , e [ e . ContainsUndefinedOrNull = 2097152 ] = "ContainsUndefinedOrNull" , e [ e . ContainsObjectLiteral = 4194304 ] = "ContainsObjectLiteral" , e [ e . ContainsAnyFunctionType = 8388608 ] = "ContainsAnyFunctionType" , e [ e . ESSymbol = 16777216 ] = "ESSymbol" , e [ e . ThisType = 33554432 ] = "ThisType" , e [ e . ObjectLiteralPatternWithComputedProperties = 67108864 ] = "ObjectLiteralPatternWithComputedProperties" , e [ e . Intrinsic = 16777343 ] = "Intrinsic" , e [ e . Primitive = 16777726 ] = "Primitive" , e [ e . StringLike = 258 ] = "StringLike" , e [ e . NumberLike = 132 ] = "NumberLike" , e [ e . ObjectType = 80896 ] = "ObjectType" , e [ e . UnionOrIntersection = 49152 ] = "UnionOrIntersection" , e [ e . StructuredType = 130048 ] = "StructuredType" , e [ e . RequiresWidening = 6291456 ] = "RequiresWidening" , e [ e . PropagatingFlags = 14680064 ] = "PropagatingFlags" ; } ( e . TypeFlags || ( e . TypeFlags = { } ) ) ; e . TypeFlags ; ! function ( e ) { e [ e . Call = 0 ] = "Call" , e [ e . Construct = 1 ] = "Construct" ; } ( e . SignatureKind || ( e . SignatureKind = { } ) ) ; e . SignatureKind ; ! function ( e ) { e [ e . String = 0 ] = "String" , e [ e . Number = 1 ] = "Number" ; } ( e . IndexKind || ( e . IndexKind = { } ) ) ; e . IndexKind ; ! function ( e ) { e [ e . None = 0 ] = "None" , e [ e . ExportsProperty = 1 ] = "ExportsProperty" , e [ e . ModuleExports = 2 ] = "ModuleExports" , e [ e . PrototypeProperty = 3 ] = "PrototypeProperty" , e [ e . ThisProperty = 4 ] = "ThisProperty" ; } ( e . SpecialPropertyAssignmentKind || ( e . SpecialPropertyAssignmentKind = { } ) ) ; e . SpecialPropertyAssignmentKind ; ! function ( e ) { e [ e . Warning = 0 ] = "Warning" , e [ e . Error = 1 ] = "Error" , e [ e . Message = 2 ] = "Message" ; } ( e . DiagnosticCategory || ( e . DiagnosticCategory = { } ) ) ; e . DiagnosticCategory ; ! function ( e ) { e [ e . Classic = 1 ] = "Classic" , e [ e . NodeJs = 2 ] = "NodeJs" ; } ( e . ModuleResolutionKind || ( e . ModuleResolutionKind = { } ) ) ; e . ModuleResolutionKind ; ! function ( e ) { e [ e . None = 0 ] = "None" , e [ e . CommonJS = 1 ] = "CommonJS" , e [ e . AMD = 2 ] = "AMD" , e [ e . UMD = 3 ] = "UMD" , e [ e . System = 4 ] = "System" , e [ e . ES6 = 5 ] = "ES6" , e [ e . ES2015 = 5 ] = "ES2015" ; } ( e . ModuleKind || ( e . ModuleKind = { } ) ) ; e . ModuleKind ; ! function ( e ) { e [ e . None = 0 ] = "None" , e [ e . Preserve = 1 ] = "Preserve" , e [ e . React = 2 ] = "React" ; } ( e . JsxEmit || ( e . JsxEmit = { } ) ) ; e . JsxEmit ; ! function ( e ) { e [ e . CarriageReturnLineFeed = 0 ] = "CarriageReturnLineFeed" , e [ e . LineFeed = 1 ] = "LineFeed" ; } ( e . NewLineKind || ( e . NewLineKind = { } ) ) ; e . NewLineKind ; ! function ( e ) { e [ e . Unknown = 0 ] = "Unknown" , e [ e . JS = 1 ] = "JS" , e [ e . JSX = 2 ] = "JSX" , e [ e . TS = 3 ] = "TS" , e [ e . TSX = 4 ] = "TSX" ; } ( e . ScriptKind || ( e . ScriptKind = { } ) ) ; e . ScriptKind ; ! function ( e ) { e [ e . ES3 = 0 ] = "ES3" , e [ e . ES5 = 1 ] = "ES5" , e [ e . ES6 = 2 ] = "ES6" , e [ e . ES2015 = 2 ] = "ES2015" , e [ e . Latest = 2 ] = "Latest" ; } ( e . ScriptTarget || ( e . ScriptTarget = { } ) ) ; e . ScriptTarget ; ! function ( e ) { e [ e . Standard = 0 ] = "Standard" , e [ e . JSX = 1 ] = "JSX" ; } ( e . LanguageVariant || ( e . LanguageVariant = { } ) ) ; e . LanguageVariant ; ! function ( e ) { e [ e . Simple = 0 ] = "Simple" , e [ e . Pretty = 1 ] = "Pretty" ; } ( e . DiagnosticStyle || ( e . DiagnosticStyle = { } ) ) ; e . DiagnosticStyle ; ! function ( e ) { e [ e . nullCharacter = 0 ] = "nullCharacter" , e [ e . maxAsciiCharacter = 127 ] = "maxAsciiCharacter" , e [ e . lineFeed = 10 ] = "lineFeed" , e [ e . carriageReturn = 13 ] = "carriageReturn" , e [ e . lineSeparator = 8232 ] = "lineSeparator" , e [ e . paragraphSeparator = 8233 ] = "paragraphSeparator" , e [ e . nextLine = 133 ] = "nextLine" , e [ e . space = 32 ] = "space" , e [ e . nonBreakingSpace = 160 ] = "nonBreakingSpace" , e [ e . enQuad = 8192 ] = "enQuad" , e [ e . emQuad = 8193 ] = "emQuad" , e [ e . enSpace = 8194 ] = "enSpace" , e [ e . emSpace = 8195 ] = "emSpace" , e [ e . threePerEmSpace = 8196 ] = "threePerEmSpace" , e [ e . fourPerEmSpace = 8197 ] = "fourPerEmSpace" , e [ e . sixPerEmSpace = 8198 ] = "sixPerEmSpace" , e [ e . figureSpace = 8199 ] = "figureSpace" , e [ e . punctuationSpace = 8200 ] = "punctuationSpace" , e [ e . thinSpace = 8201 ] = "thinSpace" , e [ e . hairSpace = 8202 ] = "hairSpace" , e [ e . zeroWidthSpace = 8203 ] = "zeroWidthSpace" , e [ e . narrowNoBreakSpace = 8239 ] = "narrowNoBreakSpace" , e [ e . ideographicSpace = 12288 ] = "ideographicSpace" , e [ e . mathematicalSpace = 8287 ] = "mathematicalSpace" , e [ e . ogham = 5760 ] = "ogham" , e [ e . _ = 95 ] = "_" , e [ e . $ = 36 ] = "$" , e [ e . _0 = 48 ] = "_0" , e [ e . _1 = 49 ] = "_1" , e [ e . _2 = 50 ] = "_2" , e [ e . _3 = 51 ] = "_3" , e [ e . _4 = 52 ] = "_4" , e [ e . _5 = 53 ] = "_5" , e [ e . _6 = 54 ] = "_6" , e [ e . _7 = 55 ] = "_7" , e [ e . _8 = 56 ] = "_8" , e [ e . _9 = 57 ] = "_9" , e [ e . a = 97 ] = "a" , e [ e . b = 98 ] = "b" , e [ e . c = 99 ] = "c" , e [ e . d = 100 ] = "d" , e [ e . e = 101 ] = "e" , e [ e . f = 102 ] = "f" , e [ e . g = 103 ] = "g" , e [ e . h = 104 ] = "h" , e [ e . i = 105 ] = "i" , e [ e . j = 106 ] = "j" , e [ e . k = 107 ] = "k" , e [ e . l = 108 ] = "l" , e [ e . m = 109 ] = "m" , e [ e . n = 110 ] = "n" , e [ e . o = 111 ] = "o" , e [ e . p = 112 ] = "p" , e [ e . q = 113 ] = "q" , e [ e . r = 114 ] = "r" , e [ e . s = 115 ] = "s" , e [ e . t = 116 ] = "t" , e [ e . u = 117 ] = "u" , e [ e . v = 118 ] = "v" , e [ e . w = 119 ] = "w" , e [ e . x = 120 ] = "x" , e [ e . y = 121 ] = "y" , e [ e . z = 122 ] = "z" , e [ e . A = 65 ] = "A" , e [ e . B = 66 ] = "B" , e [ e . C = 67 ] = "C" , e [ e . D = 68 ] = "D" , e [ e . E = 69 ] = "E" , e [ e . F = 70 ] = "F" , e [ e . G = 71 ] = "G" , e [ e . H = 72 ] = "H" , e [ e . I = 73 ] = "I" , e [ e . J = 74 ] = "J" , e [ e . K = 75 ] = "K" , e [ e . L = 76 ] = "L" , e [ e . M = 77 ] = "M" , e [ e . N = 78 ] = "N" , e [ e . O = 79 ] = "O" , e [ e . P = 80 ] = "P" , e [ e . Q = 81 ] = "Q" , e [ e . R = 82 ] = "R" , e [ e . S = 83 ] = "S" , e [ e . T = 84 ] = "T" , e [ e . U = 85 ] = "U" , e [ e . V = 86 ] = "V" , e [ e . W = 87 ] = "W" , e [ e . X = 88 ] = "X" , e [ e . Y = 89 ] = "Y" , e [ e . Z = 90 ] = "Z" , e [ e . ampersand = 38 ] = "ampersand" , e [ e . asterisk = 42 ] = "asterisk" , e [ e . at = 64 ] = "at" , e [ e . backslash = 92 ] = "backslash" , e [ e . backtick = 96 ] = "backtick" , e [ e . bar = 124 ] = "bar" , e [ e . caret = 94 ] = "caret" , e [ e . closeBrace = 125 ] = "closeBrace" , e [ e . closeBracket = 93 ] = "closeBracket" , e [ e . closeParen = 41 ] = "closeParen" , e [ e . colon = 58 ] = "colon" , e [ e . comma = 44 ] = "comma" , e [ e . dot = 46 ] = "dot" , e [ e . doubleQuote = 34 ] = "doubleQuote" , e [ e . equals = 61 ] = "equals" , e [ e . exclamation = 33 ] = "exclamation" , e [ e . greaterThan = 62 ] = "greaterThan" , e [ e . hash = 35 ] = "hash" , e [ e . lessThan = 60 ] = "lessThan" , e [ e . minus = 45 ] = "minus" , e [ e . openBrace = 123 ] = "openBrace" , e [ e . openBracket = 91 ] = "openBracket" , e [ e . openParen = 40 ] = "openParen" , e [ e . percent = 37 ] = "percent" , e [ e . plus = 43 ] = "plus" , e [ e . question = 63 ] = "question" , e [ e . semicolon = 59 ] = "semicolon" , e [ e . singleQuote = 39 ] = "singleQuote" , e [ e . slash = 47 ] = "slash" , e [ e . tilde = 126 ] = "tilde" , e [ e . backspace = 8 ] = "backspace" , e [ e . formFeed = 12 ] = "formFeed" , e [ e . byteOrderMark = 65279 ] = "byteOrderMark" , e [ e . tab = 9 ] = "tab" , e [ e . verticalTab = 11 ] = "verticalTab" ; } ( e . CharacterCodes || ( e . CharacterCodes = { } ) ) ; e . CharacterCodes ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { function t ( e ) { function t ( e ) { for ( var t in c ) e ( t , c [ t ] ) ; } function n ( e ) { return c [ s ( e ) ] ; } function r ( e , t ) { c [ s ( e ) ] = t ; } function a ( e ) { return h ( c , s ( e ) ) ; } function i ( e ) { var t = s ( e ) ; delete c [ t ] ; } function o ( ) { c = { } ; } function s ( t ) { return e ? e ( t ) : t ; } var c = { } ; return { get : n , set : r , contains : a , remove : i , forEachValue : t , clear : o } ; } function n ( e , t , n ) { var r = Q ( e ) ? H ( e ) : Z ( e , t ) ; return n ( r ) ; } function r ( e , t ) { if ( e ) for ( var n = 0 , r = e . length ; r > n ; n ++ ) { var a = t ( e [ n ] , n ) ; if ( a ) return a ; } } function a ( e , t ) { if ( e ) for ( var n = 0 , r = e ; n < r . length ; n ++ ) { var a = r [ n ] ; if ( a === t ) return ! 0 ; } return ! 1 ; } function i ( e , t ) { if ( e ) for ( var n = 0 , r = e . length ; r > n ; n ++ ) if ( e [ n ] === t ) return n ; return - 1 ; } function o ( e , t ) { var n = 0 ; if ( e ) for ( var r = 0 , a = e ; r < a . length ; r ++ ) { var i = a [ r ] ; t ( i ) && n ++ ; } return n ; } function s ( e , t ) { var n ; if ( e ) { n = [ ] ; for ( var r = 0 , a = e ; r < a . length ; r ++ ) { var i = a [ r ] ; t ( i ) && n . push ( i ) ; } } return n ; } function c ( e , t ) { var n ; if ( e ) { n = [ ] ; for ( var r = 0 , a = e ; r < a . length ; r ++ ) { var i = a [ r ] ; n . push ( t ( i ) ) ; } } return n ; } function _ ( e , t ) { return t && t . length ? e && e . length ? e . concat ( t ) : t : e ; } function u ( e ) { var t ; if ( e ) { t = [ ] ; for ( var n = 0 , r = e ; n < r . length ; n ++ ) { var i = r [ n ] ; a ( t , i ) || t . push ( i ) ; } } return t ; } function l ( e , t ) { for ( var n = 0 , r = 0 , a = e ; r < a . length ; r ++ ) { var i = a [ r ] ; n += i [ t ] ; } return n ; } function d ( e , t ) { if ( e && t ) for ( var n = 0 , r = t ; n < r . length ; n ++ ) { var a = r [ n ] ; e . push ( a ) ; } } function p ( e , t , n , r ) { for ( ; r > n ; ) { if ( e [ n ] !== t [ n ] ) return ! 1 ; n ++ ; } return ! 0 ; } function f ( e ) { return 0 !== e . length ? e [ e . length - 1 ] : void 0 ; } function m ( e , t ) { for ( var n = 0 , r = e . length - 1 ; r >= n ; ) { var a = n + ( r - n >> 1 ) , i = e [ a ] ; if ( i === t ) return a ; i > t ? r = a - 1 : n = a + 1 ; } return ~ n ; } function g ( e , t , n ) { if ( e ) { var r = e . length ; if ( r > 0 ) { var a = 0 , i = arguments . length <= 2 ? e [ a ] : n ; for ( a ++ ; r > a ; ) i = t ( i , e [ a ] ) , a ++ ; return i ; } } return n ; } function y ( e , t , n ) { if ( e ) { var r = e . length - 1 ; if ( r >= 0 ) { var a = arguments . length <= 2 ? e [ r ] : n ; for ( r -- ; r >= 0 ; ) a = t ( a , e [ r ] ) , r -- ; return a ; } } return n ; } function h ( e , t ) { return he . call ( e , t ) ; } function v ( e ) { var t = [ ] ; for ( var n in e ) t . push ( n ) ; return t ; } function k ( e , t ) { return he . call ( e , t ) ? e [ t ] : void 0 ; } function b ( e ) { for ( var t in e ) if ( h ( e , t ) ) return ! 1 ; return ! 0 ; } function x ( e ) { var t = { } ; for ( var n in e ) t [ n ] = e [ n ] ; return t ; } function C ( e , t ) { var n = { } ; for ( var r in e ) n [ r ] = e [ r ] ; for ( var r in t ) h ( n , r ) || ( n [ r ] = t [ r ] ) ; return n ; } function D ( e , t ) { var n ; for ( var r in e ) if ( n = t ( e [ r ] ) ) break ; return n ; } function S ( e , t ) { var n ; for ( var r in e ) if ( n = t ( r ) ) break ; return n ; } function T ( e , t ) { return h ( e , t ) ? e [ t ] : void 0 ; } function E ( e , t ) { for ( var n in e ) t [ n ] = e [ n ] ; } function w ( e , t ) { var n = { } ; return r ( e , function ( e ) { n [ t ( e ) ] = e ; } ) , n ; } function A ( e , t , n ) { var r = n ; if ( e ) for ( var a in e ) h ( e , a ) && ( r = t ( r , e [ a ] , String ( a ) ) ) ; return r ; } function P ( e ) { return Array . isArray ? Array . isArray ( e ) : e instanceof Array ; } function N ( e ) { var t ; return function ( ) { return e && ( t = e ( ) , e = void 0 ) , t ; } ; } function O ( e , t , n ) { return n = n || 0 , e . replace ( /{(\d+)}/g , function ( e , r ) { return t [ + r + n ] ; } ) ; } function R ( t ) { return e . localizedDiagnosticMessages && e . localizedDiagnosticMessages [ t . key ] ? e . localizedDiagnosticMessages [ t . key ] : t . message ; } function I ( e , t , n , r ) { var a = t + n ; be . assert ( t >= 0 , "start must be non-negative, is " + t ) , be . assert ( n >= 0 , "length must be non-negative, is " + n ) , e && ( be . assert ( t <= e . text . length , "start must be within the bounds of the file. " + t + " > " + e . text . length ) , be . assert ( a <= e . text . length , "end must be the bounds of the file. " + a + " > " + e . text . length ) ) ; var i = R ( r ) ; return arguments . length > 4 && ( i = O ( i , arguments , 4 ) ) , { file : e , start : t , length : n , messageText : i , category : r . category , code : r . code } ; } function F ( e ) { var t = R ( e ) ; return arguments . length > 1 && ( t = O ( t , arguments , 1 ) ) , { file : void 0 , start : void 0 , length : void 0 , messageText : t , category : e . category , code : e . code } ; } function L ( e , t ) { var n = R ( t ) ; return arguments . length > 2 && ( n = O ( n , arguments , 2 ) ) , { messageText : n , category : t . category , code : t . code , next : e } ; } function M ( e , t ) { for ( var n = e ; n . next ; ) n = n . next ; return n . next = t , e ; } function B ( e , t ) { return e === t ? 0 : void 0 === e ? - 1 : void 0 === t ? 1 : t > e ? - 1 : 1 ; } function z ( e ) { return e . file ? e . file . fileName : void 0 ; } function K ( e , t ) { return B ( z ( e ) , z ( t ) ) || B ( e . start , t . start ) || B ( e . length , t . length ) || B ( e . code , t . code ) || j ( e . messageText , t . messageText ) || 0 ; } function j ( e , t ) { for ( ; e && t ; ) { var n = "string" == typeof e ? e : e . messageText , r = "string" == typeof t ? t : t . messageText , a = B ( n , r ) ; if ( a ) return a ; e = "string" == typeof e ? void 0 : e . next , t = "string" == typeof t ? void 0 : t . next ; } return e || t ? e ? 1 : - 1 : 0 ; } function J ( e ) { return U ( e . sort ( K ) ) ; } function U ( e ) { if ( e . length < 2 ) return e ; for ( var t = [ e [ 0 ] ] , n = e [ 0 ] , r = 1 ; r < e . length ; r ++ ) { var a = e [ r ] , i = 0 === K ( a , n ) ; i || ( t . push ( a ) , n = a ) ; } return t ; } function q ( e ) { return e . replace ( /\\/g , "/" ) ; } function W ( e ) { if ( 47 === e . charCodeAt ( 0 ) ) { if ( 47 !== e . charCodeAt ( 1 ) ) return 1 ; var t = e . indexOf ( "/" , 2 ) ; if ( 0 > t ) return 2 ; var n = e . indexOf ( "/" , t + 1 ) ; return 0 > n ? t + 1 : n + 1 ; } if ( 58 === e . charCodeAt ( 1 ) ) return 47 === e . charCodeAt ( 2 ) ? 3 : 2 ; if ( 0 === e . lastIndexOf ( "file:///" , 0 ) ) return "file:///" . length ; var r = e . indexOf ( "://" ) ; return - 1 !== r ? r + "://" . length : 0 ; } function V ( t , n ) { for ( var r = t . substr ( n ) . split ( e . directorySeparator ) , a = [ ] , i = 0 , o = r ; i < o . length ; i ++ ) { var s = o [ i ] ; "." !== s && ( ".." === s && a . length > 0 && ".." !== f ( a ) ? a . pop ( ) : s && a . push ( s ) ) ; } return a ; } function H ( t ) { t = q ( t ) ; var n = W ( t ) , r = V ( t , n ) ; return t . substr ( 0 , n ) + r . join ( e . directorySeparator ) ; } function G ( t ) { return t . substr ( 0 , Math . max ( W ( t ) , t . lastIndexOf ( e . directorySeparator ) ) ) ; } function X ( e ) { return e && ! Q ( e ) && - 1 !== e . indexOf ( "://" ) ; } function Q ( e ) { return 0 !== W ( e ) ; } function Y ( e , t ) { var n = V ( e , t ) ; return [ e . substr ( 0 , t ) ] . concat ( n ) ; } function $ ( e , t ) { e = q ( e ) ; var n = W ( e ) ; return 0 === n && ( e = ie ( q ( t ) , e ) , n = W ( e ) ) , Y ( e , n ) ; } function Z ( e , t ) { return ee ( $ ( e , t ) ) ; } function ee ( t ) { return t && t . length ? t [ 0 ] + t . slice ( 1 ) . join ( e . directorySeparator ) : void 0 ; } function te ( t ) { for ( var n = t . length , r = t . indexOf ( "://" ) + "://" . length ; n > r && 47 === t . charCodeAt ( r ) ; ) r ++ ; if ( r === n ) return [ t ] ; var a = t . indexOf ( e . directorySeparator , r ) ; return - 1 !== a ? ( r = a + 1 , Y ( t , r ) ) : [ t + e . directorySeparator ] ; } function ne ( e , t ) { return X ( e ) ? te ( e ) : $ ( e , t ) ; } function re ( t , n , r , a , i ) { var o = ne ( n , r ) , s = ne ( t , r ) ; s . length > 1 && "" === f ( s ) && s . length -- ; var c ; for ( c = 0 ; c < o . length && c < s . length && a ( s [ c ] ) === a ( o [ c ] ) ; c ++ ) ; if ( c ) { for ( var _ = "" , u = o . slice ( c , o . length ) ; c < s . length ; c ++ ) "" !== s [ c ] && ( _ = _ + ".." + e . directorySeparator ) ; return _ + u . join ( e . directorySeparator ) ; } var l = ee ( o ) ; return i && Q ( l ) && ( l = "file:///" + l ) , l ; } function ae ( t ) { if ( void 0 !== t ) { var n = t . lastIndexOf ( e . directorySeparator ) ; return 0 > n ? t : t . substring ( n + 1 ) ; } } function ie ( t , n ) { return t && t . length ? n && n . length ? 0 !== W ( n ) ? n : t . charAt ( t . length - 1 ) === e . directorySeparator ? t + n : t + e . directorySeparator + n : t : n ; } function oe ( e , t ) { var n = e . length , r = t . length ; return n > r && e . substr ( n - r , r ) === t ; } function se ( e , t ) { return t || ce ( e ) || 3 ; } function ce ( e ) { var t = e . substr ( e . lastIndexOf ( "." ) ) ; switch ( t . toLowerCase ( ) ) { case ".js" : return 1 ; case ".jsx" : return 2 ; case ".ts" : return 3 ; case ".tsx" : return 4 ; default : return 0 ; } } function _e ( t ) { return t && t . allowJs ? ve : e . supportedTypeScriptExtensions ; } function ue ( e , t ) { if ( ! e ) return ! 1 ; for ( var n = 0 , r = _e ( t ) ; n < r . length ; n ++ ) { var a = r [ n ] ; if ( oe ( e , a ) ) return ! 0 ; } return ! 1 ; } function le ( e ) { for ( var t = 0 , n = ke ; t < n . length ; t ++ ) { var r = n [ t ] ; if ( oe ( e , r ) ) return e . substr ( 0 , e . length - r . length ) ; } return e ; } function de ( e , t ) { this . flags = e , this . name = t , this . declarations = void 0 ; } function pe ( e , t ) { this . flags = t ; } function fe ( e ) { } function me ( e , t , n ) { this . kind = e , this . pos = t , this . end = n , this . flags = 0 , this . parent = void 0 ; } function ge ( e , t ) { for ( var n = [ ] , r = 0 , a = t ; r < a . length ; r ++ ) { var i = a [ r ] ; i !== e && n . push ( i ) ; } return n ; } function ye ( e ) { return e ? function ( e ) { return e ; } : function ( e ) { return e . toLowerCase ( ) ; } ; } ! function ( e ) { e [ e . False = 0 ] = "False" , e [ e . Maybe = 1 ] = "Maybe" , e [ e . True = - 1 ] = "True" ; } ( e . Ternary || ( e . Ternary = { } ) ) ; e . Ternary ; e . createFileMap = t , e . toPath = n , function ( e ) { e [ e . LessThan = - 1 ] = "LessThan" , e [ e . EqualTo = 0 ] = "EqualTo" , e [ e . GreaterThan = 1 ] = "GreaterThan" ; } ( e . Comparison || ( e . Comparison = { } ) ) ; e . Comparison ; e . forEach = r , e . contains = a , e . indexOf = i , e . countWhere = o , e . filter = s , e . map = c , e . concatenate = _ , e . deduplicate = u , e . sum = l , e . addRange = d , e . rangeEquals = p , e . lastOrUndefined = f , e . binarySearch = m , e . reduceLeft = g , e . reduceRight = y ; var he = Object . prototype . hasOwnProperty ; e . hasProperty = h , e . getKeys = v , e . getProperty = k , e . isEmpty = b , e . clone = x , e . extend = C , e . forEachValue = D , e . forEachKey = S , e . lookUp = T , e . copyMap = E , e . arrayToMap = w , e . reduceProperties = A , e . isArray = P , e . memoize = N , e . localizedDiagnosticMessages = void 0 , e . getLocaleSpecificMessage = R , e . createFileDiagnostic = I , e . createCompilerDiagnostic = F , e . chainDiagnosticMessages = L , e . concatenateDiagnosticMessageChains = M , e . compareValues = B , e . compareDiagnostics = K , e . sortAndDeduplicateDiagnostics = J , e . deduplicateSortedDiagnostics = U , e . normalizeSlashes = q , e . getRootLength = W , e . directorySeparator = "/" , e . normalizePath = H , e . getDirectoryPath = G , e . isUrl = X , e . isRootedDiskPath = Q , e . getNormalizedPathComponents = $ , e . getNormalizedAbsolutePath = Z , e . getNormalizedPathFromPathComponents = ee , e . getRelativePathToDirectoryOrUrl = re , e . getBaseFileName = ae , e . combinePaths = ie , e . fileExtensionIs = oe , e . ensureScriptKind = se , e . getScriptKindFromFileName = ce , e . supportedTypeScriptExtensions = [ ".ts" , ".tsx" , ".d.ts" ] , e . supportedJavascriptExtensions = [ ".js" , ".jsx" ] ; var ve = e . supportedTypeScriptExtensions . concat ( e . supportedJavascriptExtensions ) ; e . getSupportedExtensions = _e , e . isSupportedSourceFileName = ue ; var ke = [ ".d.ts" , ".ts" , ".js" , ".tsx" , ".jsx" ] ; e . removeFileExtension = le , e . objectAllocator = { getNodeConstructor : function ( ) { return me ; } , getSourceFileConstructor : function ( ) { return me ; } , getSymbolConstructor : function ( ) { return de ; } , getTypeConstructor : function ( ) { return pe ; } , getSignatureConstructor : function ( ) { return fe ; } } , function ( e ) { e [ e . None = 0 ] = "None" , e [ e . Normal = 1 ] = "Normal" , e [ e . Aggressive = 2 ] = "Aggressive" , e [ e . VeryAggressive = 3 ] = "VeryAggressive" ; } ( e . AssertionLevel || ( e . AssertionLevel = { } ) ) ; var be ; e . AssertionLevel ; ! function ( e ) { function t ( e ) { return a >= e ; } function n ( e , t , n ) { if ( ! e ) { var r = "" ; throw n && ( r = "\r\nVerbose Debug Information: " + n ( ) ) , new Error ( "Debug Failure. False expression: " + ( t || "" ) + r ) ; } } function r ( t ) { e . assert ( ! 1 , t ) ; } var a = 0 ; e . shouldAssert = t , e . assert = n , e . fail = r ; } ( be = e . Debug || ( e . Debug = { } ) ) , e . copyListRemovingItem = ge , e . createGetCanonicalFileName = ye ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { e . sys = function ( ) { function t ( ) { function t ( e , t ) { if ( o . FileExists ( e ) ) { s . Open ( ) ; try { if ( t ) s . Charset = t , s . LoadFromFile ( e ) ; else { s . Charset = "x-ansi" , s . LoadFromFile ( e ) ; var n = s . ReadText ( 2 ) || "" ; s . Position = 0 , s . Charset = n . length >= 2 && ( 255 === n . charCodeAt ( 0 ) && 254 === n . charCodeAt ( 1 ) || 254 === n . charCodeAt ( 0 ) && 255 === n . charCodeAt ( 1 ) ) ? "unicode" : "utf-8" ; } return s . ReadText ( ) ; } catch ( r ) { throw r ; } finally { s . Close ( ) ; } } } function n ( e , t , n ) { s . Open ( ) , c . Open ( ) ; try { s . Charset = "utf-8" , s . WriteText ( t ) , n ? s . Position = 0 : s . Position = 3 , s . CopyTo ( c ) , c . SaveToFile ( e , 2 ) ; } finally { c . Close ( ) , s . Close ( ) ; } } function r ( e ) { return e . toLowerCase ( ) ; } function a ( e ) { for ( var t = [ ] , n = new Enumerator ( e ) ; ! n . atEnd ( ) ; n . moveNext ( ) ) t . push ( n . item ( ) . Name ) ; return t . sort ( ) ; } function i ( t , n , i ) { function s ( t ) { for ( var _ = o . GetFolder ( t || "." ) , u = a ( _ . files ) , l = 0 , d = u ; l < d . length ; l ++ ) { var p = d [ l ] , f = e . combinePaths ( t , p ) ; n && ! e . fileExtensionIs ( f , n ) || e . contains ( i , r ( f ) ) || c . push ( f ) ; } for ( var m = a ( _ . subfolders ) , g = 0 , y = m ; g < y . length ; g ++ ) { var p = y [ g ] , h = e . combinePaths ( t , p ) ; e . contains ( i , r ( h ) ) || s ( h ) ; } } var c = [ ] ; return i = e . map ( i , function ( n ) { return r ( e . combinePaths ( t , n ) ) ; } ) , s ( t ) , c ; } var o = new ActiveXObject ( "Scripting.FileSystemObject" ) , s = new ActiveXObject ( "ADODB.Stream" ) ; s . Type = 2 ; var c = new ActiveXObject ( "ADODB.Stream" ) ; c . Type = 1 ; for ( var _ = [ ] , u = 0 ; u < WScript . Arguments . length ; u ++ ) _ [ u ] = WScript . Arguments . Item ( u ) ; return { args : _ , newLine : "\r\n" , useCaseSensitiveFileNames : ! 1 , write : function ( e ) { WScript . StdOut . Write ( e ) ; } , readFile : t , writeFile : n , resolvePath : function ( e ) { return o . GetAbsolutePathName ( e ) ; } , fileExists : function ( e ) { return o . FileExists ( e ) ; } , directoryExists : function ( e ) { return o . FolderExists ( e ) ; } , createDirectory : function ( e ) { this . directoryExists ( e ) || o . CreateFolder ( e ) ; } , getExecutingFilePath : function ( ) { return WScript . ScriptFullName ; } , getCurrentDirectory : function ( ) { return new ActiveXObject ( "WScript.Shell" ) . CurrentDirectory ; } , readDirectory : i , exit : function ( e ) { try { WScript . Quit ( e ) ; } catch ( t ) { } } } ; } function n ( ) { function t ( t , n ) { function r ( e ) { return c . statSync ( e ) . mtime ; } function a ( e ) { var t = u [ e ] ; t && c . stat ( t . filePath , function ( e , n ) { e ? t . callback ( t . filePath ) : t . mtime . getTime ( ) !== n . mtime . getTime ( ) && ( t . mtime = r ( t . filePath ) , t . callback ( t . filePath , 0 === t . mtime . getTime ( ) ) ) ; } ) ; } function i ( ) { _ = setInterval ( function ( ) { for ( var e = 0 , t = l , r = - 1 ; n > e && t !== r ; ) a ( t ) , 0 > r && ( r = t ) , t ++ , t === u . length && ( t = 0 ) , e ++ ; l = t ; } , t ) ; } function o ( e , t ) { var n = { filePath : e , callback : t , mtime : r ( e ) } ; return u . push ( n ) , 1 === u . length && i ( ) , n ; } function s ( t ) { u = e . copyListRemovingItem ( t , u ) ; } void 0 === t && ( t = 2500 ) , void 0 === n && ( n = 30 ) ; var _ , u = [ ] , l = 0 ; return { getModifiedTime : r , poll : a , startWatchTimer : i , addFile : o , removeFile : s } ; } function n ( ) { function t ( t ) { var n = e . getDirectoryPath ( t ) ; if ( _ . contains ( n ) ) { var r = _ . get ( n ) ; r . referenceCount -= 1 , r . referenceCount <= 0 && ( r . close ( ) , _ . remove ( n ) ) ; } } function n ( e ) { if ( _ . contains ( e ) ) { var t = _ . get ( e ) ; return void ( t . referenceCount += 1 ) ; } var n = c . watch ( e , { persistent : ! 0 } , function ( t , n ) { return s ( t , n , e ) ; } ) ; n . referenceCount = 1 , _ . set ( e , n ) ; } function r ( e , t ) { u . contains ( e ) ? u . get ( e ) . push ( t ) : u . set ( e , [ t ] ) ; } function a ( t , a ) { return r ( t , a ) , n ( e . getDirectoryPath ( t ) ) , { filePath : t , callback : a } ; } function i ( e ) { o ( e . filePath , e . callback ) , t ( e . filePath ) ; } function o ( t , n ) { if ( u . contains ( t ) ) { var r = e . copyListRemovingItem ( n , u . get ( t ) ) ; 0 === r . length ? u . remove ( t ) : u . set ( t , r ) ; } } function s ( t , n , r ) { var a = "string" != typeof n ? void 0 : e . toPath ( n , r , e . createGetCanonicalFileName ( e . sys . useCaseSensitiveFileNames ) ) ; if ( ( "change" === t || "rename" === t ) && u . contains ( a ) ) for ( var i = 0 , o = u . get ( a ) ; i < o . length ; i ++ ) { var s = o [ i ] ; s ( a ) ; } } var _ = e . createFileMap ( ) , u = e . createFileMap ( ) ; return { addFile : a , removeFile : i } ; } function r ( ) { return parseInt ( process . version . charAt ( 1 ) ) >= 4 ; } function a ( e , t ) { if ( c . existsSync ( e ) ) { var n = c . readFileSync ( e ) , r = n . length ; if ( r >= 2 && 254 === n [ 0 ] && 255 === n [ 1 ] ) { r &= - 2 ; for ( var a = 0 ; r > a ; a += 2 ) { var i = n [ a ] ; n [ a ] = n [ a + 1 ] , n [ a + 1 ] = i ; } return n . toString ( "utf16le" , 2 ) ; } return r >= 2 && 255 === n [ 0 ] && 254 === n [ 1 ] ? n . toString ( "utf16le" , 2 ) : r >= 3 && 239 === n [ 0 ] && 187 === n [ 1 ] && 191 === n [ 2 ] ? n . toString ( "utf8" , 3 ) : n . toString ( "utf8" ) ; } } function i ( e , t , n ) { n && ( t = "\ufeff" + t ) ; var r ; try { r = c . openSync ( e , "w" ) , c . writeSync ( r , t , void 0 , "utf8" ) ; } finally { void 0 !== r && c . closeSync ( r ) ; } } function o ( e ) { return f ? e : e . toLowerCase ( ) ; } function s ( t , n , r ) { function a ( t ) { for ( var s = c . readdirSync ( t || "." ) . sort ( ) , _ = [ ] , u = 0 , l = s ; u < l . length ; u ++ ) { var d = l [ u ] , p = e . combinePaths ( t , d ) ; if ( ! e . contains ( r , o ( p ) ) ) try { var f = c . statSync ( p ) ; f . isFile ( ) ? n && ! e . fileExtensionIs ( p , n ) || i . push ( p ) : f . isDirectory ( ) && _ . push ( p ) ; } catch ( m ) { } } for ( var g = 0 , y = _ ; g < y . length ; g ++ ) { var d = y [ g ] ; a ( d ) ; } } var i = [ ] ; return r = e . map ( r , function ( n ) { return o ( e . combinePaths ( t , n ) ) ; } ) , a ( t ) , i ; } var c = require ( "fs" ) , _ = require ( "path" ) , u = require ( "os" ) , l = t ( ) , d = n ( ) , p = u . platform ( ) , f = "win32" !== p && "win64" !== p && "darwin" !== p ; return { args : process . argv . slice ( 2 ) , newLine : u . EOL , useCaseSensitiveFileNames : f , write : function ( e ) { process . stdout . write ( e ) ; } , readFile : a , writeFile : i , watchFile : function ( e , t ) { var n = r ( ) ? d : l , a = n . addFile ( e , t ) ; return { close : function ( ) { return n . removeFile ( a ) ; } } ; } , watchDirectory : function ( t , n , a ) { var i ; return i = ! r ( ) || "win32" !== process . platform && "darwin" !== process . platform ? { persistent : ! 0 } : { persistent : ! 0 , recursive : ! ! a } , c . watch ( t , i , function ( r , a ) { "rename" === r && n ( a ? e . normalizePath ( e . combinePaths ( t , a ) ) : a ) ; } ) ; } , resolvePath : function ( e ) { return _ . resolve ( e ) ; } , fileExists : function ( e ) { return c . existsSync ( e ) ; } , directoryExists : function ( e ) { return c . existsSync ( e ) && c . statSync ( e ) . isDirectory ( ) ; } , createDirectory : function ( e ) { this . directoryExists ( e ) || c . mkdirSync ( e ) ; } , getExecutingFilePath : function ( ) { return __filename ; } , getCurrentDirectory : function ( ) { return process . cwd ( ) ; } , readDirectory : s , getMemoryUsage : function ( ) { return global . gc && global . gc ( ) , process . memoryUsage ( ) . heapUsed ; } , exit : function ( e ) { process . exit ( e ) ; } } ; } function r ( ) { return { newLine : ChakraHost . newLine || "\r\n" , args : ChakraHost . args , useCaseSensitiveFileNames : ! ! ChakraHost . useCaseSensitiveFileNames , write : ChakraHost . echo , readFile : function ( e , t ) { return ChakraHost . readFile ( e ) ; } , writeFile : function ( e , t , n ) { n && ( t = "\ufeff" + t ) , ChakraHost . writeFile ( e , t ) ; } , resolvePath : ChakraHost . resolvePath , fileExists : ChakraHost . fileExists , directoryExists : ChakraHost . directoryExists , createDirectory : ChakraHost . createDirectory , getExecutingFilePath : function ( ) { return ChakraHost . executingFile ; } , getCurrentDirectory : function ( ) { return ChakraHost . currentDirectory ; } , readDirectory : ChakraHost . readDirectory , exit : ChakraHost . quit } ; } return "undefined" != typeof WScript && "function" == typeof ActiveXObject ? t ( ) : "undefined" != typeof process && process . nextTick && ! process . browser && "undefined" != typeof require ? n ( ) : "undefined" != typeof ChakraHost ? r ( ) : void 0 ; } ( ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { e . Diagnostics = { Unterminated_string_literal : { code : 1002 , category : e . DiagnosticCategory . Error , key : "Unterminated_string_literal_1002" , message : "Unterminated string literal." } , Identifier_expected : { code : 1003 , category : e . DiagnosticCategory . Error , key : "Identifier_expected_1003" , message : "Identifier expected." } , _0_expected : { code : 1005 , category : e . DiagnosticCategory . Error , key : "_0_expected_1005" , message : "'{0}' expected." } , A_file_cannot_have_a_reference_to_itself : { code : 1006 , category : e . DiagnosticCategory . Error , key : "A_file_cannot_have_a_reference_to_itself_1006" , message : "A file cannot have a reference to itself." } , Trailing_comma_not_allowed : { code : 1009 , category : e . DiagnosticCategory . Error , key : "Trailing_comma_not_allowed_1009" , message : "Trailing comma not allowed." } , Asterisk_Slash_expected : { code : 1010 , category : e . DiagnosticCategory . Error , key : "Asterisk_Slash_expected_1010" , message : "'*/' expected." } , Unexpected_token : { code : 1012 , category : e . DiagnosticCategory . Error , key : "Unexpected_token_1012" , message : "Unexpected token." } , A_rest_parameter_must_be_last_in_a_parameter_list : { code : 1014 , category : e . DiagnosticCategory . Error , key : "A_rest_parameter_must_be_last_in_a_parameter_list_1014" , message : "A rest parameter must be last in a parameter list." } , Parameter_cannot_have_question_mark_and_initializer : { code : 1015 , category : e . DiagnosticCategory . Error , key : "Parameter_cannot_have_question_mark_and_initializer_1015" , message : "Parameter cannot have question mark and initializer." } , A_required_parameter_cannot_follow_an_optional_parameter : { code : 1016 , category : e . DiagnosticCategory . Error , key : "A_required_parameter_cannot_follow_an_optional_parameter_1016" , message : "A required parameter cannot follow an optional parameter." } , An_index_signature_cannot_have_a_rest_parameter : { code : 1017 , category : e . DiagnosticCategory . Error , key : "An_index_signature_cannot_have_a_rest_parameter_1017" , message : "An index signature cannot have a rest parameter." } , An_index_signature_parameter_cannot_have_an_accessibility_modifier : { code : 1018 , category : e . DiagnosticCategory . Error , key : "An_index_signature_parameter_cannot_have_an_accessibility_modifier_1018" , message : "An index signature parameter cannot have an accessibility modifier." } , An_index_signature_parameter_cannot_have_a_question_mark : { code : 1019 , category : e . DiagnosticCategory . Error , key : "An_index_signature_parameter_cannot_have_a_question_mark_1019" , message : "An index signature parameter cannot have a question mark." } , An_index_signature_parameter_cannot_have_an_initializer : { code : 1020 , category : e . DiagnosticCategory . Error , key : "An_index_signature_parameter_cannot_have_an_initializer_1020" , message : "An index signature parameter cannot have an initializer." } , An_index_signature_must_have_a_type_annotation : { code : 1021 , category : e . DiagnosticCategory . Error , key : "An_index_signature_must_have_a_type_annotation_1021" , message : "An index signature must have a type annotation." } , An_index_signature_parameter_must_have_a_type_annotation : { code : 1022 , category : e . DiagnosticCategory . Error , key : "An_index_signature_parameter_must_have_a_type_annotation_1022" , message : "An index signature parameter must have a type annotation." } , An_index_signature_parameter_type_must_be_string_or_number : { code : 1023 , category : e . DiagnosticCategory . Error , key : "An_index_signature_parameter_type_must_be_string_or_number_1023" , message : "An index signature parameter type must be 'string' or 'number'." } , Accessibility_modifier_already_seen : { code : 1028 , category : e . DiagnosticCategory . Error , key : "Accessibility_modifier_already_seen_1028" , message : "Accessibility modifier already seen." } , _0_modifier_must_precede_1_modifier : { code : 1029 , category : e . DiagnosticCategory . Error , key : "_0_modifier_must_precede_1_modifier_1029" , message : "'{0}' modifier must precede '{1}' modifier." } , _0_modifier_already_seen : { code : 1030 , category : e . DiagnosticCategory . Error , key : "_0_modifier_already_seen_1030" , message : "'{0}' modifier already seen." } , _0_modifier_cannot_appear_on_a_class_element : { code : 1031 , category : e . DiagnosticCategory . Error , key : "_0_modifier_cannot_appear_on_a_class_element_1031" , message : "'{0}' modifier cannot appear on a class element." } , super_must_be_followed_by_an_argument_list_or_member_access : { code : 1034 , category : e . DiagnosticCategory . Error , key : "super_must_be_followed_by_an_argument_list_or_member_access_1034" , message : "'super' must be followed by an argument list or member access." } , Only_ambient_modules_can_use_quoted_names : { code : 1035 , category : e . DiagnosticCategory . Error , key : "Only_ambient_modules_can_use_quoted_names_1035" , message : "Only ambient modules can use quoted names." } , Statements_are_not_allowed_in_ambient_contexts : { code : 1036 , category : e . DiagnosticCategory . Error , key : "Statements_are_not_allowed_in_ambient_contexts_1036" , message : "Statements are not allowed in ambient contexts." } , A_declare_modifier_cannot_be_used_in_an_already_ambient_context : { code : 1038 , category : e . DiagnosticCategory . Error , key : "A_declare_modifier_cannot_be_used_in_an_already_ambient_context_1038" , message : "A 'declare' modifier cannot be used in an already ambient context." } , Initializers_are_not_allowed_in_ambient_contexts : { code : 1039 , category : e . DiagnosticCategory . Error , key : "Initializers_are_not_allowed_in_ambient_contexts_1039" , message : "Initializers are not allowed in ambient contexts." } , _0_modifier_cannot_be_used_in_an_ambient_context : { code : 1040 , category : e . DiagnosticCategory . Error , key : "_0_modifier_cannot_be_used_in_an_ambient_context_1040" , message : "'{0}' modifier cannot be used in an ambient context." } , _0_modifier_cannot_be_used_with_a_class_declaration : { code : 1041 , category : e . DiagnosticCategory . Error , key : "_0_modifier_cannot_be_used_with_a_class_declaration_1041" , message : "'{0}' modifier cannot be used with a class declaration." } , _0_modifier_cannot_be_used_here : { code : 1042 , category : e . DiagnosticCategory . Error , key : "_0_modifier_cannot_be_used_here_1042" , message : "'{0}' modifier cannot be used here." } , _0_modifier_cannot_appear_on_a_data_property : { code : 1043 , category : e . DiagnosticCategory . Error , key : "_0_modifier_cannot_appear_on_a_data_property_1043" , message : "'{0}' modifier cannot appear on a data property." } , _0_modifier_cannot_appear_on_a_module_element : { code : 1044 , category : e . DiagnosticCategory . Error , key : "_0_modifier_cannot_appear_on_a_module_element_1044" , message : "'{0}' modifier cannot appear on a module element." } , A_0_modifier_cannot_be_used_with_an_interface_declaration : { code : 1045 , category : e . DiagnosticCategory . Error , key : "A_0_modifier_cannot_be_used_with_an_interface_declaration_1045" , message : "A '{0}' modifier cannot be used with an interface declaration." } , A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file : { code : 1046 , category : e . DiagnosticCategory . Error , key : "A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file_1046" , message : "A 'declare' modifier is required for a top level declaration in a .d.ts file." } , A_rest_parameter_cannot_be_optional : { code : 1047 , category : e . DiagnosticCategory . Error , key : "A_rest_parameter_cannot_be_optional_1047" , message : "A rest parameter cannot be optional." } , A_rest_parameter_cannot_have_an_initializer : { code : 1048 , category : e . DiagnosticCategory . Error , key : "A_rest_parameter_cannot_have_an_initializer_1048" , message : "A rest parameter cannot have an initializer." } , A_set_accessor_must_have_exactly_one_parameter : { code : 1049 , category : e . DiagnosticCategory . Error , key : "A_set_accessor_must_have_exactly_one_parameter_1049" , message : "A 'set' accessor must have exactly one parameter." } , A_set_accessor_cannot_have_an_optional_parameter : { code : 1051 , category : e . DiagnosticCategory . Error , key : "A_set_accessor_cannot_have_an_optional_parameter_1051" , message : "A 'set' accessor cannot have an optional parameter." } , A_set_accessor_parameter_cannot_have_an_initializer : { code : 1052 , category : e . DiagnosticCategory . Error , key : "A_set_accessor_parameter_cannot_have_an_initializer_1052" , message : "A 'set' accessor parameter cannot have an initializer." } , A_set_accessor_cannot_have_rest_parameter : { code : 1053 , category : e . DiagnosticCategory . Error , key : "A_set_accessor_cannot_have_rest_parameter_1053" , message : "A 'set' accessor cannot have rest parameter." } , A_get_accessor_cannot_have_parameters : { code : 1054 , category : e . DiagnosticCategory . Error , key : "A_get_accessor_cannot_have_parameters_1054" , message : "A 'get' accessor cannot have parameters." } , Type_0_is_not_a_valid_async_function_return_type : { code : 1055 , category : e . DiagnosticCategory . Error , key : "Type_0_is_not_a_valid_async_function_return_type_1055" , message : "Type '{0}' is not a valid async function return type." } , Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher : { code : 1056 , category : e . DiagnosticCategory . Error , key : "Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher_1056" , message : "Accessors are only available when targeting ECMAScript 5 and higher." } , An_async_function_or_method_must_have_a_valid_awaitable_return_type : { code : 1057 , category : e . DiagnosticCategory . Error , key : "An_async_function_or_method_must_have_a_valid_awaitable_return_type_1057" , message : "An async function or method must have a valid awaitable return type." } , Operand_for_await_does_not_have_a_valid_callable_then_member : { code : 1058 , category : e . DiagnosticCategory . Error , key : "Operand_for_await_does_not_have_a_valid_callable_then_member_1058" , message : "Operand for 'await' does not have a valid callable 'then' member." } , Return_expression_in_async_function_does_not_have_a_valid_callable_then_member : { code : 1059 , category : e . DiagnosticCategory . Error , key : "Return_expression_in_async_function_does_not_have_a_valid_callable_then_member_1059" , message : "Return expression in async function does not have a valid callable 'then' member." } , Expression_body_for_async_arrow_function_does_not_have_a_valid_callable_then_member : { code : 1060 , category : e . DiagnosticCategory . Error , key : "Expression_body_for_async_arrow_function_does_not_have_a_valid_callable_then_member_1060" , message : "Expression body for async arrow function does not have a valid callable 'then' member." } , Enum_member_must_have_initializer : { code : 1061 , category : e . DiagnosticCategory . Error , key : "Enum_member_must_have_initializer_1061" , message : "Enum member must have initializer." } , _0_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method : { code : 1062 , category : e . DiagnosticCategory . Error , key : "_0_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062" , message : "{0} is referenced directly or indirectly in the fulfillment callback of its own 'then' method." } , An_export_assignment_cannot_be_used_in_a_namespace : { code : 1063 , category : e . DiagnosticCategory . Error , key : "An_export_assignment_cannot_be_used_in_a_namespace_1063" , message : "An export assignment cannot be used in a namespace." } , The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type : { code : 1064 , category : e . DiagnosticCategory . Error , key : "The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1064" , message : "The return type of an async function or method must be the global Promise<T> type." } , In_ambient_enum_declarations_member_initializer_must_be_constant_expression : { code : 1066 , category : e . DiagnosticCategory . Error , key : "In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066" , message : "In ambient enum declarations member initializer must be constant expression." } , Unexpected_token_A_constructor_method_accessor_or_property_was_expected : { code : 1068 , category : e . DiagnosticCategory . Error , key : "Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068" , message : "Unexpected token. A constructor, method, accessor, or property was expected." } , A_0_modifier_cannot_be_used_with_an_import_declaration : { code : 1079 , category : e . DiagnosticCategory . Error , key : "A_0_modifier_cannot_be_used_with_an_import_declaration_1079" , message : "A '{0}' modifier cannot be used with an import declaration." } , Invalid_reference_directive_syntax : { code : 1084 , category : e . DiagnosticCategory . Error , key : "Invalid_reference_directive_syntax_1084" , message : "Invalid 'reference' directive syntax." } , Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher : { code : 1085 , category : e . DiagnosticCategory . Error , key : "Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_1085" , message : "Octal literals are not available when targeting ECMAScript 5 and higher." } , An_accessor_cannot_be_declared_in_an_ambient_context : { code : 1086 , category : e . DiagnosticCategory . Error , key : "An_accessor_cannot_be_declared_in_an_ambient_context_1086" , message : "An accessor cannot be declared in an ambient context." } , _0_modifier_cannot_appear_on_a_constructor_declaration : { code : 1089 , category : e . DiagnosticCategory . Error , key : "_0_modifier_cannot_appear_on_a_constructor_declaration_1089" , message : "'{0}' modifier cannot appear on a constructor declaration." } , _0_modifier_cannot_appear_on_a_parameter : { code : 1090 , category : e . DiagnosticCategory . Error , key : "_0_modifier_cannot_appear_on_a_parameter_1090" , message : "'{0}' modifier cannot appear on a parameter." } , Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement : { code : 1091 , category : e . DiagnosticCategory . Error , key : "Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091" , message : "Only a single variable declaration is allowed in a 'for...in' statement." } , Type_parameters_cannot_appear_on_a_constructor_declaration : { code : 1092 , category : e . DiagnosticCategory . Error , key : "Type_parameters_cannot_appear_on_a_constructor_declaration_1092" , message : "Type parameters cannot appear on a constructor declaration." } , Type_annotation_cannot_appear_on_a_constructor_declaration : { code : 1093 , category : e . DiagnosticCategory . Error , key : "Type_annotation_cannot_appear_on_a_constructor_declaration_1093" , message : "Type annotation cannot appear on a constructor declaration." } , An_accessor_cannot_have_type_parameters : { code : 1094 , category : e . DiagnosticCategory . Error , key : "An_accessor_cannot_have_type_parameters_1094" , message : "An accessor cannot have type parameters." } , A_set_accessor_cannot_have_a_return_type_annotation : { code : 1095 , category : e . DiagnosticCategory . Error , key : "A_set_accessor_cannot_have_a_return_type_annotation_1095" , message : "A 'set' accessor cannot have a return type annotation." } , An_index_signature_must_have_exactly_one_parameter : { code : 1096 , category : e . DiagnosticCategory . Error , key : "An_index_signature_must_have_exactly_one_parameter_1096" , message : "An index signature must have exactly one parameter." } , _0_list_cannot_be_empty : { code : 1097 , category : e . DiagnosticCategory . Error , key : "_0_list_cannot_be_empty_1097" , message : "'{0}' list cannot be empty." } , Type_parameter_list_cannot_be_empty : { code : 1098 , category : e . DiagnosticCategory . Error , key : "Type_parameter_list_cannot_be_empty_1098" , message : "Type parameter list cannot be empty." } , Type_argument_list_cannot_be_empty : { code : 1099 , category : e . DiagnosticCategory . Error , key : "Type_argument_list_cannot_be_empty_1099" , message : "Type argument list cannot be empty." } , Invalid_use_of_0_in_strict_mode : { code : 1100 , category : e . DiagnosticCategory . Error , key : "Invalid_use_of_0_in_strict_mode_1100" , message : "Invalid use of '{0}' in strict mode." } , with_statements_are_not_allowed_in_strict_mode : { code : 1101 , category : e . DiagnosticCategory . Error , key : "with_statements_are_not_allowed_in_strict_mode_1101" , message : "'with' statements are not allowed in strict mode." } , delete_cannot_be_called_on_an_identifier_in_strict_mode : { code : 1102 , category : e . DiagnosticCategory . Error , key : "delete_cannot_be_called_on_an_identifier_in_strict_mode_1102" , message : "'delete' cannot be called on an identifier in strict mode." } , A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement : { code : 1104 , category : e . DiagnosticCategory . Error , key : "A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104" , message : "A 'continue' statement can only be used within an enclosing iteration statement." } , A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement : { code : 1105 , category : e . DiagnosticCategory . Error , key : "A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105" , message : "A 'break' statement can only be used within an enclosing iteration or switch statement." } , Jump_target_cannot_cross_function_boundary : { code : 1107 , category : e . DiagnosticCategory . Error , key : "Jump_target_cannot_cross_function_boundary_1107" , message : "Jump target cannot cross function boundary." } , A_return_statement_can_only_be_used_within_a_function_body : { code : 1108 , category : e . DiagnosticCategory . Error , key : "A_return_statement_can_only_be_used_within_a_function_body_1108" , message : "A 'return' statement can only be used within a function body." } , Expression_expected : { code : 1109 , category : e . DiagnosticCategory . Error , key : "Expression_expected_1109" , message : "Expression expected." } , Type_expected : { code : 1110 , category : e . DiagnosticCategory . Error , key : "Type_expected_1110" , message : "Type expected." } , A_class_member_cannot_be_declared_optional : { code : 1112 , category : e . DiagnosticCategory . Error , key : "A_class_member_cannot_be_declared_optional_1112" , message : "A class member cannot be declared optional." } , A_default_clause_cannot_appear_more_than_once_in_a_switch_statement : { code : 1113 , category : e . DiagnosticCategory . Error , key : "A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113" , message : "A 'default' clause cannot appear more than once in a 'switch' statement." } , Duplicate_label_0 : { code : 1114 , category : e . DiagnosticCategory . Error , key : "Duplicate_label_0_1114" , message : "Duplicate label '{0}'" } , A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement : { code : 1115 , category : e . DiagnosticCategory . Error , key : "A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115" , message : "A 'continue' statement can only jump to a label of an enclosing iteration statement." } , A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement : { code : 1116 , category : e . DiagnosticCategory . Error , key : "A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116" , message : "A 'break' statement can only jump to a label of an enclosing statement." } , An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode : { code : 1117 , category : e . DiagnosticCategory . Error , key : "An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode_1117" , message : "An object literal cannot have multiple properties with the same name in strict mode." } , An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name : { code : 1118 , category : e . DiagnosticCategory . Error , key : "An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118" , message : "An object literal cannot have multiple get/set accessors with the same name." } , An_object_literal_cannot_have_property_and_accessor_with_the_same_name : { code : 1119 , category : e . DiagnosticCategory . Error , key : "An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119" , message : "An object literal cannot have property and accessor with the same name." } , An_export_assignment_cannot_have_modifiers : { code : 1120 , category : e . DiagnosticCategory . Error , key : "An_export_assignment_cannot_have_modifiers_1120" , message : "An export assignment cannot have modifiers." } , Octal_literals_are_not_allowed_in_strict_mode : { code : 1121 , category : e . DiagnosticCategory . Error , key : "Octal_literals_are_not_allowed_in_strict_mode_1121" , message : "Octal literals are not allowed in strict mode." } , A_tuple_type_element_list_cannot_be_empty : { code : 1122 , category : e . DiagnosticCategory . Error , key : "A_tuple_type_element_list_cannot_be_empty_1122" , message : "A tuple type element list cannot be empty." } , Variable_declaration_list_cannot_be_empty : { code : 1123 , category : e . DiagnosticCategory . Error , key : "Variable_declaration_list_cannot_be_empty_1123" , message : "Variable declaration list cannot be empty." } , Digit_expected : { code : 1124 , category : e . DiagnosticCategory . Error , key : "Digit_expected_1124" , message : "Digit expected." } , Hexadecimal_digit_expected : { code : 1125 , category : e . DiagnosticCategory . Error , key : "Hexadecimal_digit_expected_1125" , message : "Hexadecimal digit expected." } , Unexpected_end_of_text : { code : 1126 , category : e . DiagnosticCategory . Error , key : "Unexpected_end_of_text_1126" , message : "Unexpected end of text." } , Invalid_character : { code : 1127 , category : e . DiagnosticCategory . Error , key : "Invalid_character_1127" , message : "Invalid character." } , Declaration_or_statement_expected : { code : 1128 , category : e . DiagnosticCategory . Error , key : "Declaration_or_statement_expected_1128" , message : "Declaration or statement expected." } , Statement_expected : { code : 1129 , category : e . DiagnosticCategory . Error , key : "Statement_expected_1129" , message : "Statement expected." } , case_or_default_expected : { code : 1130 , category : e . DiagnosticCategory . Error , key : "case_or_default_expected_1130" , message : "'case' or 'default' expected." } , Property_or_signature_expected : { code : 1131 , category : e . DiagnosticCategory . Error , key : "Property_or_signature_expected_1131" , message : "Property or signature expected." } , Enum_member_expected : { code : 1132 , category : e . DiagnosticCategory . Error , key : "Enum_member_expected_1132" , message : "Enum member expected." } , Variable_declaration_expected : { code : 1134 , category : e . DiagnosticCategory . Error , key : "Variable_declaration_expected_1134" , message : "Variable declaration expected." } , Argument_expression_expected : { code : 1135 , category : e . DiagnosticCategory . Error , key : "Argument_expression_expected_1135" , message : "Argument expression expected." } , Property_assignment_expected : { code : 1136 , category : e . DiagnosticCategory . Error , key : "Property_assignment_expected_1136" , message : "Property assignment expected." } , Expression_or_comma_expected : { code : 1137 , category : e . DiagnosticCategory . Error , key : "Expression_or_comma_expected_1137" , message : "Expression or comma expected." } , Parameter_declaration_expected : { code : 1138 , category : e . DiagnosticCategory . Error , key : "Parameter_declaration_expected_1138" , message : "Parameter declaration expected." } , Type_parameter_declaration_expected : { code : 1139 , category : e . DiagnosticCategory . Error , key : "Type_parameter_declaration_expected_1139" , message : "Type parameter declaration expected." } , Type_argument_expected : { code : 1140 , category : e . DiagnosticCategory . Error , key : "Type_argument_expected_1140" , message : "Type argument expected." } , String_literal_expected : { code : 1141 , category : e . DiagnosticCategory . Error , key : "String_literal_expected_1141" , message : "String literal expected." } , Line_break_not_permitted_here : { code : 1142 , category : e . DiagnosticCategory . Error , key : "Line_break_not_permitted_here_1142" , message : "Line break not permitted here." } , or_expected : { code : 1144 , category : e . DiagnosticCategory . Error , key : "or_expected_1144" , message : "'{' or ';' expected." } , Modifiers_not_permitted_on_index_signature_members : { code : 1145 , category : e . DiagnosticCategory . Error , key : "Modifiers_not_permitted_on_index_signature_members_1145" , message : "Modifiers not permitted on index signature members." } , Declaration_expected : { code : 1146 , category : e . DiagnosticCategory . Error , key : "Declaration_expected_1146" , message : "Declaration expected." } , Import_declarations_in_a_namespace_cannot_reference_a_module : { code : 1147 , category : e . DiagnosticCategory . Error , key : "Import_declarations_in_a_namespace_cannot_reference_a_module_1147" , message : "Import declarations in a namespace cannot reference a module." } , Cannot_compile_modules_unless_the_module_flag_is_provided_with_a_valid_module_type_Consider_setting_the_module_compiler_option_in_a_tsconfig_json_file : { code : 1148 , category : e . DiagnosticCategory . Error , key : "Cannot_compile_modules_unless_the_module_flag_is_provided_with_a_valid_module_type_Consider_setting__1148" , message : "Cannot compile modules unless the '--module' flag is provided with a valid module type. Consider setting the 'module' compiler option in a 'tsconfig.json' file." } , File_name_0_differs_from_already_included_file_name_1_only_in_casing : { code : 1149 , category : e . DiagnosticCategory . Error , key : "File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149" , message : "File name '{0}' differs from already included file name '{1}' only in casing" } , new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead : { code : 1150 , category : e . DiagnosticCategory . Error , key : "new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead_1150" , message : "'new T[]' cannot be used to create an array. Use 'new Array<T>()' instead." } , const_declarations_must_be_initialized : { code : 1155 , category : e . DiagnosticCategory . Error , key : "const_declarations_must_be_initialized_1155" , message : "'const' declarations must be initialized" } , const_declarations_can_only_be_declared_inside_a_block : { code : 1156 , category : e . DiagnosticCategory . Error , key : "const_declarations_can_only_be_declared_inside_a_block_1156" , message : "'const' declarations can only be declared inside a block." } , let_declarations_can_only_be_declared_inside_a_block : { code : 1157 , category : e . DiagnosticCategory . Error , key : "let_declarations_can_only_be_declared_inside_a_block_1157" , message : "'let' declarations can only be declared inside a block." } , Unterminated_template_literal : { code : 1160 , category : e . DiagnosticCategory . Error , key : "Unterminated_template_literal_1160" , message : "Unterminated template literal." } , Unterminated_regular_expression_literal : { code : 1161 , category : e . DiagnosticCategory . Error , key : "Unterminated_regular_expression_literal_1161" , message : "Unterminated regular expression literal." } , An_object_member_cannot_be_declared_optional : { code : 1162 , category : e . DiagnosticCategory . Error , key : "An_object_member_cannot_be_declared_optional_1162" , message : "An object member cannot be declared optional." } , A_yield_expression_is_only_allowed_in_a_generator_body : { code : 1163 , category : e . DiagnosticCategory . Error , key : "A_yield_expression_is_only_allowed_in_a_generator_body_1163" , message : "A 'yield' expression is only allowed in a generator body." } , Computed_property_names_are_not_allowed_in_enums : { code : 1164 , category : e . DiagnosticCategory . Error , key : "Computed_property_names_are_not_allowed_in_enums_1164" , message : "Computed property names are not allowed in enums." } , A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol : { code : 1165 , category : e . DiagnosticCategory . Error , key : "A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol_1165" , message : "A computed property name in an ambient context must directly refer to a built-in symbol." } , A_computed_property_name_in_a_class_property_declaration_must_directly_refer_to_a_built_in_symbol : { code : 1166 , category : e . DiagnosticCategory . Error , key : "A_computed_property_name_in_a_class_property_declaration_must_directly_refer_to_a_built_in_symbol_1166" , message : "A computed property name in a class property declaration must directly refer to a built-in symbol." } , A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol : { code : 1168 , category : e . DiagnosticCategory . Error , key : "A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol_1168" , message : "A computed property name in a method overload must directly refer to a built-in symbol." } , A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol : { code : 1169 , category : e . DiagnosticCategory . Error , key : "A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol_1169" , message : "A computed property name in an interface must directly refer to a built-in symbol." } , A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol : { code : 1170 , category : e . DiagnosticCategory . Error , key : "A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol_1170" , message : "A computed property name in a type literal must directly refer to a built-in symbol." } , A_comma_expression_is_not_allowed_in_a_computed_property_name : { code : 1171 , category : e . DiagnosticCategory . Error , key : "A_comma_expression_is_not_allowed_in_a_computed_property_name_1171" , message : "A comma expression is not allowed in a computed property name." } , extends_clause_already_seen : { code : 1172 , category : e . DiagnosticCategory . Error , key : "extends_clause_already_seen_1172" , message : "'extends' clause already seen." } , extends_clause_must_precede_implements_clause : { code : 1173 , category : e . DiagnosticCategory . Error , key : "extends_clause_must_precede_implements_clause_1173" , message : "'extends' clause must precede 'implements' clause." } , Classes_can_only_extend_a_single_class : { code : 1174 , category : e . DiagnosticCategory . Error , key : "Classes_can_only_extend_a_single_class_1174" , message : "Classes can only extend a single class." } , implements_clause_already_seen : { code : 1175 , category : e . DiagnosticCategory . Error , key : "implements_clause_already_seen_1175" , message : "'implements' clause already seen." } , Interface_declaration_cannot_have_implements_clause : { code : 1176 , category : e . DiagnosticCategory . Error , key : "Interface_declaration_cannot_have_implements_clause_1176" , message : "Interface declaration cannot have 'implements' clause." } , Binary_digit_expected : { code : 1177 , category : e . DiagnosticCategory . Error , key : "Binary_digit_expected_1177" , message : "Binary digit expected." } , Octal_digit_expected : { code : 1178 , category : e . DiagnosticCategory . Error , key : "Octal_digit_expected_1178" , message : "Octal digit expected." } , Unexpected_token_expected : { code : 1179 , category : e . DiagnosticCategory . Error , key : "Unexpected_token_expected_1179" , message : "Unexpected token. '{' expected." } , Property_destructuring_pattern_expected : { code : 1180 , category : e . DiagnosticCategory . Error , key : "Property_destructuring_pattern_expected_1180" , message : "Property destructuring pattern expected." } , Array_element_destructuring_pattern_expected : { code : 1181 , category : e . DiagnosticCategory . Error , key : "Array_element_destructuring_pattern_expected_1181" , message : "Array element destructuring pattern expected." } , A_destructuring_declaration_must_have_an_initializer : { code : 1182 , category : e . DiagnosticCategory . Error , key : "A_destructuring_declaration_must_have_an_initializer_1182" , message : "A destructuring declaration must have an initializer." } , An_implementation_cannot_be_declared_in_ambient_contexts : { code : 1183 , category : e . DiagnosticCategory . Error , key : "An_implementation_cannot_be_declared_in_ambient_contexts_1183" , message : "An implementation cannot be declared in ambient contexts." } , Modifiers_cannot_appear_here : { code : 1184 , category : e . DiagnosticCategory . Error , key : "Modifiers_cannot_appear_here_1184" , message : "Modifiers cannot appear here." } , Merge_conflict_marker_encountered : { code : 1185 , category : e . DiagnosticCategory . Error , key : "Merge_conflict_marker_encountered_1185" , message : "Merge conflict marker encountered." } , A_rest_element_cannot_have_an_initializer : { code : 1186 , category : e . DiagnosticCategory . Error , key : "A_rest_element_cannot_have_an_initializer_1186" , message : "A rest element cannot have an initializer." } , A_parameter_property_may_not_be_a_binding_pattern : { code : 1187 , category : e . DiagnosticCategory . Error , key : "A_parameter_property_may_not_be_a_binding_pattern_1187" , message : "A parameter property may not be a binding pattern." } , Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement : { code : 1188 , category : e . DiagnosticCategory . Error , key : "Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188" , message : "Only a single variable declaration is allowed in a 'for...of' statement." } , The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer : { code : 1189 , category : e . DiagnosticCategory . Error , key : "The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189" , message : "The variable declaration of a 'for...in' statement cannot have an initializer." } , The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer : { code : 1190 , category : e . DiagnosticCategory . Error , key : "The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190" , message : "The variable declaration of a 'for...of' statement cannot have an initializer." } , An_import_declaration_cannot_have_modifiers : { code : 1191 , category : e . DiagnosticCategory . Error , key : "An_import_declaration_cannot_have_modifiers_1191" , message : "An import declaration cannot have modifiers." } , Module_0_has_no_default_export : { code : 1192 , category : e . DiagnosticCategory . Error , key : "Module_0_has_no_default_export_1192" , message : "Module '{0}' has no default export." } , An_export_declaration_cannot_have_modifiers : { code : 1193 , category : e . DiagnosticCategory . Error , key : "An_export_declaration_cannot_have_modifiers_1193" , message : "An export declaration cannot have modifiers." } , Export_declarations_are_not_permitted_in_a_namespace : { code : 1194 , category : e . DiagnosticCategory . Error , key : "Export_declarations_are_not_permitted_in_a_namespace_1194" , message : "Export declarations are not permitted in a namespace." } , Catch_clause_variable_name_must_be_an_identifier : { code : 1195 , category : e . DiagnosticCategory . Error , key : "Catch_clause_variable_name_must_be_an_identifier_1195" , message : "Catch clause variable name must be an identifier." } , Catch_clause_variable_cannot_have_a_type_annotation : { code : 1196 , category : e . DiagnosticCategory . Error , key : "Catch_clause_variable_cannot_have_a_type_annotation_1196" , message : "Catch clause variable cannot have a type annotation." } , Catch_clause_variable_cannot_have_an_initializer : { code : 1197 , category : e . DiagnosticCategory . Error , key : "Catch_clause_variable_cannot_have_an_initializer_1197" , message : "Catch clause variable cannot have an initializer." } , An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive : { code : 1198 , category : e . DiagnosticCategory . Error , key : "An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198" , message : "An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive." } , Unterminated_Unicode_escape_sequence : { code : 1199 , category : e . DiagnosticCategory . Error , key : "Unterminated_Unicode_escape_sequence_1199" , message : "Unterminated Unicode escape sequence." } , Line_terminator_not_permitted_before_arrow : { code : 1200 , category : e . DiagnosticCategory . Error , key : "Line_terminator_not_permitted_before_arrow_1200" , message : "Line terminator not permitted before arrow." } , Import_assignment_cannot_be_used_when_targeting_ECMAScript_6_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead : { code : 1202 , category : e . DiagnosticCategory . Error , key : "Import_assignment_cannot_be_used_when_targeting_ECMAScript_6_modules_Consider_using_import_Asterisk__1202" , message : "Import assignment cannot be used when targeting ECMAScript 6 modules. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"', 'import d from \"mod\"', or another module format instead." } , Export_assignment_cannot_be_used_when_targeting_ECMAScript_6_modules_Consider_using_export_default_or_another_module_format_instead : { code : 1203 , category : e . DiagnosticCategory . Error , key : "Export_assignment_cannot_be_used_when_targeting_ECMAScript_6_modules_Consider_using_export_default_o_1203" , message : "Export assignment cannot be used when targeting ECMAScript 6 modules. Consider using 'export default' or another module format instead." } , Cannot_compile_modules_into_es2015_when_targeting_ES5_or_lower : { code : 1204 , category : e . DiagnosticCategory . Error , key : "Cannot_compile_modules_into_es2015_when_targeting_ES5_or_lower_1204" , message : "Cannot compile modules into 'es2015' when targeting 'ES5' or lower." } , Decorators_are_not_valid_here : { code : 1206 , category : e . DiagnosticCategory . Error , key : "Decorators_are_not_valid_here_1206" , message : "Decorators are not valid here." } , Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name : { code : 1207 , category : e . DiagnosticCategory . Error , key : "Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207" , message : "Decorators cannot be applied to multiple get/set accessors of the same name." } , Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided : { code : 1208 , category : e . DiagnosticCategory . Error , key : "Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided_1208" , message : "Cannot compile namespaces when the '--isolatedModules' flag is provided." } , Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided : { code : 1209 , category : e . DiagnosticCategory . Error , key : "Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided_1209" , message : "Ambient const enums are not allowed when the '--isolatedModules' flag is provided." } , Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode : { code : 1210 , category : e . DiagnosticCategory . Error , key : "Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode_1210" , message : "Invalid use of '{0}'. Class definitions are automatically in strict mode." } , A_class_declaration_without_the_default_modifier_must_have_a_name : { code : 1211 , category : e . DiagnosticCategory . Error , key : "A_class_declaration_without_the_default_modifier_must_have_a_name_1211" , message : "A class declaration without the 'default' modifier must have a name" } , Identifier_expected_0_is_a_reserved_word_in_strict_mode : { code : 1212 , category : e . DiagnosticCategory . Error , key : "Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212" , message : "Identifier expected. '{0}' is a reserved word in strict mode" } , Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode : { code : 1213 , category : e . DiagnosticCategory . Error , key : "Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213" , message : "Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode." } , Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode : { code : 1214 , category : e . DiagnosticCategory . Error , key : "Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214" , message : "Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode." } , Invalid_use_of_0_Modules_are_automatically_in_strict_mode : { code : 1215 , category : e . DiagnosticCategory . Error , key : "Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215" , message : "Invalid use of '{0}'. Modules are automatically in strict mode." } , Export_assignment_is_not_supported_when_module_flag_is_system : { code : 1218 , category : e . DiagnosticCategory . Error , key : "Export_assignment_is_not_supported_when_module_flag_is_system_1218" , message : "Export assignment is not supported when '--module' flag is 'system'." } , Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning : { code : 1219 , category : e . DiagnosticCategory . Error , key : "Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_t_1219" , message : "Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning." } , Generators_are_only_available_when_targeting_ECMAScript_6_or_higher : { code : 1220 , category : e . DiagnosticCategory . Error , key : "Generators_are_only_available_when_targeting_ECMAScript_6_or_higher_1220" , message : "Generators are only available when targeting ECMAScript 6 or higher." } , Generators_are_not_allowed_in_an_ambient_context : { code : 1221 , category : e . DiagnosticCategory . Error , key : "Generators_are_not_allowed_in_an_ambient_context_1221" , message : "Generators are not allowed in an ambient context." } , An_overload_signature_cannot_be_declared_as_a_generator : { code : 1222 , category : e . DiagnosticCategory . Error , key : "An_overload_signature_cannot_be_declared_as_a_generator_1222" , message : "An overload signature cannot be declared as a generator." } , _0_tag_already_specified : { code : 1223 , category : e . DiagnosticCategory . Error , key : "_0_tag_already_specified_1223" , message : "'{0}' tag already specified." } , Signature_0_must_have_a_type_predicate : { code : 1224 , category : e . DiagnosticCategory . Error , key : "Signature_0_must_have_a_type_predicate_1224" , message : "Signature '{0}' must have a type predicate." } , Cannot_find_parameter_0 : { code : 1225 , category : e . DiagnosticCategory . Error , key : "Cannot_find_parameter_0_1225" , message : "Cannot find parameter '{0}'." } , Type_predicate_0_is_not_assignable_to_1 : { code : 1226 , category : e . DiagnosticCategory . Error , key : "Type_predicate_0_is_not_assignable_to_1_1226" , message : "Type predicate '{0}' is not assignable to '{1}'." } , Parameter_0_is_not_in_the_same_position_as_parameter_1 : { code : 1227 , category : e . DiagnosticCategory . Error , key : "Parameter_0_is_not_in_the_same_position_as_parameter_1_1227" , message : "Parameter '{0}' is not in the same position as parameter '{1}'." } , A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods : { code : 1228 , category : e . DiagnosticCategory . Error , key : "A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228" , message : "A type predicate is only allowed in return type position for functions and methods." } , A_type_predicate_cannot_reference_a_rest_parameter : { code : 1229 , category : e . DiagnosticCategory . Error , key : "A_type_predicate_cannot_reference_a_rest_parameter_1229" , message : "A type predicate cannot reference a rest parameter." } , A_type_predicate_cannot_reference_element_0_in_a_binding_pattern : { code : 1230 , category : e . DiagnosticCategory . Error , key : "A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230" , message : "A type predicate cannot reference element '{0}' in a binding pattern." } , An_export_assignment_can_only_be_used_in_a_module : { code : 1231 , category : e . DiagnosticCategory . Error , key : "An_export_assignment_can_only_be_used_in_a_module_1231" , message : "An export assignment can only be used in a module." } , An_import_declaration_can_only_be_used_in_a_namespace_or_module : { code : 1232 , category : e . DiagnosticCategory . Error , key : "An_import_declaration_can_only_be_used_in_a_namespace_or_module_1232" , message : "An import declaration can only be used in a namespace or module." } , An_export_declaration_can_only_be_used_in_a_module : { code : 1233 , category : e . DiagnosticCategory . Error , key : "An_export_declaration_can_only_be_used_in_a_module_1233" , message : "An export declaration can only be used in a module." } , An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file : { code : 1234 , category : e . DiagnosticCategory . Error , key : "An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234" , message : "An ambient module declaration is only allowed at the top level in a file." } , A_namespace_declaration_is_only_allowed_in_a_namespace_or_module : { code : 1235 , category : e . DiagnosticCategory . Error , key : "A_namespace_declaration_is_only_allowed_in_a_namespace_or_module_1235" , message : "A namespace declaration is only allowed in a namespace or module." } , The_return_type_of_a_property_decorator_function_must_be_either_void_or_any : { code : 1236 , category : e . DiagnosticCategory . Error , key : "The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236" , message : "The return type of a property decorator function must be either 'void' or 'any'." } , The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any : { code : 1237 , category : e . DiagnosticCategory . Error , key : "The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237" , message : "The return type of a parameter decorator function must be either 'void' or 'any'." } , Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression : { code : 1238 , category : e . DiagnosticCategory . Error , key : "Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238" , message : "Unable to resolve signature of class decorator when called as an expression." } , Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression : { code : 1239 , category : e . DiagnosticCategory . Error , key : "Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239" , message : "Unable to resolve signature of parameter decorator when called as an expression." } , Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression : { code : 1240 , category : e . DiagnosticCategory . Error , key : "Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240" , message : "Unable to resolve signature of property decorator when called as an expression." } , Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression : { code : 1241 , category : e . DiagnosticCategory . Error , key : "Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241" , message : "Unable to resolve signature of method decorator when called as an expression." } , abstract_modifier_can_only_appear_on_a_class_or_method_declaration : { code : 1242 , category : e . DiagnosticCategory . Error , key : "abstract_modifier_can_only_appear_on_a_class_or_method_declaration_1242" , message : "'abstract' modifier can only appear on a class or method declaration." } , _0_modifier_cannot_be_used_with_1_modifier : { code : 1243 , category : e . DiagnosticCategory . Error , key : "_0_modifier_cannot_be_used_with_1_modifier_1243" , message : "'{0}' modifier cannot be used with '{1}' modifier." } , Abstract_methods_can_only_appear_within_an_abstract_class : { code : 1244 , category : e . DiagnosticCategory . Error , key : "Abstract_methods_can_only_appear_within_an_abstract_class_1244" , message : "Abstract methods can only appear within an abstract class." } , Method_0_cannot_have_an_implementation_because_it_is_marked_abstract : { code : 1245 , category : e . DiagnosticCategory . Error , key : "Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245" , message : "Method '{0}' cannot have an implementation because it is marked abstract." } , An_interface_property_cannot_have_an_initializer : { code : 1246 , category : e . DiagnosticCategory . Error , key : "An_interface_property_cannot_have_an_initializer_1246" , message : "An interface property cannot have an initializer." } , A_type_literal_property_cannot_have_an_initializer : { code : 1247 , category : e . DiagnosticCategory . Error , key : "A_type_literal_property_cannot_have_an_initializer_1247" , message : "A type literal property cannot have an initializer." } , A_class_member_cannot_have_the_0_keyword : { code : 1248 , category : e . DiagnosticCategory . Error , key : "A_class_member_cannot_have_the_0_keyword_1248" , message : "A class member cannot have the '{0}' keyword." } , A_decorator_can_only_decorate_a_method_implementation_not_an_overload : { code : 1249 , category : e . DiagnosticCategory . Error , key : "A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249" , message : "A decorator can only decorate a method implementation, not an overload." } , with_statements_are_not_allowed_in_an_async_function_block : { code : 1300 , category : e . DiagnosticCategory . Error , key : "with_statements_are_not_allowed_in_an_async_function_block_1300" , message : "'with' statements are not allowed in an async function block." } , await_expression_is_only_allowed_within_an_async_function : { code : 1308 , category : e . DiagnosticCategory . Error , key : "await_expression_is_only_allowed_within_an_async_function_1308" , message : "'await' expression is only allowed within an async function." } , Async_functions_are_only_available_when_targeting_ECMAScript_6_and_higher : { code : 1311 , category : e . DiagnosticCategory . Error , key : "Async_functions_are_only_available_when_targeting_ECMAScript_6_and_higher_1311" , message : "Async functions are only available when targeting ECMAScript 6 and higher." } , can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment : { code : 1312 , category : e . DiagnosticCategory . Error , key : "can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment_1312" , message : "'=' can only be used in an object literal property inside a destructuring assignment." } , The_body_of_an_if_statement_cannot_be_the_empty_statement : { code : 1313 , category : e . DiagnosticCategory . Error , key : "The_body_of_an_if_statement_cannot_be_the_empty_statement_1313" , message : "The body of an 'if' statement cannot be the empty statement." } , Duplicate_identifier_0 : { code : 2300 , category : e . DiagnosticCategory . Error , key : "Duplicate_identifier_0_2300" , message : "Duplicate identifier '{0}'." } , Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor : { code : 2301 , category : e . DiagnosticCategory . Error , key : "Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301" , message : "Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor." } , Static_members_cannot_reference_class_type_parameters : { code : 2302 , category : e . DiagnosticCategory . Error , key : "Static_members_cannot_reference_class_type_parameters_2302" , message : "Static members cannot reference class type parameters." } , Circular_definition_of_import_alias_0 : { code : 2303 , category : e . DiagnosticCategory . Error , key : "Circular_definition_of_import_alias_0_2303" , message : "Circular definition of import alias '{0}'." } , Cannot_find_name_0 : { code : 2304 , category : e . DiagnosticCategory . Error , key : "Cannot_find_name_0_2304" , message : "Cannot find name '{0}'." } , Module_0_has_no_exported_member_1 : { code : 2305 , category : e . DiagnosticCategory . Error , key : "Module_0_has_no_exported_member_1_2305" , message : "Module '{0}' has no exported member '{1}'." } , File_0_is_not_a_module : { code : 2306 , category : e . DiagnosticCategory . Error , key : "File_0_is_not_a_module_2306" , message : "File '{0}' is not a module." } , Cannot_find_module_0 : { code : 2307 , category : e . DiagnosticCategory . Error , key : "Cannot_find_module_0_2307" , message : "Cannot find module '{0}'." } , Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity : { code : 2308 , category : e . DiagnosticCategory . Error , key : "Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308" , message : "Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity." } , An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements : { code : 2309 , category : e . DiagnosticCategory . Error , key : "An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309" , message : "An export assignment cannot be used in a module with other exported elements." } , Type_0_recursively_references_itself_as_a_base_type : { code : 2310 , category : e . DiagnosticCategory . Error , key : "Type_0_recursively_references_itself_as_a_base_type_2310" , message : "Type '{0}' recursively references itself as a base type." } , A_class_may_only_extend_another_class : { code : 2311 , category : e . DiagnosticCategory . Error , key : "A_class_may_only_extend_another_class_2311" , message : "A class may only extend another class." } , An_interface_may_only_extend_a_class_or_another_interface : { code : 2312 , category : e . DiagnosticCategory . Error , key : "An_interface_may_only_extend_a_class_or_another_interface_2312" , message : "An interface may only extend a class or another interface." } , Type_parameter_0_has_a_circular_constraint : { code : 2313 , category : e . DiagnosticCategory . Error , key : "Type_parameter_0_has_a_circular_constraint_2313" , message : "Type parameter '{0}' has a circular constraint." } , Generic_type_0_requires_1_type_argument_s : { code : 2314 , category : e . DiagnosticCategory . Error , key : "Generic_type_0_requires_1_type_argument_s_2314" , message : "Generic type '{0}' requires {1} type argument(s)." } , Type_0_is_not_generic : { code : 2315 , category : e . DiagnosticCategory . Error , key : "Type_0_is_not_generic_2315" , message : "Type '{0}' is not generic." } , Global_type_0_must_be_a_class_or_interface_type : { code : 2316 , category : e . DiagnosticCategory . Error , key : "Global_type_0_must_be_a_class_or_interface_type_2316" , message : "Global type '{0}' must be a class or interface type." } , Global_type_0_must_have_1_type_parameter_s : { code : 2317 , category : e . DiagnosticCategory . Error , key : "Global_type_0_must_have_1_type_parameter_s_2317" , message : "Global type '{0}' must have {1} type parameter(s)." } , Cannot_find_global_type_0 : { code : 2318 , category : e . DiagnosticCategory . Error , key : "Cannot_find_global_type_0_2318" , message : "Cannot find global type '{0}'." } , Named_property_0_of_types_1_and_2_are_not_identical : { code : 2319 , category : e . DiagnosticCategory . Error , key : "Named_property_0_of_types_1_and_2_are_not_identical_2319" , message : "Named property '{0}' of types '{1}' and '{2}' are not identical." } , Interface_0_cannot_simultaneously_extend_types_1_and_2 : { code : 2320 , category : e . DiagnosticCategory . Error , key : "Interface_0_cannot_simultaneously_extend_types_1_and_2_2320" , message : "Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'." } , Excessive_stack_depth_comparing_types_0_and_1 : { code : 2321 , category : e . DiagnosticCategory . Error , key : "Excessive_stack_depth_comparing_types_0_and_1_2321" , message : "Excessive stack depth comparing types '{0}' and '{1}'." } , Type_0_is_not_assignable_to_type_1 : { code : 2322 , category : e . DiagnosticCategory . Error , key : "Type_0_is_not_assignable_to_type_1_2322" , message : "Type '{0}' is not assignable to type '{1}'." } , Cannot_redeclare_exported_variable_0 : { code : 2323 , category : e . DiagnosticCategory . Error , key : "Cannot_redeclare_exported_variable_0_2323" , message : "Cannot redeclare exported variable '{0}'." } , Property_0_is_missing_in_type_1 : { code : 2324 , category : e . DiagnosticCategory . Error , key : "Property_0_is_missing_in_type_1_2324" , message : "Property '{0}' is missing in type '{1}'." } , Property_0_is_private_in_type_1_but_not_in_type_2 : { code : 2325 , category : e . DiagnosticCategory . Error , key : "Property_0_is_private_in_type_1_but_not_in_type_2_2325" , message : "Property '{0}' is private in type '{1}' but not in type '{2}'." } , Types_of_property_0_are_incompatible : { code : 2326 , category : e . DiagnosticCategory . Error , key : "Types_of_property_0_are_incompatible_2326" , message : "Types of property '{0}' are incompatible." } , Property_0_is_optional_in_type_1_but_required_in_type_2 : { code : 2327 , category : e . DiagnosticCategory . Error , key : "Property_0_is_optional_in_type_1_but_required_in_type_2_2327" , message : "Property '{0}' is optional in type '{1}' but required in type '{2}'." } , Types_of_parameters_0_and_1_are_incompatible : { code : 2328 , category : e . DiagnosticCategory . Error , key : "Types_of_parameters_0_and_1_are_incompatible_2328" , message : "Types of parameters '{0}' and '{1}' are incompatible." } , Index_signature_is_missing_in_type_0 : { code : 2329 , category : e . DiagnosticCategory . Error , key : "Index_signature_is_missing_in_type_0_2329" , message : "Index signature is missing in type '{0}'." } , Index_signatures_are_incompatible : { code : 2330 , category : e . DiagnosticCategory . Error , key : "Index_signatures_are_incompatible_2330" , message : "Index signatures are incompatible." } , this_cannot_be_referenced_in_a_module_or_namespace_body : { code : 2331 , category : e . DiagnosticCategory . Error , key : "this_cannot_be_referenced_in_a_module_or_namespace_body_2331" , message : "'this' cannot be referenced in a module or namespace body." } , this_cannot_be_referenced_in_current_location : { code : 2332 , category : e . DiagnosticCategory . Error , key : "this_cannot_be_referenced_in_current_location_2332" , message : "'this' cannot be referenced in current location." } , this_cannot_be_referenced_in_constructor_arguments : { code : 2333 , category : e . DiagnosticCategory . Error , key : "this_cannot_be_referenced_in_constructor_arguments_2333" , message : "'this' cannot be referenced in constructor arguments." } , this_cannot_be_referenced_in_a_static_property_initializer : { code : 2334 , category : e . DiagnosticCategory . Error , key : "this_cannot_be_referenced_in_a_static_property_initializer_2334" , message : "'this' cannot be referenced in a static property initializer." } , super_can_only_be_referenced_in_a_derived_class : { code : 2335 , category : e . DiagnosticCategory . Error , key : "super_can_only_be_referenced_in_a_derived_class_2335" , message : "'super' can only be referenced in a derived class." } , super_cannot_be_referenced_in_constructor_arguments : { code : 2336 , category : e . DiagnosticCategory . Error , key : "super_cannot_be_referenced_in_constructor_arguments_2336" , message : "'super' cannot be referenced in constructor arguments." } , Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors : { code : 2337 , category : e . DiagnosticCategory . Error , key : "Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337" , message : "Super calls are not permitted outside constructors or in nested functions inside constructors." } , super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class : { code : 2338 , category : e . DiagnosticCategory . Error , key : "super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338" , message : "'super' property access is permitted only in a constructor, member function, or member accessor of a derived class." } , Property_0_does_not_exist_on_type_1 : { code : 2339 , category : e . DiagnosticCategory . Error , key : "Property_0_does_not_exist_on_type_1_2339" , message : "Property '{0}' does not exist on type '{1}'." } , Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword : { code : 2340 , category : e . DiagnosticCategory . Error , key : "Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340" , message : "Only public and protected methods of the base class are accessible via the 'super' keyword." } , Property_0_is_private_and_only_accessible_within_class_1 : { code : 2341 , category : e . DiagnosticCategory . Error , key : "Property_0_is_private_and_only_accessible_within_class_1_2341" , message : "Property '{0}' is private and only accessible within class '{1}'." } , An_index_expression_argument_must_be_of_type_string_number_symbol_or_any : { code : 2342 , category : e . DiagnosticCategory . Error , key : "An_index_expression_argument_must_be_of_type_string_number_symbol_or_any_2342" , message : "An index expression argument must be of type 'string', 'number', 'symbol', or 'any'." } , Type_0_does_not_satisfy_the_constraint_1 : { code : 2344 , category : e . DiagnosticCategory . Error , key : "Type_0_does_not_satisfy_the_constraint_1_2344" , message : "Type '{0}' does not satisfy the constraint '{1}'." } , Argument_of_type_0_is_not_assignable_to_parameter_of_type_1 : { code : 2345 , category : e . DiagnosticCategory . Error , key : "Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345" , message : "Argument of type '{0}' is not assignable to parameter of type '{1}'." } , Supplied_parameters_do_not_match_any_signature_of_call_target : { code : 2346 , category : e . DiagnosticCategory . Error , key : "Supplied_parameters_do_not_match_any_signature_of_call_target_2346" , message : "Supplied parameters do not match any signature of call target." } , Untyped_function_calls_may_not_accept_type_arguments : { code : 2347 , category : e . DiagnosticCategory . Error , key : "Untyped_function_calls_may_not_accept_type_arguments_2347" , message : "Untyped function calls may not accept type arguments." } , Value_of_type_0_is_not_callable_Did_you_mean_to_include_new : { code : 2348 , category : e . DiagnosticCategory . Error , key : "Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348" , message : "Value of type '{0}' is not callable. Did you mean to include 'new'?" } , Cannot_invoke_an_expression_whose_type_lacks_a_call_signature : { code : 2349 , category : e . DiagnosticCategory . Error , key : "Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_2349" , message : "Cannot invoke an expression whose type lacks a call signature." } , Only_a_void_function_can_be_called_with_the_new_keyword : { code : 2350 , category : e . DiagnosticCategory . Error , key : "Only_a_void_function_can_be_called_with_the_new_keyword_2350" , message : "Only a void function can be called with the 'new' keyword." } , Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature : { code : 2351 , category : e . DiagnosticCategory . Error , key : "Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature_2351" , message : "Cannot use 'new' with an expression whose type lacks a call or construct signature." } , Neither_type_0_nor_type_1_is_assignable_to_the_other : { code : 2352 , category : e . DiagnosticCategory . Error , key : "Neither_type_0_nor_type_1_is_assignable_to_the_other_2352" , message : "Neither type '{0}' nor type '{1}' is assignable to the other." } , Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1 : { code : 2353 , category : e . DiagnosticCategory . Error , key : "Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353" , message : "Object literal may only specify known properties, and '{0}' does not exist in type '{1}'." } , No_best_common_type_exists_among_return_expressions : { code : 2354 , category : e . DiagnosticCategory . Error , key : "No_best_common_type_exists_among_return_expressions_2354" , message : "No best common type exists among return expressions." } , A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value : { code : 2355 , category : e . DiagnosticCategory . Error , key : "A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355" , message : "A function whose declared type is neither 'void' nor 'any' must return a value." } , An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type : { code : 2356 , category : e . DiagnosticCategory . Error , key : "An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type_2356" , message : "An arithmetic operand must be of type 'any', 'number' or an enum type." } , The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer : { code : 2357 , category : e . DiagnosticCategory . Error , key : "The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer_2357" , message : "The operand of an increment or decrement operator must be a variable, property or indexer." } , The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter : { code : 2358 , category : e . DiagnosticCategory . Error , key : "The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358" , message : "The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter." } , The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type : { code : 2359 , category : e . DiagnosticCategory . Error , key : "The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359" , message : "The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type." } , The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol : { code : 2360 , category : e . DiagnosticCategory . Error , key : "The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol_2360" , message : "The left-hand side of an 'in' expression must be of type 'any', 'string', 'number', or 'symbol'." } , The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter : { code : 2361 , category : e . DiagnosticCategory . Error , key : "The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter_2361" , message : "The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter" } , The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type : { code : 2362 , category : e . DiagnosticCategory . Error , key : "The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type_2362" , message : "The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type." } , The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type : { code : 2363 , category : e . DiagnosticCategory . Error , key : "The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type_2363" , message : "The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type." } , Invalid_left_hand_side_of_assignment_expression : { code : 2364 , category : e . DiagnosticCategory . Error , key : "Invalid_left_hand_side_of_assignment_expression_2364" , message : "Invalid left-hand side of assignment expression." } , Operator_0_cannot_be_applied_to_types_1_and_2 : { code : 2365 , category : e . DiagnosticCategory . Error , key : "Operator_0_cannot_be_applied_to_types_1_and_2_2365" , message : "Operator '{0}' cannot be applied to types '{1}' and '{2}'." } , Type_parameter_name_cannot_be_0 : { code : 2368 , category : e . DiagnosticCategory . Error , key : "Type_parameter_name_cannot_be_0_2368" , message : "Type parameter name cannot be '{0}'" } , A_parameter_property_is_only_allowed_in_a_constructor_implementation : { code : 2369 , category : e . DiagnosticCategory . Error , key : "A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369" , message : "A parameter property is only allowed in a constructor implementation." } , A_rest_parameter_must_be_of_an_array_type : { code : 2370 , category : e . DiagnosticCategory . Error , key : "A_rest_parameter_must_be_of_an_array_type_2370" , message : "A rest parameter must be of an array type." } , A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation : { code : 2371 , category : e . DiagnosticCategory . Error , key : "A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371" , message : "A parameter initializer is only allowed in a function or constructor implementation." } , Parameter_0_cannot_be_referenced_in_its_initializer : { code : 2372 , category : e . DiagnosticCategory . Error , key : "Parameter_0_cannot_be_referenced_in_its_initializer_2372" , message : "Parameter '{0}' cannot be referenced in its initializer." } , Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it : { code : 2373 , category : e . DiagnosticCategory . Error , key : "Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it_2373" , message : "Initializer of parameter '{0}' cannot reference identifier '{1}' declared after it." } , Duplicate_string_index_signature : { code : 2374 , category : e . DiagnosticCategory . Error , key : "Duplicate_string_index_signature_2374" , message : "Duplicate string index signature." } , Duplicate_number_index_signature : { code : 2375 , category : e . DiagnosticCategory . Error , key : "Duplicate_number_index_signature_2375" , message : "Duplicate number index signature." } , A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties : { code : 2376 , category : e . DiagnosticCategory . Error , key : "A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_proper_2376" , message : "A 'super' call must be the first statement in the constructor when a class contains initialized properties or has parameter properties." } , Constructors_for_derived_classes_must_contain_a_super_call : { code : 2377 , category : e . DiagnosticCategory . Error , key : "Constructors_for_derived_classes_must_contain_a_super_call_2377" , message : "Constructors for derived classes must contain a 'super' call." } , A_get_accessor_must_return_a_value : { code : 2378 , category : e . DiagnosticCategory . Error , key : "A_get_accessor_must_return_a_value_2378" , message : "A 'get' accessor must return a value." } , Getter_and_setter_accessors_do_not_agree_in_visibility : { code : 2379 , category : e . DiagnosticCategory . Error , key : "Getter_and_setter_accessors_do_not_agree_in_visibility_2379" , message : "Getter and setter accessors do not agree in visibility." } , get_and_set_accessor_must_have_the_same_type : { code : 2380 , category : e . DiagnosticCategory . Error , key : "get_and_set_accessor_must_have_the_same_type_2380" , message : "'get' and 'set' accessor must have the same type." } , A_signature_with_an_implementation_cannot_use_a_string_literal_type : { code : 2381 , category : e . DiagnosticCategory . Error , key : "A_signature_with_an_implementation_cannot_use_a_string_literal_type_2381" , message : "A signature with an implementation cannot use a string literal type." } , Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature : { code : 2382 , category : e . DiagnosticCategory . Error , key : "Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature_2382" , message : "Specialized overload signature is not assignable to any non-specialized signature." } , Overload_signatures_must_all_be_exported_or_not_exported : { code : 2383 , category : e . DiagnosticCategory . Error , key : "Overload_signatures_must_all_be_exported_or_not_exported_2383" , message : "Overload signatures must all be exported or not exported." } , Overload_signatures_must_all_be_ambient_or_non_ambient : { code : 2384 , category : e . DiagnosticCategory . Error , key : "Overload_signatures_must_all_be_ambient_or_non_ambient_2384" , message : "Overload signatures must all be ambient or non-ambient." } , Overload_signatures_must_all_be_public_private_or_protected : { code : 2385 , category : e . DiagnosticCategory . Error , key : "Overload_signatures_must_all_be_public_private_or_protected_2385" , message : "Overload signatures must all be public, private or protected." } , Overload_signatures_must_all_be_optional_or_required : { code : 2386 , category : e . DiagnosticCategory . Error , key : "Overload_signatures_must_all_be_optional_or_required_2386" , message : "Overload signatures must all be optional or required." } , Function_overload_must_be_static : { code : 2387 , category : e . DiagnosticCategory . Error , key : "Function_overload_must_be_static_2387" , message : "Function overload must be static." } , Function_overload_must_not_be_static : { code : 2388 , category : e . DiagnosticCategory . Error , key : "Function_overload_must_not_be_static_2388" , message : "Function overload must not be static." } , Function_implementation_name_must_be_0 : { code : 2389 , category : e . DiagnosticCategory . Error , key : "Function_implementation_name_must_be_0_2389" , message : "Function implementation name must be '{0}'." } , Constructor_implementation_is_missing : { code : 2390 , category : e . DiagnosticCategory . Error , key : "Constructor_implementation_is_missing_2390" , message : "Constructor implementation is missing." } , Function_implementation_is_missing_or_not_immediately_following_the_declaration : { code : 2391 , category : e . DiagnosticCategory . Error , key : "Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391" , message : "Function implementation is missing or not immediately following the declaration." } , Multiple_constructor_implementations_are_not_allowed : { code : 2392 , category : e . DiagnosticCategory . Error , key : "Multiple_constructor_implementations_are_not_allowed_2392" , message : "Multiple constructor implementations are not allowed." } , Duplicate_function_implementation : { code : 2393 , category : e . DiagnosticCategory . Error , key : "Duplicate_function_implementation_2393" , message : "Duplicate function implementation." } , Overload_signature_is_not_compatible_with_function_implementation : { code : 2394 , category : e . DiagnosticCategory . Error , key : "Overload_signature_is_not_compatible_with_function_implementation_2394" , message : "Overload signature is not compatible with function implementation." } , Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local : { code : 2395 , category : e . DiagnosticCategory . Error , key : "Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395" , message : "Individual declarations in merged declaration '{0}' must be all exported or all local." } , Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters : { code : 2396 , category : e . DiagnosticCategory . Error , key : "Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396" , message : "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters." } , Declaration_name_conflicts_with_built_in_global_identifier_0 : { code : 2397 , category : e . DiagnosticCategory . Error , key : "Declaration_name_conflicts_with_built_in_global_identifier_0_2397" , message : "Declaration name conflicts with built-in global identifier '{0}'." } , Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference : { code : 2399 , category : e . DiagnosticCategory . Error , key : "Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399" , message : "Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference." } , Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference : { code : 2400 , category : e . DiagnosticCategory . Error , key : "Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400" , message : "Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference." } , Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference : { code : 2401 , category : e . DiagnosticCategory . Error , key : "Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference_2401" , message : "Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference." } , Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference : { code : 2402 , category : e . DiagnosticCategory . Error , key : "Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402" , message : "Expression resolves to '_super' that compiler uses to capture base class reference." } , Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2 : { code : 2403 , category : e . DiagnosticCategory . Error , key : "Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403" , message : "Subsequent variable declarations must have the same type.  Variable '{0}' must be of type '{1}', but here has type '{2}'." } , The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation : { code : 2404 , category : e . DiagnosticCategory . Error , key : "The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404" , message : "The left-hand side of a 'for...in' statement cannot use a type annotation." } , The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any : { code : 2405 , category : e . DiagnosticCategory . Error , key : "The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405" , message : "The left-hand side of a 'for...in' statement must be of type 'string' or 'any'." } , Invalid_left_hand_side_in_for_in_statement : { code : 2406 , category : e . DiagnosticCategory . Error , key : "Invalid_left_hand_side_in_for_in_statement_2406" , message : "Invalid left-hand side in 'for...in' statement." } , The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter : { code : 2407 , category : e . DiagnosticCategory . Error , key : "The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_2407" , message : "The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter." } , Setters_cannot_return_a_value : { code : 2408 , category : e . DiagnosticCategory . Error , key : "Setters_cannot_return_a_value_2408" , message : "Setters cannot return a value." } , Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class : { code : 2409 , category : e . DiagnosticCategory . Error , key : "Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409" , message : "Return type of constructor signature must be assignable to the instance type of the class" } , All_symbols_within_a_with_block_will_be_resolved_to_any : { code : 2410 , category : e . DiagnosticCategory . Error , key : "All_symbols_within_a_with_block_will_be_resolved_to_any_2410" , message : "All symbols within a 'with' block will be resolved to 'any'." } , Property_0_of_type_1_is_not_assignable_to_string_index_type_2 : { code : 2411 , category : e . DiagnosticCategory . Error , key : "Property_0_of_type_1_is_not_assignable_to_string_index_type_2_2411" , message : "Property '{0}' of type '{1}' is not assignable to string index type '{2}'." } , Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2 : { code : 2412 , category : e . DiagnosticCategory . Error , key : "Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2_2412" , message : "Property '{0}' of type '{1}' is not assignable to numeric index type '{2}'." } , Numeric_index_type_0_is_not_assignable_to_string_index_type_1 : { code : 2413 , category : e . DiagnosticCategory . Error , key : "Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413" , message : "Numeric index type '{0}' is not assignable to string index type '{1}'." } , Class_name_cannot_be_0 : { code : 2414 , category : e . DiagnosticCategory . Error , key : "Class_name_cannot_be_0_2414" , message : "Class name cannot be '{0}'" } , Class_0_incorrectly_extends_base_class_1 : { code : 2415 , category : e . DiagnosticCategory . Error , key : "Class_0_incorrectly_extends_base_class_1_2415" , message : "Class '{0}' incorrectly extends base class '{1}'." } , Class_static_side_0_incorrectly_extends_base_class_static_side_1 : { code : 2417 , category : e . DiagnosticCategory . Error , key : "Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417" , message : "Class static side '{0}' incorrectly extends base class static side '{1}'." } , Type_name_0_in_extends_clause_does_not_reference_constructor_function_for_0 : { code : 2419 , category : e . DiagnosticCategory . Error , key : "Type_name_0_in_extends_clause_does_not_reference_constructor_function_for_0_2419" , message : "Type name '{0}' in extends clause does not reference constructor function for '{0}'." } , Class_0_incorrectly_implements_interface_1 : { code : 2420 , category : e . DiagnosticCategory . Error , key : "Class_0_incorrectly_implements_interface_1_2420" , message : "Class '{0}' incorrectly implements interface '{1}'." } , A_class_may_only_implement_another_class_or_interface : { code : 2422 , category : e . DiagnosticCategory . Error , key : "A_class_may_only_implement_another_class_or_interface_2422" , message : "A class may only implement another class or interface." } , Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor : { code : 2423 , category : e . DiagnosticCategory . Error , key : "Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423" , message : "Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor." } , Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property : { code : 2424 , category : e . DiagnosticCategory . Error , key : "Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_proper_2424" , message : "Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member property." } , Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function : { code : 2425 , category : e . DiagnosticCategory . Error , key : "Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425" , message : "Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function." } , Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function : { code : 2426 , category : e . DiagnosticCategory . Error , key : "Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426" , message : "Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function." } , Interface_name_cannot_be_0 : { code : 2427 , category : e . DiagnosticCategory . Error , key : "Interface_name_cannot_be_0_2427" , message : "Interface name cannot be '{0}'" } , All_declarations_of_an_interface_must_have_identical_type_parameters : { code : 2428 , category : e . DiagnosticCategory . Error , key : "All_declarations_of_an_interface_must_have_identical_type_parameters_2428" , message : "All declarations of an interface must have identical type parameters." } , Interface_0_incorrectly_extends_interface_1 : { code : 2430 , category : e . DiagnosticCategory . Error , key : "Interface_0_incorrectly_extends_interface_1_2430" , message : "Interface '{0}' incorrectly extends interface '{1}'." } , Enum_name_cannot_be_0 : { code : 2431 , category : e . DiagnosticCategory . Error , key : "Enum_name_cannot_be_0_2431" , message : "Enum name cannot be '{0}'" } , In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element : { code : 2432 , category : e . DiagnosticCategory . Error , key : "In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432" , message : "In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element." } , A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged : { code : 2433 , category : e . DiagnosticCategory . Error , key : "A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433" , message : "A namespace declaration cannot be in a different file from a class or function with which it is merged" } , A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged : { code : 2434 , category : e . DiagnosticCategory . Error , key : "A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434" , message : "A namespace declaration cannot be located prior to a class or function with which it is merged" } , Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces : { code : 2435 , category : e . DiagnosticCategory . Error , key : "Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435" , message : "Ambient modules cannot be nested in other modules or namespaces." } , Ambient_module_declaration_cannot_specify_relative_module_name : { code : 2436 , category : e . DiagnosticCategory . Error , key : "Ambient_module_declaration_cannot_specify_relative_module_name_2436" , message : "Ambient module declaration cannot specify relative module name." } , Module_0_is_hidden_by_a_local_declaration_with_the_same_name : { code : 2437 , category : e . DiagnosticCategory . Error , key : "Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437" , message : "Module '{0}' is hidden by a local declaration with the same name" } , Import_name_cannot_be_0 : { code : 2438 , category : e . DiagnosticCategory . Error , key : "Import_name_cannot_be_0_2438" , message : "Import name cannot be '{0}'" } , Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name : { code : 2439 , category : e . DiagnosticCategory . Error , key : "Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439" , message : "Import or export declaration in an ambient module declaration cannot reference module through relative module name." } , Import_declaration_conflicts_with_local_declaration_of_0 : { code : 2440 , category : e . DiagnosticCategory . Error , key : "Import_declaration_conflicts_with_local_declaration_of_0_2440" , message : "Import declaration conflicts with local declaration of '{0}'" } , Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module : { code : 2441 , category : e . DiagnosticCategory . Error , key : "Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441" , message : "Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module." } , Types_have_separate_declarations_of_a_private_property_0 : { code : 2442 , category : e . DiagnosticCategory . Error , key : "Types_have_separate_declarations_of_a_private_property_0_2442" , message : "Types have separate declarations of a private property '{0}'." } , Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2 : { code : 2443 , category : e . DiagnosticCategory . Error , key : "Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443" , message : "Property '{0}' is protected but type '{1}' is not a class derived from '{2}'." } , Property_0_is_protected_in_type_1_but_public_in_type_2 : { code : 2444 , category : e . DiagnosticCategory . Error , key : "Property_0_is_protected_in_type_1_but_public_in_type_2_2444" , message : "Property '{0}' is protected in type '{1}' but public in type '{2}'." } , Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses : { code : 2445 , category : e . DiagnosticCategory . Error , key : "Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445" , message : "Property '{0}' is protected and only accessible within class '{1}' and its subclasses." } , Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1 : { code : 2446 , category : e . DiagnosticCategory . Error , key : "Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_2446" , message : "Property '{0}' is protected and only accessible through an instance of class '{1}'." } , The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead : { code : 2447 , category : e . DiagnosticCategory . Error , key : "The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447" , message : "The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead." } , Block_scoped_variable_0_used_before_its_declaration : { code : 2448 , category : e . DiagnosticCategory . Error , key : "Block_scoped_variable_0_used_before_its_declaration_2448" , message : "Block-scoped variable '{0}' used before its declaration." } , The_operand_of_an_increment_or_decrement_operator_cannot_be_a_constant : { code : 2449 , category : e . DiagnosticCategory . Error , key : "The_operand_of_an_increment_or_decrement_operator_cannot_be_a_constant_2449" , message : "The operand of an increment or decrement operator cannot be a constant." } , Left_hand_side_of_assignment_expression_cannot_be_a_constant : { code : 2450 , category : e . DiagnosticCategory . Error , key : "Left_hand_side_of_assignment_expression_cannot_be_a_constant_2450" , message : "Left-hand side of assignment expression cannot be a constant." } , Cannot_redeclare_block_scoped_variable_0 : { code : 2451 , category : e . DiagnosticCategory . Error , key : "Cannot_redeclare_block_scoped_variable_0_2451" , message : "Cannot redeclare block-scoped variable '{0}'." } , An_enum_member_cannot_have_a_numeric_name : { code : 2452 , category : e . DiagnosticCategory . Error , key : "An_enum_member_cannot_have_a_numeric_name_2452" , message : "An enum member cannot have a numeric name." } , The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly : { code : 2453 , category : e . DiagnosticCategory . Error , key : "The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_typ_2453" , message : "The type argument for type parameter '{0}' cannot be inferred from the usage. Consider specifying the type arguments explicitly." } , Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0 : { code : 2455 , category : e . DiagnosticCategory . Error , key : "Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0_2455" , message : "Type argument candidate '{1}' is not a valid type argument because it is not a supertype of candidate '{0}'." } , Type_alias_0_circularly_references_itself : { code : 2456 , category : e . DiagnosticCategory . Error , key : "Type_alias_0_circularly_references_itself_2456" , message : "Type alias '{0}' circularly references itself." } , Type_alias_name_cannot_be_0 : { code : 2457 , category : e . DiagnosticCategory . Error , key : "Type_alias_name_cannot_be_0_2457" , message : "Type alias name cannot be '{0}'" } , An_AMD_module_cannot_have_multiple_name_assignments : { code : 2458 , category : e . DiagnosticCategory . Error , key : "An_AMD_module_cannot_have_multiple_name_assignments_2458" , message : "An AMD module cannot have multiple name assignments." } , Type_0_has_no_property_1_and_no_string_index_signature : { code : 2459 , category : e . DiagnosticCategory . Error , key : "Type_0_has_no_property_1_and_no_string_index_signature_2459" , message : "Type '{0}' has no property '{1}' and no string index signature." } , Type_0_has_no_property_1 : { code : 2460 , category : e . DiagnosticCategory . Error , key : "Type_0_has_no_property_1_2460" , message : "Type '{0}' has no property '{1}'." } , Type_0_is_not_an_array_type : { code : 2461 , category : e . DiagnosticCategory . Error , key : "Type_0_is_not_an_array_type_2461" , message : "Type '{0}' is not an array type." } , A_rest_element_must_be_last_in_an_array_destructuring_pattern : { code : 2462 , category : e . DiagnosticCategory . Error , key : "A_rest_element_must_be_last_in_an_array_destructuring_pattern_2462" , message : "A rest element must be last in an array destructuring pattern" } , A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature : { code : 2463 , category : e . DiagnosticCategory . Error , key : "A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463" , message : "A binding pattern parameter cannot be optional in an implementation signature." } , A_computed_property_name_must_be_of_type_string_number_symbol_or_any : { code : 2464 , category : e . DiagnosticCategory . Error , key : "A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464" , message : "A computed property name must be of type 'string', 'number', 'symbol', or 'any'." } , this_cannot_be_referenced_in_a_computed_property_name : { code : 2465 , category : e . DiagnosticCategory . Error , key : "this_cannot_be_referenced_in_a_computed_property_name_2465" , message : "'this' cannot be referenced in a computed property name." } , super_cannot_be_referenced_in_a_computed_property_name : { code : 2466 , category : e . DiagnosticCategory . Error , key : "super_cannot_be_referenced_in_a_computed_property_name_2466" , message : "'super' cannot be referenced in a computed property name." } , A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type : { code : 2467 , category : e . DiagnosticCategory . Error , key : "A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467" , message : "A computed property name cannot reference a type parameter from its containing type." } , Cannot_find_global_value_0 : { code : 2468 , category : e . DiagnosticCategory . Error , key : "Cannot_find_global_value_0_2468" , message : "Cannot find global value '{0}'." } , The_0_operator_cannot_be_applied_to_type_symbol : { code : 2469 , category : e . DiagnosticCategory . Error , key : "The_0_operator_cannot_be_applied_to_type_symbol_2469" , message : "The '{0}' operator cannot be applied to type 'symbol'." } , Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object : { code : 2470 , category : e . DiagnosticCategory . Error , key : "Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object_2470" , message : "'Symbol' reference does not refer to the global Symbol constructor object." } , A_computed_property_name_of_the_form_0_must_be_of_type_symbol : { code : 2471 , category : e . DiagnosticCategory . Error , key : "A_computed_property_name_of_the_form_0_must_be_of_type_symbol_2471" , message : "A computed property name of the form '{0}' must be of type 'symbol'." } , Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher : { code : 2472 , category : e . DiagnosticCategory . Error , key : "Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472" , message : "Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher." } , Enum_declarations_must_all_be_const_or_non_const : { code : 2473 , category : e . DiagnosticCategory . Error , key : "Enum_declarations_must_all_be_const_or_non_const_2473" , message : "Enum declarations must all be const or non-const." } , In_const_enum_declarations_member_initializer_must_be_constant_expression : { code : 2474 , category : e . DiagnosticCategory . Error , key : "In_const_enum_declarations_member_initializer_must_be_constant_expression_2474" , message : "In 'const' enum declarations member initializer must be constant expression." } , const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment : { code : 2475 , category : e . DiagnosticCategory . Error , key : "const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475" , message : "'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment." } , A_const_enum_member_can_only_be_accessed_using_a_string_literal : { code : 2476 , category : e . DiagnosticCategory . Error , key : "A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476" , message : "A const enum member can only be accessed using a string literal." } , const_enum_member_initializer_was_evaluated_to_a_non_finite_value : { code : 2477 , category : e . DiagnosticCategory . Error , key : "const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477" , message : "'const' enum member initializer was evaluated to a non-finite value." } , const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN : { code : 2478 , category : e . DiagnosticCategory . Error , key : "const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478" , message : "'const' enum member initializer was evaluated to disallowed value 'NaN'." } , Property_0_does_not_exist_on_const_enum_1 : { code : 2479 , category : e . DiagnosticCategory . Error , key : "Property_0_does_not_exist_on_const_enum_1_2479" , message : "Property '{0}' does not exist on 'const' enum '{1}'." } , let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations : { code : 2480 , category : e . DiagnosticCategory . Error , key : "let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480" , message : "'let' is not allowed to be used as a name in 'let' or 'const' declarations." } , Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1 : { code : 2481 , category : e . DiagnosticCategory . Error , key : "Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481" , message : "Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'." } , The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation : { code : 2483 , category : e . DiagnosticCategory . Error , key : "The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483" , message : "The left-hand side of a 'for...of' statement cannot use a type annotation." } , Export_declaration_conflicts_with_exported_declaration_of_0 : { code : 2484 , category : e . DiagnosticCategory . Error , key : "Export_declaration_conflicts_with_exported_declaration_of_0_2484" , message : "Export declaration conflicts with exported declaration of '{0}'" } , The_left_hand_side_of_a_for_of_statement_cannot_be_a_previously_defined_constant : { code : 2485 , category : e . DiagnosticCategory . Error , key : "The_left_hand_side_of_a_for_of_statement_cannot_be_a_previously_defined_constant_2485" , message : "The left-hand side of a 'for...of' statement cannot be a previously defined constant." } , The_left_hand_side_of_a_for_in_statement_cannot_be_a_previously_defined_constant : { code : 2486 , category : e . DiagnosticCategory . Error , key : "The_left_hand_side_of_a_for_in_statement_cannot_be_a_previously_defined_constant_2486" , message : "The left-hand side of a 'for...in' statement cannot be a previously defined constant." } , Invalid_left_hand_side_in_for_of_statement : { code : 2487 , category : e . DiagnosticCategory . Error , key : "Invalid_left_hand_side_in_for_of_statement_2487" , message : "Invalid left-hand side in 'for...of' statement." } , Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator : { code : 2488 , category : e . DiagnosticCategory . Error , key : "Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488" , message : "Type must have a '[Symbol.iterator]()' method that returns an iterator." } , An_iterator_must_have_a_next_method : { code : 2489 , category : e . DiagnosticCategory . Error , key : "An_iterator_must_have_a_next_method_2489" , message : "An iterator must have a 'next()' method." } , The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property : { code : 2490 , category : e . DiagnosticCategory . Error , key : "The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property_2490" , message : "The type returned by the 'next()' method of an iterator must have a 'value' property." } , The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern : { code : 2491 , category : e . DiagnosticCategory . Error , key : "The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491" , message : "The left-hand side of a 'for...in' statement cannot be a destructuring pattern." } , Cannot_redeclare_identifier_0_in_catch_clause : { code : 2492 , category : e . DiagnosticCategory . Error , key : "Cannot_redeclare_identifier_0_in_catch_clause_2492" , message : "Cannot redeclare identifier '{0}' in catch clause" } , Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2 : { code : 2493 , category : e . DiagnosticCategory . Error , key : "Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2_2493" , message : "Tuple type '{0}' with length '{1}' cannot be assigned to tuple with length '{2}'." } , Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher : { code : 2494 , category : e . DiagnosticCategory . Error , key : "Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494" , message : "Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher." } , Type_0_is_not_an_array_type_or_a_string_type : { code : 2495 , category : e . DiagnosticCategory . Error , key : "Type_0_is_not_an_array_type_or_a_string_type_2495" , message : "Type '{0}' is not an array type or a string type." } , The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression : { code : 2496 , category : e . DiagnosticCategory . Error , key : "The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496" , message : "The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression." } , Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct : { code : 2497 , category : e . DiagnosticCategory . Error , key : "Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct_2497" , message : "Module '{0}' resolves to a non-module entity and cannot be imported using this construct." } , Module_0_uses_export_and_cannot_be_used_with_export_Asterisk : { code : 2498 , category : e . DiagnosticCategory . Error , key : "Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498" , message : "Module '{0}' uses 'export =' and cannot be used with 'export *'." } , An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments : { code : 2499 , category : e . DiagnosticCategory . Error , key : "An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499" , message : "An interface can only extend an identifier/qualified-name with optional type arguments." } , A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments : { code : 2500 , category : e . DiagnosticCategory . Error , key : "A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500" , message : "A class can only implement an identifier/qualified-name with optional type arguments." } , A_rest_element_cannot_contain_a_binding_pattern : { code : 2501 , category : e . DiagnosticCategory . Error , key : "A_rest_element_cannot_contain_a_binding_pattern_2501" , message : "A rest element cannot contain a binding pattern." } , _0_is_referenced_directly_or_indirectly_in_its_own_type_annotation : { code : 2502 , category : e . DiagnosticCategory . Error , key : "_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502" , message : "'{0}' is referenced directly or indirectly in its own type annotation." } , Cannot_find_namespace_0 : { code : 2503 , category : e . DiagnosticCategory . Error , key : "Cannot_find_namespace_0_2503" , message : "Cannot find namespace '{0}'." } , No_best_common_type_exists_among_yield_expressions : { code : 2504 , category : e . DiagnosticCategory . Error , key : "No_best_common_type_exists_among_yield_expressions_2504" , message : "No best common type exists among yield expressions." } , A_generator_cannot_have_a_void_type_annotation : { code : 2505 , category : e . DiagnosticCategory . Error , key : "A_generator_cannot_have_a_void_type_annotation_2505" , message : "A generator cannot have a 'void' type annotation." } , _0_is_referenced_directly_or_indirectly_in_its_own_base_expression : { code : 2506 , category : e . DiagnosticCategory . Error , key : "_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506" , message : "'{0}' is referenced directly or indirectly in its own base expression." } , Type_0_is_not_a_constructor_function_type : { code : 2507 , category : e . DiagnosticCategory . Error , key : "Type_0_is_not_a_constructor_function_type_2507" , message : "Type '{0}' is not a constructor function type." } , No_base_constructor_has_the_specified_number_of_type_arguments : { code : 2508 , category : e . DiagnosticCategory . Error , key : "No_base_constructor_has_the_specified_number_of_type_arguments_2508" , message : "No base constructor has the specified number of type arguments." } , Base_constructor_return_type_0_is_not_a_class_or_interface_type : { code : 2509 , category : e . DiagnosticCategory . Error , key : "Base_constructor_return_type_0_is_not_a_class_or_interface_type_2509" , message : "Base constructor return type '{0}' is not a class or interface type." } , Base_constructors_must_all_have_the_same_return_type : { code : 2510 , category : e . DiagnosticCategory . Error , key : "Base_constructors_must_all_have_the_same_return_type_2510" , message : "Base constructors must all have the same return type." } , Cannot_create_an_instance_of_the_abstract_class_0 : { code : 2511 , category : e . DiagnosticCategory . Error , key : "Cannot_create_an_instance_of_the_abstract_class_0_2511" , message : "Cannot create an instance of the abstract class '{0}'." } , Overload_signatures_must_all_be_abstract_or_not_abstract : { code : 2512 , category : e . DiagnosticCategory . Error , key : "Overload_signatures_must_all_be_abstract_or_not_abstract_2512" , message : "Overload signatures must all be abstract or not abstract." } , Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression : { code : 2513 , category : e . DiagnosticCategory . Error , key : "Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513" , message : "Abstract method '{0}' in class '{1}' cannot be accessed via super expression." } , Classes_containing_abstract_methods_must_be_marked_abstract : { code : 2514 , category : e . DiagnosticCategory . Error , key : "Classes_containing_abstract_methods_must_be_marked_abstract_2514" , message : "Classes containing abstract methods must be marked abstract." } , Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2 : { code : 2515 , category : e . DiagnosticCategory . Error , key : "Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515" , message : "Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'." } , All_declarations_of_an_abstract_method_must_be_consecutive : { code : 2516 , category : e . DiagnosticCategory . Error , key : "All_declarations_of_an_abstract_method_must_be_consecutive_2516" , message : "All declarations of an abstract method must be consecutive." } , Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type : { code : 2517 , category : e . DiagnosticCategory . Error , key : "Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517" , message : "Cannot assign an abstract constructor type to a non-abstract constructor type." } , A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard : { code : 2518 , category : e . DiagnosticCategory . Error , key : "A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518" , message : "A 'this'-based type guard is not compatible with a parameter-based type guard." } , Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions : { code : 2520 , category : e . DiagnosticCategory . Error , key : "Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520" , message : "Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions." } , Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions : { code : 2521 , category : e . DiagnosticCategory . Error , key : "Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions_2521" , message : "Expression resolves to variable declaration '{0}' that compiler uses to support async functions." } , The_arguments_object_cannot_be_referenced_in_an_async_arrow_function_Consider_using_a_standard_async_function_expression : { code : 2522 , category : e . DiagnosticCategory . Error , key : "The_arguments_object_cannot_be_referenced_in_an_async_arrow_function_Consider_using_a_standard_async_2522" , message : "The 'arguments' object cannot be referenced in an async arrow function. Consider using a standard async function expression." } , yield_expressions_cannot_be_used_in_a_parameter_initializer : { code : 2523 , category : e . DiagnosticCategory . Error , key : "yield_expressions_cannot_be_used_in_a_parameter_initializer_2523" , message : "'yield' expressions cannot be used in a parameter initializer." } , await_expressions_cannot_be_used_in_a_parameter_initializer : { code : 2524 , category : e . DiagnosticCategory . Error , key : "await_expressions_cannot_be_used_in_a_parameter_initializer_2524" , message : "'await' expressions cannot be used in a parameter initializer." } , Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value : { code : 2525 , category : e . DiagnosticCategory . Error , key : "Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525" , message : "Initializer provides no value for this binding element and the binding element has no default value." } , A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface : { code : 2526 , category : e . DiagnosticCategory . Error , key : "A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526" , message : "A 'this' type is available only in a non-static member of a class or interface." } , The_inferred_type_of_0_references_an_inaccessible_this_type_A_type_annotation_is_necessary : { code : 2527 , category : e . DiagnosticCategory . Error , key : "The_inferred_type_of_0_references_an_inaccessible_this_type_A_type_annotation_is_necessary_2527" , message : "The inferred type of '{0}' references an inaccessible 'this' type. A type annotation is necessary." } , A_module_cannot_have_multiple_default_exports : { code : 2528 , category : e . DiagnosticCategory . Error , key : "A_module_cannot_have_multiple_default_exports_2528" , message : "A module cannot have multiple default exports." } , Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions : { code : 2529 , category : e . DiagnosticCategory . Error , key : "Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529" , message : "Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions." } , JSX_element_attributes_type_0_may_not_be_a_union_type : { code : 2600 , category : e . DiagnosticCategory . Error , key : "JSX_element_attributes_type_0_may_not_be_a_union_type_2600" , message : "JSX element attributes type '{0}' may not be a union type." } , The_return_type_of_a_JSX_element_constructor_must_return_an_object_type : { code : 2601 , category : e . DiagnosticCategory . Error , key : "The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601" , message : "The return type of a JSX element constructor must return an object type." } , JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist : { code : 2602 , category : e . DiagnosticCategory . Error , key : "JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602" , message : "JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist." } , Property_0_in_type_1_is_not_assignable_to_type_2 : { code : 2603 , category : e . DiagnosticCategory . Error , key : "Property_0_in_type_1_is_not_assignable_to_type_2_2603" , message : "Property '{0}' in type '{1}' is not assignable to type '{2}'" } , JSX_element_type_0_does_not_have_any_construct_or_call_signatures : { code : 2604 , category : e . DiagnosticCategory . Error , key : "JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604" , message : "JSX element type '{0}' does not have any construct or call signatures." } , JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements : { code : 2605 , category : e . DiagnosticCategory . Error , key : "JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements_2605" , message : "JSX element type '{0}' is not a constructor function for JSX elements." } , Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property : { code : 2606 , category : e . DiagnosticCategory . Error , key : "Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606" , message : "Property '{0}' of JSX spread attribute is not assignable to target property." } , JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property : { code : 2607 , category : e . DiagnosticCategory . Error , key : "JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607" , message : "JSX element class does not support attributes because it does not have a '{0}' property" } , The_global_type_JSX_0_may_not_have_more_than_one_property : { code : 2608 , category : e . DiagnosticCategory . Error , key : "The_global_type_JSX_0_may_not_have_more_than_one_property_2608" , message : "The global type 'JSX.{0}' may not have more than one property" } , Cannot_emit_namespaced_JSX_elements_in_React : { code : 2650 , category : e . DiagnosticCategory . Error , key : "Cannot_emit_namespaced_JSX_elements_in_React_2650" , message : "Cannot emit namespaced JSX elements in React" } , A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums : { code : 2651 , category : e . DiagnosticCategory . Error , key : "A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651" , message : "A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums." } , Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead : { code : 2652 , category : e . DiagnosticCategory . Error , key : "Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652" , message : "Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead." } , Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1 : { code : 2653 , category : e . DiagnosticCategory . Error , key : "Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653" , message : "Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'." } , Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition : { code : 2654 , category : e . DiagnosticCategory . Error , key : "Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_pack_2654" , message : "Exported external package typings file cannot contain tripleslash references. Please contact the package author to update the package definition." } , Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition : { code : 2656 , category : e . DiagnosticCategory . Error , key : "Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_2656" , message : "Exported external package typings file '{0}' is not a module. Please contact the package author to update the package definition." } , JSX_expressions_must_have_one_parent_element : { code : 2657 , category : e . DiagnosticCategory . Error , key : "JSX_expressions_must_have_one_parent_element_2657" , message : "JSX expressions must have one parent element" } , Type_0_provides_no_match_for_the_signature_1 : { code : 2658 , category : e . DiagnosticCategory . Error , key : "Type_0_provides_no_match_for_the_signature_1_2658" , message : "Type '{0}' provides no match for the signature '{1}'" } , super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher : { code : 2659 , category : e . DiagnosticCategory . Error , key : "super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659" , message : "'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher." } , super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions : { code : 2660 , category : e . DiagnosticCategory . Error , key : "super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660" , message : "'super' can only be referenced in members of derived classes or object literal expressions." } , Cannot_re_export_name_that_is_not_defined_in_the_module : { code : 2661 , category : e . DiagnosticCategory . Error , key : "Cannot_re_export_name_that_is_not_defined_in_the_module_2661" , message : "Cannot re-export name that is not defined in the module." } , Cannot_find_name_0_Did_you_mean_the_static_member_1_0 : { code : 2662 , category : e . DiagnosticCategory . Error , key : "Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662" , message : "Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?" } , Cannot_find_name_0_Did_you_mean_the_instance_member_this_0 : { code : 2663 , category : e . DiagnosticCategory . Error , key : "Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663" , message : "Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?" } , Invalid_module_name_in_augmentation_module_0_cannot_be_found : { code : 2664 , category : e . DiagnosticCategory . Error , key : "Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664" , message : "Invalid module name in augmentation, module '{0}' cannot be found." } , Module_augmentation_cannot_introduce_new_names_in_the_top_level_scope : { code : 2665 , category : e . DiagnosticCategory . Error , key : "Module_augmentation_cannot_introduce_new_names_in_the_top_level_scope_2665" , message : "Module augmentation cannot introduce new names in the top level scope." } , Exports_and_export_assignments_are_not_permitted_in_module_augmentations : { code : 2666 , category : e . DiagnosticCategory . Error , key : "Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666" , message : "Exports and export assignments are not permitted in module augmentations." } , Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module : { code : 2667 , category : e . DiagnosticCategory . Error , key : "Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667" , message : "Imports are not permitted in module augmentations. Consider moving them to the enclosing external module." } , export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible : { code : 2668 , category : e . DiagnosticCategory . Error , key : "export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668" , message : "'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible." } , Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations : { code : 2669 , category : e . DiagnosticCategory . Error , key : "Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669" , message : "Augmentations for the global scope can only be directly nested in external modules or ambient module declarations." } , Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context : { code : 2670 , category : e . DiagnosticCategory . Error , key : "Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670" , message : "Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context." } , Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity : { code : 2671 , category : e . DiagnosticCategory . Error , key : "Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671" , message : "Cannot augment module '{0}' because it resolves to a non-module entity." } , Import_declaration_0_is_using_private_name_1 : { code : 4e3 , category : e . DiagnosticCategory . Error , key : "Import_declaration_0_is_using_private_name_1_4000" , message : "Import declaration '{0}' is using private name '{1}'." } , Type_parameter_0_of_exported_class_has_or_is_using_private_name_1 : { code : 4002 , category : e . DiagnosticCategory . Error , key : "Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002" , message : "Type parameter '{0}' of exported class has or is using private name '{1}'." } , Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1 : { code : 4004 , category : e . DiagnosticCategory . Error , key : "Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004" , message : "Type parameter '{0}' of exported interface has or is using private name '{1}'." } , Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1 : { code : 4006 , category : e . DiagnosticCategory . Error , key : "Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006" , message : "Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'." } , Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1 : { code : 4008 , category : e . DiagnosticCategory . Error , key : "Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008" , message : "Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'." } , Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1 : { code : 4010 , category : e . DiagnosticCategory . Error , key : "Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010" , message : "Type parameter '{0}' of public static method from exported class has or is using private name '{1}'." } , Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1 : { code : 4012 , category : e . DiagnosticCategory . Error , key : "Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012" , message : "Type parameter '{0}' of public method from exported class has or is using private name '{1}'." } , Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1 : { code : 4014 , category : e . DiagnosticCategory . Error , key : "Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014" , message : "Type parameter '{0}' of method from exported interface has or is using private name '{1}'." } , Type_parameter_0_of_exported_function_has_or_is_using_private_name_1 : { code : 4016 , category : e . DiagnosticCategory . Error , key : "Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016" , message : "Type parameter '{0}' of exported function has or is using private name '{1}'." } , Implements_clause_of_exported_class_0_has_or_is_using_private_name_1 : { code : 4019 , category : e . DiagnosticCategory . Error , key : "Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019" , message : "Implements clause of exported class '{0}' has or is using private name '{1}'." } , Extends_clause_of_exported_class_0_has_or_is_using_private_name_1 : { code : 4020 , category : e . DiagnosticCategory . Error , key : "Extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020" , message : "Extends clause of exported class '{0}' has or is using private name '{1}'." } , Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1 : { code : 4022 , category : e . DiagnosticCategory . Error , key : "Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022" , message : "Extends clause of exported interface '{0}' has or is using private name '{1}'." } , Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : { code : 4023 , category : e . DiagnosticCategory . Error , key : "Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023" , message : "Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named." } , Exported_variable_0_has_or_is_using_name_1_from_private_module_2 : { code : 4024 , category : e . DiagnosticCategory . Error , key : "Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024" , message : "Exported variable '{0}' has or is using name '{1}' from private module '{2}'." } , Exported_variable_0_has_or_is_using_private_name_1 : { code : 4025 , category : e . DiagnosticCategory . Error , key : "Exported_variable_0_has_or_is_using_private_name_1_4025" , message : "Exported variable '{0}' has or is using private name '{1}'." } , Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : { code : 4026 , category : e . DiagnosticCategory . Error , key : "Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026" , message : "Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named." } , Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : { code : 4027 , category : e . DiagnosticCategory . Error , key : "Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027" , message : "Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'." } , Public_static_property_0_of_exported_class_has_or_is_using_private_name_1 : { code : 4028 , category : e . DiagnosticCategory . Error , key : "Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028" , message : "Public static property '{0}' of exported class has or is using private name '{1}'." } , Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : { code : 4029 , category : e . DiagnosticCategory . Error , key : "Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029" , message : "Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named." } , Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : { code : 4030 , category : e . DiagnosticCategory . Error , key : "Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030" , message : "Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'." } , Public_property_0_of_exported_class_has_or_is_using_private_name_1 : { code : 4031 , category : e . DiagnosticCategory . Error , key : "Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031" , message : "Public property '{0}' of exported class has or is using private name '{1}'." } , Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2 : { code : 4032 , category : e . DiagnosticCategory . Error , key : "Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032" , message : "Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'." } , Property_0_of_exported_interface_has_or_is_using_private_name_1 : { code : 4033 , category : e . DiagnosticCategory . Error , key : "Property_0_of_exported_interface_has_or_is_using_private_name_1_4033" , message : "Property '{0}' of exported interface has or is using private name '{1}'." } , Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2 : { code : 4034 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_4034" , message : "Parameter '{0}' of public static property setter from exported class has or is using name '{1}' from private module '{2}'." } , Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1 : { code : 4035 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1_4035" , message : "Parameter '{0}' of public static property setter from exported class has or is using private name '{1}'." } , Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2 : { code : 4036 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_4036" , message : "Parameter '{0}' of public property setter from exported class has or is using name '{1}' from private module '{2}'." } , Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1 : { code : 4037 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1_4037" , message : "Parameter '{0}' of public property setter from exported class has or is using private name '{1}'." } , Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : { code : 4038 , category : e . DiagnosticCategory . Error , key : "Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_externa_4038" , message : "Return type of public static property getter from exported class has or is using name '{0}' from external module {1} but cannot be named." } , Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1 : { code : 4039 , category : e . DiagnosticCategory . Error , key : "Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_4039" , message : "Return type of public static property getter from exported class has or is using name '{0}' from private module '{1}'." } , Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0 : { code : 4040 , category : e . DiagnosticCategory . Error , key : "Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0_4040" , message : "Return type of public static property getter from exported class has or is using private name '{0}'." } , Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : { code : 4041 , category : e . DiagnosticCategory . Error , key : "Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_modul_4041" , message : "Return type of public property getter from exported class has or is using name '{0}' from external module {1} but cannot be named." } , Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1 : { code : 4042 , category : e . DiagnosticCategory . Error , key : "Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_4042" , message : "Return type of public property getter from exported class has or is using name '{0}' from private module '{1}'." } , Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0 : { code : 4043 , category : e . DiagnosticCategory . Error , key : "Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0_4043" , message : "Return type of public property getter from exported class has or is using private name '{0}'." } , Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : { code : 4044 , category : e . DiagnosticCategory . Error , key : "Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044" , message : "Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'." } , Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0 : { code : 4045 , category : e . DiagnosticCategory . Error , key : "Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045" , message : "Return type of constructor signature from exported interface has or is using private name '{0}'." } , Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : { code : 4046 , category : e . DiagnosticCategory . Error , key : "Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046" , message : "Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'." } , Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0 : { code : 4047 , category : e . DiagnosticCategory . Error , key : "Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047" , message : "Return type of call signature from exported interface has or is using private name '{0}'." } , Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : { code : 4048 , category : e . DiagnosticCategory . Error , key : "Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048" , message : "Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'." } , Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0 : { code : 4049 , category : e . DiagnosticCategory . Error , key : "Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049" , message : "Return type of index signature from exported interface has or is using private name '{0}'." } , Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : { code : 4050 , category : e . DiagnosticCategory . Error , key : "Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050" , message : "Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named." } , Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : { code : 4051 , category : e . DiagnosticCategory . Error , key : "Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051" , message : "Return type of public static method from exported class has or is using name '{0}' from private module '{1}'." } , Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0 : { code : 4052 , category : e . DiagnosticCategory . Error , key : "Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052" , message : "Return type of public static method from exported class has or is using private name '{0}'." } , Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : { code : 4053 , category : e . DiagnosticCategory . Error , key : "Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053" , message : "Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named." } , Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : { code : 4054 , category : e . DiagnosticCategory . Error , key : "Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054" , message : "Return type of public method from exported class has or is using name '{0}' from private module '{1}'." } , Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0 : { code : 4055 , category : e . DiagnosticCategory . Error , key : "Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055" , message : "Return type of public method from exported class has or is using private name '{0}'." } , Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : { code : 4056 , category : e . DiagnosticCategory . Error , key : "Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056" , message : "Return type of method from exported interface has or is using name '{0}' from private module '{1}'." } , Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0 : { code : 4057 , category : e . DiagnosticCategory . Error , key : "Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057" , message : "Return type of method from exported interface has or is using private name '{0}'." } , Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : { code : 4058 , category : e . DiagnosticCategory . Error , key : "Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058" , message : "Return type of exported function has or is using name '{0}' from external module {1} but cannot be named." } , Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1 : { code : 4059 , category : e . DiagnosticCategory . Error , key : "Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059" , message : "Return type of exported function has or is using name '{0}' from private module '{1}'." } , Return_type_of_exported_function_has_or_is_using_private_name_0 : { code : 4060 , category : e . DiagnosticCategory . Error , key : "Return_type_of_exported_function_has_or_is_using_private_name_0_4060" , message : "Return type of exported function has or is using private name '{0}'." } , Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : { code : 4061 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061" , message : "Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named." } , Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2 : { code : 4062 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062" , message : "Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'." } , Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1 : { code : 4063 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063" , message : "Parameter '{0}' of constructor from exported class has or is using private name '{1}'." } , Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : { code : 4064 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064" , message : "Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'." } , Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1 : { code : 4065 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065" , message : "Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'." } , Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : { code : 4066 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066" , message : "Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'." } , Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1 : { code : 4067 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067" , message : "Parameter '{0}' of call signature from exported interface has or is using private name '{1}'." } , Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : { code : 4068 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068" , message : "Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named." } , Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : { code : 4069 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069" , message : "Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'." } , Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1 : { code : 4070 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070" , message : "Parameter '{0}' of public static method from exported class has or is using private name '{1}'." } , Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : { code : 4071 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071" , message : "Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named." } , Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : { code : 4072 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072" , message : "Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'." } , Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1 : { code : 4073 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073" , message : "Parameter '{0}' of public method from exported class has or is using private name '{1}'." } , Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : { code : 4074 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074" , message : "Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'." } , Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1 : { code : 4075 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075" , message : "Parameter '{0}' of method from exported interface has or is using private name '{1}'." } , Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : { code : 4076 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076" , message : "Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named." } , Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2 : { code : 4077 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077" , message : "Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'." } , Parameter_0_of_exported_function_has_or_is_using_private_name_1 : { code : 4078 , category : e . DiagnosticCategory . Error , key : "Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078" , message : "Parameter '{0}' of exported function has or is using private name '{1}'." } , Exported_type_alias_0_has_or_is_using_private_name_1 : { code : 4081 , category : e . DiagnosticCategory . Error , key : "Exported_type_alias_0_has_or_is_using_private_name_1_4081" , message : "Exported type alias '{0}' has or is using private name '{1}'." } , Default_export_of_the_module_has_or_is_using_private_name_0 : { code : 4082 , category : e . DiagnosticCategory . Error , key : "Default_export_of_the_module_has_or_is_using_private_name_0_4082" , message : "Default export of the module has or is using private name '{0}'." } , The_current_host_does_not_support_the_0_option : { code : 5001 , category : e . DiagnosticCategory . Error , key : "The_current_host_does_not_support_the_0_option_5001" , message : "The current host does not support the '{0}' option." } , Cannot_find_the_common_subdirectory_path_for_the_input_files : { code : 5009 , category : e . DiagnosticCategory . Error , key : "Cannot_find_the_common_subdirectory_path_for_the_input_files_5009" , message : "Cannot find the common subdirectory path for the input files." } , Cannot_read_file_0_Colon_1 : { code : 5012 , category : e . DiagnosticCategory . Error , key : "Cannot_read_file_0_Colon_1_5012" , message : "Cannot read file '{0}': {1}" } , Unsupported_file_encoding : { code : 5013 , category : e . DiagnosticCategory . Error , key : "Unsupported_file_encoding_5013" , message : "Unsupported file encoding." } , Failed_to_parse_file_0_Colon_1 : { code : 5014 , category : e . DiagnosticCategory . Error , key : "Failed_to_parse_file_0_Colon_1_5014" , message : "Failed to parse file '{0}': {1}." } , Unknown_compiler_option_0 : { code : 5023 , category : e . DiagnosticCategory . Error , key : "Unknown_compiler_option_0_5023" , message : "Unknown compiler option '{0}'." } , Compiler_option_0_requires_a_value_of_type_1 : { code : 5024 , category : e . DiagnosticCategory . Error , key : "Compiler_option_0_requires_a_value_of_type_1_5024" , message : "Compiler option '{0}' requires a value of type {1}." } , Could_not_write_file_0_Colon_1 : { code : 5033 , category : e . DiagnosticCategory . Error , key : "Could_not_write_file_0_Colon_1_5033" , message : "Could not write file '{0}': {1}" } , Option_project_cannot_be_mixed_with_source_files_on_a_command_line : { code : 5042 , category : e . DiagnosticCategory . Error , key : "Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042" , message : "Option 'project' cannot be mixed with source files on a command line." } , Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher : { code : 5047 , category : e . DiagnosticCategory . Error , key : "Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047" , message : "Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher." } , Option_inlineSources_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided : { code : 5051 , category : e . DiagnosticCategory . Error , key : "Option_inlineSources_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_prov_5051" , message : "Option 'inlineSources' can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided." } , Option_0_cannot_be_specified_without_specifying_option_1 : { code : 5052 , category : e . DiagnosticCategory . Error , key : "Option_0_cannot_be_specified_without_specifying_option_1_5052" , message : "Option '{0}' cannot be specified without specifying option '{1}'." } , Option_0_cannot_be_specified_with_option_1 : { code : 5053 , category : e . DiagnosticCategory . Error , key : "Option_0_cannot_be_specified_with_option_1_5053" , message : "Option '{0}' cannot be specified with option '{1}'." } , A_tsconfig_json_file_is_already_defined_at_Colon_0 : { code : 5054 , category : e . DiagnosticCategory . Error , key : "A_tsconfig_json_file_is_already_defined_at_Colon_0_5054" , message : "A 'tsconfig.json' file is already defined at: '{0}'." } , Cannot_write_file_0_because_it_would_overwrite_input_file : { code : 5055 , category : e . DiagnosticCategory . Error , key : "Cannot_write_file_0_because_it_would_overwrite_input_file_5055" , message : "Cannot write file '{0}' because it would overwrite input file." } , Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files : { code : 5056 , category : e . DiagnosticCategory . Error , key : "Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056" , message : "Cannot write file '{0}' because it would be overwritten by multiple input files." } , Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0 : { code : 5057 , category : e . DiagnosticCategory . Error , key : "Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057" , message : "Cannot find a tsconfig.json file at the specified directory: '{0}'" } , The_specified_path_does_not_exist_Colon_0 : { code : 5058 , category : e . DiagnosticCategory . Error , key : "The_specified_path_does_not_exist_Colon_0_5058" , message : "The specified path does not exist: '{0}'" } , Invalide_value_for_reactNamespace_0_is_not_a_valid_identifier : { code : 5059 , category : e . DiagnosticCategory . Error , key : "Invalide_value_for_reactNamespace_0_is_not_a_valid_identifier_5059" , message : "Invalide value for '--reactNamespace'. '{0}' is not a valid identifier." } , Concatenate_and_emit_output_to_single_file : { code : 6001 , category : e . DiagnosticCategory . Message , key : "Concatenate_and_emit_output_to_single_file_6001" , message : "Concatenate and emit output to single file." } , Generates_corresponding_d_ts_file : { code : 6002 , category : e . DiagnosticCategory . Message , key : "Generates_corresponding_d_ts_file_6002" , message : "Generates corresponding '.d.ts' file." } , Specifies_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations : { code : 6003 , category : e . DiagnosticCategory . Message , key : "Specifies_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6003" , message : "Specifies the location where debugger should locate map files instead of generated locations." } , Specifies_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations : { code : 6004 , category : e . DiagnosticCategory . Message , key : "Specifies_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004" , message : "Specifies the location where debugger should locate TypeScript files instead of source locations." } , Watch_input_files : { code : 6005 , category : e . DiagnosticCategory . Message , key : "Watch_input_files_6005" , message : "Watch input files." } , Redirect_output_structure_to_the_directory : { code : 6006 , category : e . DiagnosticCategory . Message , key : "Redirect_output_structure_to_the_directory_6006" , message : "Redirect output structure to the directory." } , Do_not_erase_const_enum_declarations_in_generated_code : { code : 6007 , category : e . DiagnosticCategory . Message , key : "Do_not_erase_const_enum_declarations_in_generated_code_6007" , message : "Do not erase const enum declarations in generated code." } , Do_not_emit_outputs_if_any_errors_were_reported : { code : 6008 , category : e . DiagnosticCategory . Message , key : "Do_not_emit_outputs_if_any_errors_were_reported_6008" , message : "Do not emit outputs if any errors were reported." } , Do_not_emit_comments_to_output : { code : 6009 , category : e . DiagnosticCategory . Message , key : "Do_not_emit_comments_to_output_6009" , message : "Do not emit comments to output." } , Do_not_emit_outputs : { code : 6010 , category : e . DiagnosticCategory . Message , key : "Do_not_emit_outputs_6010" , message : "Do not emit outputs." } , Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking : { code : 6011 , category : e . DiagnosticCategory . Message , key : "Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011" , message : "Allow default imports from modules with no default export. This does not affect code emit, just typechecking." } , Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES2015_experimental : { code : 6015 , category : e . DiagnosticCategory . Message , key : "Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES2015_experimental_6015" , message : "Specify ECMAScript target version: 'ES3' (default), 'ES5', or 'ES2015' (experimental)" } , Specify_module_code_generation_Colon_commonjs_amd_system_umd_or_es2015 : { code : 6016 , category : e . DiagnosticCategory . Message , key : "Specify_module_code_generation_Colon_commonjs_amd_system_umd_or_es2015_6016" , message : "Specify module code generation: 'commonjs', 'amd', 'system', 'umd' or 'es2015'" } , Print_this_message : { code : 6017 , category : e . DiagnosticCategory . Message , key : "Print_this_message_6017" , message : "Print this message." } , Print_the_compiler_s_version : { code : 6019 , category : e . DiagnosticCategory . Message , key : "Print_the_compiler_s_version_6019" , message : "Print the compiler's version." } , Compile_the_project_in_the_given_directory : { code : 6020 , category : e . DiagnosticCategory . Message , key : "Compile_the_project_in_the_given_directory_6020" , message : "Compile the project in the given directory." } , Syntax_Colon_0 : { code : 6023 , category : e . DiagnosticCategory . Message , key : "Syntax_Colon_0_6023" , message : "Syntax: {0}" } , options : { code : 6024 , category : e . DiagnosticCategory . Message , key : "options_6024" , message : "options" } , file : { code : 6025 , category : e . DiagnosticCategory . Message , key : "file_6025" , message : "file" } , Examples_Colon_0 : { code : 6026 , category : e . DiagnosticCategory . Message , key : "Examples_Colon_0_6026" , message : "Examples: {0}" } , Options_Colon : { code : 6027 , category : e . DiagnosticCategory . Message , key : "Options_Colon_6027" , message : "Options:" } , Version_0 : { code : 6029 , category : e . DiagnosticCategory . Message , key : "Version_0_6029" , message : "Version {0}" } , Insert_command_line_options_and_files_from_a_file : { code : 6030 , category : e . DiagnosticCategory . Message , key : "Insert_command_line_options_and_files_from_a_file_6030" , message : "Insert command line options and files from a file." } , File_change_detected_Starting_incremental_compilation : { code : 6032 , category : e . DiagnosticCategory . Message , key : "File_change_detected_Starting_incremental_compilation_6032" , message : "File change detected. Starting incremental compilation..." } , KIND : { code : 6034 , category : e . DiagnosticCategory . Message , key : "KIND_6034" , message : "KIND" } , FILE : { code : 6035 , category : e . DiagnosticCategory . Message , key : "FILE_6035" , message : "FILE" } , VERSION : { code : 6036 , category : e . DiagnosticCategory . Message , key : "VERSION_6036" , message : "VERSION" } , LOCATION : { code : 6037 , category : e . DiagnosticCategory . Message , key : "LOCATION_6037" , message : "LOCATION" } , DIRECTORY : { code : 6038 , category : e . DiagnosticCategory . Message , key : "DIRECTORY_6038" , message : "DIRECTORY" } , Compilation_complete_Watching_for_file_changes : { code : 6042 , category : e . DiagnosticCategory . Message , key : "Compilation_complete_Watching_for_file_changes_6042" , message : "Compilation complete. Watching for file changes." } , Generates_corresponding_map_file : { code : 6043 , category : e . DiagnosticCategory . Message , key : "Generates_corresponding_map_file_6043" , message : "Generates corresponding '.map' file." } , Compiler_option_0_expects_an_argument : { code : 6044 , category : e . DiagnosticCategory . Error , key : "Compiler_option_0_expects_an_argument_6044" , message : "Compiler option '{0}' expects an argument." } , Unterminated_quoted_string_in_response_file_0 : { code : 6045 , category : e . DiagnosticCategory . Error , key : "Unterminated_quoted_string_in_response_file_0_6045" , message : "Unterminated quoted string in response file '{0}'." } , Argument_for_module_option_must_be_commonjs_amd_system_umd_es2015_or_none : { code : 6046 , category : e . DiagnosticCategory . Error , key : "Argument_for_module_option_must_be_commonjs_amd_system_umd_es2015_or_none_6046" , message : "Argument for '--module' option must be 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'none'." } , Argument_for_target_option_must_be_ES3_ES5_or_ES2015 : { code : 6047 , category : e . DiagnosticCategory . Error , key : "Argument_for_target_option_must_be_ES3_ES5_or_ES2015_6047" , message : "Argument for '--target' option must be 'ES3', 'ES5', or 'ES2015'." } , Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1 : { code : 6048 , category : e . DiagnosticCategory . Error , key : "Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048" , message : "Locale must be of the form <language> or <language>-<territory>. For example '{0}' or '{1}'." } , Unsupported_locale_0 : { code : 6049 , category : e . DiagnosticCategory . Error , key : "Unsupported_locale_0_6049" , message : "Unsupported locale '{0}'." } , Unable_to_open_file_0 : { code : 6050 , category : e . DiagnosticCategory . Error , key : "Unable_to_open_file_0_6050" , message : "Unable to open file '{0}'." } , Corrupted_locale_file_0 : { code : 6051 , category : e . DiagnosticCategory . Error , key : "Corrupted_locale_file_0_6051" , message : "Corrupted locale file {0}." } , Raise_error_on_expressions_and_declarations_with_an_implied_any_type : { code : 6052 , category : e . DiagnosticCategory . Message , key : "Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052" , message : "Raise error on expressions and declarations with an implied 'any' type." } , File_0_not_found : { code : 6053 , category : e . DiagnosticCategory . Error , key : "File_0_not_found_6053" , message : "File '{0}' not found." } , File_0_has_unsupported_extension_The_only_supported_extensions_are_1 : { code : 6054 , category : e . DiagnosticCategory . Error , key : "File_0_has_unsupported_extension_The_only_supported_extensions_are_1_6054" , message : "File '{0}' has unsupported extension. The only supported extensions are {1}." } , Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures : { code : 6055 , category : e . DiagnosticCategory . Message , key : "Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055" , message : "Suppress noImplicitAny errors for indexing objects lacking index signatures." } , Do_not_emit_declarations_for_code_that_has_an_internal_annotation : { code : 6056 , category : e . DiagnosticCategory . Message , key : "Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056" , message : "Do not emit declarations for code that has an '@internal' annotation." } , Specifies_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir : { code : 6058 , category : e . DiagnosticCategory . Message , key : "Specifies_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDi_6058" , message : "Specifies the root directory of input files. Use to control the output directory structure with --outDir." } , File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files : { code : 6059 , category : e . DiagnosticCategory . Error , key : "File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059" , message : "File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files." } , Specifies_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix : { code : 6060 , category : e . DiagnosticCategory . Message , key : "Specifies_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060" , message : "Specifies the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)." } , NEWLINE : { code : 6061 , category : e . DiagnosticCategory . Message , key : "NEWLINE_6061" , message : "NEWLINE" } , Argument_for_newLine_option_must_be_CRLF_or_LF : { code : 6062 , category : e . DiagnosticCategory . Error , key : "Argument_for_newLine_option_must_be_CRLF_or_LF_6062" , message : "Argument for '--newLine' option must be 'CRLF' or 'LF'." } , Argument_for_moduleResolution_option_must_be_node_or_classic : { code : 6063 , category : e . DiagnosticCategory . Error , key : "Argument_for_moduleResolution_option_must_be_node_or_classic_6063" , message : "Argument for '--moduleResolution' option must be 'node' or 'classic'." } , Enables_experimental_support_for_ES7_decorators : { code : 6065 , category : e . DiagnosticCategory . Message , key : "Enables_experimental_support_for_ES7_decorators_6065" , message : "Enables experimental support for ES7 decorators." } , Enables_experimental_support_for_emitting_type_metadata_for_decorators : { code : 6066 , category : e . DiagnosticCategory . Message , key : "Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066" , message : "Enables experimental support for emitting type metadata for decorators." } , Enables_experimental_support_for_ES7_async_functions : { code : 6068 , category : e . DiagnosticCategory . Message , key : "Enables_experimental_support_for_ES7_async_functions_6068" , message : "Enables experimental support for ES7 async functions." } , Specifies_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6 : { code : 6069 , category : e . DiagnosticCategory . Message , key : "Specifies_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069" , message : "Specifies module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)." } , Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file : { code : 6070 , category : e . DiagnosticCategory . Message , key : "Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070" , message : "Initializes a TypeScript project and creates a tsconfig.json file." } , Successfully_created_a_tsconfig_json_file : { code : 6071 , category : e . DiagnosticCategory . Message , key : "Successfully_created_a_tsconfig_json_file_6071" , message : "Successfully created a tsconfig.json file." } , Suppress_excess_property_checks_for_object_literals : { code : 6072 , category : e . DiagnosticCategory . Message , key : "Suppress_excess_property_checks_for_object_literals_6072" , message : "Suppress excess property checks for object literals." } , Stylize_errors_and_messages_using_color_and_context_experimental : { code : 6073 , category : e . DiagnosticCategory . Message , key : "Stylize_errors_and_messages_using_color_and_context_experimental_6073" , message : "Stylize errors and messages using color and context. (experimental)" } , Do_not_report_errors_on_unused_labels : { code : 6074 , category : e . DiagnosticCategory . Message , key : "Do_not_report_errors_on_unused_labels_6074" , message : "Do not report errors on unused labels." } , Report_error_when_not_all_code_paths_in_function_return_a_value : { code : 6075 , category : e . DiagnosticCategory . Message , key : "Report_error_when_not_all_code_paths_in_function_return_a_value_6075" , message : "Report error when not all code paths in function return a value." } , Report_errors_for_fallthrough_cases_in_switch_statement : { code : 6076 , category : e . DiagnosticCategory . Message , key : "Report_errors_for_fallthrough_cases_in_switch_statement_6076" , message : "Report errors for fallthrough cases in switch statement." } , Do_not_report_errors_on_unreachable_code : { code : 6077 , category : e . DiagnosticCategory . Message , key : "Do_not_report_errors_on_unreachable_code_6077" , message : "Do not report errors on unreachable code." } , Disallow_inconsistently_cased_references_to_the_same_file : { code : 6078 , category : e . DiagnosticCategory . Message , key : "Disallow_inconsistently_cased_references_to_the_same_file_6078" , message : "Disallow inconsistently-cased references to the same file." } , Specify_JSX_code_generation_Colon_preserve_or_react : { code : 6080 , category : e . DiagnosticCategory . Message , key : "Specify_JSX_code_generation_Colon_preserve_or_react_6080" , message : "Specify JSX code generation: 'preserve' or 'react'" } , Argument_for_jsx_must_be_preserve_or_react : { code : 6081 , category : e . DiagnosticCategory . Message , key : "Argument_for_jsx_must_be_preserve_or_react_6081" , message : "Argument for '--jsx' must be 'preserve' or 'react'." } , Only_amd_and_system_modules_are_supported_alongside_0 : { code : 6082 , category : e . DiagnosticCategory . Error , key : "Only_amd_and_system_modules_are_supported_alongside_0_6082" , message : "Only 'amd' and 'system' modules are supported alongside --{0}." } , Allow_javascript_files_to_be_compiled : { code : 6083 , category : e . DiagnosticCategory . Message , key : "Allow_javascript_files_to_be_compiled_6083" , message : "Allow javascript files to be compiled." } , Specifies_the_object_invoked_for_createElement_and_spread_when_targeting_react_JSX_emit : { code : 6084 , category : e . DiagnosticCategory . Message , key : "Specifies_the_object_invoked_for_createElement_and_spread_when_targeting_react_JSX_emit_6084" , message : "Specifies the object invoked for createElement and __spread when targeting 'react' JSX emit" } , Option_0_should_have_array_of_strings_as_a_value : { code : 6103 , category : e . DiagnosticCategory . Error , key : "Option_0_should_have_array_of_strings_as_a_value_6103" , message : "Option '{0}' should have array of strings as a value." } , Do_not_emit_use_strict_directives_in_module_output : { code : 6112 , category : e . DiagnosticCategory . Message , key : "Do_not_emit_use_strict_directives_in_module_output_6112" , message : "Do not emit 'use strict' directives in module output." } , Variable_0_implicitly_has_an_1_type : { code : 7005 , category : e . DiagnosticCategory . Error , key : "Variable_0_implicitly_has_an_1_type_7005" , message : "Variable '{0}' implicitly has an '{1}' type." } , Parameter_0_implicitly_has_an_1_type : { code : 7006 , category : e . DiagnosticCategory . Error , key : "Parameter_0_implicitly_has_an_1_type_7006" , message : "Parameter '{0}' implicitly has an '{1}' type." } , Member_0_implicitly_has_an_1_type : { code : 7008 , category : e . DiagnosticCategory . Error , key : "Member_0_implicitly_has_an_1_type_7008" , message : "Member '{0}' implicitly has an '{1}' type." } , new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type : { code : 7009 , category : e . DiagnosticCategory . Error , key : "new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009" , message : "'new' expression, whose target lacks a construct signature, implicitly has an 'any' type." } , _0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type : { code : 7010 , category : e . DiagnosticCategory . Error , key : "_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010" , message : "'{0}', which lacks return-type annotation, implicitly has an '{1}' return type." } , Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type : { code : 7011 , category : e . DiagnosticCategory . Error , key : "Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011" , message : "Function expression, which lacks return-type annotation, implicitly has an '{0}' return type." } , Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type : { code : 7013 , category : e . DiagnosticCategory . Error , key : "Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013" , message : "Construct signature, which lacks return-type annotation, implicitly has an 'any' return type." } , Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number : { code : 7015 , category : e . DiagnosticCategory . Error , key : "Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015" , message : "Element implicitly has an 'any' type because index expression is not of type 'number'." } , Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_type_annotation : { code : 7016 , category : e . DiagnosticCategory . Error , key : "Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_type_annotation_7016" , message : "Property '{0}' implicitly has type 'any', because its 'set' accessor lacks a type annotation." } , Index_signature_of_object_type_implicitly_has_an_any_type : { code : 7017 , category : e . DiagnosticCategory . Error , key : "Index_signature_of_object_type_implicitly_has_an_any_type_7017" , message : "Index signature of object type implicitly has an 'any' type." } , Object_literal_s_property_0_implicitly_has_an_1_type : { code : 7018 , category : e . DiagnosticCategory . Error , key : "Object_literal_s_property_0_implicitly_has_an_1_type_7018" , message : "Object literal's property '{0}' implicitly has an '{1}' type." } , Rest_parameter_0_implicitly_has_an_any_type : { code : 7019 , category : e . DiagnosticCategory . Error , key : "Rest_parameter_0_implicitly_has_an_any_type_7019" , message : "Rest parameter '{0}' implicitly has an 'any[]' type." } , Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type : { code : 7020 , category : e . DiagnosticCategory . Error , key : "Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020" , message : "Call signature, which lacks return-type annotation, implicitly has an 'any' return type." } , _0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer : { code : 7022 , category : e . DiagnosticCategory . Error , key : "_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022" , message : "'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer." } , _0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions : { code : 7023 , category : e . DiagnosticCategory . Error , key : "_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023" , message : "'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions." } , Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions : { code : 7024 , category : e . DiagnosticCategory . Error , key : "Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024" , message : "Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions." } , Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type : { code : 7025 , category : e . DiagnosticCategory . Error , key : "Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_typ_7025" , message : "Generator implicitly has type '{0}' because it does not yield any values. Consider supplying a return type." } , JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists : { code : 7026 , category : e . DiagnosticCategory . Error , key : "JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026" , message : "JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists" } , Unreachable_code_detected : { code : 7027 , category : e . DiagnosticCategory . Error , key : "Unreachable_code_detected_7027" , message : "Unreachable code detected." } , Unused_label : { code : 7028 , category : e . DiagnosticCategory . Error , key : "Unused_label_7028" , message : "Unused label." } , Fallthrough_case_in_switch : { code : 7029 , category : e . DiagnosticCategory . Error , key : "Fallthrough_case_in_switch_7029" , message : "Fallthrough case in switch." } , Not_all_code_paths_return_a_value : { code : 7030 , category : e . DiagnosticCategory . Error , key : "Not_all_code_paths_return_a_value_7030" , message : "Not all code paths return a value." } , You_cannot_rename_this_element : { code : 8e3 , category : e . DiagnosticCategory . Error , key : "You_cannot_rename_this_element_8000" , message : "You cannot rename this element." } , You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library : { code : 8001 , category : e . DiagnosticCategory . Error , key : "You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001" , message : "You cannot rename elements that are defined in the standard TypeScript library." } , import_can_only_be_used_in_a_ts_file : { code : 8002 , category : e . DiagnosticCategory . Error , key : "import_can_only_be_used_in_a_ts_file_8002" , message : "'import ... =' can only be used in a .ts file." } , export_can_only_be_used_in_a_ts_file : { code : 8003 , category : e . DiagnosticCategory . Error , key : "export_can_only_be_used_in_a_ts_file_8003" , message : "'export=' can only be used in a .ts file." } , type_parameter_declarations_can_only_be_used_in_a_ts_file : { code : 8004 , category : e . DiagnosticCategory . Error , key : "type_parameter_declarations_can_only_be_used_in_a_ts_file_8004" , message : "'type parameter declarations' can only be used in a .ts file." } , implements_clauses_can_only_be_used_in_a_ts_file : { code : 8005 , category : e . DiagnosticCategory . Error , key : "implements_clauses_can_only_be_used_in_a_ts_file_8005" , message : "'implements clauses' can only be used in a .ts file." } , interface_declarations_can_only_be_used_in_a_ts_file : { code : 8006 , category : e . DiagnosticCategory . Error , key : "interface_declarations_can_only_be_used_in_a_ts_file_8006" , message : "'interface declarations' can only be used in a .ts file." } , module_declarations_can_only_be_used_in_a_ts_file : { code : 8007 , category : e . DiagnosticCategory . Error , key : "module_declarations_can_only_be_used_in_a_ts_file_8007" , message : "'module declarations' can only be used in a .ts file." } , type_aliases_can_only_be_used_in_a_ts_file : { code : 8008 , category : e . DiagnosticCategory . Error , key : "type_aliases_can_only_be_used_in_a_ts_file_8008" , message : "'type aliases' can only be used in a .ts file." } , _0_can_only_be_used_in_a_ts_file : { code : 8009 , category : e . DiagnosticCategory . Error , key : "_0_can_only_be_used_in_a_ts_file_8009" , message : "'{0}' can only be used in a .ts file." } , types_can_only_be_used_in_a_ts_file : { code : 8010 , category : e . DiagnosticCategory . Error , key : "types_can_only_be_used_in_a_ts_file_8010" , message : "'types' can only be used in a .ts file." } , type_arguments_can_only_be_used_in_a_ts_file : { code : 8011 , category : e . DiagnosticCategory . Error , key : "type_arguments_can_only_be_used_in_a_ts_file_8011" , message : "'type arguments' can only be used in a .ts file." } , parameter_modifiers_can_only_be_used_in_a_ts_file : { code : 8012 , category : e . DiagnosticCategory . Error , key : "parameter_modifiers_can_only_be_used_in_a_ts_file_8012" , message : "'parameter modifiers' can only be used in a .ts file." } , property_declarations_can_only_be_used_in_a_ts_file : { code : 8014 , category : e . DiagnosticCategory . Error , key : "property_declarations_can_only_be_used_in_a_ts_file_8014" , message : "'property declarations' can only be used in a .ts file." } , enum_declarations_can_only_be_used_in_a_ts_file : { code : 8015 , category : e . DiagnosticCategory . Error , key : "enum_declarations_can_only_be_used_in_a_ts_file_8015" , message : "'enum declarations' can only be used in a .ts file." } , type_assertion_expressions_can_only_be_used_in_a_ts_file : { code : 8016 , category : e . DiagnosticCategory . Error , key : "type_assertion_expressions_can_only_be_used_in_a_ts_file_8016" , message : "'type assertion expressions' can only be used in a .ts file." } , Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_class_extends_clauses : { code : 9002 , category : e . DiagnosticCategory . Error , key : "Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_clas_9002" , message : "Only identifiers/qualified-names with optional type arguments are currently supported in a class 'extends' clauses." } , class_expressions_are_not_currently_supported : { code : 9003 , category : e . DiagnosticCategory . Error , key : "class_expressions_are_not_currently_supported_9003" , message : "'class' expressions are not currently supported." } , JSX_attributes_must_only_be_assigned_a_non_empty_expression : { code : 17e3 , category : e . DiagnosticCategory . Error , key : "JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000" , message : "JSX attributes must only be assigned a non-empty 'expression'." } , JSX_elements_cannot_have_multiple_attributes_with_the_same_name : { code : 17001 , category : e . DiagnosticCategory . Error , key : "JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001" , message : "JSX elements cannot have multiple attributes with the same name." } , Expected_corresponding_JSX_closing_tag_for_0 : { code : 17002 , category : e . DiagnosticCategory . Error , key : "Expected_corresponding_JSX_closing_tag_for_0_17002" , message : "Expected corresponding JSX closing tag for '{0}'." } , JSX_attribute_expected : { code : 17003 , category : e . DiagnosticCategory . Error , key : "JSX_attribute_expected_17003" , message : "JSX attribute expected." } , Cannot_use_JSX_unless_the_jsx_flag_is_provided : { code : 17004 , category : e . DiagnosticCategory . Error , key : "Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004" , message : "Cannot use JSX unless the '--jsx' flag is provided." } , A_constructor_cannot_contain_a_super_call_when_its_class_extends_null : { code : 17005 , category : e . DiagnosticCategory . Error , key : "A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005" , message : "A constructor cannot contain a 'super' call when its class extends 'null'" } , An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses : { code : 17006 , category : e . DiagnosticCategory . Error , key : "An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006" , message : "An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses." } , A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses : { code : 17007 , category : e . DiagnosticCategory . Error , key : "A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007" , message : "A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses." } , JSX_element_0_has_no_corresponding_closing_tag : { code : 17008 , category : e . DiagnosticCategory . Error , key : "JSX_element_0_has_no_corresponding_closing_tag_17008" , message : "JSX element '{0}' has no corresponding closing tag." } , super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class : { code : 17009 , category : e . DiagnosticCategory . Error , key : "super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009" , message : "'super' must be called before accessing 'this' in the constructor of a derived class." } , Unknown_typing_option_0 : { code : 17010 , category : e . DiagnosticCategory . Error , key : "Unknown_typing_option_0_17010" , message : "Unknown typing option '{0}'." } , Too_many_JavaScript_files_in_the_project_Consider_specifying_the_exclude_setting_in_project_configuration_to_limit_included_source_folders_The_likely_folder_to_exclude_is_0_To_disable_the_project_size_limit_set_the_disableSizeLimit_compiler_option_to_true : { code : 17012 , category : e . DiagnosticCategory . Error , key : "Too_many_JavaScript_files_in_the_project_Consider_specifying_the_exclude_setting_in_project_configur_17012" , message : "Too many JavaScript files in the project. Consider specifying the 'exclude' setting in project configuration to limit included source folders. The likely folder to exclude is '{0}'. To disable the project size limit, set the 'disableSizeLimit' compiler option to 'true'." } } ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { function t ( e ) { return e >= 69 ; } function n ( e , t ) { if ( e < t [ 0 ] ) return ! 1 ; for ( var n , r = 0 , a = t . length ; a > r + 1 ; ) { if ( n = r + ( a - r ) / 2 , n -= n % 2 , t [ n ] <= e && e <= t [ n + 1 ] ) return ! 0 ; e < t [ n ] ? a = n : r = n + 2 ; } return ! 1 ; } function r ( e , t ) { return t >= 1 ? n ( e , F ) : n ( e , R ) ; } function a ( e , t ) { return t >= 1 ? n ( e , L ) : n ( e , I ) ; } function i ( e ) { var t = [ ] ; for ( var n in e ) e . hasOwnProperty ( n ) && ( t [ e [ n ] ] = n ) ; return t ; } function o ( e ) { return M [ e ] ; } function s ( e ) { return O [ e ] ; } function c ( e ) { for ( var t = new Array , n = 0 , r = 0 ; n < e . length ; ) { var a = e . charCodeAt ( n ) ; switch ( n ++ , a ) { case 13 : 10 === e . charCodeAt ( n ) && n ++ ; case 10 : t . push ( r ) , r = n ; break ; default : a > 127 && m ( a ) && ( t . push ( r ) , r = n ) ; } } return t . push ( r ) , t ; } function _ ( e , t , n ) { return u ( l ( e ) , t , n ) ; } function u ( t , n , r ) { return e . Debug . assert ( n >= 0 && n < t . length ) , t [ n ] + r ; } function l ( e ) { return e . lineMap || ( e . lineMap = c ( e . text ) ) ; } function d ( t , n ) { var r = e . binarySearch ( t , n ) ; return 0 > r && ( r = ~ r - 1 , e . Debug . assert ( - 1 !== r , "position cannot precede the beginning of the file" ) ) , { line : r , character : n - t [ r ] } ; } function p ( e , t ) { return d ( l ( e ) , t ) ; } function f ( e ) { return 32 === e || 9 === e || 11 === e || 12 === e || 160 === e || 133 === e || 5760 === e || e >= 8192 && 8203 >= e || 8239 === e || 8287 === e || 12288 === e || 65279 === e ; } function m ( e ) { return 10 === e || 13 === e || 8232 === e || 8233 === e ; } function g ( e ) { return e >= 48 && 57 >= e ; } function y ( e ) { return e >= 48 && 55 >= e ; } function h ( e , t ) { var n = e . charCodeAt ( t ) ; switch ( n ) { case 13 : case 10 : case 9 : case 11 : case 12 : case 32 : case 47 : case 60 : case 61 : case 62 : return ! 0 ; case 35 : return 0 === t ; default : return n > 127 ; } } function v ( e , t , n ) { if ( ! ( t >= 0 ) ) return t ; for ( ; ; ) { var r = e . charCodeAt ( t ) ; switch ( r ) { case 13 : 10 === e . charCodeAt ( t + 1 ) && t ++ ; case 10 : if ( t ++ , n ) return t ; continue ; case 9 : case 11 : case 12 : case 32 : t ++ ; continue ; case 47 : if ( 47 === e . charCodeAt ( t + 1 ) ) { for ( t += 2 ; t < e . length && ! m ( e . charCodeAt ( t ) ) ; ) t ++ ; continue ; } if ( 42 === e . charCodeAt ( t + 1 ) ) { for ( t += 2 ; t < e . length ; ) { if ( 42 === e . charCodeAt ( t ) && 47 === e . charCodeAt ( t + 1 ) ) { t += 2 ; break ; } t ++ ; } continue ; } break ; case 60 : case 61 : case 62 : if ( k ( e , t ) ) { t = b ( e , t ) ; continue ; } break ; case 35 : if ( 0 === t && x ( e , t ) ) { t = C ( e , t ) ; continue ; } break ; default : if ( r > 127 && ( f ( r ) || m ( r ) ) ) { t ++ ; continue ; } } return t ; } } function k ( t , n ) { if ( e . Debug . assert ( n >= 0 ) , 0 === n || m ( t . charCodeAt ( n - 1 ) ) ) { var r = t . charCodeAt ( n ) ; if ( n + z < t . length ) { for ( var a = 0 , i = z ; i > a ; a ++ ) if ( t . charCodeAt ( n + a ) !== r ) return ! 1 ; return 61 === r || 32 === t . charCodeAt ( n + z ) ; } } return ! 1 ; } function b ( t , n , r ) { r && r ( e . Diagnostics . Merge_conflict_marker_encountered , z ) ; var a = t . charCodeAt ( n ) , i = t . length ; if ( 60 === a || 62 === a ) for ( ; i > n && ! m ( t . charCodeAt ( n ) ) ; ) n ++ ; else for ( e . Debug . assert ( 61 === a ) ; i > n ; ) { var o = t . charCodeAt ( n ) ; if ( 62 === o && k ( t , n ) ) break ; n ++ ; } return n ; } function x ( t , n ) { return e . Debug . assert ( 0 === n ) , K . test ( t ) ; } function C ( e , t ) { var n = K . exec ( e ) [ 0 ] ; return t += n . length ; } function D ( t , n , r ) { for ( var a , i = r || 0 === n ; n < t . length ; ) { var o = t . charCodeAt ( n ) ; switch ( o ) { case 13 : 10 === t . charCodeAt ( n + 1 ) && n ++ ; case 10 : if ( n ++ , r ) return a ; i = ! 0 , a && a . length && ( e . lastOrUndefined ( a ) . hasTrailingNewLine = ! 0 ) ; continue ; case 9 : case 11 : case 12 : case 32 : n ++ ; continue ; case 47 : var s = t . charCodeAt ( n + 1 ) , c = ! 1 ; if ( 47 === s || 42 === s ) { var _ = 47 === s ? 2 : 3 , u = n ; if ( n += 2 , 47 === s ) for ( ; n < t . length ; ) { if ( m ( t . charCodeAt ( n ) ) ) { c = ! 0 ; break ; } n ++ ; } else for ( ; n < t . length ; ) { if ( 42 === t . charCodeAt ( n ) && 47 === t . charCodeAt ( n + 1 ) ) { n += 2 ; break ; } n ++ ; } i && ( a || ( a = [ ] ) , a . push ( { pos : u , end : n , hasTrailingNewLine : c , kind : _ } ) ) ; continue ; } break ; default : if ( o > 127 && ( f ( o ) || m ( o ) ) ) { a && a . length && m ( o ) && ( e . lastOrUndefined ( a ) . hasTrailingNewLine = ! 0 ) , n ++ ; continue ; } } return a ; } return a ; } function S ( e , t ) { return D ( e , t , ! 1 ) ; } function T ( e , t ) { return D ( e , t , ! 0 ) ; } function E ( e ) { return K . test ( e ) ? K . exec ( e ) [ 0 ] : void 0 ; } function w ( e , t ) { return e >= 65 && 90 >= e || e >= 97 && 122 >= e || 36 === e || 95 === e || e > 127 && r ( e , t ) ; } function A ( e , t ) { return e >= 65 && 90 >= e || e >= 97 && 122 >= e || e >= 48 && 57 >= e || 36 === e || 95 === e || e > 127 && a ( e , t ) ; } function P ( e , t ) { if ( ! w ( e . charCodeAt ( 0 ) , t ) ) return ! 1 ; for ( var n = 1 , r = e . length ; r > n ; n ++ ) if ( ! A ( e . charCodeAt ( n ) , t ) ) return ! 1 ; return ! 0 ; } function N ( n , r , a , i , o , s , c ) { function _ ( e , t ) { o && o ( e , t || 0 ) ; } function u ( ) { for ( var t = ee ; g ( i . charCodeAt ( ee ) ) ; ) ee ++ ; if ( 46 === i . charCodeAt ( ee ) ) for ( ee ++ ; g ( i . charCodeAt ( ee ) ) ; ) ee ++ ; var n = ee ; if ( 69 === i . charCodeAt ( ee ) || 101 === i . charCodeAt ( ee ) ) if ( ee ++ , 43 !== i . charCodeAt ( ee ) && 45 !== i . charCodeAt ( ee ) || ee ++ , g ( i . charCodeAt ( ee ) ) ) { for ( ee ++ ; g ( i . charCodeAt ( ee ) ) ; ) ee ++ ; n = ee ; } else _ ( e . Diagnostics . Digit_expected ) ; return "" + + i . substring ( t , n ) ; } function l ( ) { for ( var e = ee ; y ( i . charCodeAt ( ee ) ) ; ) ee ++ ; return + i . substring ( e , ee ) ; } function d ( e ) { return h ( e , ! 1 ) ; } function p ( e ) { return h ( e , ! 0 ) ; } function h ( e , t ) { for ( var n = 0 , r = 0 ; e > n || t ; ) { var a = i . charCodeAt ( ee ) ; if ( a >= 48 && 57 >= a ) r = 16 * r + a - 48 ; else if ( a >= 65 && 70 >= a ) r = 16 * r + a - 65 + 10 ; else { if ( ! ( a >= 97 && 102 >= a ) ) break ; r = 16 * r + a - 97 + 10 ; } ee ++ , n ++ ; } return e > n && ( r = - 1 ) , r ; } function v ( ) { var t = i . charCodeAt ( ee ) ; ee ++ ; for ( var n = "" , r = ee ; ; ) { if ( ee >= te ) { n += i . substring ( r , ee ) , ce = ! 0 , _ ( e . Diagnostics . Unterminated_string_literal ) ; break ; } var a = i . charCodeAt ( ee ) ; if ( a === t ) { n += i . substring ( r , ee ) , ee ++ ; break ; } if ( 92 !== a ) { if ( m ( a ) ) { n += i . substring ( r , ee ) , ce = ! 0 , _ ( e . Diagnostics . Unterminated_string_literal ) ; break ; } ee ++ ; } else n += i . substring ( r , ee ) , n += S ( ) , r = ee ; } return n ; } function D ( ) { var t = 96 === i . charCodeAt ( ee ) ; ee ++ ; for ( var n , r = ee , a = "" ; ; ) { if ( ee >= te ) { a += i . substring ( r , ee ) , ce = ! 0 , _ ( e . Diagnostics . Unterminated_template_literal ) , n = t ? 11 : 14 ; break ; } var o = i . charCodeAt ( ee ) ; if ( 96 === o ) { a += i . substring ( r , ee ) , ee ++ , n = t ? 11 : 14 ; break ; } if ( 36 === o && te > ee + 1 && 123 === i . charCodeAt ( ee + 1 ) ) { a += i . substring ( r , ee ) , ee += 2 , n = t ? 12 : 13 ; break ; } 92 !== o ? 13 !== o ? ee ++ : ( a += i . substring ( r , ee ) , ee ++ , te > ee && 10 === i . charCodeAt ( ee ) && ee ++ , a += "\n" , r = ee ) : ( a += i . substring ( r , ee ) , a += S ( ) , r = ee ) ; } return e . Debug . assert ( void 0 !== n ) , ie = a , n ; } function S ( ) { if ( ee ++ , ee >= te ) return _ ( e . Diagnostics . Unexpected_end_of_text ) , "" ; var t = i . charCodeAt ( ee ) ; switch ( ee ++ , t ) { case 48 : return "\x00" ; case 98 : return "\b" ; case 116 : return "	" ; case 110 : return "\n" ; case 118 : return "\x0B" ; case 102 : return "\f" ; case 114 : return "\r" ; case 39 : return "'" ; case 34 : return '"' ; case 117 : return te > ee && 123 === i . charCodeAt ( ee ) ? ( se = ! 0 , ee ++ , E ( ) ) : T ( 4 ) ; case 120 : return T ( 2 ) ; case 13 : te > ee && 10 === i . charCodeAt ( ee ) && ee ++ ; case 10 : case 8232 : case 8233 : return "" ; default : return String . fromCharCode ( t ) ; } } function T ( t ) { var n = d ( t ) ; return n >= 0 ? String . fromCharCode ( n ) : ( _ ( e . Diagnostics . Hexadecimal_digit_expected ) , "" ) ; } function E ( ) { var t = p ( 1 ) , n = ! 1 ; return 0 > t ? ( _ ( e . Diagnostics . Hexadecimal_digit_expected ) , n = ! 0 ) : t > 1114111 && ( _ ( e . Diagnostics . An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive ) , n = ! 0 ) , ee >= te ? ( _ ( e . Diagnostics . Unexpected_end_of_text ) , n = ! 0 ) : 125 === i . charCodeAt ( ee ) ? ee ++ : ( _ ( e . Diagnostics . Unterminated_Unicode_escape_sequence ) , n = ! 0 ) , n ? "" : P ( t ) ; } function P ( t ) { if ( e . Debug . assert ( t >= 0 && 1114111 >= t ) , 65535 >= t ) return String . fromCharCode ( t ) ; var n = Math . floor ( ( t - 65536 ) / 1024 ) + 55296 , r = ( t - 65536 ) % 1024 + 56320 ; return String . fromCharCode ( n , r ) ; } function N ( ) { if ( te > ee + 5 && 117 === i . charCodeAt ( ee + 1 ) ) { var e = ee ; ee += 2 ; var t = d ( 4 ) ; return ee = e , t ; } return - 1 ; } function R ( ) { for ( var e = "" , t = ee ; te > ee ; ) { var r = i . charCodeAt ( ee ) ; if ( A ( r , n ) ) ee ++ ; else { if ( 92 !== r ) break ; if ( r = N ( ) , ! ( r >= 0 && A ( r , n ) ) ) break ; e += i . substring ( t , ee ) , e += String . fromCharCode ( r ) , ee += 6 , t = ee ; } } return e += i . substring ( t , ee ) ; } function I ( ) { var e = ie . length ; if ( e >= 2 && 11 >= e ) { var t = ie . charCodeAt ( 0 ) ; if ( t >= 97 && 122 >= t && B . call ( O , ie ) ) return ae = O [ ie ] ; } return ae = 69 ; } function F ( t ) { e . Debug . assert ( 2 !== t || 8 !== t , "Expected either base 2 or base 8" ) ; for ( var n = 0 , r = 0 ; ; ) { var a = i . charCodeAt ( ee ) , o = a - 48 ; if ( ! g ( a ) || o >= t ) break ; n = n * t + o , ee ++ , r ++ ; } return 0 === r ? - 1 : n ; } function L ( ) { for ( ne = ee , se = ! 1 , oe = ! 1 , ce = ! 1 ; ; ) { if ( re = ee , ee >= te ) return ae = 1 ; var t = i . charCodeAt ( ee ) ; if ( 35 === t && 0 === ee && x ( i , ee ) ) { if ( ee = C ( i , ee ) , r ) continue ; return ae = 6 ; } switch ( t ) { case 10 : case 13 : if ( oe = ! 0 , r ) { ee ++ ; continue ; } return 13 === t && te > ee + 1 && 10 === i . charCodeAt ( ee + 1 ) ? ee += 2 : ee ++ , ae = 4 ; case 9 : case 11 : case 12 : case 32 : if ( r ) { ee ++ ; continue ; } for ( ; te > ee && f ( i . charCodeAt ( ee ) ) ; ) ee ++ ; return ae = 5 ; case 33 : return 61 === i . charCodeAt ( ee + 1 ) ? 61 === i . charCodeAt ( ee + 2 ) ? ( ee += 3 , ae = 33 ) : ( ee += 2 , ae = 31 ) : ( ee ++ , ae = 49 ) ; case 34 : case 39 : return ie = v ( ) , ae = 9 ; case 96 : return ae = D ( ) ; case 37 : return 61 === i . charCodeAt ( ee + 1 ) ? ( ee += 2 , ae = 62 ) : ( ee ++ , ae = 40 ) ; case 38 : return 38 === i . charCodeAt ( ee + 1 ) ? ( ee += 2 , ae = 51 ) : 61 === i . charCodeAt ( ee + 1 ) ? ( ee += 2 , ae = 66 ) : ( ee ++ , ae = 46 ) ; case 40 : return ee ++ , ae = 17 ; case 41 : return ee ++ , ae = 18 ; case 42 : return 61 === i . charCodeAt ( ee + 1 ) ? ( ee += 2 , ae = 59 ) : 42 === i . charCodeAt ( ee + 1 ) ? 61 === i . charCodeAt ( ee + 2 ) ? ( ee += 3 , ae = 60 ) : ( ee += 2 , ae = 38 ) : ( ee ++ , ae = 37 ) ; case 43 : return 43 === i . charCodeAt ( ee + 1 ) ? ( ee += 2 , ae = 41 ) : 61 === i . charCodeAt ( ee + 1 ) ? ( ee += 2 , ae = 57 ) : ( ee ++ , ae = 35 ) ; case 44 : return ee ++ , ae = 24 ; case 45 : return 45 === i . charCodeAt ( ee + 1 ) ? ( ee += 2 , ae = 42 ) : 61 === i . charCodeAt ( ee + 1 ) ? ( ee += 2 , ae = 58 ) : ( ee ++ , ae = 36 ) ; case 46 : return g ( i . charCodeAt ( ee + 1 ) ) ? ( ie = u ( ) , ae = 8 ) : 46 === i . charCodeAt ( ee + 1 ) && 46 === i . charCodeAt ( ee + 2 ) ? ( ee += 3 , ae = 22 ) : ( ee ++ , ae = 21 ) ; case 47 : if ( 47 === i . charCodeAt ( ee + 1 ) ) { for ( ee += 2 ; te > ee && ! m ( i . charCodeAt ( ee ) ) ; ) ee ++ ; if ( r ) continue ; return ae = 2 ; } if ( 42 === i . charCodeAt ( ee + 1 ) ) { ee += 2 ; for ( var o = ! 1 ; te > ee ; ) { var s = i . charCodeAt ( ee ) ; if ( 42 === s && 47 === i . charCodeAt ( ee + 1 ) ) { ee += 2 , o = ! 0 ; break ; } m ( s ) && ( oe = ! 0 ) , ee ++ ; } if ( o || _ ( e . Diagnostics . Asterisk_Slash_expected ) , r ) continue ; return ce = ! o , ae = 3 ; } return 61 === i . charCodeAt ( ee + 1 ) ? ( ee += 2 , ae = 61 ) : ( ee ++ , ae = 39 ) ; case 48 : if ( te > ee + 2 && ( 88 === i . charCodeAt ( ee + 1 ) || 120 === i . charCodeAt ( ee + 1 ) ) ) { ee += 2 ; var c = p ( 1 ) ; return 0 > c && ( _ ( e . Diagnostics . Hexadecimal_digit_expected ) , c = 0 ) , ie = "" + c , ae = 8 ; } if ( te > ee + 2 && ( 66 === i . charCodeAt ( ee + 1 ) || 98 === i . charCodeAt ( ee + 1 ) ) ) { ee += 2 ; var c = F ( 2 ) ; return 0 > c && ( _ ( e . Diagnostics . Binary_digit_expected ) , c = 0 ) , ie = "" + c , ae = 8 ; } if ( te > ee + 2 && ( 79 === i . charCodeAt ( ee + 1 ) || 111 === i . charCodeAt ( ee + 1 ) ) ) { ee += 2 ; var c = F ( 8 ) ; return 0 > c && ( _ ( e . Diagnostics . Octal_digit_expected ) , c = 0 ) , ie = "" + c , ae = 8 ; } if ( te > ee + 1 && y ( i . charCodeAt ( ee + 1 ) ) ) return ie = "" + l ( ) , ae = 8 ; case 49 : case 50 : case 51 : case 52 : case 53 : case 54 : case 55 : case 56 : case 57 : return ie = u ( ) , ae = 8 ; case 58 : return ee ++ , ae = 54 ; case 59 : return ee ++ , ae = 23 ; case 60 : if ( k ( i , ee ) ) { if ( ee = b ( i , ee , _ ) , r ) continue ; return ae = 7 ; } return 60 === i . charCodeAt ( ee + 1 ) ? 61 === i . charCodeAt ( ee + 2 ) ? ( ee += 3 , ae = 63 ) : ( ee += 2 , ae = 43 ) : 61 === i . charCodeAt ( ee + 1 ) ? ( ee += 2 , ae = 28 ) : 1 === a && 47 === i . charCodeAt ( ee + 1 ) && 42 !== i . charCodeAt ( ee + 2 ) ? ( ee += 2 , ae = 26 ) : ( ee ++ , ae = 25 ) ; case 61 : if ( k ( i , ee ) ) { if ( ee = b ( i , ee , _ ) , r ) continue ; return ae = 7 ; } return 61 === i . charCodeAt ( ee + 1 ) ? 61 === i . charCodeAt ( ee + 2 ) ? ( ee += 3 , ae = 32 ) : ( ee += 2 , ae = 30 ) : 62 === i . charCodeAt ( ee + 1 ) ? ( ee += 2 , ae = 34 ) : ( ee ++ , ae = 56 ) ; case 62 : if ( k ( i , ee ) ) { if ( ee = b ( i , ee , _ ) , r ) continue ; return ae = 7 ; } return ee ++ , ae = 27 ; case 63 : return ee ++ , ae = 53 ; case 91 : return ee ++ , ae = 19 ; case 93 : return ee ++ , ae = 20 ; case 94 : return 61 === i . charCodeAt ( ee + 1 ) ? ( ee += 2 , ae = 68 ) : ( ee ++ , ae = 48 ) ; case 123 : return ee ++ , ae = 15 ; case 124 : return 124 === i . charCodeAt ( ee + 1 ) ? ( ee += 2 , ae = 52 ) : 61 === i . charCodeAt ( ee + 1 ) ? ( ee += 2 , ae = 67 ) : ( ee ++ , ae = 47 ) ; case 125 : return ee ++ , ae = 16 ; case 126 : return ee ++ , ae = 50 ; case 64 : return ee ++ , ae = 55 ; case 92 : var d = N ( ) ; return d >= 0 && w ( d , n ) ? ( ee += 6 , ie = String . fromCharCode ( d ) + R ( ) , ae = I ( ) ) : ( _ ( e . Diagnostics . Invalid_character ) , ee ++ , ae = 0 ) ; default : if ( w ( t , n ) ) { for ( ee ++ ; te > ee && A ( t = i . charCodeAt ( ee ) , n ) ; ) ee ++ ; return ie = i . substring ( re , ee ) , 92 === t && ( ie += R ( ) ) , ae = I ( ) ; } if ( f ( t ) ) { ee ++ ; continue ; } if ( m ( t ) ) { oe = ! 0 , ee ++ ; continue ; } return _ ( e . Diagnostics . Invalid_character ) , ee ++ , ae = 0 ; } } } function M ( ) { if ( 27 === ae ) { if ( 62 === i . charCodeAt ( ee ) ) return 62 === i . charCodeAt ( ee + 1 ) ? 61 === i . charCodeAt ( ee + 2 ) ? ( ee += 3 , ae = 65 ) : ( ee += 2 , ae = 45 ) : 61 === i . charCodeAt ( ee + 1 ) ? ( ee += 2 , ae = 64 ) : ( ee ++ , ae = 44 ) ; if ( 61 === i . charCodeAt ( ee ) ) return ee ++ , ae = 29 ; } return ae ; } function z ( ) { if ( 39 === ae || 61 === ae ) { for ( var t = re + 1 , r = ! 1 , a = ! 1 ; ; ) { if ( t >= te ) { ce = ! 0 , _ ( e . Diagnostics . Unterminated_regular_expression_literal ) ; break ; } var o = i . charCodeAt ( t ) ; if ( m ( o ) ) { ce = ! 0 , _ ( e . Diagnostics . Unterminated_regular_expression_literal ) ; break ; } if ( r ) r = ! 1 ; else { if ( 47 === o && ! a ) { t ++ ; break ; } 91 === o ? a = ! 0 : 92 === o ? r = ! 0 : 93 === o && ( a = ! 1 ) ; } t ++ ; } for ( ; te > t && A ( i . charCodeAt ( t ) , n ) ; ) t ++ ; ee = t , ie = i . substring ( re , ee ) , ae = 10 ; } return ae ; } function K ( ) { return e . Debug . assert ( 16 === ae , "'reScanTemplateToken' should only be called on a '}'" ) , ee = re , ae = D ( ) ; } function j ( ) { return ee = re = ne , ae = J ( ) ; } function J ( ) { if ( ne = re = ee , ee >= te ) return ae = 1 ; var e = i . charCodeAt ( ee ) ; if ( 60 === e ) return 47 === i . charCodeAt ( ee + 1 ) ? ( ee += 2 , ae = 26 ) : ( ee ++ , ae = 25 ) ; if ( 123 === e ) return ee ++ , ae = 15 ; for ( ; te > ee && ( ee ++ , e = i . charCodeAt ( ee ) , 123 !== e && 60 !== e ) ; ) ; return ae = 239 ; } function U ( ) { if ( t ( ae ) ) { for ( var e = ee ; te > ee ; ) { var r = i . charCodeAt ( ee ) ; if ( 45 !== r && ( e === ee ? ! w ( r , n ) : ! A ( r , n ) ) ) break ; ee ++ ; } ie += i . substr ( e , ee - e ) ; } return ae ; } function q ( ) { if ( ee >= te ) return ae = 1 ; ne = ee ; for ( var e = i . charCodeAt ( ee ) ; te > ee && ( e = i . charCodeAt ( ee ) , f ( e ) ) ; ) ee ++ ; switch ( re = ee , e ) { case 64 : return ee += 1 , ae = 55 ; case 10 : case 13 : return ee += 1 , ae = 4 ; case 42 : return ee += 1 , ae = 37 ; case 123 : return ee += 1 , ae = 15 ; case 125 : return ee += 1 , ae = 16 ; case 91 : return ee += 1 , ae = 19 ; case 93 : return ee += 1 , ae = 20 ; case 61 : return ee += 1 , ae = 56 ; case 44 : return ee += 1 , ae = 24 ; } if ( w ( e , 2 ) ) { for ( ee ++ ; A ( i . charCodeAt ( ee ) , 2 ) && te > ee ; ) ee ++ ; return ae = 69 ; } return ee += 1 , ae = 0 ; } function W ( e , t ) { var n = ee , r = ne , a = re , i = ae , o = ie , s = oe , c = e ( ) ; return c && ! t || ( ee = n , ne = r , re = a , ae = i , ie = o , oe = s ) , c ; } function V ( e , t , n ) { var r = te , a = ee , o = ne , s = re , c = ae , _ = oe , u = ie , l = se , d = ce ; X ( i , e , t ) ; var p = n ( ) ; return te = r , ee = a , ne = o , re = s , ae = c , oe = _ , ie = u , se = l , ce = d , p ; } function H ( e ) { return W ( e , ! 0 ) ; } function G ( e ) { return W ( e , ! 1 ) ; } function X ( e , t , n ) { i = e || "" , te = void 0 === n ? i . length : t + n , Z ( t || 0 ) ; } function Q ( e ) { o = e ; } function Y ( e ) { n = e ; } function $ ( e ) { a = e ; } function Z ( t ) { e . Debug . assert ( t >= 0 ) , ee = t , ne = t , re = t , ae = 0 , oe = ! 1 , ie = void 0 , se = ! 1 , ce = ! 1 ; } void 0 === a && ( a = 0 ) ; var ee , te , ne , re , ae , ie , oe , se , ce ; return X ( i , s , c ) , { getStartPos : function ( ) { return ne ; } , getTextPos : function ( ) { return ee ; } , getToken : function ( ) { return ae ; } , getTokenPos : function ( ) { return re ; } , getTokenText : function ( ) { return i . substring ( re , ee ) ; } , getTokenValue : function ( ) { return ie ; } , hasExtendedUnicodeEscape : function ( ) { return se ; } , hasPrecedingLineBreak : function ( ) { return oe ; } , isIdentifier : function ( ) { return 69 === ae || ae > 105 ; } , isReservedWord : function ( ) { return ae >= 70 && 105 >= ae ; } , isUnterminated : function ( ) { return ce ; } , reScanGreaterToken : M , reScanSlashToken : z , reScanTemplateToken : K , scanJsxIdentifier : U , reScanJsxToken : j , scanJsxToken : J , scanJSDocToken : q , scan : L , setText : X , setScriptTarget : Y , setLanguageVariant : $ , setOnError : Q , setTextPos : Z , tryScan : G , lookAhead : H , scanRange : V } ; } e . tokenIsIdentifierOrKeyword = t ; var O = { "abstract" : 115 , any : 117 , as : 116 , "boolean" : 120 , "break" : 70 , "case" : 71 , "catch" : 72 , "class" : 73 , "continue" : 75 , "const" : 74 , constructor : 121 , "debugger" : 76 , declare : 122 , "default" : 77 , "delete" : 78 , "do" : 79 , "else" : 80 , "enum" : 81 , "export" : 82 , "extends" : 83 , "false" : 84 , "finally" : 85 , "for" : 86 , from : 133 , "function" : 87 , get : 123 , "if" : 88 , "implements" : 106 , "import" : 89 , "in" : 90 , "instanceof" : 91 , "interface" : 107 , is : 124 , let : 108 , module : 125 , namespace : 126 , "new" : 92 , "null" : 93 , number : 128 , "package" : 109 , "private" : 110 , "protected" : 111 , "public" : 112 , require : 127 , global : 134 , "return" : 94 , set : 129 , "static" : 113 , string : 130 , "super" : 95 , "switch" : 96 , symbol : 131 , "this" : 97 , "throw" : 98 , "true" : 99 , "try" : 100 , type : 132 , "typeof" : 101 , "var" : 102 , "void" : 103 , "while" : 104 , "with" : 105 , "yield" : 114 , async : 118 , await : 119 , of : 135 , "{" : 15 , "}" : 16 , "(" : 17 , ")" : 18 , "[" : 19 , "]" : 20 , "." : 21 , "..." : 22 , ";" : 23 , "," : 24 , "<" : 25 , ">" : 27 , "<=" : 28 , ">=" : 29 , "==" : 30 , "!=" : 31 , "===" : 32 , "!==" : 33 , "=>" : 34 , "+" : 35 , "-" : 36 , "**" : 38 , "*" : 37 , "/" : 39 , "%" : 40 , "++" : 41 , "--" : 42 , "<<" : 43 , "</" : 26 , ">>" : 44 , ">>>" : 45 , "&" : 46 , "|" : 47 , "^" : 48 , "!" : 49 , "~" : 50 , "&&" : 51 , "||" : 52 , "?" : 53 , ":" : 54 , "=" : 56 , "+=" : 57 , "-=" : 58 , "*=" : 59 , "**=" : 60 , "/=" : 61 , "%=" : 62 , "<<=" : 63 , ">>=" : 64 , ">>>=" : 65 , "&=" : 66 , "|=" : 67 , "^=" : 68 , "@" : 55 } , R = [ 170 , 170 , 181 , 181 , 186 , 186 , 192 , 214 , 216 , 246 , 248 , 543 , 546 , 563 , 592 , 685 , 688 , 696 , 699 , 705 , 720 , 721 , 736 , 740 , 750 , 750 , 890 , 890 , 902 , 902 , 904 , 906 , 908 , 908 , 910 , 929 , 931 , 974 , 976 , 983 , 986 , 1011 , 1024 , 1153 , 1164 , 1220 , 1223 , 1224 , 1227 , 1228 , 1232 , 1269 , 1272 , 1273 , 1329 , 1366 , 1369 , 1369 , 1377 , 1415 , 1488 , 1514 , 1520 , 1522 , 1569 , 1594 , 1600 , 1610 , 1649 , 1747 , 1749 , 1749 , 1765 , 1766 , 1786 , 1788 , 1808 , 1808 , 1810 , 1836 , 1920 , 1957 , 2309 , 2361 , 2365 , 2365 , 2384 , 2384 , 2392 , 2401 , 2437 , 2444 , 2447 , 2448 , 2451 , 2472 , 2474 , 2480 , 2482 , 2482 , 2486 , 2489 , 2524 , 2525 , 2527 , 2529 , 2544 , 2545 , 2565 , 2570 , 2575 , 2576 , 2579 , 2600 , 2602 , 2608 , 2610 , 2611 , 2613 , 2614 , 2616 , 2617 , 2649 , 2652 , 2654 , 2654 , 2674 , 2676 , 2693 , 2699 , 2701 , 2701 , 2703 , 2705 , 2707 , 2728 , 2730 , 2736 , 2738 , 2739 , 2741 , 2745 , 2749 , 2749 , 2768 , 2768 , 2784 , 2784 , 2821 , 2828 , 2831 , 2832 , 2835 , 2856 , 2858 , 2864 , 2866 , 2867 , 2870 , 2873 , 2877 , 2877 , 2908 , 2909 , 2911 , 2913 , 2949 , 2954 , 2958 , 2960 , 2962 , 2965 , 2969 , 2970 , 2972 , 2972 , 2974 , 2975 , 2979 , 2980 , 2984 , 2986 , 2990 , 2997 , 2999 , 3001 , 3077 , 3084 , 3086 , 3088 , 3090 , 3112 , 3114 , 3123 , 3125 , 3129 , 3168 , 3169 , 3205 , 3212 , 3214 , 3216 , 3218 , 3240 , 3242 , 3251 , 3253 , 3257 , 3294 , 3294 , 3296 , 3297 , 3333 , 3340 , 3342 , 3344 , 3346 , 3368 , 3370 , 3385 , 3424 , 3425 , 3461 , 3478 , 3482 , 3505 , 3507 , 3515 , 3517 , 3517 , 3520 , 3526 , 3585 , 3632 , 3634 , 3635 , 3648 , 3654 , 3713 , 3714 , 3716 , 3716 , 3719 , 3720 , 3722 , 3722 , 3725 , 3725 , 3732 , 3735 , 3737 , 3743 , 3745 , 3747 , 3749 , 3749 , 3751 , 3751 , 3754 , 3755 , 3757 , 3760 , 3762 , 3763 , 3773 , 3773 , 3776 , 3780 , 3782 , 3782 , 3804 , 3805 , 3840 , 3840 , 3904 , 3911 , 3913 , 3946 , 3976 , 3979 , 4096 , 4129 , 4131 , 4135 , 4137 , 4138 , 4176 , 4181 , 4256 , 4293 , 4304 , 4342 , 4352 , 4441 , 4447 , 4514 , 4520 , 4601 , 4608 , 4614 , 4616 , 4678 , 4680 , 4680 , 4682 , 4685 , 4688 , 4694 , 4696 , 4696 , 4698 , 4701 , 4704 , 4742 , 4744 , 4744 , 4746 , 4749 , 4752 , 4782 , 4784 , 4784 , 4786 , 4789 , 4792 , 4798 , 4800 , 4800 , 4802 , 4805 , 4808 , 4814 , 4816 , 4822 , 4824 , 4846 , 4848 , 4878 , 4880 , 4880 , 4882 , 4885 , 4888 , 4894 , 4896 , 4934 , 4936 , 4954 , 5024 , 5108 , 5121 , 5740 , 5743 , 5750 , 5761 , 5786 , 5792 , 5866 , 6016 , 6067 , 6176 , 6263 , 6272 , 6312 , 7680 , 7835 , 7840 , 7929 , 7936 , 7957 , 7960 , 7965 , 7968 , 8005 , 8008 , 8013 , 8016 , 8023 , 8025 , 8025 , 8027 , 8027 , 8029 , 8029 , 8031 , 8061 , 8064 , 8116 , 8118 , 8124 , 8126 , 8126 , 8130 , 8132 , 8134 , 8140 , 8144 , 8147 , 8150 , 8155 , 8160 , 8172 , 8178 , 8180 , 8182 , 8188 , 8319 , 8319 , 8450 , 8450 , 8455 , 8455 , 8458 , 8467 , 8469 , 8469 , 8473 , 8477 , 8484 , 8484 , 8486 , 8486 , 8488 , 8488 , 8490 , 8493 , 8495 , 8497 , 8499 , 8505 , 8544 , 8579 , 12293 , 12295 , 12321 , 12329 , 12337 , 12341 , 12344 , 12346 , 12353 , 12436 , 12445 , 12446 , 12449 , 12538 , 12540 , 12542 , 12549 , 12588 , 12593 , 12686 , 12704 , 12727 , 13312 , 19893 , 19968 , 40869 , 40960 , 42124 , 44032 , 55203 , 63744 , 64045 , 64256 , 64262 , 64275 , 64279 , 64285 , 64285 , 64287 , 64296 , 64298 , 64310 , 64312 , 64316 , 64318 , 64318 , 64320 , 64321 , 64323 , 64324 , 64326 , 64433 , 64467 , 64829 , 64848 , 64911 , 64914 , 64967 , 65008 , 65019 , 65136 , 65138 , 65140 , 65140 , 65142 , 65276 , 65313 , 65338 , 65345 , 65370 , 65382 , 65470 , 65474 , 65479 , 65482 , 65487 , 65490 , 65495 , 65498 , 65500 ] , I = [ 170 , 170 , 181 , 181 , 186 , 186 , 192 , 214 , 216 , 246 , 248 , 543 , 546 , 563 , 592 , 685 , 688 , 696 , 699 , 705 , 720 , 721 , 736 , 740 , 750 , 750 , 768 , 846 , 864 , 866 , 890 , 890 , 902 , 902 , 904 , 906 , 908 , 908 , 910 , 929 , 931 , 974 , 976 , 983 , 986 , 1011 , 1024 , 1153 , 1155 , 1158 , 1164 , 1220 , 1223 , 1224 , 1227 , 1228 , 1232 , 1269 , 1272 , 1273 , 1329 , 1366 , 1369 , 1369 , 1377 , 1415 , 1425 , 1441 , 1443 , 1465 , 1467 , 1469 , 1471 , 1471 , 1473 , 1474 , 1476 , 1476 , 1488 , 1514 , 1520 , 1522 , 1569 , 1594 , 1600 , 1621 , 1632 , 1641 , 1648 , 1747 , 1749 , 1756 , 1759 , 1768 , 1770 , 1773 , 1776 , 1788 , 1808 , 1836 , 1840 , 1866 , 1920 , 1968 , 2305 , 2307 , 2309 , 2361 , 2364 , 2381 , 2384 , 2388 , 2392 , 2403 , 2406 , 2415 , 2433 , 2435 , 2437 , 2444 , 2447 , 2448 , 2451 , 2472 , 2474 , 2480 , 2482 , 2482 , 2486 , 2489 , 2492 , 2492 , 2494 , 2500 , 2503 , 2504 , 2507 , 2509 , 2519 , 2519 , 2524 , 2525 , 2527 , 2531 , 2534 , 2545 , 2562 , 2562 , 2565 , 2570 , 2575 , 2576 , 2579 , 2600 , 2602 , 2608 , 2610 , 2611 , 2613 , 2614 , 2616 , 2617 , 2620 , 2620 , 2622 , 2626 , 2631 , 2632 , 2635 , 2637 , 2649 , 2652 , 2654 , 2654 , 2662 , 2676 , 2689 , 2691 , 2693 , 2699 , 2701 , 2701 , 2703 , 2705 , 2707 , 2728 , 2730 , 2736 , 2738 , 2739 , 2741 , 2745 , 2748 , 2757 , 2759 , 2761 , 2763 , 2765 , 2768 , 2768 , 2784 , 2784 , 2790 , 2799 , 2817 , 2819 , 2821 , 2828 , 2831 , 2832 , 2835 , 2856 , 2858 , 2864 , 2866 , 2867 , 2870 , 2873 , 2876 , 2883 , 2887 , 2888 , 2891 , 2893 , 2902 , 2903 , 2908 , 2909 , 2911 , 2913 , 2918 , 2927 , 2946 , 2947 , 2949 , 2954 , 2958 , 2960 , 2962 , 2965 , 2969 , 2970 , 2972 , 2972 , 2974 , 2975 , 2979 , 2980 , 2984 , 2986 , 2990 , 2997 , 2999 , 3001 , 3006 , 3010 , 3014 , 3016 , 3018 , 3021 , 3031 , 3031 , 3047 , 3055 , 3073 , 3075 , 3077 , 3084 , 3086 , 3088 , 3090 , 3112 , 3114 , 3123 , 3125 , 3129 , 3134 , 3140 , 3142 , 3144 , 3146 , 3149 , 3157 , 3158 , 3168 , 3169 , 3174 , 3183 , 3202 , 3203 , 3205 , 3212 , 3214 , 3216 , 3218 , 3240 , 3242 , 3251 , 3253 , 3257 , 3262 , 3268 , 3270 , 3272 , 3274 , 3277 , 3285 , 3286 , 3294 , 3294 , 3296 , 3297 , 3302 , 3311 , 3330 , 3331 , 3333 , 3340 , 3342 , 3344 , 3346 , 3368 , 3370 , 3385 , 3390 , 3395 , 3398 , 3400 , 3402 , 3405 , 3415 , 3415 , 3424 , 3425 , 3430 , 3439 , 3458 , 3459 , 3461 , 3478 , 3482 , 3505 , 3507 , 3515 , 3517 , 3517 , 3520 , 3526 , 3530 , 3530 , 3535 , 3540 , 3542 , 3542 , 3544 , 3551 , 3570 , 3571 , 3585 , 3642 , 3648 , 3662 , 3664 , 3673 , 3713 , 3714 , 3716 , 3716 , 3719 , 3720 , 3722 , 3722 , 3725 , 3725 , 3732 , 3735 , 3737 , 3743 , 3745 , 3747 , 3749 , 3749 , 3751 , 3751 , 3754 , 3755 , 3757 , 3769 , 3771 , 3773 , 3776 , 3780 , 3782 , 3782 , 3784 , 3789 , 3792 , 3801 , 3804 , 3805 , 3840 , 3840 , 3864 , 3865 , 3872 , 3881 , 3893 , 3893 , 3895 , 3895 , 3897 , 3897 , 3902 , 3911 , 3913 , 3946 , 3953 , 3972 , 3974 , 3979 , 3984 , 3991 , 3993 , 4028 , 4038 , 4038 , 4096 , 4129 , 4131 , 4135 , 4137 , 4138 , 4140 , 4146 , 4150 , 4153 , 4160 , 4169 , 4176 , 4185 , 4256 , 4293 , 4304 , 4342 , 4352 , 4441 , 4447 , 4514 , 4520 , 4601 , 4608 , 4614 , 4616 , 4678 , 4680 , 4680 , 4682 , 4685 , 4688 , 4694 , 4696 , 4696 , 4698 , 4701 , 4704 , 4742 , 4744 , 4744 , 4746 , 4749 , 4752 , 4782 , 4784 , 4784 , 4786 , 4789 , 4792 , 4798 , 4800 , 4800 , 4802 , 4805 , 4808 , 4814 , 4816 , 4822 , 4824 , 4846 , 4848 , 4878 , 4880 , 4880 , 4882 , 4885 , 4888 , 4894 , 4896 , 4934 , 4936 , 4954 , 4969 , 4977 , 5024 , 5108 , 5121 , 5740 , 5743 , 5750 , 5761 , 5786 , 5792 , 5866 , 6016 , 6099 , 6112 , 6121 , 6160 , 6169 , 6176 , 6263 , 6272 , 6313 , 7680 , 7835 , 7840 , 7929 , 7936 , 7957 , 7960 , 7965 , 7968 , 8005 , 8008 , 8013 , 8016 , 8023 , 8025 , 8025 , 8027 , 8027 , 8029 , 8029 , 8031 , 8061 , 8064 , 8116 , 8118 , 8124 , 8126 , 8126 , 8130 , 8132 , 8134 , 8140 , 8144 , 8147 , 8150 , 8155 , 8160 , 8172 , 8178 , 8180 , 8182 , 8188 , 8255 , 8256 , 8319 , 8319 , 8400 , 8412 , 8417 , 8417 , 8450 , 8450 , 8455 , 8455 , 8458 , 8467 , 8469 , 8469 , 8473 , 8477 , 8484 , 8484 , 8486 , 8486 , 8488 , 8488 , 8490 , 8493 , 8495 , 8497 , 8499 , 8505 , 8544 , 8579 , 12293 , 12295 , 12321 , 12335 , 12337 , 12341 , 12344 , 12346 , 12353 , 12436 , 12441 , 12442 , 12445 , 12446 , 12449 , 12542 , 12549 , 12588 , 12593 , 12686 , 12704 , 12727 , 13312 , 19893 , 19968 , 40869 , 40960 , 42124 , 44032 , 55203 , 63744 , 64045 , 64256 , 64262 , 64275 , 64279 , 64285 , 64296 , 64298 , 64310 , 64312 , 64316 , 64318 , 64318 , 64320 , 64321 , 64323 , 64324 , 64326 , 64433 , 64467 , 64829 , 64848 , 64911 , 64914 , 64967 , 65008 , 65019 , 65056 , 65059 , 65075 , 65076 , 65101 , 65103 , 65136 , 65138 , 65140 , 65140 , 65142 , 65276 , 65296 , 65305 , 65313 , 65338 , 65343 , 65343 , 65345 , 65370 , 65381 , 65470 , 65474 , 65479 , 65482 , 65487 , 65490 , 65495 , 65498 , 65500 ] , F = [ 170 , 170 , 181 , 181 , 186 , 186 , 192 , 214 , 216 , 246 , 248 , 705 , 710 , 721 , 736 , 740 , 748 , 748 , 750 , 750 , 880 , 884 , 886 , 887 , 890 , 893 , 902 , 902 , 904 , 906 , 908 , 908 , 910 , 929 , 931 , 1013 , 1015 , 1153 , 1162 , 1319 , 1329 , 1366 , 1369 , 1369 , 1377 , 1415 , 1488 , 1514 , 1520 , 1522 , 1568 , 1610 , 1646 , 1647 , 1649 , 1747 , 1749 , 1749 , 1765 , 1766 , 1774 , 1775 , 1786 , 1788 , 1791 , 1791 , 1808 , 1808 , 1810 , 1839 , 1869 , 1957 , 1969 , 1969 , 1994 , 2026 , 2036 , 2037 , 2042 , 2042 , 2048 , 2069 , 2074 , 2074 , 2084 , 2084 , 2088 , 2088 , 2112 , 2136 , 2208 , 2208 , 2210 , 2220 , 2308 , 2361 , 2365 , 2365 , 2384 , 2384 , 2392 , 2401 , 2417 , 2423 , 2425 , 2431 , 2437 , 2444 , 2447 , 2448 , 2451 , 2472 , 2474 , 2480 , 2482 , 2482 , 2486 , 2489 , 2493 , 2493 , 2510 , 2510 , 2524 , 2525 , 2527 , 2529 , 2544 , 2545 , 2565 , 2570 , 2575 , 2576 , 2579 , 2600 , 2602 , 2608 , 2610 , 2611 , 2613 , 2614 , 2616 , 2617 , 2649 , 2652 , 2654 , 2654 , 2674 , 2676 , 2693 , 2701 , 2703 , 2705 , 2707 , 2728 , 2730 , 2736 , 2738 , 2739 , 2741 , 2745 , 2749 , 2749 , 2768 , 2768 , 2784 , 2785 , 2821 , 2828 , 2831 , 2832 , 2835 , 2856 , 2858 , 2864 , 2866 , 2867 , 2869 , 2873 , 2877 , 2877 , 2908 , 2909 , 2911 , 2913 , 2929 , 2929 , 2947 , 2947 , 2949 , 2954 , 2958 , 2960 , 2962 , 2965 , 2969 , 2970 , 2972 , 2972 , 2974 , 2975 , 2979 , 2980 , 2984 , 2986 , 2990 , 3001 , 3024 , 3024 , 3077 , 3084 , 3086 , 3088 , 3090 , 3112 , 3114 , 3123 , 3125 , 3129 , 3133 , 3133 , 3160 , 3161 , 3168 , 3169 , 3205 , 3212 , 3214 , 3216 , 3218 , 3240 , 3242 , 3251 , 3253 , 3257 , 3261 , 3261 , 3294 , 3294 , 3296 , 3297 , 3313 , 3314 , 3333 , 3340 , 3342 , 3344 , 3346 , 3386 , 3389 , 3389 , 3406 , 3406 , 3424 , 3425 , 3450 , 3455 , 3461 , 3478 , 3482 , 3505 , 3507 , 3515 , 3517 , 3517 , 3520 , 3526 , 3585 , 3632 , 3634 , 3635 , 3648 , 3654 , 3713 , 3714 , 3716 , 3716 , 3719 , 3720 , 3722 , 3722 , 3725 , 3725 , 3732 , 3735 , 3737 , 3743 , 3745 , 3747 , 3749 , 3749 , 3751 , 3751 , 3754 , 3755 , 3757 , 3760 , 3762 , 3763 , 3773 , 3773 , 3776 , 3780 , 3782 , 3782 , 3804 , 3807 , 3840 , 3840 , 3904 , 3911 , 3913 , 3948 , 3976 , 3980 , 4096 , 4138 , 4159 , 4159 , 4176 , 4181 , 4186 , 4189 , 4193 , 4193 , 4197 , 4198 , 4206 , 4208 , 4213 , 4225 , 4238 , 4238 , 4256 , 4293 , 4295 , 4295 , 4301 , 4301 , 4304 , 4346 , 4348 , 4680 , 4682 , 4685 , 4688 , 4694 , 4696 , 4696 , 4698 , 4701 , 4704 , 4744 , 4746 , 4749 , 4752 , 4784 , 4786 , 4789 , 4792 , 4798 , 4800 , 4800 , 4802 , 4805 , 4808 , 4822 , 4824 , 4880 , 4882 , 4885 , 4888 , 4954 , 4992 , 5007 , 5024 , 5108 , 5121 , 5740 , 5743 , 5759 , 5761 , 5786 , 5792 , 5866 , 5870 , 5872 , 5888 , 5900 , 5902 , 5905 , 5920 , 5937 , 5952 , 5969 , 5984 , 5996 , 5998 , 6e3 , 6016 , 6067 , 6103 , 6103 , 6108 , 6108 , 6176 , 6263 , 6272 , 6312 , 6314 , 6314 , 6320 , 6389 , 6400 , 6428 , 6480 , 6509 , 6512 , 6516 , 6528 , 6571 , 6593 , 6599 , 6656 , 6678 , 6688 , 6740 , 6823 , 6823 , 6917 , 6963 , 6981 , 6987 , 7043 , 7072 , 7086 , 7087 , 7098 , 7141 , 7168 , 7203 , 7245 , 7247 , 7258 , 7293 , 7401 , 7404 , 7406 , 7409 , 7413 , 7414 , 7424 , 7615 , 7680 , 7957 , 7960 , 7965 , 7968 , 8005 , 8008 , 8013 , 8016 , 8023 , 8025 , 8025 , 8027 , 8027 , 8029 , 8029 , 8031 , 8061 , 8064 , 8116 , 8118 , 8124 , 8126 , 8126 , 8130 , 8132 , 8134 , 8140 , 8144 , 8147 , 8150 , 8155 , 8160 , 8172 , 8178 , 8180 , 8182 , 8188 , 8305 , 8305 , 8319 , 8319 , 8336 , 8348 , 8450 , 8450 , 8455 , 8455 , 8458 , 8467 , 8469 , 8469 , 8473 , 8477 , 8484 , 8484 , 8486 , 8486 , 8488 , 8488 , 8490 , 8493 , 8495 , 8505 , 8508 , 8511 , 8517 , 8521 , 8526 , 8526 , 8544 , 8584 , 11264 , 11310 , 11312 , 11358 , 11360 , 11492 , 11499 , 11502 , 11506 , 11507 , 11520 , 11557 , 11559 , 11559 , 11565 , 11565 , 11568 , 11623 , 11631 , 11631 , 11648 , 11670 , 11680 , 11686 , 11688 , 11694 , 11696 , 11702 , 11704 , 11710 , 11712 , 11718 , 11720 , 11726 , 11728 , 11734 , 11736 , 11742 , 11823 , 11823 , 12293 , 12295 , 12321 , 12329 , 12337 , 12341 , 12344 , 12348 , 12353 , 12438 , 12445 , 12447 , 12449 , 12538 , 12540 , 12543 , 12549 , 12589 , 12593 , 12686 , 12704 , 12730 , 12784 , 12799 , 13312 , 19893 , 19968 , 40908 , 40960 , 42124 , 42192 , 42237 , 42240 , 42508 , 42512 , 42527 , 42538 , 42539 , 42560 , 42606 , 42623 , 42647 , 42656 , 42735 , 42775 , 42783 , 42786 , 42888 , 42891 , 42894 , 42896 , 42899 , 42912 , 42922 , 43e3 , 43009 , 43011 , 43013 , 43015 , 43018 , 43020 , 43042 , 43072 , 43123 , 43138 , 43187 , 43250 , 43255 , 43259 , 43259 , 43274 , 43301 , 43312 , 43334 , 43360 , 43388 , 43396 , 43442 , 43471 , 43471 , 43520 , 43560 , 43584 , 43586 , 43588 , 43595 , 43616 , 43638 , 43642 , 43642 , 43648 , 43695 , 43697 , 43697 , 43701 , 43702 , 43705 , 43709 , 43712 , 43712 , 43714 , 43714 , 43739 , 43741 , 43744 , 43754 , 43762 , 43764 , 43777 , 43782 , 43785 , 43790 , 43793 , 43798 , 43808 , 43814 , 43816 , 43822 , 43968 , 44002 , 44032 , 55203 , 55216 , 55238 , 55243 , 55291 , 63744 , 64109 , 64112 , 64217 , 64256 , 64262 , 64275 , 64279 , 64285 , 64285 , 64287 , 64296 , 64298 , 64310 , 64312 , 64316 , 64318 , 64318 , 64320 , 64321 , 64323 , 64324 , 64326 , 64433 , 64467 , 64829 , 64848 , 64911 , 64914 , 64967 , 65008 , 65019 , 65136 , 65140 , 65142 , 65276 , 65313 , 65338 , 65345 , 65370 , 65382 , 65470 , 65474 , 65479 , 65482 , 65487 , 65490 , 65495 , 65498 , 65500 ] , L = [ 170 , 170 , 181 , 181 , 186 , 186 , 192 , 214 , 216 , 246 , 248 , 705 , 710 , 721 , 736 , 740 , 748 , 748 , 750 , 750 , 768 , 884 , 886 , 887 , 890 , 893 , 902 , 902 , 904 , 906 , 908 , 908 , 910 , 929 , 931 , 1013 , 1015 , 1153 , 1155 , 1159 , 1162 , 1319 , 1329 , 1366 , 1369 , 1369 , 1377 , 1415 , 1425 , 1469 , 1471 , 1471 , 1473 , 1474 , 1476 , 1477 , 1479 , 1479 , 1488 , 1514 , 1520 , 1522 , 1552 , 1562 , 1568 , 1641 , 1646 , 1747 , 1749 , 1756 , 1759 , 1768 , 1770 , 1788 , 1791 , 1791 , 1808 , 1866 , 1869 , 1969 , 1984 , 2037 , 2042 , 2042 , 2048 , 2093 , 2112 , 2139 , 2208 , 2208 , 2210 , 2220 , 2276 , 2302 , 2304 , 2403 , 2406 , 2415 , 2417 , 2423 , 2425 , 2431 , 2433 , 2435 , 2437 , 2444 , 2447 , 2448 , 2451 , 2472 , 2474 , 2480 , 2482 , 2482 , 2486 , 2489 , 2492 , 2500 , 2503 , 2504 , 2507 , 2510 , 2519 , 2519 , 2524 , 2525 , 2527 , 2531 , 2534 , 2545 , 2561 , 2563 , 2565 , 2570 , 2575 , 2576 , 2579 , 2600 , 2602 , 2608 , 2610 , 2611 , 2613 , 2614 , 2616 , 2617 , 2620 , 2620 , 2622 , 2626 , 2631 , 2632 , 2635 , 2637 , 2641 , 2641 , 2649 , 2652 , 2654 , 2654 , 2662 , 2677 , 2689 , 2691 , 2693 , 2701 , 2703 , 2705 , 2707 , 2728 , 2730 , 2736 , 2738 , 2739 , 2741 , 2745 , 2748 , 2757 , 2759 , 2761 , 2763 , 2765 , 2768 , 2768 , 2784 , 2787 , 2790 , 2799 , 2817 , 2819 , 2821 , 2828 , 2831 , 2832 , 2835 , 2856 , 2858 , 2864 , 2866 , 2867 , 2869 , 2873 , 2876 , 2884 , 2887 , 2888 , 2891 , 2893 , 2902 , 2903 , 2908 , 2909 , 2911 , 2915 , 2918 , 2927 , 2929 , 2929 , 2946 , 2947 , 2949 , 2954 , 2958 , 2960 , 2962 , 2965 , 2969 , 2970 , 2972 , 2972 , 2974 , 2975 , 2979 , 2980 , 2984 , 2986 , 2990 , 3001 , 3006 , 3010 , 3014 , 3016 , 3018 , 3021 , 3024 , 3024 , 3031 , 3031 , 3046 , 3055 , 3073 , 3075 , 3077 , 3084 , 3086 , 3088 , 3090 , 3112 , 3114 , 3123 , 3125 , 3129 , 3133 , 3140 , 3142 , 3144 , 3146 , 3149 , 3157 , 3158 , 3160 , 3161 , 3168 , 3171 , 3174 , 3183 , 3202 , 3203 , 3205 , 3212 , 3214 , 3216 , 3218 , 3240 , 3242 , 3251 , 3253 , 3257 , 3260 , 3268 , 3270 , 3272 , 3274 , 3277 , 3285 , 3286 , 3294 , 3294 , 3296 , 3299 , 3302 , 3311 , 3313 , 3314 , 3330 , 3331 , 3333 , 3340 , 3342 , 3344 , 3346 , 3386 , 3389 , 3396 , 3398 , 3400 , 3402 , 3406 , 3415 , 3415 , 3424 , 3427 , 3430 , 3439 , 3450 , 3455 , 3458 , 3459 , 3461 , 3478 , 3482 , 3505 , 3507 , 3515 , 3517 , 3517 , 3520 , 3526 , 3530 , 3530 , 3535 , 3540 , 3542 , 3542 , 3544 , 3551 , 3570 , 3571 , 3585 , 3642 , 3648 , 3662 , 3664 , 3673 , 3713 , 3714 , 3716 , 3716 , 3719 , 3720 , 3722 , 3722 , 3725 , 3725 , 3732 , 3735 , 3737 , 3743 , 3745 , 3747 , 3749 , 3749 , 3751 , 3751 , 3754 , 3755 , 3757 , 3769 , 3771 , 3773 , 3776 , 3780 , 3782 , 3782 , 3784 , 3789 , 3792 , 3801 , 3804 , 3807 , 3840 , 3840 , 3864 , 3865 , 3872 , 3881 , 3893 , 3893 , 3895 , 3895 , 3897 , 3897 , 3902 , 3911 , 3913 , 3948 , 3953 , 3972 , 3974 , 3991 , 3993 , 4028 , 4038 , 4038 , 4096 , 4169 , 4176 , 4253 , 4256 , 4293 , 4295 , 4295 , 4301 , 4301 , 4304 , 4346 , 4348 , 4680 , 4682 , 4685 , 4688 , 4694 , 4696 , 4696 , 4698 , 4701 , 4704 , 4744 , 4746 , 4749 , 4752 , 4784 , 4786 , 4789 , 4792 , 4798 , 4800 , 4800 , 4802 , 4805 , 4808 , 4822 , 4824 , 4880 , 4882 , 4885 , 4888 , 4954 , 4957 , 4959 , 4992 , 5007 , 5024 , 5108 , 5121 , 5740 , 5743 , 5759 , 5761 , 5786 , 5792 , 5866 , 5870 , 5872 , 5888 , 5900 , 5902 , 5908 , 5920 , 5940 , 5952 , 5971 , 5984 , 5996 , 5998 , 6e3 , 6002 , 6003 , 6016 , 6099 , 6103 , 6103 , 6108 , 6109 , 6112 , 6121 , 6155 , 6157 , 6160 , 6169 , 6176 , 6263 , 6272 , 6314 , 6320 , 6389 , 6400 , 6428 , 6432 , 6443 , 6448 , 6459 , 6470 , 6509 , 6512 , 6516 , 6528 , 6571 , 6576 , 6601 , 6608 , 6617 , 6656 , 6683 , 6688 , 6750 , 6752 , 6780 , 6783 , 6793 , 6800 , 6809 , 6823 , 6823 , 6912 , 6987 , 6992 , 7001 , 7019 , 7027 , 7040 , 7155 , 7168 , 7223 , 7232 , 7241 , 7245 , 7293 , 7376 , 7378 , 7380 , 7414 , 7424 , 7654 , 7676 , 7957 , 7960 , 7965 , 7968 , 8005 , 8008 , 8013 , 8016 , 8023 , 8025 , 8025 , 8027 , 8027 , 8029 , 8029 , 8031 , 8061 , 8064 , 8116 , 8118 , 8124 , 8126 , 8126 , 8130 , 8132 , 8134 , 8140 , 8144 , 8147 , 8150 , 8155 , 8160 , 8172 , 8178 , 8180 , 8182 , 8188 , 8204 , 8205 , 8255 , 8256 , 8276 , 8276 , 8305 , 8305 , 8319 , 8319 , 8336 , 8348 , 8400 , 8412 , 8417 , 8417 , 8421 , 8432 , 8450 , 8450 , 8455 , 8455 , 8458 , 8467 , 8469 , 8469 , 8473 , 8477 , 8484 , 8484 , 8486 , 8486 , 8488 , 8488 , 8490 , 8493 , 8495 , 8505 , 8508 , 8511 , 8517 , 8521 , 8526 , 8526 , 8544 , 8584 , 11264 , 11310 , 11312 , 11358 , 11360 , 11492 , 11499 , 11507 , 11520 , 11557 , 11559 , 11559 , 11565 , 11565 , 11568 , 11623 , 11631 , 11631 , 11647 , 11670 , 11680 , 11686 , 11688 , 11694 , 11696 , 11702 , 11704 , 11710 , 11712 , 11718 , 11720 , 11726 , 11728 , 11734 , 11736 , 11742 , 11744 , 11775 , 11823 , 11823 , 12293 , 12295 , 12321 , 12335 , 12337 , 12341 , 12344 , 12348 , 12353 , 12438 , 12441 , 12442 , 12445 , 12447 , 12449 , 12538 , 12540 , 12543 , 12549 , 12589 , 12593 , 12686 , 12704 , 12730 , 12784 , 12799 , 13312 , 19893 , 19968 , 40908 , 40960 , 42124 , 42192 , 42237 , 42240 , 42508 , 42512 , 42539 , 42560 , 42607 , 42612 , 42621 , 42623 , 42647 , 42655 , 42737 , 42775 , 42783 , 42786 , 42888 , 42891 , 42894 , 42896 , 42899 , 42912 , 42922 , 43e3 , 43047 , 43072 , 43123 , 43136 , 43204 , 43216 , 43225 , 43232 , 43255 , 43259 , 43259 , 43264 , 43309 , 43312 , 43347 , 43360 , 43388 , 43392 , 43456 , 43471 , 43481 , 43520 , 43574 , 43584 , 43597 , 43600 , 43609 , 43616 , 43638 , 43642 , 43643 , 43648 , 43714 , 43739 , 43741 , 43744 , 43759 , 43762 , 43766 , 43777 , 43782 , 43785 , 43790 , 43793 , 43798 , 43808 , 43814 , 43816 , 43822 , 43968 , 44010 , 44012 , 44013 , 44016 , 44025 , 44032 , 55203 , 55216 , 55238 , 55243 , 55291 , 63744 , 64109 , 64112 , 64217 , 64256 , 64262 , 64275 , 64279 , 64285 , 64296 , 64298 , 64310 , 64312 , 64316 , 64318 , 64318 , 64320 , 64321 , 64323 , 64324 , 64326 , 64433 , 64467 , 64829 , 64848 , 64911 , 64914 , 64967 , 65008 , 65019 , 65024 , 65039 , 65056 , 65062 , 65075 , 65076 , 65101 , 65103 , 65136 , 65140 , 65142 , 65276 , 65296 , 65305 , 65313 , 65338 , 65343 , 65343 , 65345 , 65370 , 65382 , 65470 , 65474 , 65479 , 65482 , 65487 , 65490 , 65495 , 65498 , 65500 ] ; e . isUnicodeIdentifierStart = r ; var M = i ( O ) ; e . tokenToString = o , e . stringToToken = s , e . computeLineStarts = c , e . getPositionOfLineAndCharacter = _ , e . computePositionOfLineAndCharacter = u , e . getLineStarts = l , e . computeLineAndCharacterOfPosition = d , e . getLineAndCharacterOfPosition = p ; var B = Object . prototype . hasOwnProperty ; e . isWhiteSpace = f , e . isLineBreak = m , e . isOctalDigit = y , e . couldStartTrivia = h , e . skipTrivia = v ; var z = "<<<<<<<" . length , K = /^#!.*/ ; e . getLeadingCommentRanges = S , e . getTrailingCommentRanges = T , e . getShebang = E , e . isIdentifierStart = w , e . isIdentifierPart = A , e . isIdentifier = P , e . createScanner = N ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { function t ( e , t ) { var n = e . declarations ; if ( n ) for ( var r = 0 , a = n ; r < a . length ; r ++ ) { var i = a [ r ] ; if ( i . kind === t ) return i ; } } function n ( ) { if ( 0 === Dn . length ) { var e = "" , t = function ( t ) { return e += t ; } ; return { string : function ( ) { return e ; } , writeKeyword : t , writeOperator : t , writePunctuation : t , writeSpace : t , writeStringLiteral : t , writeParameter : t , writeSymbol : t , writeLine : function ( ) { return e += " " ; } , increaseIndent : function ( ) { } , decreaseIndent : function ( ) { } , clear : function ( ) { return e = "" ; } , trackSymbol : function ( ) { } , reportInaccessibleThisError : function ( ) { } } ; } return Dn . pop ( ) ; } function r ( e ) { e . clear ( ) , Dn . push ( e ) ; } function a ( e ) { return e . end - e . pos ; } function i ( e , t , n ) { if ( ! e || ! t ) return e === t ; if ( e . length !== t . length ) return ! 1 ; for ( var r = 0 ; r < e . length ; r ++ ) { var a = n ? n ( e [ r ] , t [ r ] ) : e [ r ] === t [ r ] ; if ( ! a ) return ! 1 ; } return ! 0 ; } function o ( t , n ) { return t . resolvedModules && e . hasProperty ( t . resolvedModules , n ) ; } function s ( e , t ) { return o ( e , t ) ? e . resolvedModules [ t ] : void 0 ; } function c ( e , t , n ) { e . resolvedModules || ( e . resolvedModules = { } ) , e . resolvedModules [ t ] = n ; } function _ ( e ) { return u ( e ) , 0 !== ( 64 & e . parserContextFlags ) ; } function u ( t ) { if ( ! ( 128 & t . parserContextFlags ) ) { var n = 0 !== ( 16 & t . parserContextFlags ) || e . forEachChild ( t , _ ) ; n && ( t . parserContextFlags |= 64 ) , t . parserContextFlags |= 128 ; } } function l ( e ) { for ( ; e && 251 !== e . kind ; ) e = e . parent ; return e ; } function d ( e ) { switch ( e . kind ) { case 195 : case 223 : case 202 : case 203 : case 204 : return ! 0 ; } return ! 1 ; } function p ( t , n ) { return e . Debug . assert ( t >= 0 ) , e . getLineStarts ( n ) [ t ] ; } function f ( t ) { var n = l ( t ) , r = e . getLineAndCharacterOfPosition ( n , t . pos ) ; return n . fileName + "(" + ( r . line + 1 ) + "," + ( r . character + 1 ) + ")" ; } function m ( e ) { return e . pos ; } function g ( e ) { return e ? e . pos === e . end && e . pos >= 0 && 1 !== e . kind : ! 0 ; } function y ( e ) { return ! g ( e ) ; } function h ( t , n ) { return g ( t ) ? t . pos : e . skipTrivia ( ( n || l ( t ) ) . text , t . pos ) ; } function v ( t , n ) { return g ( t ) || ! t . decorators ? h ( t , n ) : e . skipTrivia ( ( n || l ( t ) ) . text , t . decorators . end ) ; } function k ( t , n , r ) { if ( void 0 === r && ( r = ! 1 ) , g ( n ) ) return "" ; var a = t . text ; return a . substring ( r ? n . pos : e . skipTrivia ( a , n . pos ) , n . end ) ; } function b ( t , n ) { return g ( n ) ? "" : t . substring ( e . skipTrivia ( t , n . pos ) , n . end ) ; } function x ( e , t ) { return void 0 === t && ( t = ! 1 ) , k ( l ( e ) , e , t ) ; } function C ( e ) { return e . length >= 2 && 95 === e . charCodeAt ( 0 ) && 95 === e . charCodeAt ( 1 ) ? "_" + e : e ; } function D ( e ) { return e . length >= 3 && 95 === e . charCodeAt ( 0 ) && 95 === e . charCodeAt ( 1 ) && 95 === e . charCodeAt ( 2 ) ? e . substr ( 1 ) : e ; } function S ( t ) { return e . getBaseFileName ( t ) . replace ( /^(\d)/ , "_$1" ) . replace ( /\W/g , "_" ) ; } function T ( e ) { return 0 !== ( 24576 & U ( e ) ) || O ( e ) ; } function E ( e ) { return e && 221 === e . kind && ( 9 === e . name . kind || A ( e ) ) ; } function w ( e ) { return 251 === e . kind || 221 === e . kind || ae ( e ) || ce ( e ) ; } function A ( e ) { return ! ! ( 2097152 & e . flags ) ; } function P ( e ) { if ( ! e || ! E ( e ) ) return ! 1 ; switch ( e . parent . kind ) { case 251 : return B ( e . parent ) ; case 222 : return E ( e . parent . parent ) && ! B ( e . parent . parent . parent ) ; } return ! 1 ; } function N ( e ) { for ( var t = e . parent ; t ; ) { if ( ae ( t ) ) return t ; switch ( t . kind ) { case 251 : case 223 : case 247 : case 221 : case 202 : case 203 : case 204 : return t ; case 195 : if ( ! ae ( t . parent ) ) return t ; } t = t . parent ; } } function O ( e ) { return e && 214 === e . kind && e . parent && 247 === e . parent . kind ; } function R ( e ) { return 0 === a ( e ) ? "(Missing)" : x ( e ) ; } function I ( t , n , r , a , i ) { var o = l ( t ) , s = M ( o , t ) ; return e . createFileDiagnostic ( o , s . start , s . length , n , r , a , i ) ; } function F ( e , t ) { var n = l ( e ) , r = M ( n , e ) ; return { file : n , start : r . start , length : r . length , code : t . code , category : t . category , messageText : t . next ? t : t . messageText } ; } function L ( t , n ) { var r = e . createScanner ( t . languageVersion , ! 0 , t . languageVariant , t . text , void 0 , n ) ; r . scan ( ) ; var a = r . getTokenPos ( ) ; return e . createTextSpanFromBounds ( a , r . getTextPos ( ) ) ; } function M ( t , n ) { var r = n ; switch ( n . kind ) { case 251 : var a = e . skipTrivia ( t . text , 0 , ! 1 ) ; return a === t . text . length ? e . createTextSpan ( 0 , 0 ) : L ( t , a ) ; case 214 : case 166 : case 217 : case 189 : case 218 : case 221 : case 220 : case 250 : case 216 : case 176 : case 144 : case 219 : r = n . name ; } if ( void 0 === r ) return L ( t , n . pos ) ; var i = g ( r ) ? r . pos : e . skipTrivia ( t . text , r . pos ) ; return e . createTextSpanFromBounds ( i , r . end ) ; } function B ( e ) { return void 0 !== e . externalModuleIndicator ; } function z ( e ) { return void 0 !== ( e . externalModuleIndicator || e . commonJsModuleIndicator ) ; } function K ( e ) { return 0 !== ( 4096 & e . flags ) ; } function j ( e ) { return 220 === e . kind && q ( e ) ; } function J ( e ) { for ( ; e && ( 166 === e . kind || He ( e ) ) ; ) e = e . parent ; return e ; } function U ( e ) { e = J ( e ) ; var t = e . flags ; return 214 === e . kind && ( e = e . parent ) , e && 215 === e . kind && ( t |= e . flags , e = e . parent ) , e && 196 === e . kind && ( t |= e . flags ) , t ; } function q ( e ) { return ! ! ( 16384 & U ( e ) ) ; } function W ( e ) { return ! ! ( 8192 & U ( e ) ) ; } function V ( e ) { return 171 === e . kind && 95 === e . expression . kind ; } function H ( e ) { return 198 === e . kind && 9 === e . expression . kind ; } function G ( t , n ) { return e . getLeadingCommentRanges ( n . text , t . pos ) ; } function X ( t , n ) { return e . getLeadingCommentRanges ( n , t . pos ) ; } function Q ( e , t ) { return Y ( e , t . text ) ; } function Y ( t , n ) { function r ( e ) { return 42 === n . charCodeAt ( e . pos + 1 ) && 42 === n . charCodeAt ( e . pos + 2 ) && 47 !== n . charCodeAt ( e . pos + 3 ) ; } var a = 139 === t . kind || 138 === t . kind ? e . concatenate ( e . getTrailingCommentRanges ( n , t . pos ) , e . getLeadingCommentRanges ( n , t . pos ) ) : X ( t , n ) ; return e . filter ( a , r ) ; } function $ ( t ) { if ( 151 <= t . kind && t . kind <= 163 ) return ! 0 ; switch ( t . kind ) { case 117 : case 128 : case 130 : case 120 : case 131 : return ! 0 ; case 103 : return 180 !== t . parent . kind ; case 191 : return ! an ( t ) ; case 69 : 136 === t . parent . kind && t . parent . right === t ? t = t . parent : 169 === t . parent . kind && t . parent . name === t && ( t = t . parent ) , e . Debug . assert ( 69 === t . kind || 136 === t . kind || 169 === t . kind , "'node' was expected to be a qualified name, identifier or property access in 'isTypeNode'." ) ; case 136 : case 169 : case 97 : var n = t . parent ; if ( 155 === n . kind ) return ! 1 ; if ( 151 <= n . kind && n . kind <= 163 ) return ! 0 ; switch ( n . kind ) { case 191 : return ! an ( n ) ; case 138 : return t === n . constraint ; case 142 : case 141 : case 139 : case 214 : return t === n . type ; case 216 : case 176 : case 177 : case 145 : case 144 : case 143 : case 146 : case 147 : return t === n . type ; case 148 : case 149 : case 150 : return t === n . type ; case 174 : return t === n . type ; case 171 : case 172 : return n . typeArguments && e . indexOf ( n . typeArguments , t ) >= 0 ; case 173 : return ! 1 ; } } return ! 1 ; } function Z ( t , n ) { function r ( t ) { switch ( t . kind ) { case 207 : return n ( t ) ; case 223 : case 195 : case 199 : case 200 : case 201 : case 202 : case 203 : case 204 : case 208 : case 209 : case 244 : case 245 : case 210 : case 212 : case 247 : return e . forEachChild ( t , r ) ; } } return r ( t ) ; } function ee ( t , n ) { function r ( t ) { switch ( t . kind ) { case 187 : n ( t ) ; var a = t . expression ; a && r ( a ) ; case 220 : case 218 : case 221 : case 219 : case 217 : case 189 : return ; default : if ( ae ( t ) ) { var i = t . name ; if ( i && 137 === i . kind ) return void r ( i . expression ) ; } else $ ( t ) || e . forEachChild ( t , r ) ; } } return r ( t ) ; } function te ( e ) { if ( e ) switch ( e . kind ) { case 166 : case 250 : case 139 : case 248 : case 142 : case 141 : case 249 : case 214 : return ! 0 ; } return ! 1 ; } function ne ( e ) { return e && ( 146 === e . kind || 147 === e . kind ) ; } function re ( e ) { return e && ( 217 === e . kind || 189 === e . kind ) ; } function ae ( e ) { return e && ie ( e . kind ) ; } function ie ( e ) { switch ( e ) { case 145 : case 176 : case 216 : case 177 : case 144 : case 143 : case 146 : case 147 : case 148 : case 149 : case 150 : case 153 : case 154 : return ! 0 ; } } function oe ( e ) { switch ( e . kind ) { case 144 : case 143 : case 145 : case 146 : case 147 : case 216 : case 176 : return ! 0 ; } return ! 1 ; } function se ( e , t ) { switch ( e . kind ) { case 202 : case 203 : case 204 : case 200 : case 201 : return ! 0 ; case 210 : return t && se ( e . statement , t ) ; } return ! 1 ; } function ce ( e ) { return e && 195 === e . kind && ae ( e . parent ) ; } function _e ( e ) { return e && 144 === e . kind && 168 === e . parent . kind ; } function ue ( e ) { return e && 1 === e . kind ; } function le ( e ) { return e && 0 === e . kind ; } function de ( e ) { for ( ; ; ) if ( e = e . parent , ! e || ae ( e ) ) return e ; } function pe ( e ) { for ( ; ; ) if ( e = e . parent , ! e || re ( e ) ) return e ; } function fe ( e , t ) { for ( ; ; ) { if ( e = e . parent , ! e ) return ; switch ( e . kind ) { case 137 : if ( re ( e . parent . parent ) ) return e ; e = e . parent ; break ; case 140 : 139 === e . parent . kind && $e ( e . parent . parent ) ? e = e . parent . parent : $e ( e . parent ) && ( e = e . parent ) ; break ; case 177 : if ( ! t ) continue ; case 216 : case 176 : case 221 : case 142 : case 141 : case 144 : case 143 : case 145 : case 146 : case 147 : case 148 : case 149 : case 150 : case 220 : case 251 : return e ; } } } function me ( e , t ) { for ( ; ; ) { if ( e = e . parent , ! e ) return e ; switch ( e . kind ) { case 137 : e = e . parent ; break ; case 216 : case 176 : case 177 : if ( ! t ) continue ; case 142 : case 141 : case 144 : case 143 : case 145 : case 146 : case 147 : return e ; case 140 : 139 === e . parent . kind && $e ( e . parent . parent ) ? e = e . parent . parent : $e ( e . parent ) && ( e = e . parent ) ; } } } function ge ( e ) { return ( 169 === e . kind || 170 === e . kind ) && 95 === e . expression . kind ; } function ye ( e ) { if ( e ) switch ( e . kind ) { case 152 : return e . typeName ; case 191 : return e . expression ; case 69 : case 136 : return e ; } } function he ( e ) { return 173 === e . kind ? e . tag : e . expression ; } function ve ( e ) { switch ( e . kind ) { case 217 : return ! 0 ; case 142 : return 217 === e . parent . kind ; case 146 : case 147 : case 144 : return void 0 !== e . body && 217 === e . parent . kind ; case 139 : return void 0 !== e . parent . body && ( 145 === e . parent . kind || 144 === e . parent . kind || 147 === e . parent . kind ) && 217 === e . parent . parent . kind ; } return ! 1 ; } function ke ( e ) { return void 0 !== e . decorators && ve ( e ) ; } function be ( e ) { return 169 === e . kind ; } function xe ( e ) { return 170 === e . kind ; } function Ce ( e ) { switch ( e . kind ) { case 95 : case 93 : case 99 : case 84 : case 10 : case 167 : case 168 : case 169 : case 170 : case 171 : case 172 : case 173 : case 192 : case 174 : case 175 : case 176 : case 189 : case 177 : case 180 : case 178 : case 179 : case 182 : case 183 : case 184 : case 185 : case 188 : case 186 : case 11 : case 190 : case 236 : case 237 : case 187 : case 181 : return ! 0 ; case 136 : for ( ; 136 === e . parent . kind ; ) e = e . parent ; return 155 === e . parent . kind ; case 69 : if ( 155 === e . parent . kind ) return ! 0 ; case 8 : case 9 : case 97 : var t = e . parent ; switch ( t . kind ) { case 214 : case 139 : case 142 : case 141 : case 250 : case 248 : case 166 : return t . initializer === e ; case 198 : case 199 : case 200 : case 201 : case 207 : case 208 : case 209 : case 244 : case 211 : case 209 : return t . expression === e ; case 202 : var n = t ; return n . initializer === e && 215 !== n . initializer . kind || n . condition === e || n . incrementor === e ; case 203 : case 204 : var r = t ; return r . initializer === e && 215 !== r . initializer . kind || r . expression === e ; case 174 : case 192 : return e === t . expression ; case 193 : return e === t . expression ; case 137 : return e === t . expression ; case 140 : case 243 : case 242 : return ! 0 ; case 191 : return t . expression === e && an ( t ) ; default : if ( Ce ( t ) ) return ! 0 ; } } return ! 1 ; } function De ( e ) { return "./" === e . substr ( 0 , 2 ) || "../" === e . substr ( 0 , 3 ) || ".\\" === e . substr ( 0 , 2 ) || "..\\" === e . substr ( 0 , 3 ) ; } function Se ( t , n ) { var r = e . getModuleInstanceState ( t ) ; return 1 === r || n && 2 === r ; } function Te ( e ) { return 224 === e . kind && 235 === e . moduleReference . kind ; } function Ee ( t ) { return e . Debug . assert ( Te ( t ) ) , t . moduleReference . expression ; } function we ( e ) { return 224 === e . kind && 235 !== e . moduleReference . kind ; } function Ae ( e ) { return Pe ( e ) ; } function Pe ( e ) { return e && ! ! ( 32 & e . parserContextFlags ) ; } function Ne ( e , t ) { var n = 171 === e . kind && 69 === e . expression . kind && "require" === e . expression . text && 1 === e . arguments . length ; return n && ( ! t || 9 === e . arguments [ 0 ] . kind ) ; } function Oe ( e ) { if ( ! Pe ( e ) ) return 0 ; if ( 184 !== e . kind ) return 0 ; var t = e ; if ( 56 !== t . operatorToken . kind || 169 !== t . left . kind ) return 0 ; var n = t . left ; if ( 69 === n . expression . kind ) { var r = n . expression ; if ( "exports" === r . text ) return 1 ; if ( "module" === r . text && "exports" === n . name . text ) return 2 ; } else { if ( 97 === n . expression . kind ) return 4 ; if ( 169 === n . expression . kind ) { var a = n . expression ; if ( 69 === a . expression . kind && "prototype" === a . name . text ) return 3 ; } } return 0 ; } function Re ( e ) { if ( 225 === e . kind ) return e . moduleSpecifier ; if ( 224 === e . kind ) { var t = e . moduleReference ; if ( 235 === t . kind ) return t . expression ; } return 231 === e . kind ? e . moduleSpecifier : 221 === e . kind && 9 === e . name . kind ? e . name : void 0 ; } function Ie ( e ) { if ( e ) switch ( e . kind ) { case 139 : case 144 : case 143 : case 249 : case 248 : case 142 : case 141 : return void 0 !== e . questionToken ; } return ! 1 ; } function Fe ( e ) { return 264 === e . kind && e . parameters . length > 0 && 266 === e . parameters [ 0 ] . type . kind ; } function Le ( e , t , n ) { if ( e ) { var r = Me ( e , n ) ; if ( r ) for ( var a = 0 , i = r . tags ; a < i . length ; a ++ ) { var o = i [ a ] ; if ( o . kind === t ) return o ; } } } function Me ( e , t ) { if ( e . jsDocComment ) return e . jsDocComment ; if ( t ) { var n = 214 === e . parent . kind && e . parent . initializer === e && 196 === e . parent . parent . parent . kind , r = n ? e . parent . parent . parent : void 0 ; if ( r ) return r . jsDocComment ; var a = e . parent , i = a && a . parent && 184 === a . kind && 56 === a . operatorToken . kind && 198 === a . parent . kind ; if ( i ) return a . parent . jsDocComment ; var o = a && 248 === a . kind ; if ( o ) return a . jsDocComment ; } } function Be ( e ) { return Le ( e , 272 , ! 1 ) ; } function ze ( e ) { return Le ( e , 271 , ! 0 ) ; } function Ke ( e ) { return Le ( e , 273 , ! 1 ) ; } function je ( e ) { if ( e . name && 69 === e . name . kind ) { var t = e . name . text , n = Me ( e . parent , ! 0 ) ; if ( n ) for ( var r = 0 , a = n . tags ; r < a . length ; r ++ ) { var i = a [ r ] ; if ( 270 === i . kind ) { var o = i , s = o . preParameterName || o . postParameterName ; if ( s . text === t ) return o ; } } } } function Je ( t ) { return Ue ( e . lastOrUndefined ( t . parameters ) ) ; } function Ue ( e ) { if ( e ) { if ( 32 & e . parserContextFlags ) { if ( e . type && 265 === e . type . kind ) return ! 0 ; var t = je ( e ) ; if ( t && t . typeExpression ) return 265 === t . typeExpression . type . kind ; } return void 0 !== e . dotDotDotToken ; } return ! 1 ; } function qe ( e ) { return e >= 8 && 11 >= e ; } function We ( e ) { return 9 === e || 11 === e ; } function Ve ( e ) { return e >= 11 && 14 >= e ; } function He ( e ) { return ! ! e && ( 165 === e . kind || 164 === e . kind ) ; } function Ge ( e , t ) { for ( ; e ; ) { if ( e === t ) return ! 0 ; e = e . parent ; } return ! 1 ; } function Xe ( e ) { for ( ; e ; ) { if ( 4100 & e . flags ) return ! 0 ; e = e . parent ; } return ! 1 ; } function Qe ( e ) { switch ( e . kind ) { case 177 : case 166 : case 217 : case 189 : case 145 : case 220 : case 250 : case 233 : case 216 : case 176 : case 146 : case 226 : case 224 : case 229 : case 218 : case 144 : case 143 : case 221 : case 227 : case 139 : case 248 : case 142 : case 141 : case 147 : case 249 : case 219 : case 138 : case 214 : return ! 0 ; } return ! 1 ; } function Ye ( e ) { switch ( e . kind ) { case 206 : case 205 : case 213 : case 200 : case 198 : case 197 : case 203 : case 204 : case 202 : case 199 : case 210 : case 207 : case 209 : case 211 : case 212 : case 196 : case 201 : case 208 : case 230 : return ! 0 ; default : return ! 1 ; } } function $e ( e ) { switch ( e . kind ) { case 145 : case 142 : case 144 : case 146 : case 147 : case 143 : case 150 : return ! 0 ; default : return ! 1 ; } } function Ze ( e ) { if ( 69 !== e . kind && 9 !== e . kind && 8 !== e . kind ) return ! 1 ; var t = e . parent ; return 229 !== t . kind && 233 !== t . kind || ! t . propertyName ? Qe ( t ) ? t . name === e : ! 1 : ! 0 ; } function et ( e ) { var t = e . parent ; switch ( t . kind ) { case 142 : case 141 : case 144 : case 143 : case 146 : case 147 : case 250 : case 248 : case 169 : return t . name === e ; case 136 : if ( t . right === e ) { for ( ; 136 === t . kind ; ) t = t . parent ; return 155 === t . kind ; } return ! 1 ; case 166 : case 229 : return t . propertyName === e ; case 233 : return ! 0 ; } return ! 1 ; } function tt ( e ) { return 224 === e . kind || 226 === e . kind && ! ! e . name || 227 === e . kind || 229 === e . kind || 233 === e . kind || 230 === e . kind && 69 === e . expression . kind ; } function nt ( e ) { var t = it ( e . heritageClauses , 83 ) ; return t && t . types . length > 0 ? t . types [ 0 ] : void 0 ; } function rt ( e ) { var t = it ( e . heritageClauses , 106 ) ; return t ? t . types : void 0 ; } function at ( e ) { var t = it ( e . heritageClauses , 83 ) ; return t ? t . types : void 0 ; } function it ( e , t ) { if ( e ) for ( var n = 0 , r = e ; n < r . length ; n ++ ) { var a = r [ n ] ; if ( a . token === t ) return a ; } } function ot ( t , n , r ) { if ( ! t . getCompilerOptions ( ) . noResolve ) { var a = e . isRootedDiskPath ( r . fileName ) ? r . fileName : e . combinePaths ( e . getDirectoryPath ( n . fileName ) , r . fileName ) ; return t . getSourceFile ( a ) ; } } function st ( e , t ) { for ( ; e ; ) { if ( e . kind === t ) return e ; e = e . parent ; } } function ct ( t , n ) { var r = /^\/\/\/\s*<reference\s+/gim , a = /^(\/\/\/\s*<reference\s+no-default-lib\s*=\s*)('|")(.+?)\2\s*\/>/gim ; if ( r . test ( t ) ) { if ( a . test ( t ) ) return { isNoDefaultLib : ! 0 } ; var i = e . fullTripleSlashReferencePathRegEx . exec ( t ) ; if ( i ) { var o = n . pos , s = n . end ; return { fileReference : { pos : o , end : s , fileName : i [ 3 ] } , isNoDefaultLib : ! 1 } ; } return { diagnosticMessage : e . Diagnostics . Invalid_reference_directive_syntax , isNoDefaultLib : ! 1 } ; } } function _t ( e ) { return e >= 70 && 135 >= e ; } function ut ( e ) { return e >= 2 && 7 >= e ; } function lt ( e ) { return ae ( e ) && 0 !== ( 256 & e . flags ) && ! ne ( e ) ; } function dt ( e ) { return 9 === e || 8 === e ; } function pt ( e ) { return e . name && ft ( e . name ) ; } function ft ( e ) { return 137 === e . kind && ! dt ( e . expression . kind ) && ! mt ( e . expression ) ; } function mt ( e ) { return be ( e ) && ht ( e . expression ) ; } function gt ( e ) { if ( 69 === e . kind || 9 === e . kind || 8 === e . kind ) return e . text ; if ( 137 === e . kind ) { var t = e . expression ; if ( mt ( t ) ) { var n = t . name . text ; return yt ( n ) ; } } } function yt ( e ) { return "__@" + e ; } function ht ( e ) { return 69 === e . kind && "Symbol" === e . text ; } function vt ( e ) { switch ( e ) { case 115 : case 118 : case 74 : case 122 : case 77 : case 82 : case 112 : case 110 : case 111 : case 113 : return ! 0 ; } return ! 1 ; } function kt ( e ) { var t = bt ( e ) ; return 139 === t . kind ; } function bt ( e ) { for ( ; 166 === e . kind ; ) e = e . parent . parent ; return e ; } function xt ( e ) { return ae ( e ) || 221 === e . kind || 251 === e . kind ; } function Ct ( t , n , r , a ) { var i = void 0 !== n ? e . createNode ( t . kind , n . pos , n . end ) : Et ( t . kind ) ; for ( var o in t ) ! i . hasOwnProperty ( o ) && t . hasOwnProperty ( o ) && ( i [ o ] = t [ o ] ) ; return void 0 !== r && ( i . flags = r ) , void 0 !== a && ( i . parent = a ) , i ; } function Dt ( e , t ) { var n = Ct ( e , e , e . flags , t ) ; if ( St ( n ) ) { var r = n . left , a = n . right ; n . left = Dt ( r , n ) , n . right = Ct ( a , a , a . flags , t ) ; } return n ; } function St ( e ) { return 136 === e . kind ; } function Tt ( e ) { return - 1 === e . pos ; } function Et ( t , n ) { var r = e . createNode ( t , - 1 , - 1 ) ; return r . startsOnNewLine = n , r ; } function wt ( ) { var e = [ ] ; return e . pos = - 1 , e . end = - 1 , e ; } function At ( ) { function t ( ) { return u ; } function n ( t ) { if ( e . hasProperty ( c , t . fileName ) ) for ( var n = 0 , r = c [ t . fileName ] ; n < r . length ; n ++ ) { var a = r [ n ] ; a . file = t ; } } function r ( e ) { var t ; e . file ? ( t = c [ e . file . fileName ] , t || ( t = [ ] , c [ e . file . fileName ] = t ) ) : t = s , t . push ( e ) , _ = ! 0 , u ++ ; } function a ( ) { return o ( ) , s ; } function i ( t ) { function n ( e ) { r . push ( e ) ; } if ( o ( ) , t ) return c [ t ] || [ ] ; var r = [ ] ; e . forEach ( s , n ) ; for ( var a in c ) e . hasProperty ( c , a ) && e . forEach ( c [ a ] , n ) ; return e . sortAndDeduplicateDiagnostics ( r ) ; } function o ( ) { if ( _ ) { _ = ! 1 , s = e . sortAndDeduplicateDiagnostics ( s ) ; for ( var t in c ) e . hasProperty ( c , t ) && ( c [ t ] = e . sortAndDeduplicateDiagnostics ( c [ t ] ) ) ; } } var s = [ ] , c = { } , _ = ! 1 , u = 0 ; return { add : r , getGlobalDiagnostics : a , getDiagnostics : i , getModificationCount : t , reattachFileDiagnostics : n } ; } function Pt ( e ) { function t ( e ) { return Tn [ e ] || Ot ( e . charCodeAt ( 0 ) ) ; } return e = Sn . test ( e ) ? e . replace ( Sn , t ) : e ; } function Nt ( e ) { var t = e . substr ( 0 , 1 ) ; return t . toLowerCase ( ) === t ; } function Ot ( e ) { var t = e . toString ( 16 ) . toUpperCase ( ) , n = ( "0000" + t ) . slice ( - 4 ) ; return "\\u" + n ; } function Rt ( e ) { return En . test ( e ) ? e . replace ( En , function ( e ) { return Ot ( e . charCodeAt ( 0 ) ) ; } ) : e ; } function It ( e ) { return void 0 === wn [ e ] && ( wn [ e ] = It ( e - 1 ) + wn [ 1 ] ) , wn [ e ] ; } function Ft ( ) { return wn [ 1 ] . length ; } function Lt ( t ) { function n ( e ) { e && e . length && ( u && ( c += It ( _ ) , u = ! 1 ) , c += e ) ; } function r ( ) { c = "" , _ = 0 , u = ! 0 , l = 0 , d = 0 ; } function a ( e ) { void 0 !== e && ( u && ( u = ! 1 ) , c += e ) ; } function i ( t ) { if ( t && t . length ) { n ( t ) ; var r = e . computeLineStarts ( t ) ; r . length > 1 && ( l = l + r . length - 1 , d = c . length - t . length + e . lastOrUndefined ( r ) ) ; } } function o ( ) { u || ( c += t , l ++ , d = c . length , u = ! 0 ) ; } function s ( e , t ) { n ( b ( e , t ) ) ; } var c , _ , u , l , d ; return r ( ) , { write : n , rawWrite : a , writeTextOfNode : s , writeLiteral : i , writeLine : o , increaseIndent : function ( ) { _ ++ ; } , decreaseIndent : function ( ) { _ -- ; } , getIndent : function ( ) { return _ ; } , getTextPos : function ( ) { return c . length ; } , getLine : function ( ) { return l + 1 ; } , getColumn : function ( ) { return u ? _ * Ft ( ) + 1 : c . length - d + 1 ; } , getText : function ( ) { return c ; } , reset : r } ; } function Mt ( t , n ) { var r = function ( e ) { return t . getCanonicalFileName ( e ) ; } , a = e . toPath ( t . getCommonSourceDirectory ( ) , t . getCurrentDirectory ( ) , r ) , i = e . getNormalizedAbsolutePath ( n , t . getCurrentDirectory ( ) ) , o = e . getRelativePathToDirectoryOrUrl ( a , i , a , r , ! 1 ) ; return e . removeFileExtension ( o ) ; } function Bt ( t , n , r ) { var a , i = n . getCompilerOptions ( ) ; return a = i . outDir ? e . removeFileExtension ( Jt ( t , n , i . outDir ) ) : e . removeFileExtension ( t . fileName ) , a + r ; } function zt ( e ) { return e . target || 0 ; } function Kt ( e ) { return "number" == typeof e . module ? e . module : 2 === zt ( e ) ? 5 : 1 ; } function jt ( t , n , r ) { function a ( t , r ) { var a = ".js" ; 1 === c . jsx && ( Ae ( r ) ? e . fileExtensionIs ( r . fileName , ".jsx" ) && ( a = ".jsx" ) : 1 === r . languageVariant && ( a = ".jsx" ) ) ; var i = Bt ( r , t , a ) , _ = { jsFilePath : i , sourceMapFilePath : o ( i , c ) , declarationFilePath : Ae ( r ) ? void 0 : s ( i , c ) } ; n ( _ , [ r ] , ! 1 ) ; } function i ( t ) { var r = e . filter ( t . getSourceFiles ( ) , function ( e ) { return ! K ( e ) && ( ! B ( e ) || Kt ( c ) && B ( e ) ) ; } ) ; if ( r . length ) { var a = c . outFile || c . out , i = { jsFilePath : a , sourceMapFilePath : o ( a , c ) , declarationFilePath : s ( a , c ) } ; n ( i , r , ! 0 ) ; } } function o ( e , t ) { return t . sourceMap ? e + ".map" : void 0 ; } function s ( t , n ) { return n . declaration ? e . removeFileExtension ( t ) + ".d.ts" : void 0 ; } var c = t . getCompilerOptions ( ) ; if ( c . outFile || c . out ) i ( t ) ; else for ( var _ = void 0 === r ? t . getSourceFiles ( ) : [ r ] , u = 0 , l = _ ; u < l . length ; u ++ ) { var d = l [ u ] ; K ( d ) || a ( t , d ) ; } } function Jt ( t , n , r ) { var a = e . getNormalizedAbsolutePath ( t . fileName , n . getCurrentDirectory ( ) ) ; return a = a . replace ( n . getCommonSourceDirectory ( ) , "" ) , e . combinePaths ( r , a ) ; } function Ut ( t , n , r , a , i ) { t . writeFile ( r , a , i , function ( t ) { n . add ( e . createCompilerDiagnostic ( e . Diagnostics . Could_not_write_file_0_Colon_1 , r , t ) ) ; } ) ; } function qt ( t , n ) { return e . getLineAndCharacterOfPosition ( t , n ) . line ; } function Wt ( t , n ) { return e . computeLineAndCharacterOfPosition ( t , n ) . line ; } function Vt ( t ) { return e . forEach ( t . members , function ( e ) { return 145 === e . kind && y ( e . body ) ? e : void 0 ; } ) ; } function Ht ( e ) { return e && e . parameters . length > 0 && e . parameters [ 0 ] . type ; } function Gt ( t , n ) { var r , a , i , o ; return pt ( n ) ? ( r = n , 146 === n . kind ? i = n : 147 === n . kind ? o = n : e . Debug . fail ( "Accessor has wrong kind" ) ) : e . forEach ( t , function ( e ) { if ( ( 146 === e . kind || 147 === e . kind ) && ( 64 & e . flags ) === ( 64 & n . flags ) ) { var t = gt ( e . name ) , s = gt ( n . name ) ; t === s && ( r ? a || ( a = e ) : r = e , 146 !== e . kind || i || ( i = e ) , 147 !== e . kind || o || ( o = e ) ) ; } } ) , { firstAccessor : r , secondAccessor : a , getAccessor : i , setAccessor : o } ; } function Xt ( e , t , n , r ) { r && r . length && n . pos !== r [ 0 ] . pos && Wt ( e , n . pos ) !== Wt ( e , r [ 0 ] . pos ) && t . writeLine ( ) ; } function Qt ( t , n , r , a , i , o , s ) { var c = ! i ; e . forEach ( a , function ( e ) { c && ( r . write ( " " ) , c = ! 1 ) , s ( t , n , r , e , o ) , e . hasTrailingNewLine ? r . writeLine ( ) : i ? r . write ( " " ) : c = ! 0 ; } ) ; } function Yt ( t , n , r , a , i , o , s ) { function c ( e ) { return 42 === t . charCodeAt ( e . pos + 1 ) && 33 === t . charCodeAt ( e . pos + 2 ) ; } var _ , u ; if ( s ? 0 === i . pos && ( _ = e . filter ( e . getLeadingCommentRanges ( t , i . pos ) , c ) ) : _ = e . getLeadingCommentRanges ( t , i . pos ) , _ ) { for ( var l = [ ] , d = void 0 , p = 0 , f = _ ; p < f . length ; p ++ ) { var m = f [ p ] ; if ( d ) { var g = Wt ( n , d . end ) , y = Wt ( n , m . pos ) ; if ( y >= g + 2 ) break ; } l . push ( m ) , d = m ; } if ( l . length ) { var g = Wt ( n , e . lastOrUndefined ( l ) . end ) , h = Wt ( n , e . skipTrivia ( t , i . pos ) ) ; h >= g + 2 && ( Xt ( n , r , i , _ ) , Qt ( t , n , r , l , ! 0 , o , a ) , u = { nodePos : i . pos , detachedCommentEndPos : e . lastOrUndefined ( l ) . end } ) ; } } return u ; } function $t ( t , n , r , a , i ) { if ( 42 === t . charCodeAt ( a . pos + 1 ) ) for ( var o = e . computeLineAndCharacterOfPosition ( n , a . pos ) , s = n . length , c = void 0 , _ = a . pos , u = o . line ; _ < a . end ; u ++ ) { var l = u + 1 === s ? t . length + 1 : n [ u + 1 ] ; if ( _ !== a . pos ) { void 0 === c && ( c = en ( t , n [ o . line ] , a . pos ) ) ; var d = r . getIndent ( ) * Ft ( ) , p = d - c + en ( t , _ , l ) ; if ( p > 0 ) { var f = p % Ft ( ) , m = It ( ( p - f ) / Ft ( ) ) ; for ( r . rawWrite ( m ) ; f ; ) r . rawWrite ( " " ) , f -- ; } else r . rawWrite ( "" ) ; } Zt ( t , a , r , i , _ , l ) , _ = l ; } else r . write ( t . substring ( a . pos , a . end ) ) ; } function Zt ( e , t , n , r , a , i ) { var o = Math . min ( t . end , i - 1 ) , s = e . substring ( a , o ) . replace ( /^\s+|\s+$/g , "" ) ; s ? ( n . write ( s ) , o !== t . end && n . writeLine ( ) ) : n . writeLiteral ( r ) ; } function en ( t , n , r ) { for ( var a = 0 ; r > n && e . isWhiteSpace ( t . charCodeAt ( n ) ) ; n ++ ) 9 === t . charCodeAt ( n ) ? a += Ft ( ) - a % Ft ( ) : a ++ ; return a ; } function tn ( e ) { switch ( e ) { case 113 : return 64 ; case 112 : return 8 ; case 111 : return 32 ; case 110 : return 16 ; case 115 : return 128 ; case 82 : return 2 ; case 122 : return 4 ; case 74 : return 16384 ; case 77 : return 512 ; case 118 : return 256 ; } return 0 ; } function nn ( e ) { if ( e ) switch ( e . kind ) { case 169 : case 170 : case 172 : case 171 : case 236 : case 237 : case 173 : case 167 : case 175 : case 168 : case 189 : case 176 : case 69 : case 10 : case 8 : case 9 : case 11 : case 186 : case 84 : case 93 : case 97 : case 99 : case 95 : return ! 0 ; } return ! 1 ; } function rn ( e ) { return e >= 56 && 68 >= e ; } function an ( e ) { return 191 === e . kind && 83 === e . parent . token && re ( e . parent . parent ) ; } function on ( e ) { return sn ( e . expression ) ; } function sn ( e ) { return 69 === e . kind ? ! 0 : be ( e ) ? sn ( e . expression ) : ! 1 ; } function cn ( e ) { return 136 === e . parent . kind && e . parent . right === e || 169 === e . parent . kind && e . parent . name === e ; } function _n ( e ) { var t = e . kind ; return 168 === t ? 0 === e . properties . length : 167 === t ? 0 === e . elements . length : ! 1 ; } function un ( e ) { return e && e . valueDeclaration && 512 & e . valueDeclaration . flags ? e . valueDeclaration . localSymbol : void 0 ; } function ln ( t ) { return e . forEach ( e . supportedJavascriptExtensions , function ( n ) { return e . fileExtensionIs ( t , n ) ; } ) ; } function dn ( t ) { return e . forEach ( e . supportedTypeScriptExtensions , function ( n ) { return e . fileExtensionIs ( t , n ) ; } ) ; } function pn ( t ) { for ( var n = [ ] , r = t . length , a = 0 ; r > a ; a ++ ) { var i = t . charCodeAt ( a ) ; 128 > i ? n . push ( i ) : 2048 > i ? ( n . push ( i >> 6 | 192 ) , n . push ( 63 & i | 128 ) ) : 65536 > i ? ( n . push ( i >> 12 | 224 ) , n . push ( i >> 6 & 63 | 128 ) , n . push ( 63 & i | 128 ) ) : 131072 > i ? ( n . push ( i >> 18 | 240 ) , n . push ( i >> 12 & 63 | 128 ) , n . push ( i >> 6 & 63 | 128 ) , n . push ( 63 & i | 128 ) ) : e . Debug . assert ( ! 1 , "Unexpected code point" ) ; } return n ; } function fn ( e ) { return void 0 === e ? void 0 : mn ( e ) ; } function mn ( t ) { return "string" == typeof t ? '"' + Pt ( t ) + '"' : "number" == typeof t ? isFinite ( t ) ? String ( t ) : "null" : "boolean" == typeof t ? t ? "true" : "false" : "object" == typeof t && t ? e . isArray ( t ) ? gn ( yn , t ) : gn ( vn , t ) : "null" ; } function gn ( t , n ) { e . Debug . assert ( ! n . hasOwnProperty ( "__cycle" ) , "Converting circular structure to JSON" ) , n . __cycle = ! 0 ; var r = t ( n ) ; return delete n . __cycle , r ; } function yn ( t ) { return "[" + e . reduceLeft ( t , hn , "" ) + "]" ; } function hn ( e , t ) { return ( e ? e + "," : e ) + mn ( t ) ; } function vn ( t ) { return "{" + e . reduceProperties ( t , kn , "" ) + "}" ; } function kn ( e , t , n ) { return void 0 === t || "function" == typeof t || "__cycle" === n ? e : ( e ? e + "," : e ) + ( '"' + Pt ( n ) + '":' + mn ( t ) ) ; } function bn ( e ) { for ( var t , n , r , a , i = "" , o = pn ( e ) , s = 0 , c = o . length ; c > s ; ) t = o [ s ] >> 2 , n = ( 3 & o [ s ] ) << 4 | o [ s + 1 ] >> 4 , r = ( 15 & o [ s + 1 ] ) << 2 | o [ s + 2 ] >> 6 , a = 63 & o [ s + 2 ] , s + 1 >= c ? r = a = 64 : s + 2 >= c && ( a = 64 ) , i += An . charAt ( t ) + An . charAt ( n ) + An . charAt ( r ) + An . charAt ( a ) , s += 3 ; return i ; } function xn ( t , n , r ) { return e . isRootedDiskPath ( t ) ? e . getRelativePathToDirectoryOrUrl ( n , t , n , r , ! 1 ) : t ; } function Cn ( t ) { return 0 === t . newLine ? Pn : 1 === t . newLine ? Nn : e . sys ? e . sys . newLine : Pn ; } e . getDeclarationOfKind = t ; var Dn = [ ] ; e . getSingleLineStringWriter = n , e . releaseStringWriter = r , e . getFullWidth = a , e . arrayIsEqualTo = i , e . hasResolvedModule = o , e . getResolvedModule = s , e . setResolvedModule = c , e . containsParseError = _ , e . getSourceFileOfNode = l , e . isStatementWithLocals = d , e . getStartPositionOfLine = p , e . nodePosToString = f , e . getStartPosOfNode = m , e . nodeIsMissing = g , e . nodeIsPresent = y , e . getTokenPosOfNode = h , e . getNonDecoratorTokenPosOfNode = v , e . getSourceTextOfNodeFromSourceFile = k , e . getTextOfNodeFromSourceText = b , e . getTextOfNode = x , e . escapeIdentifier = C , e . unescapeIdentifier = D , e . makeIdentifierFromModuleName = S , e . isBlockOrCatchScoped = T , e . isAmbientModule = E , e . isBlockScopedContainerTopLevel = w , e . isGlobalScopeAugmentation = A , e . isExternalModuleAugmentation = P , e . getEnclosingBlockScopeContainer = N , e . isCatchClauseVariableDeclaration = O , e . declarationNameToString = R , e . createDiagnosticForNode = I , e . createDiagnosticForNodeFromMessageChain = F , e . getSpanOfTokenAtPosition = L , e . getErrorSpanForNode = M , e . isExternalModule = B , e . isExternalOrCommonJsModule = z , e . isDeclarationFile = K , e . isConstEnumDeclaration = j , e . getCombinedNodeFlags = U , e . isConst = q , e . isLet = W , e . isSuperCallExpression = V , e . isPrologueDirective = H , e . getLeadingCommentRangesOfNode = G , e . getLeadingCommentRangesOfNodeFromText = X , e . getJsDocComments = Q , e . getJsDocCommentsFromText = Y , e . fullTripleSlashReferencePathRegEx = /^(\/\/\/\s*<reference\s+path\s*=\s*)('|")(.+?)\2.*?\/>/ , e . fullTripleSlashAMDReferencePathRegEx = /^(\/\/\/\s*<amd-dependency\s+path\s*=\s*)('|")(.+?)\2.*?\/>/ , e . isTypeNode = $ , e . forEachReturnStatement = Z , e . forEachYieldExpression = ee , e . isVariableLike = te , e . isAccessor = ne , e . isClassLike = re , e . isFunctionLike = ae , e . isFunctionLikeKind = ie , e . introducesArgumentsExoticObject = oe , e . isIterationStatement = se , e . isFunctionBlock = ce , e . isObjectLiteralMethod = _e , e . isIdentifierTypePredicate = ue , e . isThisTypePredicate = le , e . getContainingFunction = de , e . getContainingClass = pe , e . getThisContainer = fe , e . getSuperContainer = me , e . isSuperPropertyOrElementAccess = ge , e . getEntityNameFromTypeNode = ye , e . getInvokedExpression = he , e . nodeCanBeDecorated = ve , e . nodeIsDecorated = ke , e . isPropertyAccessExpression = be , e . isElementAccessExpression = xe , e . isExpression = Ce , e . isExternalModuleNameRelative = De , e . isInstantiatedModule = Se , e . isExternalModuleImportEqualsDeclaration = Te , e . getExternalModuleImportEqualsDeclarationExpression = Ee , e . isInternalModuleImportEqualsDeclaration = we , e . isSourceFileJavaScript = Ae , e . isInJavaScriptFile = Pe , e . isRequireCall = Ne , e . getSpecialPropertyAssignmentKind = Oe , e . getExternalModuleName = Re , e . hasQuestionToken = Ie , e . isJSDocConstructSignature = Fe , e . getJSDocTypeTag = Be , e . getJSDocReturnTag = ze , e . getJSDocTemplateTag = Ke , e . getCorrespondingJSDocParameterTag = je , e . hasRestParameter = Je , e . isRestParameter = Ue , e . isLiteralKind = qe , e . isTextualLiteralKind = We , e . isTemplateLiteralKind = Ve , e . isBindingPattern = He , e . isNodeDescendentOf = Ge , e . isInAmbientContext = Xe , e . isDeclaration = Qe , e . isStatement = Ye , e . isClassElement = $e , e . isDeclarationName = Ze , e . isIdentifierName = et , e . isAliasSymbolDeclaration = tt , e . getClassExtendsHeritageClauseElement = nt , e . getClassImplementsHeritageClauseElements = rt , e . getInterfaceBaseTypeNodes = at , e . getHeritageClause = it , e . tryResolveScriptReference = ot , e . getAncestor = st , e . getFileReferenceFromReferencePath = ct , e . isKeyword = _t , e . isTrivia = ut , e . isAsyncFunctionLike = lt , e . isStringOrNumericLiteral = dt , e . hasDynamicName = pt , e . isDynamicName = ft , e . isWellKnownSymbolSyntactically = mt , e . getPropertyNameForPropertyNameNode = gt , e . getPropertyNameForKnownSymbolName = yt , e . isESSymbolIdentifier = ht , e . isModifierKind = vt , e . isParameterDeclaration = kt , e . getRootDeclaration = bt , e . nodeStartsNewLexicalEnvironment = xt , e . cloneNode = Ct , e . cloneEntityName = Dt , e . isQualifiedName = St , e . nodeIsSynthesized = Tt , e . createSynthesizedNode = Et , e . createSynthesizedNodeArray = wt , e . createDiagnosticCollection = At ; var Sn = /[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g , Tn = { "\x00" : "\\0" , "	" : "\\t" , "\x0B" : "\\v" , "\f" : "\\f" , "\b" : "\\b" , "\r" : "\\r" , "\n" : "\\n" , "\\" : "\\\\" , '"' : '\\"' , "\u2028" : "\\u2028" , "\u2029" : "\\u2029" , "" : "\\u0085" } ; e . escapeString = Pt , e . isIntrinsicJsxName = Nt ; var En = /[^\u0000-\u007F]/g ; e . escapeNonAsciiCharacters = Rt ; var wn = [ "" , "    " ] ; e . getIndentString = It , e . getIndentSize = Ft , e . createTextWriter = Lt , e . getExternalModuleNameFromPath = Mt , e . getOwnEmitOutputFilePath = Bt , e . getEmitScriptTarget = zt , e . getEmitModuleKind = Kt , e . forEachExpectedEmitFile = jt , e . getSourceFilePathInNewDir = Jt , e . writeFile = Ut , e . getLineOfLocalPosition = qt , e . getLineOfLocalPositionFromLineMap = Wt , e . getFirstConstructorWithBody = Vt , e . getSetAccessorTypeAnnotationNode = Ht , e . getAllAccessorDeclarations = Gt , e . emitNewLineBeforeLeadingComments = Xt , e . emitComments = Qt , e . emitDetachedComments = Yt , e . writeCommentRange = $t , e . modifierToFlag = tn , e . isLeftHandSideExpression = nn , e . isAssignmentOperator = rn , e . isExpressionWithTypeArgumentsInClassExtendsClause = an , e . isSupportedExpressionWithTypeArguments = on , e . isRightSideOfQualifiedNameOrPropertyAccess = cn , e . isEmptyObjectLiteralOrArrayLiteral = _n , e . getLocalSymbolForExportDefault = un , e . hasJavaScriptFileExtension = ln , e . hasTypeScriptFileExtension = dn , e . stringify = "undefined" != typeof JSON && JSON . stringify ? JSON . stringify : fn ; var An = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" ; e . convertToBase64 = bn , e . convertToRelativePath = xn ; var Pn = "\r\n" , Nn = "\n" ; e . getNewLineCharacter = Cn ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { function t ( e ) { return 2 === e . target ? "lib.es6.d.ts" : "lib.d.ts" ; } function n ( e ) { return e . start + e . length ; } function r ( e ) { return 0 === e . length ; } function a ( e , t ) { return t >= e . start && t < n ( e ) ; } function i ( e , t ) { return t . start >= e . start && n ( t ) <= n ( e ) ; } function o ( e , t ) { var r = Math . max ( e . start , t . start ) , a = Math . min ( n ( e ) , n ( t ) ) ; return a > r ; } function s ( e , t ) { var r = Math . max ( e . start , t . start ) , a = Math . min ( n ( e ) , n ( t ) ) ; return a > r ? f ( r , a ) : void 0 ; } function c ( e , t ) { return t . start <= n ( e ) && n ( t ) >= e . start ; } function _ ( e , t , r ) { var a = t + r ; return t <= n ( e ) && a >= e . start ; } function u ( e , t , n , r ) { var a = e + t , i = n + r ; return a >= n && i >= e ; } function l ( e , t ) { return t <= n ( e ) && t >= e . start ; } function d ( e , t ) { var r = Math . max ( e . start , t . start ) , a = Math . min ( n ( e ) , n ( t ) ) ; return a >= r ? f ( r , a ) : void 0 ; } function p ( e , t ) { if ( 0 > e ) throw new Error ( "start < 0" ) ; if ( 0 > t ) throw new Error ( "length < 0" ) ; return { start : e , length : t } ; } function f ( e , t ) { return p ( e , t - e ) ; } function m ( e ) { return p ( e . span . start , e . newLength ) ; } function g ( e ) { return r ( e . span ) && 0 === e . newLength ; } function y ( e , t ) { if ( 0 > t ) throw new Error ( "newLength < 0" ) ; return { span : e , newLength : t } ; } function h ( t ) { if ( 0 === t . length ) return e . unchangedTextChangeRange ; if ( 1 === t . length ) return t [ 0 ] ; for ( var r = t [ 0 ] , a = r . span . start , i = n ( r . span ) , o = a + r . newLength , s = 1 ; s < t . length ; s ++ ) { var c = t [ s ] , _ = a , u = i , l = o , d = c . span . start , p = n ( c . span ) , m = d + c . newLength ; a = Math . min ( _ , d ) , i = Math . max ( u , u + ( p - l ) ) , o = Math . max ( m , m + ( l - p ) ) ; } return y ( f ( a , i ) , o - a ) ; } function v ( t ) { if ( t && 138 === t . kind ) for ( var n = t ; n ; n = n . parent ) if ( e . isFunctionLike ( n ) || e . isClassLike ( n ) || 218 === n . kind ) return n ; } function k ( t ) { return 56 & t . flags && 145 === t . parent . kind && e . isClassLike ( t . parent . parent ) ; } e . getDefaultLibFileName = t , e . textSpanEnd = n , e . textSpanIsEmpty = r , e . textSpanContainsPosition = a , e . textSpanContainsTextSpan = i , e . textSpanOverlapsWith = o , e . textSpanOverlap = s , e . textSpanIntersectsWithTextSpan = c , e . textSpanIntersectsWith = _ , e . decodedTextSpanIntersectsWith = u , e . textSpanIntersectsWithPosition = l , e . textSpanIntersection = d , e . createTextSpan = p , e . createTextSpanFromBounds = f , e . textChangeRangeNewSpan = m , e . textChangeRangeIsUnchanged = g , e . createTextChangeRange = y , e . unchangedTextChangeRange = y ( p ( 0 , 0 ) , 0 ) , e . collapseTextChangeRangesAcrossMultipleVersions = h , e . getTypeParameterOwner = v , e . isParameterPropertyDeclaration = k ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { function t ( t , n , r ) { return 251 === t ? new ( l || ( l = e . objectAllocator . getSourceFileConstructor ( ) ) ) ( t , n , r ) : new ( u || ( u = e . objectAllocator . getNodeConstructor ( ) ) ) ( t , n , r ) ; } function n ( e , t ) { return t ? e ( t ) : void 0 ; } function r ( e , t ) { return t ? e ( t ) : void 0 ; } function a ( e , t ) { if ( t ) for ( var n = 0 , r = t ; n < r . length ; n ++ ) { var a = r [ n ] , i = e ( a ) ; if ( i ) return i ; } } function i ( e , t , i ) { if ( e ) { var o = i ? r : a , s = i || t ; switch ( e . kind ) { case 136 : return n ( t , e . left ) || n ( t , e . right ) ; case 138 : return n ( t , e . name ) || n ( t , e . constraint ) || n ( t , e . expression ) ; case 249 : return o ( s , e . decorators ) || o ( s , e . modifiers ) || n ( t , e . name ) || n ( t , e . questionToken ) || n ( t , e . equalsToken ) || n ( t , e . objectAssignmentInitializer ) ; case 139 : case 142 : case 141 : case 248 : case 214 : case 166 : return o ( s , e . decorators ) || o ( s , e . modifiers ) || n ( t , e . propertyName ) || n ( t , e . dotDotDotToken ) || n ( t , e . name ) || n ( t , e . questionToken ) || n ( t , e . type ) || n ( t , e . initializer ) ; case 153 : case 154 : case 148 : case 149 : case 150 : return o ( s , e . decorators ) || o ( s , e . modifiers ) || o ( s , e . typeParameters ) || o ( s , e . parameters ) || n ( t , e . type ) ; case 144 : case 143 : case 145 : case 146 : case 147 : case 176 : case 216 : case 177 : return o ( s , e . decorators ) || o ( s , e . modifiers ) || n ( t , e . asteriskToken ) || n ( t , e . name ) || n ( t , e . questionToken ) || o ( s , e . typeParameters ) || o ( s , e . parameters ) || n ( t , e . type ) || n ( t , e . equalsGreaterThanToken ) || n ( t , e . body ) ; case 152 : return n ( t , e . typeName ) || o ( s , e . typeArguments ) ; case 151 : return n ( t , e . parameterName ) || n ( t , e . type ) ; case 155 : return n ( t , e . exprName ) ; case 156 : return o ( s , e . members ) ; case 157 : return n ( t , e . elementType ) ; case 158 : return o ( s , e . elementTypes ) ; case 159 : case 160 : return o ( s , e . types ) ; case 161 : return n ( t , e . type ) ; case 164 : case 165 : return o ( s , e . elements ) ; case 167 : return o ( s , e . elements ) ; case 168 : return o ( s , e . properties ) ; case 169 : return n ( t , e . expression ) || n ( t , e . dotToken ) || n ( t , e . name ) ; case 170 : return n ( t , e . expression ) || n ( t , e . argumentExpression ) ; case 171 : case 172 : return n ( t , e . expression ) || o ( s , e . typeArguments ) || o ( s , e . arguments ) ; case 173 : return n ( t , e . tag ) || n ( t , e . template ) ; case 174 : return n ( t , e . type ) || n ( t , e . expression ) ; case 175 : return n ( t , e . expression ) ; case 178 : return n ( t , e . expression ) ; case 179 : return n ( t , e . expression ) ; case 180 : return n ( t , e . expression ) ; case 182 : return n ( t , e . operand ) ; case 187 : return n ( t , e . asteriskToken ) || n ( t , e . expression ) ; case 181 : return n ( t , e . expression ) ; case 183 : return n ( t , e . operand ) ; case 184 : return n ( t , e . left ) || n ( t , e . operatorToken ) || n ( t , e . right ) ; case 192 : return n ( t , e . expression ) || n ( t , e . type ) ; case 185 : return n ( t , e . condition ) || n ( t , e . questionToken ) || n ( t , e . whenTrue ) || n ( t , e . colonToken ) || n ( t , e . whenFalse ) ; case 188 : return n ( t , e . expression ) ; case 195 : case 222 : return o ( s , e . statements ) ; case 251 : return o ( s , e . statements ) || n ( t , e . endOfFileToken ) ; case 196 : return o ( s , e . decorators ) || o ( s , e . modifiers ) || n ( t , e . declarationList ) ; case 215 : return o ( s , e . declarations ) ; case 198 : return n ( t , e . expression ) ; case 199 : return n ( t , e . expression ) || n ( t , e . thenStatement ) || n ( t , e . elseStatement ) ; case 200 : return n ( t , e . statement ) || n ( t , e . expression ) ; case 201 : return n ( t , e . expression ) || n ( t , e . statement ) ; case 202 : return n ( t , e . initializer ) || n ( t , e . condition ) || n ( t , e . incrementor ) || n ( t , e . statement ) ; case 203 : return n ( t , e . initializer ) || n ( t , e . expression ) || n ( t , e . statement ) ; case 204 : return n ( t , e . initializer ) || n ( t , e . expression ) || n ( t , e . statement ) ; case 205 : case 206 : return n ( t , e . label ) ; case 207 : return n ( t , e . expression ) ; case 208 : return n ( t , e . expression ) || n ( t , e . statement ) ; case 209 : return n ( t , e . expression ) || n ( t , e . caseBlock ) ; case 223 : return o ( s , e . clauses ) ; case 244 : return n ( t , e . expression ) || o ( s , e . statements ) ; case 245 : return o ( s , e . statements ) ; case 210 : return n ( t , e . label ) || n ( t , e . statement ) ; case 211 : return n ( t , e . expression ) ; case 212 : return n ( t , e . tryBlock ) || n ( t , e . catchClause ) || n ( t , e . finallyBlock ) ; case 247 : return n ( t , e . variableDeclaration ) || n ( t , e . block ) ; case 140 : return n ( t , e . expression ) ; case 217 : case 189 : return o ( s , e . decorators ) || o ( s , e . modifiers ) || n ( t , e . name ) || o ( s , e . typeParameters ) || o ( s , e . heritageClauses ) || o ( s , e . members ) ; case 218 : return o ( s , e . decorators ) || o ( s , e . modifiers ) || n ( t , e . name ) || o ( s , e . typeParameters ) || o ( s , e . heritageClauses ) || o ( s , e . members ) ; case 219 : return o ( s , e . decorators ) || o ( s , e . modifiers ) || n ( t , e . name ) || o ( s , e . typeParameters ) || n ( t , e . type ) ; case 220 : return o ( s , e . decorators ) || o ( s , e . modifiers ) || n ( t , e . name ) || o ( s , e . members ) ; case 250 : return n ( t , e . name ) || n ( t , e . initializer ) ; case 221 : return o ( s , e . decorators ) || o ( s , e . modifiers ) || n ( t , e . name ) || n ( t , e . body ) ; case 224 : return o ( s , e . decorators ) || o ( s , e . modifiers ) || n ( t , e . name ) || n ( t , e . moduleReference ) ; case 225 : return o ( s , e . decorators ) || o ( s , e . modifiers ) || n ( t , e . importClause ) || n ( t , e . moduleSpecifier ) ; case 226 : return n ( t , e . name ) || n ( t , e . namedBindings ) ; case 227 : return n ( t , e . name ) ; case 228 : case 232 : return o ( s , e . elements ) ; case 231 : return o ( s , e . decorators ) || o ( s , e . modifiers ) || n ( t , e . exportClause ) || n ( t , e . moduleSpecifier ) ; case 229 : case 233 : return n ( t , e . propertyName ) || n ( t , e . name ) ; case 230 : return o ( s , e . decorators ) || o ( s , e . modifiers ) || n ( t , e . expression ) ; case 186 : return n ( t , e . head ) || o ( s , e . templateSpans ) ; case 193 : return n ( t , e . expression ) || n ( t , e . literal ) ; case 137 : return n ( t , e . expression ) ; case 246 : return o ( s , e . types ) ; case 191 : return n ( t , e . expression ) || o ( s , e . typeArguments ) ; case 235 : return n ( t , e . expression ) ; case 234 : return o ( s , e . decorators ) ; case 236 : return n ( t , e . openingElement ) || o ( s , e . children ) || n ( t , e . closingElement ) ; case 237 : case 238 : return n ( t , e . tagName ) || o ( s , e . attributes ) ; case 241 : return n ( t , e . name ) || n ( t , e . initializer ) ; case 242 : return n ( t , e . expression ) ; case 243 : return n ( t , e . expression ) ; case 240 : return n ( t , e . tagName ) ; case 252 : return n ( t , e . type ) ; case 256 : return o ( s , e . types ) ; case 257 : return o ( s , e . types ) ; case 255 : return n ( t , e . elementType ) ; case 259 : return n ( t , e . type ) ; case 258 : return n ( t , e . type ) ; case 260 : return o ( s , e . members ) ; case 262 : return n ( t , e . name ) || o ( s , e . typeArguments ) ; case 263 : return n ( t , e . type ) ; case 264 : return o ( s , e . parameters ) || n ( t , e . type ) ; case 265 : return n ( t , e . type ) ; case 266 : return n ( t , e . type ) ; case 267 : return n ( t , e . type ) ; case 261 : return n ( t , e . name ) || n ( t , e . type ) ; case 268 : return o ( s , e . tags ) ; case 270 : return n ( t , e . preParameterName ) || n ( t , e . typeExpression ) || n ( t , e . postParameterName ) ; case 271 : return n ( t , e . typeExpression ) ; case 272 : return n ( t , e . typeExpression ) ; case 273 : return o ( s , e . typeParameters ) ; } } } function o ( t , n , r , a , i ) { void 0 === a && ( a = ! 1 ) ; var o = ( new Date ) . getTime ( ) , s = d . parseSourceFile ( t , n , r , void 0 , a , i ) ; return e . parseTime += ( new Date ) . getTime ( ) - o , s ; } function s ( e , t , n , r ) { return p . updateSourceFile ( e , t , n , r ) ; } function c ( e , t , n ) { return d . JSDocParser . parseIsolatedJSDocComment ( e , t , n ) ; } function _ ( e , t , n ) { return d . JSDocParser . parseJSDocTypeExpressionForTests ( e , t , n ) ; } e . parseTime = 0 ; var u , l ; e . createNode = t , e . forEachChild = i , e . createSourceFile = o , e . updateSourceFile = s , e . parseIsolatedJSDocComment = c , e . parseJSDocTypeExpressionForTests = _ ; var d ; ! function ( t ) { function n ( t , n , r , i , c , _ ) { _ = e . ensureScriptKind ( t , _ ) , a ( t , n , r , i , _ ) ; var u = s ( t , r , c , _ ) ; return o ( ) , u ; } function r ( e ) { return 4 === e || 2 === e || 1 === e ? 1 : 0 ; } function a ( t , n , a , i , o ) { Ma = e . objectAllocator . getNodeConstructor ( ) , Ba = e . objectAllocator . getSourceFileConstructor ( ) , Ua = n , ja = i , Ka = [ ] , Ha = 0 , Wa = { } , Va = 0 , qa = 0 , Ga = 1 === o || 2 === o ? 32 : 0 , Ya = ! 1 , Xa . setText ( Ua ) , Xa . setOnError ( O ) , Xa . setScriptTarget ( a ) , Xa . setLanguageVariant ( r ( o ) ) ; } function o ( ) { Xa . setText ( "" ) , Xa . setOnError ( void 0 ) , Ka = void 0 , za = void 0 , Wa = void 0 , ja = void 0 , Ua = void 0 ; } function s ( t , n , r , a ) { return za = u ( t , n , a ) , 32 & Ga && ( za . parserContextFlags = 32 ) , Ja = F ( ) , Fa ( za ) , za . statements = Te ( 0 , Ar ) , e . Debug . assert ( 1 === Ja ) , za . endOfFileToken = X ( ) , La ( za ) , za . nodeCount = qa , za . identifierCount = Va , za . identifiers = Wa , za . parseDiagnostics = Ka , r && _ ( za ) , za ; } function c ( t ) { if ( 32 & Ga ) { var n = e . getLeadingCommentRangesOfNode ( t , za ) ; if ( n ) for ( var r = 0 , a = n ; r < a . length ; r ++ ) { var i = a [ r ] , o = ei . parseJSDocComment ( t , i . pos , i . end - i . pos ) ; o && ( t . jsDocComment = o ) ; } } return t ; } function _ ( e ) { function t ( e ) { if ( e . parent !== n ) { e . parent = n ; var r = n ; n = e , i ( e , t ) , n = r ; } } var n = e ; i ( e , t ) ; } function u ( t , n , a ) { var i = new Ba ( 251 , 0 , Ua . length ) ; return qa ++ , i . text = Ua , i . bindDiagnostics = [ ] , i . languageVersion = n , i . fileName = e . normalizePath ( t ) , i . flags = e . fileExtensionIs ( i . fileName , ".d.ts" ) ? 4096 : 0 , i . languageVariant = r ( a ) , i . scriptKind = a , i ; } function l ( e , t ) { e ? Ga |= t : Ga &= ~ t ; } function d ( e ) { l ( e , 1 ) ; } function p ( e ) { l ( e , 2 ) ; } function f ( e ) { l ( e , 4 ) ; } function m ( e ) { l ( e , 8 ) ; } function g ( e , t ) { var n = e & Ga ; if ( n ) { l ( ! 1 , n ) ; var r = t ( ) ; return l ( ! 0 , n ) , r ; } return t ( ) ; } function y ( e , t ) { var n = e & ~ Ga ; if ( n ) { l ( ! 0 , n ) ; var r = t ( ) ; return l ( ! 1 , n ) , r ; } return t ( ) ; } function h ( e ) { return g ( 1 , e ) ; } function v ( e ) { return y ( 1 , e ) ; } function k ( e ) { return y ( 2 , e ) ; } function b ( e ) { return y ( 4 , e ) ; } function x ( e ) { return y ( 8 , e ) ; } function C ( e ) { return g ( 8 , e ) ; } function D ( e ) { return y ( 10 , e ) ; } function S ( e ) { return 0 !== ( Ga & e ) ; } function T ( ) { return S ( 2 ) ; } function E ( ) { return S ( 1 ) ; } function w ( ) { return S ( 4 ) ; } function A ( ) { return S ( 8 ) ; } function P ( e , t ) { var n = Xa . getTokenPos ( ) , r = Xa . getTextPos ( ) - n ; N ( n , r , e , t ) ; } function N ( t , n , r , a ) { var i = e . lastOrUndefined ( Ka ) ; i && t === i . start || Ka . push ( e . createFileDiagnostic ( za , t , n , r , a ) ) , Ya = ! 0 ; } function O ( e , t ) { var n = Xa . getTextPos ( ) ; N ( n , t || 0 , e ) ; } function R ( ) { return Xa . getStartPos ( ) ; } function I ( ) { return Xa . getStartPos ( ) ; } function F ( ) { return Ja = Xa . scan ( ) ; } function L ( ) { return Ja = Xa . reScanGreaterToken ( ) ; } function M ( ) { return Ja = Xa . reScanSlashToken ( ) ; } function B ( ) { return Ja = Xa . reScanTemplateToken ( ) ; } function z ( ) { return Ja = Xa . scanJsxIdentifier ( ) ; } function K ( ) { return Ja = Xa . scanJsxToken ( ) ; } function j ( t , n ) { var r = Ja , a = Ka . length , i = Ya , o = Ga , s = n ? Xa . lookAhead ( t ) : Xa . tryScan ( t ) ; return e . Debug . assert ( o === Ga ) , s && ! n || ( Ja = r , Ka . length = a , Ya = i ) , s ; } function J ( e ) { return j ( e , ! 0 ) ; } function U ( e ) { return j ( e , ! 1 ) ; } function q ( ) { return 69 === Ja ? ! 0 : 114 === Ja && T ( ) ? ! 1 : 119 === Ja && A ( ) ? ! 1 : Ja > 105 ; } function W ( t , n , r ) { return void 0 === r && ( r = ! 0 ) , Ja === t ? ( r && F ( ) , ! 0 ) : ( n ? P ( n ) : P ( e . Diagnostics . _0_expected , e . tokenToString ( t ) ) , ! 1 ) ; } function V ( e ) { return Ja === e ? ( F ( ) , ! 0 ) : ! 1 ; } function H ( e ) { return Ja === e ? X ( ) : void 0 ; } function G ( e , t , n , r ) { return H ( e ) || ee ( e , t , n , r ) ; } function X ( ) { var e = $ ( Ja ) ; return F ( ) , Z ( e ) ; } function Q ( ) { return 23 === Ja ? ! 0 : 16 === Ja || 1 === Ja || Xa . hasPrecedingLineBreak ( ) ; } function Y ( ) { return Q ( ) ? ( 23 === Ja && F ( ) , ! 0 ) : W ( 23 ) ; } function $ ( e , t ) { return qa ++ , t >= 0 || ( t = Xa . getStartPos ( ) ) , new Ma ( e , t , t ) ; } function Z ( e , t ) { return e . end = void 0 === t ? Xa . getStartPos ( ) : t , Ga && ( e . parserContextFlags = Ga ) , Ya && ( Ya = ! 1 , e . parserContextFlags |= 16 ) , e ; } function ee ( e , t , n , r ) { t ? N ( Xa . getStartPos ( ) , 0 , n , r ) : P ( n , r ) ; var a = $ ( e , Xa . getStartPos ( ) ) ; return a . text = "" , Z ( a ) ; } function te ( t ) { return t = e . escapeIdentifier ( t ) , e . hasProperty ( Wa , t ) ? Wa [ t ] : Wa [ t ] = t ; } function ne ( t , n ) { if ( Va ++ , t ) { var r = $ ( 69 ) ; return 69 !== Ja && ( r . originalKeywordKind = Ja ) , r . text = te ( Xa . getTokenValue ( ) ) , F ( ) , Z ( r ) ; } return ee ( 69 , ! 1 , n || e . Diagnostics . Identifier_expected ) ; } function re ( e ) { return ne ( q ( ) , e ) ; } function ae ( ) { return ne ( e . tokenIsIdentifierOrKeyword ( Ja ) ) ; } function ie ( ) { return e . tokenIsIdentifierOrKeyword ( Ja ) || 9 === Ja || 8 === Ja ; } function oe ( e ) { return 9 === Ja || 8 === Ja ? Ge ( ! 0 ) : e && 19 === Ja ? ue ( ) : ae ( ) ; } function se ( ) { return oe ( ! 0 ) ; } function ce ( ) { return oe ( ! 1 ) ; } function _e ( ) { return 9 === Ja || 8 === Ja || e . tokenIsIdentifierOrKeyword ( Ja ) ; } function ue ( ) { var e = $ ( 137 ) ; return W ( 19 ) , e . expression = h ( Vt ) , W ( 20 ) , Z ( e ) ; } function le ( e ) { return Ja === e && U ( pe ) ; } function de ( ) { return F ( ) , Xa . hasPrecedingLineBreak ( ) ? ! 1 : me ( ) ; } function pe ( ) { return 74 === Ja ? 81 === F ( ) : 82 === Ja ? ( F ( ) , 77 === Ja ? J ( ge ) : 37 !== Ja && 15 !== Ja && me ( ) ) : 77 === Ja ? ge ( ) : 113 === Ja ? ( F ( ) , me ( ) ) : de ( ) ; } function fe ( ) { return e . isModifierKind ( Ja ) && U ( pe ) ; } function me ( ) { return 19 === Ja || 15 === Ja || 37 === Ja || ie ( ) ; } function ge ( ) { return F ( ) , 73 === Ja || 87 === Ja ; } function ye ( t , n ) { var r = we ( t ) ; if ( r ) return ! 0 ; switch ( t ) { case 0 : case 1 : case 3 : return ! ( 23 === Ja && n ) && Tr ( ) ; case 2 : return 71 === Ja || 77 === Ja ; case 4 : return yt ( ) ; case 5 : return J ( Yr ) || 23 === Ja && ! n ; case 6 : return 19 === Ja || ie ( ) ; case 12 : return 19 === Ja || 37 === Ja || ie ( ) ; case 9 : return 19 === Ja || ie ( ) ; case 7 : return 15 === Ja ? J ( he ) : n ? q ( ) && ! be ( ) : Ut ( ) && ! be ( ) ; case 8 : return Mr ( ) ; case 10 : return 24 === Ja || 22 === Ja || Mr ( ) ; case 17 : return q ( ) ; case 11 : case 15 : return 24 === Ja || 22 === Ja || qt ( ) ; case 16 : return at ( ) ; case 18 : case 19 : return 24 === Ja || Pt ( ) ; case 20 : return ua ( ) ; case 21 : return e . tokenIsIdentifierOrKeyword ( Ja ) ; case 13 : return e . tokenIsIdentifierOrKeyword ( Ja ) || 15 === Ja ; case 14 : return ! 0 ; case 22 : case 23 : case 25 : return ei . isJSDocType ( ) ; case 24 : return _e ( ) ; } e . Debug . fail ( "Non-exhaustive case in 'isListElement'." ) ; } function he ( ) { if ( e . Debug . assert ( 15 === Ja ) , 16 === F ( ) ) { var t = F ( ) ; return 24 === t || 15 === t || 83 === t || 106 === t ; } return ! 0 ; } function ve ( ) { return F ( ) , q ( ) ; } function ke ( ) { return F ( ) , e . tokenIsIdentifierOrKeyword ( Ja ) ; } function be ( ) { return 106 === Ja || 83 === Ja ? J ( xe ) : ! 1 ; } function xe ( ) { return F ( ) , qt ( ) ; } function Ce ( e ) { if ( 1 === Ja ) return ! 0 ; switch ( e ) { case 1 : case 2 : case 4 : case 5 : case 6 : case 12 : case 9 : case 21 : return 16 === Ja ; case 3 : return 16 === Ja || 71 === Ja || 77 === Ja ; case 7 : return 15 === Ja || 83 === Ja || 106 === Ja ; case 8 : return De ( ) ; case 17 : return 27 === Ja || 17 === Ja || 15 === Ja || 83 === Ja || 106 === Ja ; case 11 : return 18 === Ja || 23 === Ja ; case 15 : case 19 : case 10 : return 20 === Ja ; case 16 : return 18 === Ja || 20 === Ja ; case 18 : return 27 === Ja || 17 === Ja ; case 20 : return 15 === Ja || 16 === Ja ; case 13 : return 27 === Ja || 39 === Ja ; case 14 : return 25 === Ja && J ( xa ) ; case 22 : return 18 === Ja || 54 === Ja || 16 === Ja ; case 23 : return 27 === Ja || 16 === Ja ; case 25 : return 20 === Ja || 16 === Ja ; case 24 : return 16 === Ja ; } } function De ( ) { return Q ( ) ? ! 0 : cn ( Ja ) ? ! 0 : 34 === Ja ; } function Se ( ) { for ( var e = 0 ; 26 > e ; e ++ ) if ( Ha & 1 << e && ( ye ( e , ! 0 ) || Ce ( e ) ) ) return ! 0 ; return ! 1 ; } function Te ( e , t ) { var n = Ha ; Ha |= 1 << e ; var r = [ ] ; for ( r . pos = R ( ) ; ! Ce ( e ) ; ) if ( ye ( e , ! 1 ) ) { var a = Ee ( e , t ) ; r . push ( a ) ; } else if ( Be ( e ) ) break ; return r . end = I ( ) , Ha = n , r ; } function Ee ( e , t ) { var n = we ( e ) ; return n ? Ae ( n ) : t ( ) ; } function we ( t ) { if ( ! Ya && ja ) { var n = ja . currentNode ( Xa . getStartPos ( ) ) ; if ( ! e . nodeIsMissing ( n ) && ! n . intersectsChange && ! e . containsParseError ( n ) ) { var r = 63 & n . parserContextFlags ; if ( r === Ga && Pe ( n , t ) ) return n ; } } } function Ae ( e ) { return Xa . setTextPos ( e . end ) , F ( ) , e ; } function Pe ( e , t ) { switch ( t ) { case 5 : return Ne ( e ) ; case 2 : return Oe ( e ) ; case 0 : case 1 : case 3 : return Re ( e ) ; case 6 : return Ie ( e ) ; case 4 : return Fe ( e ) ; case 8 : return Le ( e ) ; case 16 : return Me ( e ) ; case 20 : case 17 : case 19 : case 18 : case 11 : case 12 : case 7 : case 13 : case 14 : } return ! 1 ; } function Ne ( e ) { if ( e ) switch ( e . kind ) { case 145 : case 150 : case 146 : case 147 : case 142 : case 194 : return ! 0 ; case 144 : var t = e , n = 69 === t . name . kind && 121 === t . name . originalKeywordKind ; return ! n ; } return ! 1 ; } function Oe ( e ) { if ( e ) switch ( e . kind ) { case 244 : case 245 : return ! 0 ; } return ! 1 ; } function Re ( e ) { if ( e ) switch ( e . kind ) { case 216 : case 196 : case 195 : case 199 : case 198 : case 211 : case 207 : case 209 : case 206 : case 205 : case 203 : case 204 : case 202 : case 201 : case 208 : case 197 : case 212 : case 210 : case 200 : case 213 : case 225 : case 224 : case 231 : case 230 : case 221 : case 217 : case 218 : case 220 : case 219 : return ! 0 ; } return ! 1 ; } function Ie ( e ) { return 250 === e . kind ; } function Fe ( e ) { if ( e ) switch ( e . kind ) { case 149 : case 143 : case 150 : case 141 : case 148 : return ! 0 ; } return ! 1 ; } function Le ( e ) { if ( 214 !== e . kind ) return ! 1 ; var t = e ; return void 0 === t . initializer ; } function Me ( e ) { if ( 139 !== e . kind ) return ! 1 ; var t = e ; return void 0 === t . initializer ; } function Be ( e ) { return P ( ze ( e ) ) , Se ( ) ? ! 0 : ( F ( ) , ! 1 ) ; } function ze ( t ) { switch ( t ) { case 0 : return e . Diagnostics . Declaration_or_statement_expected ; case 1 : return e . Diagnostics . Declaration_or_statement_expected ; case 2 : return e . Diagnostics . case_or_default_expected ; case 3 : return e . Diagnostics . Statement_expected ; case 4 : return e . Diagnostics . Property_or_signature_expected ; case 5 : return e . Diagnostics . Unexpected_token_A_constructor_method_accessor_or_property_was_expected ; case 6 : return e . Diagnostics . Enum_member_expected ; case 7 : return e . Diagnostics . Expression_expected ; case 8 : return e . Diagnostics . Variable_declaration_expected ; case 9 : return e . Diagnostics . Property_destructuring_pattern_expected ; case 10 : return e . Diagnostics . Array_element_destructuring_pattern_expected ; case 11 : return e . Diagnostics . Argument_expression_expected ; case 12 : return e . Diagnostics . Property_assignment_expected ; case 15 : return e . Diagnostics . Expression_or_comma_expected ; case 16 : return e . Diagnostics . Parameter_declaration_expected ; case 17 : return e . Diagnostics . Type_parameter_declaration_expected ; case 18 : return e . Diagnostics . Type_argument_expected ; case 19 : return e . Diagnostics . Type_expected ; case 20 : return e . Diagnostics . Unexpected_token_expected ; case 21 : return e . Diagnostics . Identifier_expected ; case 13 : return e . Diagnostics . Identifier_expected ; case 14 : return e . Diagnostics . Identifier_expected ; case 22 : return e . Diagnostics . Parameter_declaration_expected ; case 23 : return e . Diagnostics . Type_argument_expected ; case 25 : return e . Diagnostics . Type_expected ; case 24 : return e . Diagnostics . Property_assignment_expected ; } } function Ke ( e , t , n ) { var r = Ha ; Ha |= 1 << e ; var a = [ ] ; a . pos = R ( ) ; for ( var i = - 1 ; ; ) if ( ye ( e , ! 1 ) ) { if ( a . push ( Ee ( e , t ) ) , i = Xa . getTokenPos ( ) , V ( 24 ) ) continue ; if ( i = - 1 , Ce ( e ) ) break ; W ( 24 ) , n && 23 === Ja && ! Xa . hasPrecedingLineBreak ( ) && F ( ) ; } else { if ( Ce ( e ) ) break ; if ( Be ( e ) ) break ; } return i >= 0 && ( a . hasTrailingComma = ! 0 ) , a . end = I ( ) , Ha = r , a ; } function je ( ) { var e = R ( ) , t = [ ] ; return t . pos = e , t . end = e , t ; } function Je ( e , t , n , r ) { if ( W ( n ) ) { var a = Ke ( e , t ) ; return W ( r ) , a ; } return je ( ) ; } function Ue ( e , t ) { for ( var n = re ( t ) ; V ( 21 ) ; ) { var r = $ ( 136 , n . pos ) ; r . left = n , r . right = qe ( e ) , n = Z ( r ) ; } return n ; } function qe ( t ) { if ( Xa . hasPrecedingLineBreak ( ) && e . tokenIsIdentifierOrKeyword ( Ja ) ) { var n = J ( br ) ; if ( n ) return ee ( 69 , ! 0 , e . Diagnostics . Identifier_expected ) ; } return t ? ae ( ) : re ( ) ; } function We ( ) { var t = $ ( 186 ) ; t . head = Xe ( ) , e . Debug . assert ( 12 === t . head . kind , "Template head has wrong token kind" ) ; var n = [ ] ; n . pos = R ( ) ; do n . push ( Ve ( ) ) ; while ( 13 === e . lastOrUndefined ( n ) . literal . kind ) ; return n . end = I ( ) , t . templateSpans = n , Z ( t ) ; } function Ve ( ) { var t = $ ( 193 ) ; t . expression = h ( Vt ) ; var n ; return 16 === Ja ? ( B ( ) , n = Xe ( ) ) : n = G ( 14 , ! 1 , e . Diagnostics . _0_expected , e . tokenToString ( 16 ) ) , t . literal = n , Z ( t ) ; } function He ( ) { return Qe ( 163 , ! 0 ) ; } function Ge ( e ) { return Qe ( Ja , e ) ; } function Xe ( ) { return Qe ( Ja , ! 1 ) ; } function Qe ( t , n ) { var r = $ ( t ) , a = Xa . getTokenValue ( ) ; r . text = n ? te ( a ) : a , Xa . hasExtendedUnicodeEscape ( ) && ( r . hasExtendedUnicodeEscape = ! 0 ) , Xa . isUnterminated ( ) && ( r . isUnterminated = ! 0 ) ; var i = Xa . getTokenPos ( ) ; return F ( ) , Z ( r ) , 8 === r . kind && 48 === Ua . charCodeAt ( i ) && e . isOctalDigit ( Ua . charCodeAt ( i + 1 ) ) && ( r . flags |= 32768 ) , r ; } function Ye ( ) { var t = Ue ( ! 1 , e . Diagnostics . Type_expected ) , n = $ ( 152 , t . pos ) ; return n . typeName = t , Xa . hasPrecedingLineBreak ( ) || 25 !== Ja || ( n . typeArguments = Je ( 18 , Kt , 25 , 27 ) ) , Z ( n ) ; } function $e ( e ) { F ( ) ; var t = $ ( 151 , e . pos ) ; return t . parameterName = e , t . type = Kt ( ) , Z ( t ) ; } function Ze ( ) { var e = $ ( 162 ) ; return F ( ) , Z ( e ) ; } function et ( ) { var e = $ ( 155 ) ; return W ( 101 ) , e . exprName = Ue ( ! 0 ) , Z ( e ) ; } function tt ( ) { var e = $ ( 138 ) ; return e . name = re ( ) , V ( 83 ) && ( Pt ( ) || ! qt ( ) ? e . constraint = Kt ( ) : e . expression = kn ( ) ) , Z ( e ) ; } function nt ( ) { return 25 === Ja ? Je ( 17 , tt , 25 , 27 ) : void 0 ; } function rt ( ) { return V ( 54 ) ? Kt ( ) : void 0 ; } function at ( ) { return 22 === Ja || Mr ( ) || e . isModifierKind ( Ja ) || 55 === Ja ; } function it ( e , t ) { t && ( e . flags |= t . flags , e . modifiers = t ) ; } function ot ( ) { var t = $ ( 139 ) ; return t . decorators = $r ( ) , it ( t , Zr ( ) ) , t . dotDotDotToken = H ( 22 ) , t . name = Br ( ) , 0 === e . getFullWidth ( t . name ) && 0 === t . flags && e . isModifierKind ( Ja ) && F ( ) , t . questionToken = H ( 53 ) , t . type = rt ( ) , t . initializer = st ( ! 0 ) , c ( Z ( t ) ) ; } function st ( e ) { return e ? ct ( ) : Gr ( ) ; } function ct ( ) { return Ht ( ! 0 ) ; } function _t ( e , t , n , r , a ) { var i = 34 === e ; a . typeParameters = nt ( ) , a . parameters = ut ( t , n , r ) , i ? ( W ( e ) , a . type = Bt ( ) ) : V ( e ) && ( a . type = Bt ( ) ) ; } function ut ( e , t , n ) { if ( W ( 17 ) ) { var r = T ( ) , a = A ( ) ; p ( e ) , m ( t ) ; var i = Ke ( 16 , ot ) ; if ( p ( r ) , m ( a ) , ! W ( 18 ) && n ) return ; return i ; } return n ? void 0 : je ( ) ; } function lt ( ) { V ( 24 ) || Y ( ) ; } function dt ( e ) { var t = $ ( e ) ; return 149 === e && W ( 92 ) , _t ( 54 , ! 1 , ! 1 , ! 1 , t ) , lt ( ) , Z ( t ) ; } function pt ( ) { return 19 !== Ja ? ! 1 : J ( ft ) ; } function ft ( ) { if ( F ( ) , 22 === Ja || 20 === Ja ) return ! 0 ; if ( e . isModifierKind ( Ja ) ) { if ( F ( ) , q ( ) ) return ! 0 ; } else { if ( ! q ( ) ) return ! 1 ; F ( ) ; } return 54 === Ja || 24 === Ja ? ! 0 : 53 !== Ja ? ! 1 : ( F ( ) , 54 === Ja || 24 === Ja || 20 === Ja ) ; } function mt ( e , t , n ) { var r = $ ( 150 , e ) ; return r . decorators = t , it ( r , n ) , r . parameters = Je ( 16 , ot , 19 , 20 ) , r . type = Jt ( ) , lt ( ) , Z ( r ) ; } function gt ( ) { var e = Xa . getStartPos ( ) , t = se ( ) , n = H ( 53 ) ; if ( 17 === Ja || 25 === Ja ) { var r = $ ( 143 , e ) ; return r . name = t , r . questionToken = n , _t ( 54 , ! 1 , ! 1 , ! 1 , r ) , lt ( ) , Z ( r ) ; } var a = $ ( 141 , e ) ; return a . name = t , a . questionToken = n , a . type = Jt ( ) , 56 === Ja && ( a . initializer = Gr ( ) ) , lt ( ) , Z ( a ) ; } function yt ( ) { switch ( Ja ) { case 17 : case 25 : case 19 : return ! 0 ; default : if ( e . isModifierKind ( Ja ) ) { var t = J ( ht ) ; if ( t ) return t ; } return ie ( ) && J ( vt ) ; } } function ht ( ) { for ( ; e . isModifierKind ( Ja ) ; ) F ( ) ; return pt ( ) ; } function vt ( ) { return F ( ) , 17 === Ja || 25 === Ja || 53 === Ja || 54 === Ja || Q ( ) ; } function kt ( ) { switch ( Ja ) { case 17 : case 25 : return dt ( 148 ) ; case 19 : return pt ( ) ? mt ( Xa . getStartPos ( ) , void 0 , void 0 ) : gt ( ) ; case 92 : if ( J ( xt ) ) return dt ( 149 ) ; case 9 : case 8 : return gt ( ) ; default : if ( e . isModifierKind ( Ja ) ) { var t = U ( bt ) ; if ( t ) return t ; } if ( e . tokenIsIdentifierOrKeyword ( Ja ) ) return gt ( ) ; } } function bt ( ) { var e = Xa . getStartPos ( ) , t = $r ( ) , n = Zr ( ) ; return pt ( ) ? mt ( e , t , n ) : void 0 ; } function xt ( ) { return F ( ) , 17 === Ja || 25 === Ja ; } function Ct ( ) { var e = $ ( 156 ) ; return e . members = Dt ( ) , Z ( e ) ; } function Dt ( ) { var e ; return W ( 15 ) ? ( e = Te ( 4 , kt ) , W ( 16 ) ) : e = je ( ) , e ; } function St ( ) { var e = $ ( 158 ) ; return e . elementTypes = Je ( 19 , Kt , 19 , 20 ) , Z ( e ) ; } function Tt ( ) { var e = $ ( 161 ) ; return W ( 17 ) , e . type = Kt ( ) , W ( 18 ) , Z ( e ) ; } function Et ( e ) { var t = $ ( e ) ; return 154 === e && W ( 92 ) , _t ( 34 , ! 1 , ! 1 , ! 1 , t ) , Z ( t ) ; } function wt ( ) { var e = X ( ) ; return 21 === Ja ? void 0 : e ; } function At ( ) { switch ( Ja ) { case 117 : case 130 : case 128 : case 120 : case 131 : var e = U ( wt ) ; return e || Ye ( ) ; case 9 : return He ( ) ; case 103 : return X ( ) ; case 97 : var t = Ze ( ) ; return 124 !== Ja || Xa . hasPrecedingLineBreak ( ) ? t : $e ( t ) ; case 101 : return et ( ) ; case 15 : return Ct ( ) ; case 19 : return St ( ) ; case 17 : return Tt ( ) ; default : return Ye ( ) ; } } function Pt ( ) { switch ( Ja ) { case 117 : case 130 : case 128 : case 120 : case 131 : case 103 : case 97 : case 101 : case 15 : case 19 : case 25 : case 92 : case 9 : return ! 0 ; case 17 : return J ( Nt ) ; default : return q ( ) ; } } function Nt ( ) { return F ( ) , 18 === Ja || at ( ) || Pt ( ) ; } function Ot ( ) { for ( var e = At ( ) ; ! Xa . hasPrecedingLineBreak ( ) && V ( 19 ) ; ) { W ( 20 ) ; var t = $ ( 157 , e . pos ) ; t . elementType = e , e = Z ( t ) ; } return e ; } function Rt ( e , t , n ) { var r = t ( ) ; if ( Ja === n ) { var a = [ r ] ; for ( a . pos = r . pos ; V ( n ) ; ) a . push ( t ( ) ) ; a . end = I ( ) ; var i = $ ( e , r . pos ) ; i . types = a , r = Z ( i ) ; } return r ; } function It ( ) { return Rt ( 160 , Ot , 46 ) ; } function Ft ( ) { return Rt ( 159 , It , 47 ) ; } function Lt ( ) { return 25 === Ja ? ! 0 : 17 === Ja && J ( Mt ) ; } function Mt ( ) { if ( F ( ) , 18 === Ja || 22 === Ja ) return ! 0 ; if ( q ( ) || e . isModifierKind ( Ja ) ) { if ( F ( ) , 54 === Ja || 24 === Ja || 53 === Ja || 56 === Ja || q ( ) || e . isModifierKind ( Ja ) ) return ! 0 ; if ( 18 === Ja && ( F ( ) , 34 === Ja ) ) return ! 0 ; } return ! 1 ; } function Bt ( ) { var e = q ( ) && U ( zt ) , t = Kt ( ) ; if ( e ) { var n = $ ( 151 , e . pos ) ; return n . parameterName = e , n . type = t , Z ( n ) ; } return t ; } function zt ( ) { var e = re ( ) ; return 124 !== Ja || Xa . hasPrecedingLineBreak ( ) ? void 0 : ( F ( ) , e ) ; } function Kt ( ) { return g ( 10 , jt ) ; } function jt ( ) { return Lt ( ) ? Et ( 153 ) : 92 === Ja ? Et ( 154 ) : Ft ( ) ; } function Jt ( ) { return V ( 54 ) ? Kt ( ) : void 0 ; } function Ut ( ) { switch ( Ja ) { case 97 : case 95 : case 93 : case 99 : case 84 : case 8 : case 9 : case 11 : case 12 : case 17 : case 19 : case 15 : case 87 : case 73 : case 92 : case 39 : case 61 : case 69 : return ! 0 ; default : return q ( ) ; } } function qt ( ) { if ( Ut ( ) ) return ! 0 ; switch ( Ja ) { case 35 : case 36 : case 50 : case 49 : case 78 : case 101 : case 103 : case 41 : case 42 : case 25 : case 119 : case 114 : return ! 0 ; default : return un ( ) ? ! 0 : q ( ) ; } } function Wt ( ) { return 15 !== Ja && 87 !== Ja && 73 !== Ja && 55 !== Ja && qt ( ) ; } function Vt ( ) { var e = w ( ) ; e && f ( ! 1 ) ; for ( var t , n = Gt ( ) ; t = H ( 24 ) ; ) n = dn ( n , t , Gt ( ) ) ; return e && f ( ! 0 ) , n ; } function Ht ( e ) { return 56 === Ja || ! ( Xa . hasPrecedingLineBreak ( ) || e && 15 === Ja ) && qt ( ) ? ( W ( 56 ) , Gt ( ) ) : void 0 ; } function Gt ( ) { if ( Xt ( ) ) return Yt ( ) ; var t = Zt ( ) ; if ( t ) return t ; var n = sn ( 0 ) ; return 69 === n . kind && 34 === Ja ? $t ( n ) : e . isLeftHandSideExpression ( n ) && e . isAssignmentOperator ( L ( ) ) ? dn ( n , X ( ) , Gt ( ) ) : on ( n ) ; } function Xt ( ) { return 114 === Ja ? T ( ) ? ! 0 : J ( Cr ) : ! 1 ; } function Qt ( ) { return F ( ) , ! Xa . hasPrecedingLineBreak ( ) && q ( ) ; } function Yt ( ) { var e = $ ( 187 ) ; return F ( ) , Xa . hasPrecedingLineBreak ( ) || 37 !== Ja && ! qt ( ) ? Z ( e ) : ( e . asteriskToken = H ( 37 ) , e . expression = Gt ( ) , Z ( e ) ) ; } function $t ( t ) { e . Debug . assert ( 34 === Ja , "parseSimpleArrowFunctionExpression should only have been called if we had a =>" ) ; var n = $ ( 177 , t . pos ) , r = $ ( 139 , t . pos ) ; return r . name = t , Z ( r ) , n . parameters = [ r ] , n . parameters . pos = r . pos , n . parameters . end = r . end , n . equalsGreaterThanToken = G ( 34 , ! 1 , e . Diagnostics . _0_expected , "=>" ) , n . body = an ( ! 1 ) , Z ( n ) ; } function Zt ( ) { var t = en ( ) ; if ( 0 !== t ) { var n = 1 === t ? rn ( ! 0 ) : U ( nn ) ; if ( n ) { var r = ! ! ( 256 & n . flags ) , a = Ja ; return n . equalsGreaterThanToken = G ( 34 , ! 1 , e . Diagnostics . _0_expected , "=>" ) , n . body = 34 === a || 15 === a ? an ( r ) : re ( ) , Z ( n ) ; } } } function en ( ) { return 17 === Ja || 25 === Ja || 118 === Ja ? J ( tn ) : 34 === Ja ? 1 : 0 ; } function tn ( ) { if ( 118 === Ja ) { if ( F ( ) , Xa . hasPrecedingLineBreak ( ) ) return 0 ; if ( 17 !== Ja && 25 !== Ja ) return 0 ; } var t = Ja , n = F ( ) ; if ( 17 === t ) { if ( 18 === n ) { var r = F ( ) ; switch ( r ) { case 34 : case 54 : case 15 : return 1 ; default : return 0 ; } } return 19 === n || 15 === n ? 2 : 22 === n ? 1 : q ( ) ? 54 === F ( ) ? 1 : 2 : 0 ; } if ( e . Debug . assert ( 25 === t ) , ! q ( ) ) return 0 ; if ( 1 === za . languageVariant ) { var a = J ( function ( ) { var e = F ( ) ; if ( 83 === e ) { var t = F ( ) ; switch ( t ) { case 56 : case 27 : return ! 1 ; default : return ! 0 ; } } else if ( 24 === e ) return ! 0 ; return ! 1 ; } ) ; return a ? 1 : 0 ; } return 2 ; } function nn ( ) { return rn ( ! 1 ) ; } function rn ( e ) { var t = $ ( 177 ) ; it ( t , ea ( ) ) ; var n = ! ! ( 256 & t . flags ) ; return _t ( 54 , ! 1 , n , ! e , t ) , t . parameters && ( e || 34 === Ja || 15 === Ja ) ? t : void 0 ; } function an ( e ) { return 15 === Ja ? rr ( ! 1 , e , ! 1 ) : 23 !== Ja && 87 !== Ja && 73 !== Ja && Tr ( ) && ! Wt ( ) ? rr ( ! 1 , e , ! 0 ) : e ? x ( Gt ) : C ( Gt ) ; } function on ( t ) { var n = H ( 53 ) ; if ( ! n ) return t ; var r = $ ( 185 , t . pos ) ; return r . condition = t , r . questionToken = n , r . whenTrue = g ( Qa , Gt ) , r . colonToken = G ( 54 , ! 1 , e . Diagnostics . _0_expected , e . tokenToString ( 54 ) ) , r . whenFalse = Gt ( ) , Z ( r ) ; } function sn ( e ) { var t = kn ( ) ; return _n ( e , t ) ; } function cn ( e ) { return 90 === e || 135 === e ; } function _n ( e , t ) { for ( ; ; ) { L ( ) ; var n = ln ( ) , r = 38 === Ja ? n >= e : n > e ; if ( ! r ) break ; if ( 90 === Ja && E ( ) ) break ; if ( 116 === Ja ) { if ( Xa . hasPrecedingLineBreak ( ) ) break ; F ( ) , t = pn ( t , Kt ( ) ) ; } else t = dn ( t , X ( ) , sn ( n ) ) ; } return t ; } function un ( ) { return E ( ) && 90 === Ja ? ! 1 : ln ( ) > 0 ; } function ln ( ) { switch ( Ja ) { case 52 : return 1 ; case 51 : return 2 ; case 47 : return 3 ; case 48 : return 4 ; case 46 : return 5 ; case 30 : case 31 : case 32 : case 33 : return 6 ; case 25 : case 27 : case 28 : case 29 : case 91 : case 90 : case 116 : return 7 ; case 43 : case 44 : case 45 : return 8 ; case 35 : case 36 : return 9 ; case 37 : case 39 : case 40 : return 10 ; case 38 : return 11 ; } return - 1 ; } function dn ( e , t , n ) { var r = $ ( 184 , e . pos ) ; return r . left = e , r . operatorToken = t , r . right = n , Z ( r ) ; } function pn ( e , t ) { var n = $ ( 192 , e . pos ) ; return n . expression = e , n . type = t , Z ( n ) ; } function fn ( ) { var e = $ ( 182 ) ; return e . operator = Ja , F ( ) , e . operand = bn ( ) , Z ( e ) ; } function mn ( ) { var e = $ ( 178 ) ; return F ( ) , e . expression = bn ( ) , Z ( e ) ; } function gn ( ) { var e = $ ( 179 ) ; return F ( ) , e . expression = bn ( ) , Z ( e ) ; } function yn ( ) { var e = $ ( 180 ) ; return F ( ) , e . expression = bn ( ) , Z ( e ) ; } function hn ( ) { return 119 === Ja ? A ( ) ? ! 0 : J ( Qt ) : ! 1 ; } function vn ( ) { var e = $ ( 181 ) ; return F ( ) , e . expression = bn ( ) , Z ( e ) ; } function kn ( ) { if ( hn ( ) ) return vn ( ) ; if ( xn ( ) ) { var t = Cn ( ) ; return 38 === Ja ? _n ( ln ( ) , t ) : t ; } var n = Ja , r = bn ( ) ; if ( 38 === Ja ) { var a = e . skipTrivia ( Ua , r . pos ) ; 174 === r . kind ? N ( a , r . end - a , e . Diagnostics . A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses ) : N ( a , r . end - a , e . Diagnostics . An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses , e . tokenToString ( n ) ) ; } return r ; } function bn ( ) { switch ( Ja ) { case 35 : case 36 : case 50 : case 49 : return fn ( ) ; case 78 : return mn ( ) ; case 101 : return gn ( ) ; case 103 : return yn ( ) ; case 25 : return Bn ( ) ; default : return Cn ( ) ; } } function xn ( ) { switch ( Ja ) { case 35 : case 36 : case 50 : case 49 : case 78 : case 101 : case 103 : return ! 1 ; case 25 : if ( 1 !== za . languageVariant ) return ! 1 ; default : return ! 0 ; } } function Cn ( ) { if ( 41 === Ja || 42 === Ja ) { var t = $ ( 182 ) ; return t . operator = Ja , F ( ) , t . operand = Dn ( ) , Z ( t ) ; } if ( 1 === za . languageVariant && 25 === Ja && J ( ke ) ) return wn ( ! 0 ) ; var n = Dn ( ) ; if ( e . Debug . assert ( e . isLeftHandSideExpression ( n ) ) , ( 41 === Ja || 42 === Ja ) && ! Xa . hasPrecedingLineBreak ( ) ) { var t = $ ( 183 , n . pos ) ; return t . operand = n , t . operator = Ja , F ( ) , Z ( t ) ; } return n ; } function Dn ( ) { var e = 95 === Ja ? Tn ( ) : Sn ( ) ; return Kn ( e ) ; } function Sn ( ) { var e = qn ( ) ; return zn ( e ) ; } function Tn ( ) { var t = X ( ) ; if ( 17 === Ja || 21 === Ja || 19 === Ja ) return t ; var n = $ ( 169 , t . pos ) ; return n . expression = t , n . dotToken = G ( 21 , ! 1 , e . Diagnostics . super_must_be_followed_by_an_argument_list_or_member_access ) , n . name = qe ( ! 0 ) , Z ( n ) ; } function En ( e , t ) { return e . kind !== t . kind ? ! 1 : 69 === e . kind ? e . text === t . text : e . right . text === t . right . text && En ( e . left , t . left ) ; } function wn ( t ) { var n , r = On ( t ) ; if ( 238 === r . kind ) { var a = $ ( 236 , r . pos ) ; a . openingElement = r , a . children = Nn ( a . openingElement . tagName ) , a . closingElement = Mn ( t ) , En ( a . openingElement . tagName , a . closingElement . tagName ) || N ( a . closingElement . pos , a . closingElement . end - a . closingElement . pos , e . Diagnostics . Expected_corresponding_JSX_closing_tag_for_0 , e . getTextOfNodeFromSourceText ( Ua , a . openingElement . tagName ) ) , n = Z ( a ) ; } else e . Debug . assert ( 237 === r . kind ) , n = r ; if ( t && 25 === Ja ) { var i = U ( function ( ) { return wn ( ! 0 ) ; } ) ; if ( i ) { P ( e . Diagnostics . JSX_expressions_must_have_one_parent_element ) ; var o = $ ( 184 , n . pos ) ; return o . end = i . end , o . left = n , o . right = i , o . operatorToken = ee ( 24 , ! 1 , void 0 ) , o . operatorToken . pos = o . operatorToken . end = o . right . pos , o ; } } return n ; } function An ( ) { var e = $ ( 239 , Xa . getStartPos ( ) ) ; return Ja = Xa . scanJsxToken ( ) , Z ( e ) ; } function Pn ( ) { switch ( Ja ) { case 239 : return An ( ) ; case 15 : return In ( ! 1 ) ; case 25 : return wn ( ! 1 ) ; } e . Debug . fail ( "Unknown JSX child kind " + Ja ) ; } function Nn ( t ) { var n = [ ] ; n . pos = Xa . getStartPos ( ) ; var r = Ha ; for ( Ha |= 16384 ; ; ) { if ( Ja = Xa . reScanJsxToken ( ) , 26 === Ja ) break ; if ( 1 === Ja ) { N ( t . pos , t . end - t . pos , e . Diagnostics . JSX_element_0_has_no_corresponding_closing_tag , e . getTextOfNodeFromSourceText ( Ua , t ) ) ; break ; } n . push ( Pn ( ) ) ; } return n . end = Xa . getTokenPos ( ) , Ha = r , n ; } function On ( e ) { var t = Xa . getStartPos ( ) ; W ( 25 ) ; var n , r = Rn ( ) , a = Te ( 13 , Fn ) ; return 27 === Ja ? ( n = $ ( 238 , t ) , K ( ) ) : ( W ( 39 ) , e ? W ( 27 ) : ( W ( 27 , void 0 , ! 1 ) , K ( ) ) , n = $ ( 237 , t ) ) , n . tagName = r , n . attributes = a , Z ( n ) ; } function Rn ( ) { z ( ) ; for ( var e = ae ( ) ; V ( 21 ) ; ) { z ( ) ; var t = $ ( 136 , e . pos ) ; t . left = e , t . right = ae ( ) , e = Z ( t ) ; } return e ; } function In ( e ) { var t = $ ( 243 ) ; return W ( 15 ) , 16 !== Ja && ( t . expression = Gt ( ) ) , e ? W ( 16 ) : ( W ( 16 , void 0 , ! 1 ) , K ( ) ) , Z ( t ) ; } function Fn ( ) { if ( 15 === Ja ) return Ln ( ) ; z ( ) ; var e = $ ( 241 ) ; if ( e . name = ae ( ) , V ( 56 ) ) switch ( Ja ) { case 9 : e . initializer = Ge ( ) ; break ; default : e . initializer = In ( ! 0 ) ; } return Z ( e ) ; } function Ln ( ) { var e = $ ( 242 ) ; return W ( 15 ) , W ( 22 ) , e . expression = Vt ( ) , W ( 16 ) , Z ( e ) ; } function Mn ( e ) { var t = $ ( 240 ) ; return W ( 26 ) , t . tagName = Rn ( ) , e ? W ( 27 ) : ( W ( 27 , void 0 , ! 1 ) , K ( ) ) , Z ( t ) ; } function Bn ( ) { var e = $ ( 174 ) ; return W ( 25 ) , e . type = Kt ( ) , W ( 27 ) , e . expression = bn ( ) , Z ( e ) ; } function zn ( e ) { for ( ; ; ) { var t = H ( 21 ) ; if ( t ) { var n = $ ( 169 , e . pos ) ; n . expression = e , n . dotToken = t , n . name = qe ( ! 0 ) , e = Z ( n ) ; } else if ( w ( ) || ! V ( 19 ) ) { if ( 11 !== Ja && 12 !== Ja ) return e ; var r = $ ( 173 , e . pos ) ; r . tag = e , r . template = 11 === Ja ? Ge ( ) : We ( ) , e = Z ( r ) ; } else { var a = $ ( 170 , e . pos ) ; if ( a . expression = e , 20 !== Ja && ( a . argumentExpression = h ( Vt ) , 9 === a . argumentExpression . kind || 8 === a . argumentExpression . kind ) ) { var i = a . argumentExpression ; i . text = te ( i . text ) ; } W ( 20 ) , e = Z ( a ) ; } } } function Kn ( e ) { for ( ; ; ) if ( e = zn ( e ) , 25 !== Ja ) { if ( 17 !== Ja ) return e ; var t = $ ( 171 , e . pos ) ; t . expression = e , t . arguments = jn ( ) , e = Z ( t ) ; } else { var n = U ( Jn ) ; if ( ! n ) return e ; var t = $ ( 171 , e . pos ) ; t . expression = e , t . typeArguments = n , t . arguments = jn ( ) , e = Z ( t ) ; } } function jn ( ) { W ( 17 ) ; var e = Ke ( 11 , Gn ) ; return W ( 18 ) , e ; } function Jn ( ) { if ( V ( 25 ) ) { var e = Ke ( 18 , Kt ) ; if ( W ( 27 ) ) return e && Un ( ) ? e : void 0 ; } } function Un ( ) { switch ( Ja ) { case 17 : case 21 : case 18 : case 20 : case 54 : case 23 : case 53 : case 30 : case 32 : case 31 : case 33 : case 51 : case 52 : case 48 : case 46 : case 47 : case 16 : case 1 : return ! 0 ; case 24 : case 15 : default : return ! 1 ; } } function qn ( ) { switch ( Ja ) { case 8 : case 9 : case 11 : return Ge ( ) ; case 97 : case 95 : case 93 : case 99 : case 84 : return X ( ) ; case 17 : return Wn ( ) ; case 19 : return Xn ( ) ; case 15 : return $n ( ) ; case 118 : if ( ! J ( xr ) ) break ; return Zn ( ) ; case 73 : return na ( ) ; case 87 : return Zn ( ) ; case 92 : return tr ( ) ; case 39 : case 61 : if ( 10 === M ( ) ) return Ge ( ) ; break ; case 12 : return We ( ) ; } return re ( e . Diagnostics . Expression_expected ) ; } function Wn ( ) { var e = $ ( 175 ) ; return W ( 17 ) , e . expression = h ( Vt ) , W ( 18 ) , Z ( e ) ; } function Vn ( ) { var e = $ ( 188 ) ; return W ( 22 ) , e . expression = Gt ( ) , Z ( e ) ; } function Hn ( ) { return 22 === Ja ? Vn ( ) : 24 === Ja ? $ ( 190 ) : Gt ( ) ; } function Gn ( ) { return g ( Qa , Hn ) ; } function Xn ( ) { var e = $ ( 167 ) ; return W ( 19 ) , Xa . hasPrecedingLineBreak ( ) && ( e . flags |= 1024 ) , e . elements = Ke ( 15 , Hn ) , W ( 20 ) , Z ( e ) ; } function Qn ( e , t , n ) { return le ( 123 ) ? Xr ( 146 , e , t , n ) : le ( 129 ) ? Xr ( 147 , e , t , n ) : void 0 ; } function Yn ( ) { var e = Xa . getStartPos ( ) , t = $r ( ) , n = Zr ( ) , r = Qn ( e , t , n ) ; if ( r ) return r ; var a = H ( 37 ) , i = q ( ) , o = se ( ) , s = H ( 53 ) ; if ( a || 17 === Ja || 25 === Ja ) return Wr ( e , t , n , a , o , s ) ; var _ = i && ( 24 === Ja || 16 === Ja || 56 === Ja ) ; if ( _ ) { var u = $ ( 249 , e ) ; u . name = o , u . questionToken = s ; var l = H ( 56 ) ; return l && ( u . equalsToken = l , u . objectAssignmentInitializer = h ( Gt ) ) , c ( Z ( u ) ) ; } var d = $ ( 248 , e ) ; return d . modifiers = n , d . name = o , d . questionToken = s , W ( 54 ) , d . initializer = h ( Gt ) , c ( Z ( d ) ) ; } function $n ( ) { var e = $ ( 168 ) ; return W ( 15 ) , Xa . hasPrecedingLineBreak ( ) && ( e . flags |= 1024 ) , e . properties = Ke ( 12 , Yn , ! 0 ) , W ( 16 ) , Z ( e ) ; } function Zn ( ) { var e = w ( ) ; e && f ( ! 1 ) ; var t = $ ( 176 ) ; it ( t , Zr ( ) ) , W ( 87 ) , t . asteriskToken = H ( 37 ) ; var n = ! ! t . asteriskToken , r = ! ! ( 256 & t . flags ) ; return t . name = n && r ? D ( er ) : n ? k ( er ) : r ? x ( er ) : er ( ) , _t ( 54 , n , r , ! 1 , t ) , t . body = rr ( n , r , ! 1 ) , e && f ( ! 0 ) , c ( Z ( t ) ) ; } function er ( ) { return q ( ) ? re ( ) : void 0 ; } function tr ( ) { var e = $ ( 172 ) ; return W ( 92 ) , e . expression = Sn ( ) , e . typeArguments = U ( Jn ) , ( e . typeArguments || 17 === Ja ) && ( e . arguments = jn ( ) ) , Z ( e ) ; } function nr ( e , t ) { var n = $ ( 195 ) ; return W ( 15 , t ) || e ? ( n . statements = Te ( 1 , Ar ) , W ( 16 ) ) : n . statements = je ( ) , Z ( n ) ; } function rr ( e , t , n , r ) { var a = T ( ) ; p ( e ) ; var i = A ( ) ; m ( t ) ; var o = w ( ) ; o && f ( ! 1 ) ; var s = nr ( n , r ) ; return o && f ( ! 0 ) , p ( a ) , m ( i ) , s ; } function ar ( ) { var e = $ ( 197 ) ; return W ( 23 ) , Z ( e ) ; } function ir ( ) { var e = $ ( 199 ) ; return W ( 88 ) , W ( 17 ) , e . expression = h ( Vt ) , W ( 18 ) , e . thenStatement = Ar ( ) , e . elseStatement = V ( 80 ) ? Ar ( ) : void 0 , Z ( e ) ; } function or ( ) { var e = $ ( 200 ) ; return W ( 79 ) , e . statement = Ar ( ) , W ( 104 ) , W ( 17 ) , e . expression = h ( Vt ) , W ( 18 ) , V ( 23 ) , Z ( e ) ; } function sr ( ) { var e = $ ( 201 ) ; return W ( 104 ) , W ( 17 ) , e . expression = h ( Vt ) , W ( 18 ) , e . statement = Ar ( ) , Z ( e ) ; } function cr ( ) { var e = R ( ) ; W ( 86 ) , W ( 17 ) ; var t = void 0 ; 23 !== Ja && ( t = 102 === Ja || 108 === Ja || 74 === Ja ? Kr ( ! 0 ) : v ( Vt ) ) ; var n ; if ( V ( 90 ) ) { var r = $ ( 203 , e ) ; r . initializer = t , r . expression = h ( Vt ) , W ( 18 ) , n = r ; } else if ( V ( 135 ) ) { var a = $ ( 204 , e ) ; a . initializer = t , a . expression = h ( Gt ) , W ( 18 ) , n = a ; } else { var i = $ ( 202 , e ) ; i . initializer = t , W ( 23 ) , 23 !== Ja && 18 !== Ja && ( i . condition = h ( Vt ) ) , W ( 23 ) , 18 !== Ja && ( i . incrementor = h ( Vt ) ) , W ( 18 ) , n = i ; } return n . statement = Ar ( ) , Z ( n ) ; } function _r ( e ) { var t = $ ( e ) ; return W ( 206 === e ? 70 : 75 ) , Q ( ) || ( t . label = re ( ) ) , Y ( ) , Z ( t ) ; } function ur ( ) { var e = $ ( 207 ) ; return W ( 94 ) , Q ( ) || ( e . expression = h ( Vt ) ) , Y ( ) , Z ( e ) ; } function lr ( ) { var e = $ ( 208 ) ; return W ( 105 ) , W ( 17 ) , e . expression = h ( Vt ) , W ( 18 ) , e . statement = Ar ( ) , Z ( e ) ; } function dr ( ) { var e = $ ( 244 ) ; return W ( 71 ) , e . expression = h ( Vt ) , W ( 54 ) , e . statements = Te ( 3 , Ar ) , Z ( e ) ; } function pr ( ) { var e = $ ( 245 ) ; return W ( 77 ) , W ( 54 ) , e . statements = Te ( 3 , Ar ) , Z ( e ) ; } function fr ( ) { return 71 === Ja ? dr ( ) : pr ( ) ; } function mr ( ) { var e = $ ( 209 ) ; W ( 96 ) , W ( 17 ) , e . expression = h ( Vt ) , W ( 18 ) ; var t = $ ( 223 , Xa . getStartPos ( ) ) ; return W ( 15 ) , t . clauses = Te ( 2 , fr ) , W ( 16 ) , e . caseBlock = Z ( t ) , Z ( e ) ; } function gr ( ) { var e = $ ( 211 ) ; return W ( 98 ) , e . expression = Xa . hasPrecedingLineBreak ( ) ? void 0 : h ( Vt ) , Y ( ) , Z ( e ) ; } function yr ( ) { var e = $ ( 212 ) ; return W ( 100 ) , e . tryBlock = nr ( ! 1 ) , e . catchClause = 72 === Ja ? hr ( ) : void 0 , e . catchClause && 85 !== Ja || ( W ( 85 ) , e . finallyBlock = nr ( ! 1 ) ) , Z ( e ) ; } function hr ( ) { var e = $ ( 247 ) ; return W ( 72 ) , W ( 17 ) && ( e . variableDeclaration = zr ( ) ) , W ( 18 ) , e . block = nr ( ! 1 ) , Z ( e ) ; } function vr ( ) { var e = $ ( 213 ) ; return W ( 76 ) , Y ( ) , Z ( e ) ; } function kr ( ) { var e = Xa . getStartPos ( ) , t = h ( Vt ) ; if ( 69 === t . kind && V ( 54 ) ) { var n = $ ( 210 , e ) ; return n . label = t , n . statement = Ar ( ) , c ( Z ( n ) ) ; } var r = $ ( 198 , e ) ; return r . expression = t , Y ( ) , c ( Z ( r ) ) ; } function br ( ) { return F ( ) , e . tokenIsIdentifierOrKeyword ( Ja ) && ! Xa . hasPrecedingLineBreak ( ) ; } function xr ( ) { return F ( ) , 87 === Ja && ! Xa . hasPrecedingLineBreak ( ) ; } function Cr ( ) { return F ( ) , ( e . tokenIsIdentifierOrKeyword ( Ja ) || 8 === Ja ) && ! Xa . hasPrecedingLineBreak ( ) ; } function Dr ( ) { for ( ; ; ) switch ( Ja ) { case 102 : case 108 : case 74 : case 87 : case 73 : case 81 : return ! 0 ; case 107 : case 132 : return Qt ( ) ; case 125 : case 126 : return Nr ( ) ; case 115 : case 118 : case 122 : case 110 : case 111 : case 112 : if ( F ( ) , Xa . hasPrecedingLineBreak ( ) ) return ! 1 ; continue ; case 134 : return 15 === F ( ) ; case 89 : return F ( ) , 9 === Ja || 37 === Ja || 15 === Ja || e . tokenIsIdentifierOrKeyword ( Ja ) ; case 82 : if ( F ( ) , 56 === Ja || 37 === Ja || 15 === Ja || 77 === Ja ) return ! 0 ; continue ; case 113 : F ( ) ; continue ; default : return ! 1 ; } } function Sr ( ) { return J ( Dr ) ; } function Tr ( ) { switch ( Ja ) { case 55 : case 23 : case 15 : case 102 : case 108 : case 87 : case 73 : case 81 : case 88 : case 79 : case 104 : case 86 : case 75 : case 70 : case 94 : case 105 : case 96 : case 98 : case 100 : case 76 : case 72 : case 85 : return ! 0 ; case 74 : case 82 : case 89 : return Sr ( ) ; case 118 : case 122 : case 107 : case 125 : case 126 : case 132 : case 134 : return ! 0 ; case 112 : case 110 : case 111 : case 113 : return Sr ( ) || ! J ( br ) ; default : return qt ( ) ; } } function Er ( ) { return F ( ) , q ( ) || 15 === Ja || 19 === Ja ; } function wr ( ) { return J ( Er ) ; } function Ar ( ) { switch ( Ja ) { case 23 : return ar ( ) ; case 15 : return nr ( ! 1 ) ; case 102 : return Jr ( Xa . getStartPos ( ) , void 0 , void 0 ) ; case 108 : if ( wr ( ) ) return Jr ( Xa . getStartPos ( ) , void 0 , void 0 ) ; break ; case 87 : return Ur ( Xa . getStartPos ( ) , void 0 , void 0 ) ; case 73 : return ra ( Xa . getStartPos ( ) , void 0 , void 0 ) ; case 88 : return ir ( ) ; case 79 : return or ( ) ; case 104 : return sr ( ) ; case 86 : return cr ( ) ; case 75 : return _r ( 205 ) ; case 70 : return _r ( 206 ) ; case 94 : return ur ( ) ; case 105 : return lr ( ) ; case 96 : return mr ( ) ; case 98 : return gr ( ) ; case 100 : case 72 : case 85 : return yr ( ) ; case 76 : return vr ( ) ; case 55 : return Pr ( ) ; case 118 : case 107 : case 132 : case 125 : case 126 : case 122 : case 74 : case 81 : case 82 : case 89 : case 110 : case 111 : case 112 : case 115 : case 113 : case 134 : if ( Sr ( ) ) return Pr ( ) ; } return kr ( ) ; } function Pr ( ) { var t = R ( ) , n = $r ( ) , r = Zr ( ) ; switch ( Ja ) { case 102 : case 108 : case 74 : return Jr ( t , n , r ) ; case 87 : return Ur ( t , n , r ) ; case 73 : return ra ( t , n , r ) ; case 107 : return da ( t , n , r ) ; case 132 : return pa ( t , n , r ) ; case 81 : return ma ( t , n , r ) ; case 134 : case 125 : case 126 : return va ( t , n , r ) ; case 89 : return Ca ( t , n , r ) ; case 82 : return F ( ) , 77 === Ja || 56 === Ja ? Ia ( t , n , r ) : Ra ( t , n , r ) ; default : if ( n || r ) { var a = ee ( 234 , ! 0 , e . Diagnostics . Declaration_expected ) ; return a . pos = t , a . decorators = n , it ( a , r ) , Z ( a ) ; } } } function Nr ( ) { return F ( ) , ! Xa . hasPrecedingLineBreak ( ) && ( q ( ) || 9 === Ja ) ; } function Or ( e , t , n ) { return 15 !== Ja && Q ( ) ? void Y ( ) : rr ( e , t , ! 1 , n ) ; } function Rr ( ) { if ( 24 === Ja ) return $ ( 190 ) ; var e = $ ( 166 ) ; return e . dotDotDotToken = H ( 22 ) , e . name = Br ( ) , e . initializer = st ( ! 1 ) , Z ( e ) ; } function Ir ( ) { var e = $ ( 166 ) , t = q ( ) , n = se ( ) ; return t && 54 !== Ja ? e . name = n : ( W ( 54 ) , e . propertyName = n , e . name = Br ( ) ) , e . initializer = st ( ! 1 ) , Z ( e ) ; } function Fr ( ) { var e = $ ( 164 ) ; return W ( 15 ) , e . elements = Ke ( 9 , Ir ) , W ( 16 ) , Z ( e ) ; } function Lr ( ) { var e = $ ( 165 ) ; return W ( 19 ) , e . elements = Ke ( 10 , Rr ) , W ( 20 ) , Z ( e ) ; } function Mr ( ) { return 15 === Ja || 19 === Ja || q ( ) ; } function Br ( ) { return 19 === Ja ? Lr ( ) : 15 === Ja ? Fr ( ) : re ( ) ; } function zr ( ) { var e = $ ( 214 ) ; return e . name = Br ( ) , e . type = Jt ( ) , cn ( Ja ) || ( e . initializer = Ht ( ! 1 ) ) , Z ( e ) ; } function Kr ( t ) { var n = $ ( 215 ) ; switch ( Ja ) { case 102 : break ; case 108 : n . flags |= 8192 ; break ; case 74 : n . flags |= 16384 ; break ; default : e . Debug . fail ( ) ; } if ( F ( ) , 135 === Ja && J ( jr ) ) n . declarations = je ( ) ; else { var r = E ( ) ; d ( t ) , n . declarations = Ke ( 8 , zr ) , d ( r ) ; } return Z ( n ) ; } function jr ( ) { return ve ( ) && 18 === F ( ) ; } function Jr ( e , t , n ) { var r = $ ( 196 , e ) ; return r . decorators = t , it ( r , n ) , r . declarationList = Kr ( ! 1 ) , Y ( ) , c ( Z ( r ) ) ; } function Ur ( t , n , r ) { var a = $ ( 216 , t ) ; a . decorators = n , it ( a , r ) , W ( 87 ) , a . asteriskToken = H ( 37 ) , a . name = 512 & a . flags ? er ( ) : re ( ) ; var i = ! ! a . asteriskToken , o = ! ! ( 256 & a . flags ) ; return _t ( 54 , i , o , ! 1 , a ) , a . body = Or ( i , o , e . Diagnostics . or_expected ) , c ( Z ( a ) ) ; } function qr ( t , n , r ) { var a = $ ( 145 , t ) ; return a . decorators = n , it ( a , r ) , W ( 121 ) , _t ( 54 , ! 1 , ! 1 , ! 1 , a ) , a . body = Or ( ! 1 , ! 1 , e . Diagnostics . or_expected ) , c ( Z ( a ) ) ; } function Wr ( e , t , n , r , a , i , o ) { var s = $ ( 144 , e ) ; s . decorators = t , it ( s , n ) , s . asteriskToken = r , s . name = a , s . questionToken = i ; var _ = ! ! r , u = ! ! ( 256 & s . flags ) ; return _t ( 54 , _ , u , ! 1 , s ) , s . body = Or ( _ , u , o ) , c ( Z ( s ) ) ; } function Vr ( e , t , n , r , a ) { var i = $ ( 142 , e ) ; return i . decorators = t , it ( i , n ) , i . name = r , i . questionToken = a , i . type = Jt ( ) , i . initializer = n && 64 & n . flags ? h ( Gr ) : g ( 3 , Gr ) , Y ( ) , Z ( i ) ; } function Hr ( t , n , r ) { var a = H ( 37 ) , i = se ( ) , o = H ( 53 ) ; return a || 17 === Ja || 25 === Ja ? Wr ( t , n , r , a , i , o , e . Diagnostics . or_expected ) : Vr ( t , n , r , i , o ) ; } function Gr ( ) { return Ht ( ! 1 ) ; } function Xr ( e , t , n , r ) { var a = $ ( e , t ) ; return a . decorators = n , it ( a , r ) , a . name = se ( ) , _t ( 54 , ! 1 , ! 1 , ! 1 , a ) , a . body = Or ( ! 1 , ! 1 ) , Z ( a ) ; } function Qr ( e ) { switch ( e ) { case 112 : case 110 : case 111 : case 113 : return ! 0 ; default : return ! 1 ; } } function Yr ( ) { var t ; if ( 55 === Ja ) return ! 0 ; for ( ; e . isModifierKind ( Ja ) ; ) { if ( t = Ja , Qr ( t ) ) return ! 0 ; F ( ) ; } if ( 37 === Ja ) return ! 0 ; if ( ie ( ) && ( t = Ja , F ( ) ) , 19 === Ja ) return ! 0 ; if ( void 0 !== t ) { if ( ! e . isKeyword ( t ) || 129 === t || 123 === t ) return ! 0 ; switch ( Ja ) { case 17 : case 25 : case 54 : case 56 : case 53 : return ! 0 ; default : return Q ( ) ; } } return ! 1 ; } function $r ( ) { for ( var e ; ; ) { var t = R ( ) ; if ( ! V ( 55 ) ) break ; e || ( e = [ ] , e . pos = t ) ; var n = $ ( 140 , t ) ; n . expression = b ( Dn ) , e . push ( Z ( n ) ) ; } return e && ( e . end = I ( ) ) , e ; } function Zr ( t ) { for ( var n , r = 0 ; ; ) { var a = Xa . getStartPos ( ) , i = Ja ; if ( 74 === Ja && t ) { if ( ! U ( de ) ) break ; } else if ( ! fe ( ) ) break ; n || ( n = [ ] , n . pos = a ) , r |= e . modifierToFlag ( i ) , n . push ( Z ( $ ( i , a ) ) ) ; } return n && ( n . flags = r , n . end = Xa . getStartPos ( ) ) , n ; } function ea ( ) { var t , n = 0 ; if ( 118 === Ja ) { var r = Xa . getStartPos ( ) , a = Ja ; F ( ) , t = [ ] , t . pos = r , n |= e . modifierToFlag ( a ) , t . push ( Z ( $ ( a , r ) ) ) , t . flags = n , t . end = Xa . getStartPos ( ) ; } return t ; } function ta ( ) { if ( 23 === Ja ) { var t = $ ( 194 ) ; return F ( ) , Z ( t ) ; } var n = R ( ) , r = $r ( ) , a = Zr ( ! 0 ) , i = Qn ( n , r , a ) ; if ( i ) return i ; if ( 121 === Ja ) return qr ( n , r , a ) ; if ( pt ( ) ) return mt ( n , r , a ) ; if ( e . tokenIsIdentifierOrKeyword ( Ja ) || 9 === Ja || 8 === Ja || 37 === Ja || 19 === Ja ) return Hr ( n , r , a ) ; if ( r || a ) { var o = ee ( 69 , ! 0 , e . Diagnostics . Declaration_expected ) ; return Vr ( n , r , a , o , void 0 ) ; } e . Debug . fail ( "Should not have attempted to parse class member declaration." ) ; } function na ( ) { return aa ( Xa . getStartPos ( ) , void 0 , void 0 , 189 ) ; } function ra ( e , t , n ) { return aa ( e , t , n , 217 ) ; } function aa ( e , t , n , r ) { var a = $ ( r , e ) ; return a . decorators = t , it ( a , n ) , W ( 73 ) , a . name = ia ( ) , a . typeParameters = nt ( ) , a . heritageClauses = sa ( ! 0 ) , W ( 15 ) ? ( a . members = la ( ) , W ( 16 ) ) : a . members = je ( ) , Z ( a ) ; } function ia ( ) { return q ( ) && ! oa ( ) ? re ( ) : void 0 ; } function oa ( ) { return 106 === Ja && J ( ke ) ; } function sa ( e ) { return ua ( ) ? Te ( 20 , ca ) : void 0 ; } function ca ( ) { if ( 83 === Ja || 106 === Ja ) { var e = $ ( 246 ) ; return e . token = Ja , F ( ) , e . types = Ke ( 7 , _a ) , Z ( e ) ; } } function _a ( ) { var e = $ ( 191 ) ; return e . expression = Dn ( ) , 25 === Ja && ( e . typeArguments = Je ( 18 , Kt , 25 , 27 ) ) , Z ( e ) ; } function ua ( ) { return 83 === Ja || 106 === Ja ; } function la ( ) { return Te ( 5 , ta ) ; } function da ( e , t , n ) { var r = $ ( 218 , e ) ; return r . decorators = t , it ( r , n ) , W ( 107 ) , r . name = re ( ) , r . typeParameters = nt ( ) , r . heritageClauses = sa ( ! 1 ) , r . members = Dt ( ) , Z ( r ) ; } function pa ( e , t , n ) { var r = $ ( 219 , e ) ; return r . decorators = t , it ( r , n ) , W ( 132 ) , r . name = re ( ) , r . typeParameters = nt ( ) , W ( 56 ) , r . type = Kt ( ) , Y ( ) , Z ( r ) ; } function fa ( ) { var e = $ ( 250 , Xa . getStartPos ( ) ) ; return e . name = se ( ) , e . initializer = h ( Gr ) , Z ( e ) ; } function ma ( e , t , n ) { var r = $ ( 220 , e ) ; return r . decorators = t , it ( r , n ) , W ( 81 ) , r . name = re ( ) , W ( 15 ) ? ( r . members = Ke ( 6 , fa ) , W ( 16 ) ) : r . members = je ( ) , Z ( r ) ; } function ga ( ) { var e = $ ( 222 , Xa . getStartPos ( ) ) ; return W ( 15 ) ? ( e . statements = Te ( 1 , Ar ) , W ( 16 ) ) : e . statements = je ( ) , Z ( e ) ; } function ya ( e , t , n , r ) { var a = $ ( 221 , e ) , i = 65536 & r ; return a . decorators = t , it ( a , n ) , a . flags |= r , a . name = re ( ) , a . body = V ( 21 ) ? ya ( R ( ) , void 0 , void 0 , 2 | i ) : ga ( ) , Z ( a ) ; } function ha ( e , t , n ) { var r = $ ( 221 , e ) ; return r . decorators = t , it ( r , n ) , 134 === Ja ? ( r . name = re ( ) , r . flags |= 2097152 ) : r . name = Ge ( ! 0 ) , r . body = ga ( ) , Z ( r ) ; } function va ( e , t , n ) { var r = n ? n . flags : 0 ; if ( 134 === Ja ) return ha ( e , t , n ) ; if ( V ( 126 ) ) r |= 65536 ; else if ( W ( 125 ) , 9 === Ja ) return ha ( e , t , n ) ; return ya ( e , t , n , r ) ; } function ka ( ) { return 127 === Ja && J ( ba ) ; } function ba ( ) { return 17 === F ( ) ; } function xa ( ) { return 39 === F ( ) ; } function Ca ( e , t , n ) { W ( 89 ) ; var r , a = Xa . getStartPos ( ) ; if ( q ( ) && ( r = re ( ) , 24 !== Ja && 133 !== Ja ) ) { var i = $ ( 224 , e ) ; return i . decorators = t , it ( i , n ) , i . name = r , W ( 56 ) , i . moduleReference = Sa ( ) , Y ( ) , Z ( i ) ; } var o = $ ( 225 , e ) ; return o . decorators = t , it ( o , n ) , ( r || 37 === Ja || 15 === Ja ) && ( o . importClause = Da ( r , a ) , W ( 133 ) ) , o . moduleSpecifier = Ea ( ) , Y ( ) , Z ( o ) ; } function Da ( e , t ) { var n = $ ( 226 , t ) ; return e && ( n . name = e ) , n . name && ! V ( 24 ) || ( n . namedBindings = 37 === Ja ? wa ( ) : Aa ( 228 ) ) , Z ( n ) ; } function Sa ( ) { return ka ( ) ? Ta ( ) : Ue ( ! 1 ) ; } function Ta ( ) { var e = $ ( 235 ) ; return W ( 127 ) , W ( 17 ) , e . expression = Ea ( ) , W ( 18 ) , Z ( e ) ; } function Ea ( ) { if ( 9 === Ja ) { var e = Ge ( ) ; return te ( e . text ) , e ; } return Vt ( ) ; } function wa ( ) { var e = $ ( 227 ) ; return W ( 37 ) , W ( 116 ) , e . name = re ( ) , Z ( e ) ; } function Aa ( e ) { var t = $ ( e ) ; return t . elements = Je ( 21 , 228 === e ? Na : Pa , 15 , 16 ) , Z ( t ) ; } function Pa ( ) { return Oa ( 233 ) ; } function Na ( ) { return Oa ( 229 ) ; } function Oa ( t ) { var n = $ ( t ) , r = e . isKeyword ( Ja ) && ! q ( ) , a = Xa . getTokenPos ( ) , i = Xa . getTextPos ( ) , o = ae ( ) ; return 116 === Ja ? ( n . propertyName = o , W ( 116 ) , r = e . isKeyword ( Ja ) && ! q ( ) , a = Xa . getTokenPos ( ) , i = Xa . getTextPos ( ) , n . name = ae ( ) ) : n . name = o , 229 === t && r && N ( a , i - a , e . Diagnostics . Identifier_expected ) , Z ( n ) ; } function Ra ( e , t , n ) { var r = $ ( 231 , e ) ; return r . decorators = t , it ( r , n ) , V ( 37 ) ? ( W ( 133 ) , r . moduleSpecifier = Ea ( ) ) : ( r . exportClause = Aa ( 232 ) , ( 133 === Ja || 9 === Ja && ! Xa . hasPrecedingLineBreak ( ) ) && ( W ( 133 ) , r . moduleSpecifier = Ea ( ) ) ) , Y ( ) , Z ( r ) ; } function Ia ( e , t , n ) { var r = $ ( 230 , e ) ; return r . decorators = t , it ( r , n ) , V ( 56 ) ? r . isExportEquals = ! 0 : W ( 77 ) , r . expression = Gt ( ) , Y ( ) , Z ( r ) ; } function Fa ( t ) { for ( var n , r = e . createScanner ( t . languageVersion , ! 1 , 0 , Ua ) , a = [ ] , i = [ ] ; ; ) { var o = r . scan ( ) ; if ( 2 !== o ) { if ( e . isTrivia ( o ) ) continue ; break ; } var s = { pos : r . getTokenPos ( ) , end : r . getTextPos ( ) , kind : r . getToken ( ) } , c = Ua . substring ( s . pos , s . end ) , _ = e . getFileReferenceFromReferencePath ( c , s ) ; if ( _ ) { var u = _ . fileReference ; t . hasNoDefaultLib = _ . isNoDefaultLib ; var l = _ . diagnosticMessage ; u && a . push ( u ) , l && Ka . push ( e . createFileDiagnostic ( t , s . pos , s . end - s . pos , l ) ) ; } else { var d = /^\/\/\/\s*<amd-module\s+name\s*=\s*('|")(.+?)\1/gim , p = d . exec ( c ) ; p && ( n && Ka . push ( e . createFileDiagnostic ( t , s . pos , s . end - s . pos , e . Diagnostics . An_AMD_module_cannot_have_multiple_name_assignments ) ) , n = p [ 2 ] ) ; var f = /^\/\/\/\s*<amd-dependency\s/gim , m = /\spath\s*=\s*('|")(.+?)\1/gim , g = /\sname\s*=\s*('|")(.+?)\1/gim , y = f . exec ( c ) ; if ( y ) { var h = m . exec ( c ) , v = g . exec ( c ) ; if ( h ) { var k = { path : h [ 2 ] , name : v ? v [ 2 ] : void 0 } ; i . push ( k ) ; } } } } t . referencedFiles = a , t . amdDependencies = i , t . moduleName = n ; } function La ( t ) { t . externalModuleIndicator = e . forEach ( t . statements , function ( e ) { return 2 & e . flags || 224 === e . kind && 235 === e . moduleReference . kind || 225 === e . kind || 230 === e . kind || 231 === e . kind ? e : void 0 ; } ) ; } var Ma , Ba , za , Ka , ja , Ja , Ua , qa , Wa , Va , Ha , Ga , Xa = e . createScanner ( 2 , ! 0 ) , Qa = 5 , Ya = ! 1 ; t . parseSourceFile = n , t . fixupParentReferences = _ ; var $a ; ! function ( e ) { e [ e . SourceElements = 0 ] = "SourceElements" , e [ e . BlockStatements = 1 ] = "BlockStatements" , e [ e . SwitchClauses = 2 ] = "SwitchClauses" , e [ e . SwitchClauseStatements = 3 ] = "SwitchClauseStatements" , e [ e . TypeMembers = 4 ] = "TypeMembers" , e [ e . ClassMembers = 5 ] = "ClassMembers" , e [ e . EnumMembers = 6 ] = "EnumMembers" , e [ e . HeritageClauseElement = 7 ] = "HeritageClauseElement" , e [ e . VariableDeclarations = 8 ] = "VariableDeclarations" , e [ e . ObjectBindingElements = 9 ] = "ObjectBindingElements" , e [ e . ArrayBindingElements = 10 ] = "ArrayBindingElements" , e [ e . ArgumentExpressions = 11 ] = "ArgumentExpressions" , e [ e . ObjectLiteralMembers = 12 ] = "ObjectLiteralMembers" , e [ e . JsxAttributes = 13 ] = "JsxAttributes" , e [ e . JsxChildren = 14 ] = "JsxChildren" , e [ e . ArrayLiteralMembers = 15 ] = "ArrayLiteralMembers" , e [ e . Parameters = 16 ] = "Parameters" , e [ e . TypeParameters = 17 ] = "TypeParameters" , e [ e . TypeArguments = 18 ] = "TypeArguments" , e [ e . TupleElementTypes = 19 ] = "TupleElementTypes" , e [ e . HeritageClauses = 20 ] = "HeritageClauses" , e [ e . ImportOrExportSpecifiers = 21 ] = "ImportOrExportSpecifiers" , e [ e . JSDocFunctionParameters = 22 ] = "JSDocFunctionParameters" , e [ e . JSDocTypeArguments = 23 ] = "JSDocTypeArguments" , e [ e . JSDocRecordMembers = 24 ] = "JSDocRecordMembers" , e [ e . JSDocTupleTypes = 25 ] = "JSDocTupleTypes" , e [ e . Count = 26 ] = "Count" ; } ( $a || ( $a = { } ) ) ; var Za ; ! function ( e ) { e [ e . False = 0 ] = "False" , e [ e . True = 1 ] = "True" , e [ e . Unknown = 2 ] = "Unknown" ; } ( Za || ( Za = { } ) ) ; var ei ; ! function ( t ) { function n ( ) { switch ( Ja ) { case 37 : case 53 : case 17 : case 19 : case 49 : case 15 : case 87 : case 22 : case 92 : case 97 : return ! 0 ; } return e . tokenIsIdentifierOrKeyword ( Ja ) ; } function r ( e , t , n ) { a ( "file.js" , e , 2 , void 0 , 1 ) , Xa . setText ( e , t , n ) , Ja = Xa . scan ( ) ; var r = i ( ) , s = Ka ; return o ( ) , r ? { jsDocTypeExpression : r , diagnostics : s } : void 0 ; } function i ( ) { var e = $ ( 252 , Xa . getTokenPos ( ) ) ; return W ( 15 ) , e . type = s ( ) , W ( 16 ) , _ ( e ) , Z ( e ) ; } function s ( ) { var e = c ( ) ; if ( 47 === Ja ) { var t = $ ( 256 , e . pos ) ; t . types = T ( e ) , e = Z ( t ) ; } if ( 56 === Ja ) { var n = $ ( 263 , e . pos ) ; F ( ) , n . type = e , e = Z ( n ) ; } return e ; } function c ( ) { for ( var e = u ( ) ; ; ) if ( 19 === Ja ) { var t = $ ( 255 , e . pos ) ; t . elementType = e , F ( ) , W ( 20 ) , e = Z ( t ) ; } else if ( 53 === Ja ) { var n = $ ( 258 , e . pos ) ; n . type = e , F ( ) , e = Z ( n ) ; } else { if ( 49 !== Ja ) break ; var r = $ ( 259 , e . pos ) ; r . type = e , F ( ) , e = Z ( r ) ; } return e ; } function u ( ) { switch ( Ja ) { case 37 : return E ( ) ; case 53 : return w ( ) ; case 17 : return S ( ) ; case 19 : return C ( ) ; case 49 : return x ( ) ; case 15 : return k ( ) ; case 87 : return f ( ) ; case 22 : return p ( ) ; case 92 : return d ( ) ; case 97 : return l ( ) ; case 117 : case 130 : case 128 : case 120 : case 131 : case 103 : return X ( ) ; } return g ( ) ; } function l ( ) { var e = $ ( 267 ) ; return F ( ) , W ( 54 ) , e . type = c ( ) , Z ( e ) ; } function d ( ) { var e = $ ( 266 ) ; return F ( ) , W ( 54 ) , e . type = c ( ) , Z ( e ) ; } function p ( ) { var e = $ ( 265 ) ; return F ( ) , e . type = c ( ) , Z ( e ) ; } function f ( ) { var e = $ ( 264 ) ; return F ( ) , W ( 17 ) , e . parameters = Ke ( 22 , m ) , D ( e . parameters ) , W ( 18 ) , 54 === Ja && ( F ( ) , e . type = c ( ) ) , Z ( e ) ; } function m ( ) { var e = $ ( 139 ) ; return e . type = c ( ) , V ( 56 ) && ( e . questionToken = $ ( 56 ) ) , Z ( e ) ; } function g ( ) { var e = $ ( 262 ) ; if ( e . name = ce ( ) , 25 === Ja ) e . typeArguments = y ( ) ; else for ( ; V ( 21 ) ; ) { if ( 25 === Ja ) { e . typeArguments = y ( ) ; break ; } e . name = v ( e . name ) ; } return Z ( e ) ; } function y ( ) { F ( ) ; var e = Ke ( 23 , c ) ; return D ( e ) , h ( e ) , W ( 27 ) , e ; } function h ( t ) { if ( 0 === Ka . length && t && 0 === t . length ) { var n = t . pos - "<" . length , r = e . skipTrivia ( Ua , t . end ) + ">" . length ; return N ( n , r - n , e . Diagnostics . Type_argument_list_cannot_be_empty ) ; } } function v ( e ) { var t = $ ( 136 , e . pos ) ; return t . left = e , t . right = ae ( ) , Z ( t ) ; } function k ( ) { var e = $ ( 260 ) ; return F ( ) , e . members = Ke ( 24 , b ) , D ( e . members ) , W ( 16 ) , Z ( e ) ; } function b ( ) { var e = $ ( 261 ) ; return e . name = ce ( ) , 54 === Ja && ( F ( ) , e . type = c ( ) ) , Z ( e ) ; } function x ( ) { var e = $ ( 259 ) ; return F ( ) , e . type = c ( ) , Z ( e ) ; } function C ( ) { var e = $ ( 257 ) ; return F ( ) , e . types = Ke ( 25 , c ) , D ( e . types ) , W ( 20 ) , Z ( e ) ; } function D ( t ) { if ( 0 === Ka . length && t . hasTrailingComma ) { var n = t . end - "," . length ; N ( n , "," . length , e . Diagnostics . Trailing_comma_not_allowed ) ; } } function S ( ) { var e = $ ( 256 ) ; return F ( ) , e . types = T ( c ( ) ) , W ( 18 ) , Z ( e ) ; } function T ( t ) { e . Debug . assert ( ! ! t ) ; var n = [ ] ; for ( n . pos = t . pos , n . push ( t ) ; V ( 47 ) ; ) n . push ( c ( ) ) ; return n . end = Xa . getStartPos ( ) , n ; } function E ( ) { var e = $ ( 253 ) ; return F ( ) , Z ( e ) ; } function w ( ) { var e = Xa . getStartPos ( ) ; if ( F ( ) , 24 === Ja || 16 === Ja || 18 === Ja || 27 === Ja || 56 === Ja || 47 === Ja ) { var t = $ ( 254 , e ) ; return Z ( t ) ; } var t = $ ( 258 , e ) ; return t . type = c ( ) , Z ( t ) ; } function A ( e , t , n ) { a ( "file.js" , e , 2 , void 0 , 1 ) , za = { languageVariant : 0 , text : e } ; var r = R ( t , n ) , i = Ka ; return o ( ) , r ? { jsDocComment : r , diagnostics : i } : void 0 ; } function O ( e , t , n ) { var r = Ja , a = Ka . length , i = Ya , o = R ( t , n ) ; return o && ( o . parent = e ) , Ja = r , Ka . length = a , Ya = i , o ; } function R ( t , n ) { function r ( ) { if ( v ) { var e = $ ( 268 , t ) ; return e . tags = v , Z ( e , h ) ; } } function a ( ) { for ( ; 5 === Ja || 4 === Ja ; ) m ( ) ; } function o ( ) { e . Debug . assert ( 55 === Ja ) ; var t = $ ( 55 , Xa . getTokenPos ( ) ) ; t . end = Xa . getTextPos ( ) , m ( ) ; var n = g ( ) ; if ( n ) { var r = s ( t , n ) || c ( t , n ) ; _ ( r ) ; } } function s ( e , t ) { if ( t ) switch ( t . text ) { case "param" : return l ( e , t ) ; case "return" : case "returns" : return d ( e , t ) ; case "template" : return f ( e , t ) ; case "type" : return p ( e , t ) ; } } function c ( e , t ) { var n = $ ( 269 , e . pos ) ; return n . atToken = e , n . tagName = t , Z ( n ) ; } function _ ( e ) { e && ( v || ( v = [ ] , v . pos = e . pos ) , v . push ( e ) , v . end = e . end ) ; } function u ( ) { if ( 15 === Ja ) { var e = i ( ) ; return e ; } } function l ( t , n ) { var r = u ( ) ; a ( ) ; var i , o ; if ( H ( 19 ) ? ( i = g ( ) , o = ! 0 , H ( 56 ) && Vt ( ) , W ( 20 ) ) : 69 === Ja && ( i = g ( ) ) , ! i ) return void N ( Xa . getStartPos ( ) , 0 , e . Diagnostics . Identifier_expected ) ; var s , c ; r ? c = i : s = i , r || ( r = u ( ) ) ; var _ = $ ( 270 , t . pos ) ; return _ . atToken = t , _ . tagName = n , _ . preParameterName = s , _ . typeExpression = r , _ . postParameterName = c , _ . isBracketed = o , Z ( _ ) ; } function d ( t , n ) { e . forEach ( v , function ( e ) { return 271 === e . kind ; } ) && N ( n . pos , Xa . getTokenPos ( ) - n . pos , e . Diagnostics . _0_tag_already_specified , n . text ) ; var r = $ ( 271 , t . pos ) ; return r . atToken = t , r . tagName = n , r . typeExpression = u ( ) , Z ( r ) ; } function p ( t , n ) { e . forEach ( v , function ( e ) { return 272 === e . kind ; } ) && N ( n . pos , Xa . getTokenPos ( ) - n . pos , e . Diagnostics . _0_tag_already_specified , n . text ) ; var r = $ ( 272 , t . pos ) ; return r . atToken = t , r . tagName = n , r . typeExpression = u ( ) , Z ( r ) ; } function f ( t , n ) { e . forEach ( v , function ( e ) { return 273 === e . kind ; } ) && N ( n . pos , Xa . getTokenPos ( ) - n . pos , e . Diagnostics . _0_tag_already_specified , n . text ) ; var r = [ ] ; for ( r . pos = Xa . getStartPos ( ) ; ; ) { var a = g ( ) ; if ( ! a ) return void N ( Xa . getStartPos ( ) , 0 , e . Diagnostics . Identifier_expected ) ; var i = $ ( 138 , a . pos ) ; if ( i . name = a , Z ( i ) , r . push ( i ) , 24 !== Ja ) break ; m ( ) ; } var o = $ ( 273 , t . pos ) ; return o . atToken = t , o . tagName = n , o . typeParameters = r , Z ( o ) , r . end = o . end , o ; } function m ( ) { return Ja = Xa . scanJSDocToken ( ) ; } function g ( ) { if ( 69 !== Ja ) return void P ( e . Diagnostics . Identifier_expected ) ; var t = Xa . getTokenPos ( ) , n = Xa . getTextPos ( ) , r = $ ( 69 , t ) ; return r . text = y . substring ( t , n ) , Z ( r , n ) , m ( ) , r ; } var y = Ua ; t = t || 0 ; var h = void 0 === n ? y . length : t + n ; n = h - t , e . Debug . assert ( t >= 0 ) , e . Debug . assert ( h >= t ) , e . Debug . assert ( h <= y . length ) ; var v , k ; return 47 === y . charCodeAt ( t ) && 42 === y . charCodeAt ( t + 1 ) && 42 === y . charCodeAt ( t + 2 ) && 42 !== y . charCodeAt ( t + 3 ) && Xa . scanRange ( t + 3 , n - 5 , function ( ) { var e = ! 0 , t = ! 0 ; for ( m ( ) ; 1 !== Ja ; ) { switch ( Ja ) { case 55 : e && o ( ) , t = ! 1 ; break ; case 4 : e = ! 0 , t = ! 1 ; break ; case 37 : t && ( e = ! 1 ) , t = ! 0 ; break ; case 69 : e = ! 1 ; break ; case 1 : } m ( ) ; } k = r ( ) ; } ) , k ; } t . isJSDocType = n , t . parseJSDocTypeExpressionForTests = r , t . parseJSDocTypeExpression = i , t . parseIsolatedJSDocComment = A , t . parseJSDocComment = O , t . parseJSDocCommentWorker = R ; } ( ei = t . JSDocParser || ( t . JSDocParser = { } ) ) ; } ( d || ( d = { } ) ) ; var p ; ! function ( t ) { function n ( t , n , r , a ) { if ( a = a || e . Debug . shouldAssert ( 2 ) , l ( t , n , r , a ) , e . textChangeRangeIsUnchanged ( r ) ) return t ; if ( 0 === t . statements . length ) return d . parseSourceFile ( t . fileName , n , t . languageVersion , void 0 , ! 0 , t . scriptKind ) ; var i = t ; e . Debug . assert ( ! i . hasBeenIncrementallyParsed ) , i . hasBeenIncrementallyParsed = ! 0 ; var o = t . text , s = p ( t ) , u = _ ( t , r ) ; l ( t , n , u , a ) , e . Debug . assert ( u . span . start <= r . span . start ) , e . Debug . assert ( e . textSpanEnd ( u . span ) === e . textSpanEnd ( r . span ) ) , e . Debug . assert ( e . textSpanEnd ( e . textChangeRangeNewSpan ( u ) ) === e . textSpanEnd ( e . textChangeRangeNewSpan ( r ) ) ) ; var f = e . textChangeRangeNewSpan ( u ) . length - u . span . length ; c ( i , u . span . start , e . textSpanEnd ( u . span ) , e . textSpanEnd ( e . textChangeRangeNewSpan ( u ) ) , f , o , n , a ) ; var m = d . parseSourceFile ( t . fileName , n , t . languageVersion , s , ! 0 , t . scriptKind ) ; return m ; } function r ( t , n , r , o , c , _ ) { function u ( t ) { var n = "" ; _ && a ( t ) && ( n = o . substring ( t . pos , t . end ) ) , t . _children && ( t . _children = void 0 ) , t . jsDocComment && ( t . jsDocComment = void 0 ) , t . pos += r , t . end += r , _ && a ( t ) && e . Debug . assert ( n === c . substring ( t . pos , t . end ) ) , i ( t , u , l ) , s ( t , _ ) ; } function l ( e ) { e . _children = void 0 , e . pos += r , e . end += r ; for ( var t = 0 , n = e ; t < n . length ; t ++ ) { var a = n [ t ] ; u ( a ) ; } } n ? l ( t ) : u ( t ) ; } function a ( e ) { switch ( e . kind ) { case 9 : case 8 : case 69 : return ! 0 ; } return ! 1 ; } function o ( t , n , r , a , i ) { e . Debug . assert ( t . end >= n , "Adjusting an element that was entirely before the change range" ) , e . Debug . assert ( t . pos <= r , "Adjusting an element that was entirely after the change range" ) , e . Debug . assert ( t . pos <= t . end ) , t . pos = Math . min ( t . pos , a ) , t . end >= r ? t . end += i : t . end = Math . min ( t . end , a ) , e . Debug . assert ( t . pos <= t . end ) , t . parent && ( e . Debug . assert ( t . pos >= t . parent . pos ) , e . Debug . assert ( t . end <= t . parent . end ) ) ; } function s ( t , n ) { if ( n ) { var r = t . pos ; i ( t , function ( t ) { e . Debug . assert ( t . pos >= r ) , r = t . end ; } ) , e . Debug . assert ( r <= t . end ) ; } } function c ( t , n , a , c , _ , u , l , d ) { function p ( t ) { if ( e . Debug . assert ( t . pos <= t . end ) , t . pos > a ) return void r ( t , ! 1 , _ , u , l , d ) ; var m = t . end ; return m >= n ? ( t . intersectsChange = ! 0 , t . _children = void 0 , o ( t , n , a , c , _ ) , i ( t , p , f ) , void s ( t , d ) ) : void e . Debug . assert ( n > m ) ; } function f ( t ) { if ( e . Debug . assert ( t . pos <= t . end ) , t . pos > a ) return void r ( t , ! 0 , _ , u , l , d ) ; var i = t . end ; if ( i >= n ) { t . intersectsChange = ! 0 , t . _children = void 0 , o ( t , n , a , c , _ ) ; for ( var s = 0 , f = t ; s < f . length ; s ++ ) { var m = f [ s ] ; p ( m ) ; } } else e . Debug . assert ( n > i ) ; } p ( t ) ; } function _ ( t , n ) { for ( var r = 1 , a = n . span . start , i = 0 ; a > 0 && r >= i ; i ++ ) { var o = u ( t , a ) ; e . Debug . assert ( o . pos <= a ) ; var s = o . pos ; a = Math . max ( 0 , s - 1 ) ; } var c = e . createTextSpanFromBounds ( a , e . textSpanEnd ( n . span ) ) , _ = n . newLength + ( n . span . start - a ) ; return e . createTextChangeRange ( c , _ ) ; } function u ( t , n ) { function r ( e ) { for ( ; ; ) { var t = a ( e ) ; if ( ! t ) return e ; e = t ; } } function a ( t ) { var n = void 0 ; return i ( t , function ( t ) { e . nodeIsPresent ( t ) && ( n = t ) ; } ) , n ; } function o ( t ) { return e . nodeIsMissing ( t ) ? void 0 : t . pos <= n ? ( t . pos >= c . pos && ( c = t ) , n < t . end ? ( i ( t , o ) , ! 0 ) : ( e . Debug . assert ( t . end <= n ) , void ( s = t ) ) ) : ( e . Debug . assert ( t . pos > n ) , ! 0 ) ; } var s , c = t ; if ( i ( t , o ) , s ) { var _ = r ( s ) ; _ . pos > c . pos && ( c = _ ) ; } return c ; } function l ( t , n , r , a ) { var i = t . text ; if ( r && ( e . Debug . assert ( i . length - r . span . length + r . newLength === n . length ) , a || e . Debug . shouldAssert ( 3 ) ) ) { var o = i . substr ( 0 , r . span . start ) , s = n . substr ( 0 , r . span . start ) ; e . Debug . assert ( o === s ) ; var c = i . substring ( e . textSpanEnd ( r . span ) , i . length ) , _ = n . substring ( e . textSpanEnd ( e . textChangeRangeNewSpan ( r ) ) , n . length ) ; e . Debug . assert ( c === _ ) ; } } function p ( t ) { function n ( e ) { function n ( t ) { return e >= t . pos && e < t . end ? ( i ( t , n , s ) , ! 0 ) : ! 1 ; } function s ( t ) { if ( e >= t . pos && e < t . end ) for ( var c = 0 , _ = t . length ; _ > c ; c ++ ) { var u = t [ c ] ; if ( u ) { if ( u . pos === e ) return r = t , a = c , o = u , ! 0 ; if ( u . pos < e && e < u . end ) return i ( u , n , s ) , ! 0 ; } } return ! 1 ; } r = void 0 , a = - 1 , o = void 0 , i ( t , n , s ) ; } var r = t . statements , a = 0 ; e . Debug . assert ( a < r . length ) ; var o = r [ a ] , s = - 1 ; return { currentNode : function ( t ) { return t !== s && ( o && o . end === t && a < r . length - 1 && ( a ++ , o = r [ a ] ) , o && o . pos === t || n ( t ) ) , s = t , e . Debug . assert ( ! o || o . pos === t ) , o ; } } ; } t . updateSourceFile = n ; var f ; ! function ( e ) { e [ e . Value = - 1 ] = "Value" ; } ( f || ( f = { } ) ) ; } ( p || ( p = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { function t ( e , t ) { return 2 & ( e | t ) ? 2 : e & t & 8 ? 8 : 4 ; } function n ( t ) { if ( 218 === t . kind || 219 === t . kind ) return 0 ; if ( e . isConstEnumDeclaration ( t ) ) return 2 ; if ( 225 !== t . kind && 224 !== t . kind || 2 & t . flags ) { if ( 222 === t . kind ) { var r = 0 ; return e . forEachChild ( t , function ( e ) { switch ( n ( e ) ) { case 0 : return ! 1 ; case 2 : return r = 2 , ! 1 ; case 1 : return r = 1 , ! 0 ; } } ) , r ; } return 221 === t . kind ? n ( t . body ) : 1 ; } return 0 ; } function r ( t , n ) { var r = ( new Date ) . getTime ( ) ; s ( t , n ) , e . bindTime += ( new Date ) . getTime ( ) - r ; } function a ( ) { function r ( t , n ) { Pe = t , Ne = n , He = ! ! Pe . externalModuleIndicator , Xe = { } , Ge = e . objectAllocator . getSymbolConstructor ( ) , Pe . locals || ( $ ( Pe ) , Pe . symbolCount = Qe , Pe . classifiableNames = Xe ) , Pe = void 0 , Ne = void 0 , Oe = void 0 , Re = void 0 , Ie = void 0 , Fe = void 0 , Le = ! 1 , Me = ! 1 , ze = void 0 , Ke = void 0 , je = void 0 , Je = ! 1 , Ue = ! 1 , qe = ! 1 , We = ! 1 , Ve = ! 1 ; } function a ( e , t ) { return Qe ++ , new Ge ( e , t ) ; } function i ( e , t , n ) { if ( e . flags |= n , t . symbol = e , e . declarations || ( e . declarations = [ ] ) , e . declarations . push ( t ) , 1952 & n && ! e . exports && ( e . exports = { } ) , 6240 & n && ! e . members && ( e . members = { } ) , 107455 & n ) { var r = e . valueDeclaration ; ( ! r || r . kind !== t . kind && 221 === r . kind ) && ( e . valueDeclaration = t ) ; } } function o ( t ) { if ( t . name ) { if ( e . isAmbientModule ( t ) ) return e . isGlobalScopeAugmentation ( t ) ? "__global" : '"' + t . name . text + '"' ; if ( 137 === t . name . kind ) { var n = t . name . expression ; return e . isStringOrNumericLiteral ( n . kind ) ? n . text : ( e . Debug . assert ( e . isWellKnownSymbolSyntactically ( n ) ) , e . getPropertyNameForKnownSymbolName ( n . name . text ) ) ; } return t . name . text ; } switch ( t . kind ) { case 145 : return "__constructor" ; case 153 : case 148 : return "__call" ; case 154 : case 149 : return "__new" ; case 150 : return "__index" ; case 231 : return "__export" ; case 230 : return t . isExportEquals ? "export=" : "default" ; case 184 : switch ( e . getSpecialPropertyAssignmentKind ( t ) ) { case 2 : return "export=" ; case 1 : case 4 : return t . left . name . text ; case 3 : return t . left . expression . name . text ; } e . Debug . fail ( "Unknown binary declaration kind" ) ; break ; case 216 : case 217 : return 512 & t . flags ? "default" : void 0 ; case 264 : return e . isJSDocConstructSignature ( t ) ? "__new" : "__call" ; case 139 : e . Debug . assert ( 264 === t . parent . kind ) ; var r = t . parent , a = e . indexOf ( r . parameters , t ) ; return "p" + a ; } } function s ( t ) { return t . name ? e . declarationNameToString ( t . name ) : o ( t ) ; } function c ( t , n , r , c , _ ) { e . Debug . assert ( ! e . hasDynamicName ( r ) ) ; var u , l = 512 & r . flags , d = l && n ? "default" : o ( r ) ; if ( void 0 !== d ) { if ( u = e . hasProperty ( t , d ) ? t [ d ] : t [ d ] = a ( 0 , d ) , d && 788448 & c && ( Xe [ d ] = d ) , u . flags & _ ) { r . name && ( r . name . parent = r ) ; var p = 2 & u . flags ? e . Diagnostics . Cannot_redeclare_block_scoped_variable_0 : e . Diagnostics . Duplicate_identifier_0 ; e . forEach ( u . declarations , function ( t ) { 512 & t . flags && ( p = e . Diagnostics . A_module_cannot_have_multiple_default_exports ) ; } ) , e . forEach ( u . declarations , function ( t ) { Pe . bindDiagnostics . push ( e . createDiagnosticForNode ( t . name || t , p , s ( t ) ) ) ; } ) , Pe . bindDiagnostics . push ( e . createDiagnosticForNode ( r . name || r , p , s ( r ) ) ) , u = a ( 0 , d ) ; } } else u = a ( 0 , "__missing" ) ; return i ( u , r , c ) , u . parent = n , u ; } function _ ( t , n , r ) { var a = 2 & e . getCombinedNodeFlags ( t ) ; if ( 8388608 & n ) return 233 === t . kind || 224 === t . kind && a ? c ( Re . symbol . exports , Re . symbol , t , n , r ) : c ( Re . locals , void 0 , t , n , r ) ; if ( ! e . isAmbientModule ( t ) && ( a || 131072 & Re . flags ) ) { var i = ( 107455 & n ? 1048576 : 0 ) | ( 793056 & n ? 2097152 : 0 ) | ( 1536 & n ? 4194304 : 0 ) , o = c ( Re . locals , void 0 , t , i , r ) ; return o . exportSymbol = c ( Re . symbol . exports , Re . symbol , t , n , r ) , t . localSymbol = o , o ; } return c ( Re . locals , void 0 , t , n , r ) ; } function u ( t ) { var n = Oe , r = Re , a = Ie ; Oe = t ; var i = C ( t ) ; 1 & i ? ( Re = Ie = t , 4 & i && ( Re . locals = { } ) , D ( Re ) ) : 2 & i && ( Ie = t , Ie . locals = void 0 ) ; var o , s , c , _ , u , d = t . kind , p = t . flags ; p &= - 1572865 , p &= - 62914561 , 218 === d && ( Le = ! 1 ) ; var f = 251 === d || 222 === d || e . isFunctionLikeKind ( d ) ; f && ( o = Be , s = ze , c = Ke , _ = je , u = Me , Be = 2 , Me = ! 1 , ze = Ke = je = void 0 ) , e . isInJavaScriptFile ( t ) && t . jsDocComment && $ ( t . jsDocComment ) , l ( t ) , 2 === Be && e . isFunctionLikeKind ( d ) && e . nodeIsPresent ( t . body ) && ( p |= 524288 , Me && ( p |= 1048576 ) ) , 218 === d && ( p = Le ? 262144 | p : - 262145 & p ) , 251 === d && ( Je && ( p |= 4194304 ) , qe && ( p |= 8388608 ) , We && ( p |= 16777216 ) , Ue && ( p |= 33554432 ) , Ve && ( p |= 1073741824 ) ) , t . flags = p , f && ( Me = u , Be = o , ze = s , Ke = c , je = _ ) , Re = r , Oe = n , Ie = a ; } function l ( t ) { if ( we ( t ) ) return void e . forEachChild ( t , $ ) ; switch ( t . kind ) { case 201 : d ( t ) ; break ; case 200 : p ( t ) ; break ; case 202 : f ( t ) ; break ; case 203 : case 204 : m ( t ) ; break ; case 199 : g ( t ) ; break ; case 207 : case 211 : y ( t ) ; break ; case 206 : case 205 : h ( t ) ; break ; case 212 : v ( t ) ; break ; case 209 : k ( t ) ; break ; case 223 : b ( t ) ; break ; case 210 : x ( t ) ; break ; default : e . forEachChild ( t , $ ) ; } } function d ( e ) { var t = 84 === e . expression . kind ? 4 : Be , n = 99 === e . expression . kind ? 4 : Be ; $ ( e . expression ) , Be = t ; var r = Ce ( ) ; $ ( e . statement ) , Se ( r , n ) ; } function p ( e ) { var t = Be , n = Ce ( ) ; $ ( e . statement ) ; var r = 99 === e . expression . kind ? 4 : t ; Se ( n , r ) , $ ( e . expression ) ; } function f ( e ) { var t = Be , n = Ce ( ) ; $ ( e . initializer ) , $ ( e . condition ) , $ ( e . incrementor ) , $ ( e . statement ) ; var r = ! e . condition || 99 === e . condition . kind , a = r ? 4 : t ; Se ( n , a ) ; } function m ( e ) { var t = Be , n = Ce ( ) ; $ ( e . initializer ) , $ ( e . expression ) , $ ( e . statement ) , Se ( n , t ) ; } function g ( e ) { var n = 84 === e . expression . kind ? 4 : Be , r = 99 === e . expression . kind ? 4 : Be ; if ( Be = n , $ ( e . expression ) , $ ( e . thenStatement ) , e . elseStatement ) { var a = Be ; Be = r , $ ( e . elseStatement ) , Be = t ( Be , a ) ; } else Be = t ( Be , r ) ; } function y ( e ) { $ ( e . expression ) , 207 === e . kind && ( Me = ! 0 ) , Be = 4 ; } function h ( e ) { $ ( e . label ) ; var t = Ee ( e . label , 206 === e . kind ? Be : 4 ) ; t && ( Be = 4 ) ; } function v ( e ) { var n = Be ; $ ( e . tryBlock ) ; var r = Be ; Be = n , $ ( e . catchClause ) ; var a = Be ; Be = n , $ ( e . finallyBlock ) , Be = t ( r , a ) ; } function k ( t ) { var n = Be , r = Ce ( ) ; $ ( t . expression ) , $ ( t . caseBlock ) ; var a = e . forEach ( t . caseBlock . clauses , function ( e ) { return 245 === e . kind ; } ) , i = a && 2 !== Be ? 4 : n ; Se ( r , i ) ; } function b ( t ) { for ( var n = Be , r = 0 , a = t . clauses ; r < a . length ; r ++ ) { var i = a [ r ] ; Be = n , $ ( i ) , i . statements . length && 2 === Be && Ne . noFallthroughCasesInSwitch && Q ( i , e . Diagnostics . Fallthrough_case_in_switch ) ; } } function x ( e ) { $ ( e . label ) ; var t = xe ( e . label ) ; $ ( e . statement ) , t && De ( e . label , Be ) ; } function C ( t ) { switch ( t . kind ) { case 189 : case 217 : case 218 : case 220 : case 168 : case 156 : case 260 : return 1 ; case 148 : case 149 : case 150 : case 144 : case 143 : case 216 : case 145 : case 146 : case 147 : case 153 : case 264 : case 154 : case 176 : case 177 : case 221 : case 251 : case 219 : return 5 ; case 247 : case 202 : case 203 : case 204 : case 223 : return 2 ; case 195 : return e . isFunctionLike ( t . parent ) ? 0 : 2 ; } return 0 ; } function D ( e ) { Fe && ( Fe . nextContainer = e ) , Fe = e ; } function S ( e , t , n ) { T ( e , t , n ) ; } function T ( e , t , n ) { switch ( Re . kind ) { case 221 : return _ ( e , t , n ) ; case 251 : return w ( e , t , n ) ; case 189 : case 217 : return E ( e , t , n ) ; case 220 : return c ( Re . symbol . exports , Re . symbol , e , t , n ) ; case 156 : case 168 : case 218 : case 260 : return c ( Re . symbol . members , Re . symbol , e , t , n ) ; case 153 : case 154 : case 148 : case 149 : case 150 : case 144 : case 143 : case 145 : case 146 : case 147 : case 216 : case 176 : case 177 : case 264 : case 219 : return c ( Re . locals , void 0 , e , t , n ) ; } } function E ( e , t , n ) { return 64 & e . flags ? c ( Re . symbol . exports , Re . symbol , e , t , n ) : c ( Re . symbol . members , Re . symbol , e , t , n ) ; } function w ( t , n , r ) { return e . isExternalModule ( Pe ) ? _ ( t , n , r ) : c ( Pe . locals , void 0 , t , n , r ) ; } function A ( e ) { var t = 251 === e . kind ? e : e . body ; if ( 251 === t . kind || 222 === t . kind ) for ( var n = 0 , r = t . statements ; n < r . length ; n ++ ) { var a = r [ n ] ; if ( 231 === a . kind || 230 === a . kind ) return ! 0 ; } return ! 1 ; } function P ( t ) { e . isInAmbientContext ( t ) && ! A ( t ) ? t . flags |= 131072 : t . flags &= - 131073 ; } function N ( t ) { if ( P ( t ) , e . isAmbientModule ( t ) ) 2 & t . flags && Q ( t , e . Diagnostics . export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible ) , S ( t , 512 , 106639 ) ; else { var r = n ( t ) ; if ( 0 === r ) S ( t , 1024 , 0 ) ; else if ( S ( t , 512 , 106639 ) , 304 & t . symbol . flags ) t . symbol . constEnumOnlyModule = ! 1 ; else { var a = 2 === r ; void 0 === t . symbol . constEnumOnlyModule ? t . symbol . constEnumOnlyModule = a : t . symbol . constEnumOnlyModule = t . symbol . constEnumOnlyModule && a ; } } } function O ( e ) { var t = a ( 131072 , o ( e ) ) ; i ( t , e , 131072 ) ; var n = a ( 2048 , "__type" ) ; i ( n , e , 2048 ) , n . members = ( r = { } , r [ t . name ] = t , r ) ; var r ; } function R ( t ) { var n ; if ( function ( e ) { e [ e . Property = 1 ] = "Property" , e [ e . Accessor = 2 ] = "Accessor" ; } ( n || ( n = { } ) ) , He ) for ( var r = { } , a = 0 , i = t . properties ; a < i . length ; a ++ ) { var o = i [ a ] ; if ( 69 === o . name . kind ) { var s = o . name , c = 248 === o . kind || 249 === o . kind || 144 === o . kind ? 1 : 2 , _ = r [ s . text ] ; if ( _ ) { if ( 1 === c && 1 === _ ) { var u = e . getErrorSpanForNode ( Pe , s ) ; Pe . bindDiagnostics . push ( e . createFileDiagnostic ( Pe , u . start , u . length , e . Diagnostics . An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode ) ) ; } } else r [ s . text ] = c ; } } return I ( t , 4096 , "__object" ) ; } function I ( e , t , n ) { var r = a ( t , n ) ; i ( r , e , t ) ; } function F ( t , n , r ) { switch ( Ie . kind ) { case 221 : _ ( t , n , r ) ; break ; case 251 : if ( e . isExternalModule ( Re ) ) { _ ( t , n , r ) ; break ; } default : Ie . locals || ( Ie . locals = { } , D ( Ie ) ) , c ( Ie . locals , void 0 , t , n , r ) ; } } function L ( e ) { F ( e , 2 , 107455 ) ; } function M ( t ) { He && t . originalKeywordKind >= 106 && t . originalKeywordKind <= 114 && ! e . isIdentifierName ( t ) && ( Pe . parseDiagnostics . length || Pe . bindDiagnostics . push ( e . createDiagnosticForNode ( t , B ( t ) , e . declarationNameToString ( t ) ) ) ) ; } function B ( t ) { return e . getContainingClass ( t ) ? e . Diagnostics . Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode : Pe . externalModuleIndicator ? e . Diagnostics . Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode : e . Diagnostics . Identifier_expected_0_is_a_reserved_word_in_strict_mode ; } function z ( t ) { He && e . isLeftHandSideExpression ( t . left ) && e . isAssignmentOperator ( t . operatorToken . kind ) && U ( t , t . left ) ; } function K ( e ) { He && e . variableDeclaration && U ( e , e . variableDeclaration . name ) ; } function j ( t ) { if ( He && 69 === t . expression . kind ) { var n = e . getErrorSpanForNode ( Pe , t . expression ) ; Pe . bindDiagnostics . push ( e . createFileDiagnostic ( Pe , n . start , n . length , e . Diagnostics . delete_cannot_be_called_on_an_identifier_in_strict_mode ) ) ; } } function J ( e ) { return 69 === e . kind && ( "eval" === e . text || "arguments" === e . text ) ; } function U ( t , n ) { if ( n && 69 === n . kind ) { var r = n ; if ( J ( r ) ) { var a = e . getErrorSpanForNode ( Pe , n ) ; Pe . bindDiagnostics . push ( e . createFileDiagnostic ( Pe , a . start , a . length , q ( t ) , r . text ) ) ; } } } function q ( t ) { return e . getContainingClass ( t ) ? e . Diagnostics . Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode : Pe . externalModuleIndicator ? e . Diagnostics . Invalid_use_of_0_Modules_are_automatically_in_strict_mode : e . Diagnostics . Invalid_use_of_0_in_strict_mode ; } function W ( e ) { He && U ( e , e . name ) ; } function V ( t ) { He && 32768 & t . flags && Pe . bindDiagnostics . push ( e . createDiagnosticForNode ( t , e . Diagnostics . Octal_literals_are_not_allowed_in_strict_mode ) ) ; } function H ( e ) { He && U ( e , e . operand ) ; } function G ( e ) { He && ( 41 !== e . operator && 42 !== e . operator || U ( e , e . operand ) ) ; } function X ( t ) { He && Q ( t , e . Diagnostics . with_statements_are_not_allowed_in_strict_mode ) ; } function Q ( t , n , r , a , i ) { var o = e . getSpanOfTokenAtPosition ( Pe , t . pos ) ; Pe . bindDiagnostics . push ( e . createFileDiagnostic ( Pe , o . start , o . length , n , r , a , i ) ) ; } function Y ( t ) { return "__" + e . indexOf ( t . parent . parameters , t ) ; } function $ ( e ) { if ( e ) { e . parent = Oe ; var t = He ; t || Z ( e ) , ne ( e ) , u ( e ) , He = t ; } } function Z ( t ) { switch ( t . kind ) { case 251 : case 222 : return void ee ( t . statements ) ; case 195 : return void ( e . isFunctionLike ( t . parent ) && ee ( t . statements ) ) ; case 217 : case 189 : return void ( He = ! 0 ) ; } } function ee ( t ) { for ( var n = 0 , r = t ; n < r . length ; n ++ ) { var a = r [ n ] ; if ( ! e . isPrologueDirective ( a ) ) return ; if ( te ( a ) ) return void ( He = ! 0 ) ; } } function te ( t ) { var n = e . getTextOfNodeFromSourceText ( Pe . text , t . expression ) ; return '"use strict"' === n || "'use strict'" === n ; } function ne ( t ) { switch ( t . kind ) { case 69 : return M ( t ) ; case 184 : if ( e . isInJavaScriptFile ( t ) ) { var n = e . getSpecialPropertyAssignmentKind ( t ) ; switch ( n ) { case 1 : ue ( t ) ; break ; case 2 : le ( t ) ; break ; case 3 : pe ( t ) ; break ; case 4 : de ( t ) ; break ; case 0 : break ; default : e . Debug . fail ( "Unknown special property assignment kind" ) ; } } return z ( t ) ; case 247 : return K ( t ) ; case 178 : return j ( t ) ; case 8 : return V ( t ) ; case 183 : return H ( t ) ; case 182 : return G ( t ) ; case 208 : return X ( t ) ; case 162 : return void ( Le = ! 0 ) ; case 151 : return re ( t ) ; case 138 : return S ( t , 262144 , 530912 ) ; case 139 : return he ( t ) ; case 214 : case 166 : return ye ( t ) ; case 142 : case 141 : case 261 : return be ( t , 4 | ( t . questionToken ? 536870912 : 0 ) , 107455 ) ; case 248 : case 249 : return be ( t , 4 , 107455 ) ; case 250 : return be ( t , 8 , 107455 ) ; case 242 : return void ( Ve = ! 0 ) ; case 148 : case 149 : case 150 : return S ( t , 131072 , 0 ) ; case 144 : case 143 : return be ( t , 8192 | ( t . questionToken ? 536870912 : 0 ) , e . isObjectLiteralMethod ( t ) ? 107455 : 99263 ) ; case 216 : return ve ( t ) ; case 145 : return S ( t , 16384 , 0 ) ; case 146 : return be ( t , 32768 , 41919 ) ; case 147 : return be ( t , 65536 , 74687 ) ; case 153 : case 154 : case 264 : return O ( t ) ; case 156 : case 260 : return I ( t , 2048 , "__type" ) ; case 168 : return R ( t ) ; case 176 : case 177 : return ke ( t ) ; case 171 : e . isInJavaScriptFile ( t ) && fe ( t ) ; break ; case 189 : case 217 : return me ( t ) ; case 218 : return F ( t , 64 , 792960 ) ; case 219 : return F ( t , 524288 , 793056 ) ; case 220 : return ge ( t ) ; case 221 : return N ( t ) ; case 224 : case 227 : case 229 : case 233 : return S ( t , 8388608 , 8388608 ) ; case 226 : return ce ( t ) ; case 231 : return se ( t ) ; case 230 : return oe ( t ) ; case 251 : return ae ( ) ; } } function re ( e ) { var t = e . parameterName , n = e . type ; t && 69 === t . kind && M ( t ) , t && 162 === t . kind && ( Le = ! 0 ) , $ ( n ) ; } function ae ( ) { P ( Pe ) , e . isExternalModule ( Pe ) && ie ( ) ; } function ie ( ) { I ( Pe , 512 , '"' + e . removeFileExtension ( Pe . fileName ) + '"' ) ; } function oe ( e ) { var t = 230 === e . kind ? e . expression : e . right ; Re . symbol && Re . symbol . exports ? 69 === t . kind && 230 === e . kind ? c ( Re . symbol . exports , Re . symbol , e , 8388608 , 8496063 ) : c ( Re . symbol . exports , Re . symbol , e , 4 , 8496063 ) : I ( e , 8388608 , o ( e ) ) ; } function se ( e ) { Re . symbol && Re . symbol . exports ? e . exportClause || c ( Re . symbol . exports , Re . symbol , e , 1073741824 , 0 ) : I ( e , 1073741824 , o ( e ) ) ; } function ce ( e ) { e . name && S ( e , 8388608 , 8388608 ) ; } function _e ( e ) { Pe . commonJsModuleIndicator || ( Pe . commonJsModuleIndicator = e , ie ( ) ) ; } function ue ( e ) { _e ( e ) , c ( Pe . symbol . exports , Pe . symbol , e . left , 7340036 , 0 ) ; } function le ( e ) { _e ( e ) , c ( Pe . symbol . exports , Pe . symbol , e , 7340548 , 0 ) ; } function de ( e ) { 176 !== Re . kind && 216 !== Re . kind || ( Re . symbol . members = Re . symbol . members || { } , c ( Re . symbol . members , Re . symbol , e , 4 , 107451 ) ) ; } function pe ( e ) { var t = e . left , n = t . expression , r = n . expression ; t . parent = e , r . parent = n , n . parent = t ; var a = Re . locals [ r . text ] ; a && 16 & a . flags && ( a . members || ( a . members = { } ) , c ( a . members , a , t , 4 , 107451 ) ) ; } function fe ( t ) { ! Pe . commonJsModuleIndicator && e . isRequireCall ( t , ! 1 ) && _e ( t ) ; } function me ( t ) { if ( e . isDeclarationFile ( Pe ) || e . isInAmbientContext ( t ) || ( void 0 !== e . getClassExtendsHeritageClauseElement ( t ) && ( Je = ! 0 ) , e . nodeIsDecorated ( t ) && ( qe = ! 0 ) ) , 217 === t . kind ) F ( t , 32 , 899519 ) ; else { var n = t . name ? t . name . text : "__class" ; I ( t , 32 , n ) , t . name && ( Xe [ t . name . text ] = t . name . text ) ; } var r = t . symbol , i = a ( 134217732 , "prototype" ) ; e . hasProperty ( r . exports , i . name ) && ( t . name && ( t . name . parent = t ) , Pe . bindDiagnostics . push ( e . createDiagnosticForNode ( r . exports [ i . name ] . declarations [ 0 ] , e . Diagnostics . Duplicate_identifier_0 , i . name ) ) ) , r . exports [ i . name ] = i , i . parent = r ; } function ge ( t ) { return e . isConst ( t ) ? F ( t , 128 , 899967 ) : F ( t , 256 , 899327 ) ; } function ye ( t ) { He && U ( t , t . name ) , e . isBindingPattern ( t . name ) || ( e . isBlockOrCatchScoped ( t ) ? L ( t ) : e . isParameterDeclaration ( t ) ? S ( t , 1 , 107455 ) : S ( t , 1 , 107454 ) ) ; } function he ( t ) { if ( e . isDeclarationFile ( Pe ) || e . isInAmbientContext ( t ) || ! e . nodeIsDecorated ( t ) || ( qe = ! 0 , We = ! 0 ) , He && U ( t , t . name ) , e . isBindingPattern ( t . name ) ? I ( t , 1 , Y ( t ) ) : S ( t , 1 , 107455 ) , e . isParameterPropertyDeclaration ( t ) ) { var n = t . parent . parent ; c ( n . symbol . members , n . symbol , t , 4 , 107455 ) ; } } function ve ( t ) { return e . isDeclarationFile ( Pe ) || e . isInAmbientContext ( t ) || e . isAsyncFunctionLike ( t ) && ( Ue = ! 0 ) , W ( t ) , S ( t , 16 , 106927 ) ; } function ke ( t ) { e . isDeclarationFile ( Pe ) || e . isInAmbientContext ( t ) || e . isAsyncFunctionLike ( t ) && ( Ue = ! 0 ) , W ( t ) ; var n = t . name ? t . name . text : "__function" ; return I ( t , 16 , n ) ; } function be ( t , n , r ) { return e . isDeclarationFile ( Pe ) || e . isInAmbientContext ( t ) || ( e . isAsyncFunctionLike ( t ) && ( Ue = ! 0 ) , e . nodeIsDecorated ( t ) && ( qe = ! 0 ) ) , e . hasDynamicName ( t ) ? I ( t , n , "__computed" ) : S ( t , n , r ) ; } function xe ( t ) { return Ae ( ) , e . hasProperty ( Ke , t . text ) ? ! 1 : ( Ke [ t . text ] = ze . push ( 1 ) - 1 , ! 0 ) ; } function Ce ( ) { Ae ( ) ; var e = ze . push ( 1 ) - 1 ; return je . push ( e ) , e ; } function De ( t , n ) { var r = Ke [ t . text ] ; e . Debug . assert ( void 0 !== r ) , e . Debug . assert ( ze . length == r + 1 ) , Ke [ t . text ] = void 0 , Te ( ze . pop ( ) , n , t ) ; } function Se ( t , n ) { ze . length !== t + 1 && e . Debug . assert ( ! 1 , "Label stack: " + ze . length + ", index:" + t ) ; var r = je . pop ( ) ; t !== r && e . Debug . assert ( ! 1 , "i: " + r + ", index: " + t ) , Te ( ze . pop ( ) , n , void 0 ) ; } function Te ( n , r , a ) { 1 === n ? ( a && ! Ne . allowUnusedLabels && Pe . bindDiagnostics . push ( e . createDiagnosticForNode ( a , e . Diagnostics . Unused_label ) ) , Be = r ) : Be = t ( n , r ) ; } function Ee ( n , r ) { Ae ( ) ; var a = n ? Ke [ n . text ] : e . lastOrUndefined ( je ) ; if ( void 0 === a ) return ! 1 ; var i = ze [ a ] ; return ze [ a ] = 1 === i ? r : t ( i , r ) , ! 0 ; } function we ( t ) { function r ( e ) { var t = n ( e ) ; return 1 === t || 2 === t && Ne . preserveConstEnums ; } switch ( Be ) { case 4 : var a = e . isStatement ( t ) && 197 !== t . kind || 217 === t . kind || 221 === t . kind && r ( t ) || 220 === t . kind && ( ! e . isConstEnumDeclaration ( t ) || Ne . preserveConstEnums ) ; if ( a ) { Be = 8 ; var i = ! Ne . allowUnreachableCode && ! e . isInAmbientContext ( t ) && ( 196 !== t . kind || 24576 & e . getCombinedNodeFlags ( t . declarationList ) || e . forEach ( t . declarationList . declarations , function ( e ) { return e . initializer ; } ) ) ; i && Q ( t , e . Diagnostics . Unreachable_code_detected ) ; } case 8 : return ! 0 ; default : return ! 1 ; } } function Ae ( ) { Ke || ( Be = 2 , Ke = { } , ze = [ ] , je = [ ] ) ; } var Pe , Ne , Oe , Re , Ie , Fe , Le , Me , Be , ze , Ke , je , Je , Ue , qe , We , Ve , He , Ge , Xe , Qe = 0 ; return r ; } e . bindTime = 0 , function ( e ) { e [ e . NonInstantiated = 0 ] = "NonInstantiated" , e [ e . Instantiated = 1 ] = "Instantiated" , e [ e . ConstEnumOnly = 2 ] = "ConstEnumOnly" ; } ( e . ModuleInstanceState || ( e . ModuleInstanceState = { } ) ) ; var i ; e . ModuleInstanceState ; ! function ( e ) { e [ e . Unintialized = 1 ] = "Unintialized" , e [ e . Reachable = 2 ] = "Reachable" , e [ e . Unreachable = 4 ] = "Unreachable" , e [ e . ReportedUnreachable = 8 ] = "ReportedUnreachable" ; } ( i || ( i = { } ) ) , e . getModuleInstanceState = n ; var o ; ! function ( e ) { e [ e . None = 0 ] = "None" , e [ e . IsContainer = 1 ] = "IsContainer" , e [ e . IsBlockScopedContainer = 2 ] = "IsBlockScopedContainer" , e [ e . HasLocals = 4 ] = "HasLocals" , e [ e . IsContainerWithLocals = 5 ] = "IsContainerWithLocals" ; } ( o || ( o = { } ) ) ; var s = a ( ) ; e . bindSourceFile = r ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { function t ( e ) { return e . id || ( e . id = i , i ++ ) , e . id ; } function n ( e ) { return e . id || ( e . id = a , a ++ ) , e . id ; } function r ( r , a ) { function i ( e , t ) { return X_ ( e , t ) , Ql ; } function s ( t , n , r , a , i ) { var o = t ? e . createDiagnosticForNode ( t , n , r , a , i ) : e . createCompilerDiagnostic ( n , r , a , i ) ; cp . add ( o ) ; } function c ( e , t ) { return Ul ++ , new zl ( e , t ) ; } function _ ( e ) { var t = 0 ; return 2 & e && ( t |= 107455 ) , 1 & e && ( t |= 107454 ) , 4 & e && ( t |= 107455 ) , 8 & e && ( t |= 107455 ) , 16 & e && ( t |= 106927 ) , 32 & e && ( t |= 899519 ) , 64 & e && ( t |= 792960 ) , 256 & e && ( t |= 899327 ) , 128 & e && ( t |= 899967 ) , 512 & e && ( t |= 106639 ) , 8192 & e && ( t |= 99263 ) , 32768 & e && ( t |= 41919 ) , 65536 & e && ( t |= 74687 ) , 262144 & e && ( t |= 530912 ) , 524288 & e && ( t |= 793056 ) , 8388608 & e && ( t |= 8388608 ) , t ; } function u ( e , t ) { t . mergeId || ( t . mergeId = o , o ++ ) , rp [ t . mergeId ] = e ; } function l ( e ) { var t = c ( 33554432 | e . flags , e . name ) ; return t . declarations = e . declarations . slice ( 0 ) , t . parent = e . parent , e . valueDeclaration && ( t . valueDeclaration = e . valueDeclaration ) , e . constEnumOnlyModule && ( t . constEnumOnlyModule = ! 0 ) , e . members && ( t . members = p ( e . members ) ) , e . exports && ( t . exports = p ( e . exports ) ) , u ( t , e ) , t ; } function d ( t , n ) { if ( t . flags & _ ( n . flags ) ) { var r = 2 & t . flags || 2 & n . flags ? e . Diagnostics . Cannot_redeclare_block_scoped_variable_0 : e . Diagnostics . Duplicate_identifier_0 ; e . forEach ( n . declarations , function ( e ) { s ( e . name ? e . name : e , r , Ee ( n ) ) ; } ) , e . forEach ( t . declarations , function ( e ) { s ( e . name ? e . name : e , r , Ee ( n ) ) ; } ) ; } else 512 & n . flags && 512 & t . flags && t . constEnumOnlyModule && ! n . constEnumOnlyModule && ( t . constEnumOnlyModule = ! 1 ) , t . flags |= n . flags , n . valueDeclaration && ( ! t . valueDeclaration || 221 === t . valueDeclaration . kind && 221 !== n . valueDeclaration . kind ) && ( t . valueDeclaration = n . valueDeclaration ) , e . forEach ( n . declarations , function ( e ) { t . declarations . push ( e ) ; } ) , n . members && ( t . members || ( t . members = { } ) , f ( t . members , n . members ) ) , n . exports && ( t . exports || ( t . exports = { } ) , f ( t . exports , n . exports ) ) , u ( t , n ) ; } function p ( t ) { var n = { } ; for ( var r in t ) e . hasProperty ( t , r ) && ( n [ r ] = t [ r ] ) ; return n ; } function f ( t , n ) { for ( var r in n ) if ( e . hasProperty ( n , r ) ) if ( e . hasProperty ( t , r ) ) { var a = t [ r ] ; 33554432 & a . flags || ( t [ r ] = a = l ( a ) ) , d ( a , n [ r ] ) ; } else t [ r ] = n [ r ] ; } function m ( t ) { var n = t . parent ; if ( n . symbol . valueDeclaration !== n ) return void e . Debug . assert ( n . symbol . declarations . length > 1 ) ; if ( e . isGlobalScopeAugmentation ( n ) ) f ( Xd , n . symbol . exports ) ; else { var r = G ( t , t , e . Diagnostics . Invalid_module_name_in_augmentation_module_0_cannot_be_found ) ; if ( ! r ) return ; r = X ( r ) , 1536 & r . flags ? ( r = 33554432 & r . flags ? r : l ( r ) , d ( r , n . symbol ) ) : s ( t , e . Diagnostics . Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity , t . text ) ; } } function g ( t , n , r ) { function a ( t , n ) { return function ( r ) { return cp . add ( e . createDiagnosticForNode ( r , n , t ) ) ; } ; } for ( var i in n ) e . hasProperty ( n , i ) && ( e . hasProperty ( t , i ) ? e . forEach ( t [ i ] . declarations , a ( i , r ) ) : t [ i ] = n [ i ] ) ; } function y ( e ) { if ( 67108864 & e . flags ) return e ; var t = n ( e ) ; return ap [ t ] || ( ap [ t ] = { } ) ; } function h ( e ) { var n = t ( e ) ; return ip [ n ] || ( ip [ n ] = { } ) ; } function v ( t ) { return 251 === t . kind && ! e . isExternalOrCommonJsModule ( t ) ; } function k ( t , n , r ) { if ( r && e . hasProperty ( t , n ) ) { var a = t [ n ] ; if ( e . Debug . assert ( 0 === ( 16777216 & a . flags ) , "Should never get an instantiated symbol here." ) , a . flags & r ) return a ; if ( 8388608 & a . flags ) { var i = j ( a ) ; if ( i === ed || i . flags & r ) return a ; } } } function b ( t , n ) { var r = t . parent , a = t . parent . parent , i = k ( r . locals , n , 107455 ) , o = k ( a . symbol . members , n , 107455 ) ; return i && o ? [ i , o ] : void e . Debug . fail ( "There should exist two symbols, one as property declaration and one as parameter declaration" ) ; } function x ( t , n ) { function a ( t , n ) { var r = e . getEnclosingBlockScopeContainer ( t ) ; if ( 196 === t . parent . parent . kind || 202 === t . parent . parent . kind ) return T ( n , t , r ) ; if ( 204 === t . parent . parent . kind || 203 === t . parent . parent . kind ) { var a = t . parent . parent . expression ; return T ( n , a , r ) ; } } function i ( t , n ) { for ( var r = e . getEnclosingBlockScopeContainer ( t ) , a = n ; a ; ) { if ( a === r ) return ! 1 ; if ( e . isFunctionLike ( a ) ) return ! 0 ; var i = a . parent && 142 === a . parent . kind && 0 === ( 64 & a . parent . flags ) && a . parent . initializer === a ; if ( i ) return ! 0 ; a = a . parent ; } return ! 1 ; } var o = e . getSourceFileOfNode ( t ) , s = e . getSourceFileOfNode ( n ) ; if ( o !== s ) { if ( Gl || ! Vl . outFile && ! Vl . out ) return ! 0 ; var c = r . getSourceFiles ( ) ; return e . indexOf ( c , o ) <= e . indexOf ( c , s ) ; } return t . pos <= n . pos ? 214 !== t . kind || ! a ( t , n ) : i ( t , n ) ; } function C ( t , n , r , a , i ) { var o , c , _ , u , l = t ; e : for ( ; t ; ) { if ( t . locals && ! v ( t ) && ( o = k ( t . locals , n , r ) ) ) { var d = ! 0 ; if ( e . isFunctionLike ( t ) && c && c !== t . body && ( r & o . flags & 793056 && 268 !== c . kind && ( d = 262144 & o . flags ? c === t . type || 139 === c . kind || 138 === c . kind : ! 1 ) , 107455 & r && 1 & o . flags && ( d = 139 === c . kind || c === t . type && 139 === o . valueDeclaration . kind ) ) , d ) break e ; o = void 0 ; } switch ( t . kind ) { case 251 : if ( ! e . isExternalOrCommonJsModule ( t ) ) break ; case 221 : var p = ae ( t ) . exports ; if ( 251 === t . kind || e . isAmbientModule ( t ) ) { if ( o = p [ "default" ] ) { var f = e . getLocalSymbolForExportDefault ( o ) ; if ( f && o . flags & r && f . name === n ) break e ; o = void 0 ; } if ( e . hasProperty ( p , n ) && 8388608 === p [ n ] . flags && e . getDeclarationOfKind ( p [ n ] , 233 ) ) break ; } if ( o = k ( p , n , 8914931 & r ) ) break e ; break ; case 220 : if ( o = k ( ae ( t ) . exports , n , 8 & r ) ) break e ; break ; case 142 : case 141 : if ( e . isClassLike ( t . parent ) && ! ( 64 & t . flags ) ) { var m = ce ( t . parent ) ; m && m . locals && k ( m . locals , n , 107455 & r ) && ( _ = t ) ; } break ; case 217 : case 189 : case 218 : if ( o = k ( ae ( t ) . members , n , 793056 & r ) ) { if ( c && 64 & c . flags ) return void s ( l , e . Diagnostics . Static_members_cannot_reference_class_type_parameters ) ; break e ; } if ( 189 === t . kind && 32 & r ) { var g = t . name ; if ( g && n === g . text ) { o = t . symbol ; break e ; } } break ; case 137 : if ( u = t . parent . parent , ( e . isClassLike ( u ) || 218 === u . kind ) && ( o = k ( ae ( u ) . members , n , 793056 & r ) ) ) return void s ( l , e . Diagnostics . A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type ) ; break ; case 144 : case 143 : case 145 : case 146 : case 147 : case 216 : case 177 : if ( 3 & r && "arguments" === n ) { o = $l ; break e ; } break ; case 176 : if ( 3 & r && "arguments" === n ) { o = $l ; break e ; } if ( 16 & r ) { var y = t . name ; if ( y && n === y . text ) { o = t . symbol ; break e ; } } break ; case 140 : t . parent && 139 === t . parent . kind && ( t = t . parent ) , t . parent && e . isClassElement ( t . parent ) && ( t = t . parent ) ; } c = t , t = t . parent ; } if ( o || ( o = k ( Xd , n , r ) ) , ! o ) return void ( a && ( D ( l , n , i ) || s ( l , a , "string" == typeof i ? i : e . declarationNameToString ( i ) ) ) ) ; if ( a ) { if ( _ ) { var h = _ . name ; return void s ( l , e . Diagnostics . Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor , e . declarationNameToString ( h ) , "string" == typeof i ? i : e . declarationNameToString ( i ) ) ; } if ( 2 & r ) { var b = oe ( o ) ; 2 & b . flags && S ( b , l ) ; } } return o ; } function D ( t , n , r ) { if ( ! t || 69 === t . kind && ru ( t ) || ja ( t ) ) return ! 1 ; for ( var a = e . getThisContainer ( t , ! 0 ) , i = a ; i ; ) { if ( e . isClassLike ( i . parent ) ) { var o = ae ( i . parent ) ; if ( ! o ) break ; var c = _t ( o ) ; if ( mn ( c , n ) ) return s ( t , e . Diagnostics . Cannot_find_name_0_Did_you_mean_the_static_member_1_0 , "string" == typeof r ? r : e . declarationNameToString ( r ) , Ee ( o ) ) , ! 0 ; if ( i === a && ! ( 64 & i . flags ) ) { var _ = Ot ( o ) . thisType ; if ( mn ( _ , n ) ) return s ( t , e . Diagnostics . Cannot_find_name_0_Did_you_mean_the_instance_member_this_0 , "string" == typeof r ? r : e . declarationNameToString ( r ) ) , ! 0 ; } } i = i . parent ; } return ! 1 ; } function S ( t , n ) { e . Debug . assert ( 0 !== ( 2 & t . flags ) ) ; var r = e . forEach ( t . declarations , function ( t ) { return e . isBlockOrCatchScoped ( t ) ? t : void 0 ; } ) ; e . Debug . assert ( void 0 !== r , "Block-scoped variable declaration is undefined" ) , x ( e . getAncestor ( r , 214 ) , n ) || s ( n , e . Diagnostics . Block_scoped_variable_0_used_before_its_declaration , e . declarationNameToString ( r . name ) ) ; } function T ( t , n , r ) { if ( ! n ) return ! 1 ; for ( var a = t ; a && a !== r && ! e . isFunctionLike ( a ) ; a = a . parent ) if ( a === n ) return ! 0 ; return ! 1 ; } function E ( t ) { if ( e . isAliasSymbolDeclaration ( t ) ) { if ( 224 === t . kind ) return t ; for ( ; t && 225 !== t . kind ; ) t = t . parent ; return t ; } } function w ( t ) { return e . forEach ( t . declarations , function ( t ) { return e . isAliasSymbolDeclaration ( t ) ? t : void 0 ; } ) ; } function A ( t ) { return 235 === t . moduleReference . kind ? X ( H ( t , e . getExternalModuleImportEqualsDeclarationExpression ( t ) ) ) : q ( t . moduleReference , t ) ; } function P ( t ) { var n = H ( t , t . parent . moduleSpecifier ) ; if ( n ) { var r = n . exports [ "export=" ] ? mn ( _t ( n . exports [ "export=" ] ) , "default" ) : K ( n . exports [ "default" ] ) ; if ( r || Xl ) { if ( ! r && Xl ) return X ( n ) || K ( n ) ; } else s ( t . name , e . Diagnostics . Module_0_has_no_default_export , Ee ( n ) ) ; return r ; } } function N ( e ) { var t = e . parent . parent . moduleSpecifier ; return Q ( H ( e , t ) , t ) ; } function O ( t , n ) { if ( 794592 & t . flags ) return t ; var r = c ( t . flags | n . flags , t . name ) ; return r . declarations = e . concatenate ( t . declarations , n . declarations ) , r . parent = t . parent || n . parent , t . valueDeclaration && ( r . valueDeclaration = t . valueDeclaration ) , n . members && ( r . members = n . members ) , t . exports && ( r . exports = t . exports ) , r ; } function R ( t , n ) { if ( 1536 & t . flags ) { var r = Z ( t ) ; if ( e . hasProperty ( r , n ) ) return K ( r [ n ] ) ; } } function I ( e , t ) { if ( 3 & e . flags ) { var n = e . valueDeclaration . type ; if ( n ) return K ( mn ( Pr ( n ) , t ) ) ; } } function F ( t , n ) { var r = H ( t , t . moduleSpecifier ) , a = Q ( r , t . moduleSpecifier ) ; if ( a ) { var i = n . propertyName || n . name ; if ( i . text ) { var o = void 0 ; o = r && r . exports && r . exports [ "export=" ] ? mn ( _t ( a ) , i . text ) : I ( a , i . text ) ; var c = R ( a , i . text ) , _ = c && o ? O ( o , c ) : c || o ; return _ || s ( i , e . Diagnostics . Module_0_has_no_exported_member_1 , W ( r ) , e . declarationNameToString ( i ) ) , _ ; } } } function L ( e ) { return F ( e . parent . parent . parent , e ) ; } function M ( e ) { return e . parent . parent . moduleSpecifier ? F ( e . parent . parent , e ) : V ( e . propertyName || e . name , 901119 ) ; } function B ( e ) { return V ( e . expression , 901119 ) ; } function z ( e ) { switch ( e . kind ) { case 224 : return A ( e ) ; case 226 : return P ( e ) ; case 227 : return N ( e ) ; case 229 : return L ( e ) ; case 233 : return M ( e ) ; case 230 : return B ( e ) ; } } function K ( e ) { return e && 8388608 & e . flags && ! ( 901119 & e . flags ) ? j ( e ) : e ; } function j ( t ) { e . Debug . assert ( 0 !== ( 8388608 & t . flags ) , "Should only get Alias here." ) ; var n = y ( t ) ; if ( n . target ) n . target === td && ( n . target = ed ) ; else { n . target = td ; var r = w ( t ) , a = z ( r ) ; n . target === td ? n . target = a || ed : s ( r , e . Diagnostics . Circular_definition_of_import_alias_0 , Ee ( t ) ) ; } return n . target ; } function J ( e ) { var t = ae ( e ) , n = j ( t ) ; if ( n ) { var r = n === ed && Vl . isolatedModules || n !== ed && 107455 & n . flags && ! Tu ( n ) ; r && U ( t ) ; } } function U ( t ) { var n = y ( t ) ; if ( ! n . referenced ) { n . referenced = ! 0 ; var r = w ( t ) ; 230 === r . kind ? Os ( r . expression ) : 233 === r . kind ? Os ( r . propertyName || r . name ) : e . isInternalModuleImportEqualsDeclaration ( r ) && Os ( r . moduleReference ) ; } } function q ( t , n ) { return n || ( n = e . getAncestor ( t , 224 ) , e . Debug . assert ( void 0 !== n ) ) , 69 === t . kind && e . isRightSideOfQualifiedNameOrPropertyAccess ( t ) && ( t = t . parent ) , 69 === t . kind || 136 === t . parent . kind ? V ( t , 1536 ) : ( e . Debug . assert ( 224 === t . parent . kind ) , V ( t , 901119 ) ) ; } function W ( e ) { return e . parent ? W ( e . parent ) + "." + Ee ( e ) : Ee ( e ) ; } function V ( t , n , r ) { if ( ! e . nodeIsMissing ( t ) ) { var a ; if ( 69 === t . kind ) { var i = 1536 === n ? e . Diagnostics . Cannot_find_namespace_0 : e . Diagnostics . Cannot_find_name_0 ; if ( a = C ( t , t . text , n , r ? void 0 : i , t ) , ! a ) return ; } else if ( 136 === t . kind || 169 === t . kind ) { var o = 136 === t . kind ? t . left : t . expression , c = 136 === t . kind ? t . right : t . name , _ = V ( o , 1536 , r ) ; if ( ! _ || _ === ed || e . nodeIsMissing ( c ) ) return ; if ( a = k ( Z ( _ ) , c . text , n ) , ! a ) return void ( r || s ( c , e . Diagnostics . Module_0_has_no_exported_member_1 , W ( _ ) , e . declarationNameToString ( c ) ) ) ; } else e . Debug . fail ( "Unknown entity name kind." ) ; return e . Debug . assert ( 0 === ( 16777216 & a . flags ) , "Should never get an instantiated symbol here." ) , a . flags & n ? a : j ( a ) ; } } function H ( t , n ) { return G ( t , n , e . Diagnostics . Cannot_find_module_0 ) ; } function G ( t , n , a ) { if ( 9 === n . kind ) { var i = n , o = e . escapeIdentifier ( i . text ) ; if ( void 0 !== o ) { var c = e . isExternalModuleNameRelative ( o ) ; if ( ! c ) { var _ = k ( Xd , '"' + o + '"' , 512 ) ; if ( _ ) return re ( _ ) ; } var u = e . getResolvedModule ( e . getSourceFileOfNode ( t ) , i . text ) , l = u && r . getSourceFile ( u . resolvedFileName ) ; return l ? l . symbol ? re ( l . symbol ) : void ( a && s ( i , e . Diagnostics . File_0_is_not_a_module , l . fileName ) ) : void ( a && s ( i , a , o ) ) ; } } } function X ( e ) { return e && re ( K ( e . exports [ "export=" ] ) ) || e ; } function Q ( t , n ) { var r = X ( t ) ; return ! r || 1539 & r . flags || ( s ( n , e . Diagnostics . Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct , Ee ( t ) ) , r = void 0 ) , r ; } function Y ( e ) { return void 0 !== e . exports [ "export=" ] ; } function $ ( e ) { return xn ( ee ( e ) ) ; } function Z ( e ) { return 1536 & e . flags ? ee ( e ) : e . exports || Wl ; } function ee ( e ) { var t = y ( e ) ; return t . resolvedExports || ( t . resolvedExports = ne ( e ) ) ; } function te ( t , n , r , a ) { for ( var i in n ) "default" === i || e . hasProperty ( t , i ) ? r && a && "default" !== i && e . hasProperty ( t , i ) && K ( t [ i ] ) !== K ( n [ i ] ) && ( r [ i ] . exportsWithDuplicate ? r [ i ] . exportsWithDuplicate . push ( a ) : r [ i ] . exportsWithDuplicate = [ a ] ) : ( t [ i ] = n [ i ] , r && a && ( r [ i ] = { specifierText : e . getTextOfNode ( a . moduleSpecifier ) } ) ) ; } function ne ( t ) { function n ( t ) { if ( t && 1952 & t . flags && ! e . contains ( r , t ) ) { r . push ( t ) ; var a = p ( t . exports ) , i = t . exports . __export ; if ( i ) { for ( var o = { } , s = { } , c = 0 , _ = i . declarations ; c < _ . length ; c ++ ) { var u = _ [ c ] , l = H ( u , u . moduleSpecifier ) , d = n ( l ) ; te ( o , d , s , u ) ; } for ( var f in s ) { var m = s [ f ] . exportsWithDuplicate ; if ( "export=" !== f && m && m . length && ! e . hasProperty ( a , f ) ) for ( var g = 0 , y = m ; g < y . length ; g ++ ) { var u = y [ g ] ; cp . add ( e . createDiagnosticForNode ( u , e . Diagnostics . Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity , s [ f ] . specifierText , f ) ) ; } } te ( a , o ) ; } return a ; } } var r = [ ] ; return n ( t ) || t . exports ; } function re ( e ) { var t ; return e && e . mergeId && ( t = rp [ e . mergeId ] ) ? t : e ; } function ae ( e ) { return re ( e . symbol ) ; } function ie ( e ) { return re ( e . parent ) ; } function oe ( e ) { return e && 0 !== ( 1048576 & e . flags ) ? re ( e . exportSymbol ) : e ; } function se ( e ) { return 16777216 & e . flags ? se ( y ( e ) . target ) : 107455 & e . flags ? ! 0 : 8388608 & e . flags ? 0 !== ( 107455 & j ( e ) . flags ) : ! 1 ; } function ce ( t ) { for ( var n = t . members , r = 0 , a = n ; r < a . length ; r ++ ) { var i = a [ r ] ; if ( 145 === i . kind && e . nodeIsPresent ( i . body ) ) return i ; } } function _e ( e ) { var t = new Kl ( Zl , e ) ; return t . id = Jl , Jl ++ , t ; } function ue ( e , t ) { var n = _e ( e ) ; return n . intrinsicName = t , n ; } function le ( e , t ) { var n = _e ( e ) ; return n . symbol = t , n ; } function de ( e ) { return 95 === e . charCodeAt ( 0 ) && 95 === e . charCodeAt ( 1 ) && 95 !== e . charCodeAt ( 2 ) && 64 !== e . charCodeAt ( 2 ) ; } function pe ( t ) { var n ; for ( var r in t ) if ( e . hasProperty ( t , r ) && ! de ( r ) ) { n || ( n = [ ] ) ; var a = t [ r ] ; se ( a ) && n . push ( a ) ; } return n || ql ; } function fe ( e , t , n , r , a , i ) { return e . members = t , e . properties = pe ( t ) , e . callSignatures = n , e . constructSignatures = r , a && ( e . stringIndexType = a ) , i && ( e . numberIndexType = i ) , e ; } function me ( e , t , n , r , a , i ) { return fe ( le ( 65536 , e ) , t , n , r , a , i ) ; } function ge ( t , n ) { for ( var r , a = t ; a ; a = a . parent ) { if ( a . locals && ! v ( a ) && ( r = n ( a . locals ) ) ) return r ; switch ( a . kind ) { case 251 : if ( ! e . isExternalOrCommonJsModule ( a ) ) break ; case 221 : if ( r = n ( ae ( a ) . exports ) ) return r ; break ; case 217 : case 218 : if ( r = n ( ae ( a ) . members ) ) return r ; } } return n ( Xd ) ; } function ye ( e ) { return 107455 === e ? 107455 : 1536 ; } function he ( t , n , r , a ) { function i ( o ) { function s ( e , t ) { if ( ! ve ( e , n , t ) ) return ! 0 ; var r = he ( e . parent , n , ye ( t ) , a ) ; return ! ! r ; } function c ( n , a ) { return t === ( a || n ) ? ! e . forEach ( n . declarations , be ) && s ( n , r ) : void 0 ; } return c ( e . lookUp ( o , t . name ) ) ? [ t ] : e . forEachValue ( o , function ( t ) { if ( 8388608 & t . flags && "export=" !== t . name && ! e . getDeclarationOfKind ( t , 233 ) && ( ! a || e . forEach ( t . declarations , e . isExternalModuleImportEqualsDeclaration ) ) ) { var n = j ( t ) ; if ( c ( t , j ( t ) ) ) return [ t ] ; var o = n . exports ? i ( n . exports ) : void 0 ; if ( o && s ( t , ye ( r ) ) ) return [ t ] . concat ( o ) ; } } ) ; } return t ? ge ( n , i ) : void 0 ; } function ve ( t , n , r ) { var a = ! 1 ; return ge ( n , function ( n ) { if ( ! e . hasProperty ( n , t . name ) ) return ! 1 ; var i = n [ t . name ] ; return i === t ? ! 0 : ( i = 8388608 & i . flags && ! e . getDeclarationOfKind ( i , 233 ) ? j ( i ) : i , i . flags & r ? ( a = ! 0 , ! 0 ) : ! 1 ) ; } ) , a ; } function ke ( t , n , r ) { function a ( e ) { for ( ; e ; e = e . parent ) if ( be ( e ) ) return ae ( e ) ; } if ( t && n && ! ( 262144 & t . flags ) ) { for ( var i = t , o = r ; t ; ) { var s = he ( t , n , o , ! 1 ) ; if ( s ) { var c = xe ( s [ 0 ] ) ; return c ? c : { accessibility : 1 , errorSymbolName : Ee ( i , n , r ) , errorModuleName : t !== i ? Ee ( t , n , 1536 ) : void 0 } ; } o = ye ( r ) , t = ie ( t ) ; } var _ = e . forEach ( i . declarations , a ) ; if ( _ ) { var u = a ( n ) ; if ( _ !== u ) return { accessibility : 2 , errorSymbolName : Ee ( i , n , r ) , errorModuleName : Ee ( _ ) } ; } return { accessibility : 1 , errorSymbolName : Ee ( i , n , r ) } ; } return { accessibility : 0 } ; } function be ( t ) { return e . isAmbientModule ( t ) || 251 === t . kind && e . isExternalOrCommonJsModule ( t ) ; } function xe ( t ) { function n ( t ) { if ( ! Ie ( t ) ) { var n = E ( t ) ; return ! n || 2 & n . flags || ! Ie ( n . parent ) ? ! 1 : ( h ( t ) . isVisible = ! 0 , r ? e . contains ( r , n ) || r . push ( n ) : r = [ n ] , ! 0 ) ; } return ! 0 ; } var r ; if ( ! e . forEach ( t . declarations , function ( e ) { return ! n ( e ) ; } ) ) return { accessibility : 0 , aliasesToMakeVisible : r } ; } function Ce ( t , n ) { var r ; r = 155 === t . parent . kind ? 1156031 : 136 === t . kind || 169 === t . kind || 224 === t . parent . kind ? 1536 : 793056 ; var a = O_ ( t ) , i = C ( n , a . text , r , void 0 , void 0 ) ; return i && xe ( i ) || { accessibility : 1 , errorSymbolName : e . getTextOfNode ( a ) , errorNode : a } ; } function De ( t , n ) { t . writeKeyword ( e . tokenToString ( n ) ) ; } function Se ( t , n ) { t . writePunctuation ( e . tokenToString ( n ) ) ; } function Te ( e ) { e . writeSpace ( " " ) ; } function Ee ( t , n , r ) { var a = e . getSingleLineStringWriter ( ) ; Re ( ) . buildSymbolDisplay ( t , a , n , r ) ; var i = a . string ( ) ; return e . releaseStringWriter ( a ) , i ; } function we ( t , n , r , a ) { var i = e . getSingleLineStringWriter ( ) ; Re ( ) . buildSignatureDisplay ( t , i , n , r , a ) ; var o = i . string ( ) ; return e . releaseStringWriter ( i ) , o ; } function Ae ( t , n , r ) { var a = e . getSingleLineStringWriter ( ) ; Re ( ) . buildTypeDisplay ( t , a , n , r ) ; var i = a . string ( ) ; e . releaseStringWriter ( a ) ; var o = Vl . noErrorTruncation || 4 & r ? void 0 : 100 ; return o && i . length >= o && ( i = i . substr ( 0 , o - "..." . length ) + "..." ) , i ; } function Pe ( t , n , r ) { var a = e . getSingleLineStringWriter ( ) ; Re ( ) . buildTypePredicateDisplay ( t , a , n , r ) ; var i = a . string ( ) ; return e . releaseStringWriter ( a ) , i ; } function Ne ( e ) { if ( e . symbol && 2048 & e . symbol . flags ) { for ( var t = e . symbol . declarations [ 0 ] . parent ; 161 === t . kind ; ) t = t . parent ; if ( 219 === t . kind ) return ae ( t ) ; } } function Oe ( t ) { return t && t . parent && 222 === t . parent . kind && e . isExternalModuleAugmentation ( t . parent . parent ) ; } function Re ( ) { function t ( t ) { if ( t . declarations && t . declarations . length ) { var n = t . declarations [ 0 ] ; if ( n . name ) return e . declarationNameToString ( n . name ) ; switch ( n . kind ) { case 189 : return "(Anonymous class)" ; case 176 : case 177 : return "(Anonymous function)" ; } } return t . name ; } function n ( e , n ) { n . writeSymbol ( t ( e ) , e ) ; } function r ( t , r , a , o , s , c ) { function u ( e ) { d && ( 1 & s && ( 16777216 & e . flags ? _ ( gt ( d ) , e . mapper , r , a ) : i ( d , r , a ) ) , Se ( r , 21 ) ) , d = e , n ( e , r ) ; } function l ( t , n ) { if ( t ) { var r = he ( t , a , n , ! ! ( 2 & s ) ) ; if ( r && ! ve ( r [ 0 ] , a , 1 === r . length ? n : ye ( n ) ) || l ( ie ( r ? r [ 0 ] : t ) , ye ( n ) ) , r ) for ( var i = 0 , o = r ; i < o . length ; i ++ ) { var c = o [ i ] ; u ( c ) ; } else { if ( ! d && e . forEach ( t . declarations , be ) ) return ; if ( 2048 & t . flags || 4096 & t . flags ) return ; u ( t ) ; } } } var d ; r . trackSymbol ( t , a , o ) ; var p = 262144 & t . flags , f = 128 & c ; return p || ! a && ! f ? u ( t ) : void l ( t , o ) ; } function a ( t , n , a , i , o ) { function s ( t , o ) { 16777343 & t . flags ? n . writeKeyword ( 16 & i || ! Ue ( t ) ? t . intrinsicName : "any" ) : 33554432 & t . flags ? ( v && n . reportInaccessibleThisError ( ) , n . writeKeyword ( "this" ) ) : 4096 & t . flags ? u ( t , o ) : 3712 & t . flags ? r ( t . symbol , n , a , 793056 , 0 , o ) : 8192 & t . flags ? l ( t ) : 49152 & t . flags ? d ( t , o ) : 65536 & t . flags ? f ( t , o ) : 256 & t . flags ? n . writeStringLiteral ( '"' + e . escapeString ( t . text ) + '"' ) : ( Se ( n , 15 ) , Te ( n ) , Se ( n , 22 ) , Te ( n ) , Se ( n , 16 ) ) ; } function c ( e , t ) { for ( var r = 0 ; r < e . length ; r ++ ) r > 0 && ( 24 !== t && Te ( n ) , Se ( n , t ) , Te ( n ) ) , s ( e [ r ] , 24 === t ? 0 : 64 ) ; } function _ ( e , t , i , o , c ) { if ( ( 32 & e . flags || ! de ( e . name ) ) && r ( e , n , a , 793056 , 0 , c ) , o > i ) { for ( Se ( n , 25 ) , s ( t [ i ] , 0 ) , i ++ ; o > i ; ) Se ( n , 24 ) , Te ( n ) , s ( t [ i ] , 0 ) , i ++ ; Se ( n , 27 ) ; } } function u ( t , r ) { var a = t . typeArguments || ql ; if ( t . target !== vd || 1 & r ) { var i = t . target . outerTypeParameters , o = 0 ; if ( i ) for ( var c = i . length ; c > o ; ) { var u = o , l = zn ( i [ o ] ) ; do o ++ ; while ( c > o && zn ( i [ o ] ) === l ) ; e . rangeEquals ( i , a , u , o ) || ( _ ( l , a , u , o , r ) , Se ( n , 21 ) ) ; } var d = ( t . target . typeParameters || ql ) . length ; _ ( t . symbol , a , o , d , r ) ; } else s ( a [ 0 ] , 64 ) , Se ( n , 19 ) , Se ( n , 20 ) ; } function l ( e ) { Se ( n , 19 ) , c ( e . elementTypes , 24 ) , Se ( n , 20 ) ; } function d ( e , t ) { 64 & t && Se ( n , 17 ) , c ( e . types , 16384 & e . flags ? 47 : 46 ) , 64 & t && Se ( n , 18 ) ; } function f ( t , i ) { function s ( ) { var t = ! ! ( 8192 & c . flags && e . forEach ( c . declarations , function ( e ) { return 64 & e . flags ; } ) ) , n = ! ! ( 16 & c . flags ) && ( c . parent || e . forEach ( c . declarations , function ( e ) { return 251 === e . parent . kind || 222 === e . parent . kind ; } ) ) ; return t || n ? ! ! ( 2 & i ) || e . contains ( o , c ) : void 0 ; } var c = t . symbol ; if ( c ) if ( 928 & c . flags ) m ( t , i ) ; else if ( s ( ) ) m ( t , i ) ; else if ( e . contains ( o , c ) ) { var _ = Ne ( t ) ; _ ? r ( _ , n , a , 793056 , 0 , i ) : De ( n , 117 ) ; } else o || ( o = [ ] ) , o . push ( c ) , y ( t , i ) , o . pop ( ) ; else y ( t , i ) ; } function m ( e , t ) { De ( n , 101 ) , Te ( n ) , r ( e . symbol , n , a , 107455 , 0 , t ) ; } function g ( t , n , r ) { var a = In ( t . symbol , n ) ; return a ? ( e . Debug . assert ( 0 !== a . parameters . length ) , e . declarationNameToString ( a . parameters [ 0 ] . name ) ) : r ; } function y ( e , t ) { var i = on ( e ) ; if ( ! i . properties . length && ! i . stringIndexType && ! i . numberIndexType ) { if ( ! i . callSignatures . length && ! i . constructSignatures . length ) return Se ( n , 15 ) , void Se ( n , 16 ) ; if ( 1 === i . callSignatures . length && ! i . constructSignatures . length ) return 64 & t && Se ( n , 17 ) , p ( i . callSignatures [ 0 ] , n , a , 8 | h , void 0 , o ) , void ( 64 & t && Se ( n , 18 ) ) ; if ( 1 === i . constructSignatures . length && ! i . callSignatures . length ) return 64 & t && Se ( n , 17 ) , De ( n , 92 ) , Te ( n ) , p ( i . constructSignatures [ 0 ] , n , a , 8 | h , void 0 , o ) , void ( 64 & t && Se ( n , 18 ) ) ; } var c = v ; v = ! 0 , Se ( n , 15 ) , n . writeLine ( ) , n . increaseIndent ( ) ; for ( var _ = 0 , u = i . callSignatures ; _ < u . length ; _ ++ ) { var l = u [ _ ] ; p ( l , n , a , h , void 0 , o ) , Se ( n , 23 ) , n . writeLine ( ) ; } for ( var d = 0 , f = i . constructSignatures ; d < f . length ; d ++ ) { var l = f [ d ] ; p ( l , n , a , h , 1 , o ) , Se ( n , 23 ) , n . writeLine ( ) ; } i . stringIndexType && ( Se ( n , 19 ) , n . writeParameter ( g ( i , 0 , "x" ) ) , Se ( n , 54 ) , Te ( n ) , De ( n , 130 ) , Se ( n , 20 ) , Se ( n , 54 ) , Te ( n ) , s ( i . stringIndexType , 0 ) , Se ( n , 23 ) , n . writeLine ( ) ) , i . numberIndexType && ( Se ( n , 19 ) , n . writeParameter ( g ( i , 1 , "x" ) ) , Se ( n , 54 ) , Te ( n ) , De ( n , 128 ) , Se ( n , 20 ) , Se ( n , 54 ) , Te ( n ) , s ( i . numberIndexType , 0 ) , Se ( n , 23 ) , n . writeLine ( ) ) ; for ( var m = 0 , y = i . properties ; m < y . length ; m ++ ) { var k = y [ m ] , b = _t ( k ) ; if ( 8208 & k . flags && ! sn ( b ) . length ) for ( var x = yn ( b , 0 ) , C = 0 , D = x ; C < D . length ; C ++ ) { var l = D [ C ] ; r ( k , n ) , 536870912 & k . flags && Se ( n , 53 ) , p ( l , n , a , h , void 0 , o ) , Se ( n , 23 ) , n . writeLine ( ) ; } else r ( k , n ) , 536870912 & k . flags && Se ( n , 53 ) , Se ( n , 54 ) , Te ( n ) , s ( b , 0 ) , Se ( n , 23 ) , n . writeLine ( ) ; } n . decreaseIndent ( ) , Se ( n , 16 ) , v = c ; } var h = 16 & i , v = ! 1 ; return s ( t , i ) ; } function i ( e , t , n , r ) { var a = h_ ( e ) ; ( 32 & a . flags || 64 & a . flags || 524288 & a . flags ) && c ( mt ( e ) , t , n , r ) ; } function o ( e , t , r , i , o ) { n ( e . symbol , t ) ; var s = Bn ( e ) ; s && ( Te ( t ) , De ( t , 83 ) , Te ( t ) , a ( s , t , r , i , o ) ) ; } function s ( t , r , i , o , s ) { var c = t . valueDeclaration ; e . isRestParameter ( c ) && Se ( r , 22 ) , n ( t , r ) , Cn ( c ) && Se ( r , 53 ) , Se ( r , 54 ) , Te ( r ) , a ( _t ( t ) , r , i , o , s ) ; } function c ( e , t , n , r , a ) { if ( e && e . length ) { Se ( t , 25 ) ; for ( var i = 0 ; i < e . length ; i ++ ) i > 0 && ( Se ( t , 24 ) , Te ( t ) ) , o ( e [ i ] , t , n , r , a ) ; Se ( t , 27 ) ; } } function _ ( e , t , n , r , i , o ) { if ( e && e . length ) { Se ( n , 25 ) ; for ( var s = 0 ; s < e . length ; s ++ ) s > 0 && ( Se ( n , 24 ) , Te ( n ) ) , a ( t ( e [ s ] ) , n , r , 0 ) ; Se ( n , 27 ) ; } } function u ( e , t , n , r , a ) { Se ( t , 17 ) ; for ( var i = 0 ; i < e . length ; i ++ ) i > 0 && ( Se ( t , 24 ) , Te ( t ) ) , s ( e [ i ] , t , n , r , a ) ; Se ( t , 18 ) ; } function l ( t , n , r , i , o ) { e . isIdentifierTypePredicate ( t ) ? n . writeParameter ( t . parameterName ) : De ( n , 97 ) , Te ( n ) , De ( n , 124 ) , Te ( n ) , a ( t . type , n , r , i , o ) ; } function d ( e , t , n , r , i ) { if ( 8 & r ? ( Te ( t ) , Se ( t , 34 ) ) : Se ( t , 54 ) , Te ( t ) , e . typePredicate ) l ( e . typePredicate , t , n , r , i ) ; else { var o = wn ( e ) ; a ( o , t , n , r , i ) ; } } function p ( e , t , n , r , a , i ) { 1 === a && ( De ( t , 92 ) , Te ( t ) ) , e . target && 32 & r ? _ ( e . target . typeParameters , e . mapper , t , n ) : c ( e . typeParameters , t , n , r , i ) , u ( e . parameters , t , n , r , i ) , d ( e , t , n , r , i ) ; } return qd || ( qd = { buildSymbolDisplay : r , buildTypeDisplay : a , buildTypeParameterDisplay : o , buildTypePredicateDisplay : l , buildParameterDisplay : s , buildDisplayForParametersAndDelimiters : u , buildDisplayForTypeParametersAndDelimiters : c , buildTypeParameterDisplayFromSymbol : i , buildSignatureDisplay : p , buildReturnTypeDisplay : d } ) ; } function Ie ( t ) { function n ( ) { switch ( t . kind ) { case 166 : return Ie ( t . parent . parent ) ; case 214 : if ( e . isBindingPattern ( t . name ) && ! t . name . elements . length ) return ! 1 ; case 221 : case 217 : case 218 : case 219 : case 216 : case 220 : case 224 : if ( e . isExternalModuleAugmentation ( t ) ) return ! 0 ; var n = Ke ( t ) ; return 2 & e . getCombinedNodeFlags ( t ) || 224 !== t . kind && 251 !== n . kind && e . isInAmbientContext ( n ) ? Ie ( n ) : v ( n ) ; case 142 : case 141 : case 146 : case 147 : case 144 : case 143 : if ( 48 & t . flags ) return ! 1 ; case 145 : case 149 : case 148 : case 150 : case 139 : case 222 : case 153 : case 154 : case 156 : case 152 : case 157 : case 158 : case 159 : case 160 : case 161 : return Ie ( t . parent ) ; case 226 : case 227 : case 229 : return ! 1 ; case 138 : case 251 : return ! 0 ; case 230 : return ! 1 ; default : e . Debug . fail ( "isDeclarationVisible unknown: SyntaxKind: " + t . kind ) ; } } if ( t ) { var r = h ( t ) ; return void 0 === r . isVisible && ( r . isVisible = ! ! n ( ) ) , r . isVisible ; } return ! 1 ; } function Fe ( t ) { function n ( t ) { e . forEach ( t , function ( t ) { h ( t ) . isVisible = ! 0 ; var r = E ( t ) || t ; if ( e . contains ( i , r ) || i . push ( r ) , e . isInternalModuleImportEqualsDeclaration ( t ) ) { var a = t . moduleReference , o = O_ ( a ) , s = C ( t , o . text , 901119 , e . Diagnostics . Cannot_find_name_0 , o ) ; s && n ( s . declarations ) ; } } ) ; } var r ; if ( t . parent && 230 === t . parent . kind ) r = C ( t . parent , t . text , 9289727 , e . Diagnostics . Cannot_find_name_0 , t ) ; else if ( 233 === t . parent . kind ) { var a = t . parent ; r = a . parent . parent . moduleSpecifier ? F ( a . parent . parent , a ) : V ( a . propertyName || a . name , 9289727 ) ; } var i = [ ] ; return r && n ( r . declarations ) , i ; } function Le ( e , t ) { var n = Me ( e , t ) ; if ( n >= 0 ) { for ( var r = ep . length , a = n ; r > a ; a ++ ) tp [ a ] = ! 1 ; return ! 1 ; } return ep . push ( e ) , tp . push ( ! 0 ) , np . push ( t ) , ! 0 ; } function Me ( e , t ) { for ( var n = ep . length - 1 ; n >= 0 ; n -- ) { if ( Be ( ep [ n ] , np [ n ] ) ) return - 1 ; if ( ep [ n ] === e && np [ n ] === t ) return n ; } return - 1 ; } function Be ( t , n ) { return 0 === n ? y ( t ) . type : 2 === n ? y ( t ) . declaredType : 1 === n ? ( e . Debug . assert ( ! ! ( 1024 & t . flags ) ) , t . resolvedBaseConstructorType ) : 3 === n ? t . resolvedReturnType : void e . Debug . fail ( "Unhandled TypeSystemPropertyName " + n ) ; } function ze ( ) { return ep . pop ( ) , np . pop ( ) , tp . pop ( ) ; } function Ke ( t ) { for ( t = e . getRootDeclaration ( t ) ; t ; ) switch ( t . kind ) { case 214 : case 215 : case 229 : case 228 : case 227 : case 226 : t = t . parent ; break ; default : return t . parent ; } } function je ( t ) { var n = Ot ( ie ( t ) ) ; return n . typeParameters ? Jn ( n , e . map ( n . typeParameters , function ( e ) { return nd ; } ) ) : n ; } function Je ( e , t ) { var n = mn ( e , t ) ; return n ? _t ( n ) : void 0 ; } function Ue ( e ) { return e && 0 !== ( 1 & e . flags ) ; } function qe ( e ) { var t = ae ( e ) ; return t && y ( t ) . type || Qe ( e ) ; } function We ( t ) { switch ( t . kind ) { case 69 : return t . text ; case 9 : case 8 : return t . text ; case 137 : if ( e . isStringOrNumericLiteral ( t . expression . kind ) ) return t . expression . text ; } } function Ve ( t ) { return 137 === t . kind && ! e . isStringOrNumericLiteral ( t . expression . kind ) ; } function He ( t ) { var n = t . parent , r = qe ( n . parent ) ; if ( r === ud ) return ud ; if ( ! r || Ue ( r ) ) return t . initializer ? Os ( t . initializer ) : r ; var a ; if ( 164 === n . kind ) { var i = t . propertyName || t . name ; if ( Ve ( i ) ) return nd ; var o = We ( i ) ; if ( a = Je ( r , o ) || Bi ( o ) && vn ( r , 1 ) || vn ( r , 0 ) , ! a ) return s ( i , e . Diagnostics . Type_0_has_no_property_1_and_no_string_index_signature , Ae ( r ) , e . declarationNameToString ( i ) ) , ud ; } else { var c = Yc ( r , n , ! 1 ) ; if ( t . dotDotDotToken ) a = cr ( c ) ; else { var _ = "" + e . indexOf ( n . elements , t ) ; if ( a = xa ( r ) ? Je ( r , _ ) : c , ! a ) return Da ( r ) ? s ( t , e . Diagnostics . Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2 , Ae ( r ) , r . elementTypes . length , n . elements . length ) : s ( t , e . Diagnostics . Type_0_has_no_property_1 , Ae ( r ) , _ ) , ud ; } } return a ; } function Ge ( e ) { var t = Xe ( e ) ; return t ? Pr ( t ) : void 0 ; } function Xe ( t ) { var n = e . getJSDocTypeTag ( t ) ; if ( n && n . typeExpression ) return n . typeExpression . type ; if ( 214 === t . kind && 215 === t . parent . kind && 196 === t . parent . parent . kind ) { var r = e . getJSDocTypeTag ( t . parent . parent ) ; if ( r && r . typeExpression ) return r . typeExpression . type ; } else if ( 139 === t . kind ) { var a = e . getCorrespondingJSDocParameterTag ( t ) ; if ( a && a . typeExpression ) return a . typeExpression . type ; } } function Qe ( t ) { if ( 32 & t . parserContextFlags ) { var n = Ge ( t ) ; if ( n && n !== ud ) return n ; } if ( 203 === t . parent . parent . kind ) return rd ; if ( 204 === t . parent . parent . kind ) return Qc ( t . parent . parent . expression ) || nd ; if ( e . isBindingPattern ( t . parent ) ) return He ( t ) ; if ( t . type ) return Pr ( t . type ) ; if ( 139 === t . kind ) { var r = t . parent ; if ( 147 === r . kind && ! e . hasDynamicName ( r ) ) { var a = e . getDeclarationOfKind ( t . parent . symbol , 146 ) ; if ( a ) return wn ( Sn ( a ) ) ; } var n = ai ( t ) ; if ( n ) return n ; } return t . initializer ? Os ( t . initializer ) : 249 === t . kind ? Va ( t . name ) : e . isBindingPattern ( t . name ) ? et ( t . name , ! 1 ) : void 0 ; } function Ye ( t , n ) { return t . initializer ? Ea ( Os ( t . initializer ) ) : e . isBindingPattern ( t . name ) ? et ( t . name , n ) : nd ; } function $e ( t , n ) { var r = { } , a = ! 1 ; e . forEach ( t . elements , function ( e ) { var t = e . propertyName || e . name ; if ( Ve ( t ) ) return void ( a = ! 0 ) ; var i = We ( t ) , o = 67108868 | ( e . initializer ? 536870912 : 0 ) , s = c ( o , i ) ; s . type = Ye ( e , n ) , s . bindingElement = e , r [ s . name ] = s ; } ) ; var i = me ( void 0 , r , ql , ql , void 0 , void 0 ) ; return n && ( i . pattern = t ) , a && ( i . flags |= 67108864 ) , i ; } function Ze ( t , n ) { var r = t . elements ; if ( 0 === r . length || r [ r . length - 1 ] . dotDotDotToken ) return Hl >= 2 ? or ( nd ) : Ad ; var a = e . map ( r , function ( e ) { return 190 === e . kind ? nd : Ye ( e , n ) ; } ) ; if ( n ) { var i = lr ( a ) ; return i . pattern = t , i ; } return ur ( a ) ; } function et ( e , t ) { return 164 === e . kind ? $e ( e , t ) : Ze ( e , t ) ; } function tt ( t , n ) { var r = Qe ( t ) ; if ( r ) return n && Pa ( t , r ) , 248 === t . kind ? r : Ea ( r ) ; if ( r = t . dotDotDotToken ? Ad : nd , n && Vl . noImplicitAny ) { var a = e . getRootDeclaration ( t ) ; sc ( a ) || 139 === a . kind && sc ( a . parent ) || Aa ( t , r ) ; } return r ; } function nt ( t ) { var n = y ( t ) ; if ( ! n . type ) { if ( 134217728 & t . flags ) return n . type = je ( t ) ; var r = t . valueDeclaration ; if ( 247 === r . parent . kind ) return n . type = nd ; if ( 230 === r . kind ) return n . type = Ls ( r . expression ) ; if ( 184 === r . kind ) return n . type = vr ( e . map ( t . declarations , function ( e ) { return Os ( e . right ) ; } ) ) ; if ( 169 === r . kind && 184 === r . parent . kind ) return n . type = Os ( r . parent . right ) ; if ( ! Le ( t , 0 ) ) return ud ; var a = tt ( r , ! 0 ) ; ze ( ) || ( t . valueDeclaration . type ? ( a = ud , s ( t . valueDeclaration , e . Diagnostics . _0_is_referenced_directly_or_indirectly_in_its_own_type_annotation , Ee ( t ) ) ) : ( a = nd , Vl . noImplicitAny && s ( t . valueDeclaration , e . Diagnostics . _0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer , Ee ( t ) ) ) ) , n . type = a ; } return n . type ; } function rt ( t ) { if ( t ) { if ( 146 === t . kind ) return t . type && Pr ( t . type ) ; var n = e . getSetAccessorTypeAnnotationNode ( t ) ; return n && Pr ( n ) ; } } function at ( t ) { var n = y ( t ) ; if ( ! n . type ) { if ( ! Le ( t , 0 ) ) return ud ; var r = e . getDeclarationOfKind ( t , 146 ) , a = e . getDeclarationOfKind ( t , 147 ) , i = void 0 , o = rt ( r ) ; if ( o ) i = o ; else { var c = rt ( a ) ; c ? i = c : r && r . body ? i = es ( r ) : ( Vl . noImplicitAny && s ( a , e . Diagnostics . Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_type_annotation , Ee ( t ) ) , i = nd ) ; } if ( ! ze ( ) && ( i = nd , Vl . noImplicitAny ) ) { var _ = e . getDeclarationOfKind ( t , 146 ) ; s ( _ , e . Diagnostics . _0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions , Ee ( t ) ) ; } n . type = i ; } return n . type ; } function it ( e ) { var t = y ( e ) ; return t . type || ( t . type = le ( 65536 , e ) ) , t . type ; } function ot ( e ) { var t = y ( e ) ; return t . type || ( t . type = At ( ie ( e ) ) ) , t . type ; } function st ( e ) { var t = y ( e ) ; if ( ! t . type ) { var n = j ( e ) ; t . type = 107455 & n . flags ? _t ( n ) : ud ; } return t . type ; } function ct ( e ) { var t = y ( e ) ; return t . type || ( t . type = Vr ( _t ( t . target ) , t . mapper ) ) , t . type ; } function _t ( e ) { return 16777216 & e . flags ? ct ( e ) : 7 & e . flags ? nt ( e ) : 9136 & e . flags ? it ( e ) : 8 & e . flags ? ot ( e ) : 98304 & e . flags ? at ( e ) : 8388608 & e . flags ? st ( e ) : ud ; } function ut ( e ) { return 4096 & e . flags ? e . target : e ; } function lt ( t , n ) { function r ( t ) { var a = ut ( t ) ; return a === n || e . forEach ( xt ( a ) , r ) ; } return r ( t ) ; } function dt ( t , n ) { for ( var r = 0 , a = n ; r < a . length ; r ++ ) { var i = a [ r ] , o = Pt ( ae ( i ) ) ; t ? e . contains ( t , o ) || t . push ( o ) : t = [ o ] ; } return t ; } function pt ( e , t ) { for ( ; ; ) { if ( t = t . parent , ! t ) return e ; if ( 217 === t . kind || 189 === t . kind || 216 === t . kind || 176 === t . kind || 144 === t . kind || 177 === t . kind ) { var n = t . typeParameters ; if ( n ) return dt ( pt ( e , t ) , n ) ; } } } function ft ( t ) { var n = 32 & t . flags ? t . valueDeclaration : e . getDeclarationOfKind ( t , 218 ) ; return pt ( void 0 , n ) ; } function mt ( e ) { for ( var t , n = 0 , r = e . declarations ; n < r . length ; n ++ ) { var a = r [ n ] ; if ( 218 === a . kind || 217 === a . kind || 189 === a . kind || 219 === a . kind ) { var i = a ; i . typeParameters && ( t = dt ( t , i . typeParameters ) ) ; } } return t ; } function gt ( t ) { return e . concatenate ( ft ( t ) , mt ( t ) ) ; } function yt ( e ) { return 80896 & e . flags && yn ( e , 1 ) . length > 0 ; } function ht ( t ) { return e . getClassExtendsHeritageClauseElement ( t . symbol . valueDeclaration ) ; } function vt ( t , n ) { var r = n ? n . length : 0 ; return e . filter ( yn ( t , 1 ) , function ( e ) { return ( e . typeParameters ? e . typeParameters . length : 0 ) === r ; } ) ; } function kt ( t , n ) { var r = vt ( t , n ) ; if ( n ) { var a = e . map ( n , Pr ) ; r = e . map ( r , function ( e ) { return Pn ( e , a ) ; } ) ; } return r ; } function bt ( t ) { if ( ! t . resolvedBaseConstructorType ) { var n = ht ( t ) ; if ( ! n ) return t . resolvedBaseConstructorType = cd ; if ( ! Le ( t , 1 ) ) return ud ; var r = Ls ( n . expression ) ; if ( 80896 & r . flags && on ( r ) , ! ze ( ) ) return s ( t . symbol . valueDeclaration , e . Diagnostics . _0_is_referenced_directly_or_indirectly_in_its_own_base_expression , Ee ( t . symbol ) ) , t . resolvedBaseConstructorType = ud ; if ( r !== ud && r !== _d && ! yt ( r ) ) return s ( n . expression , e . Diagnostics . Type_0_is_not_a_constructor_function_type , Ae ( r ) ) , t . resolvedBaseConstructorType = ud ; t . resolvedBaseConstructorType = r ; } return t . resolvedBaseConstructorType ; } function xt ( t ) { var n = 32 & t . symbol . flags , r = 64 & t . symbol . flags ; return t . resolvedBaseTypes || ( n || r || e . Debug . fail ( "type must be class or interface" ) , n && Ct ( t ) , r && St ( t ) ) , t . resolvedBaseTypes ; } function Ct ( t ) { t . resolvedBaseTypes = t . resolvedBaseTypes || ql ; var n = bt ( t ) ; if ( 80896 & n . flags ) { var r , a = ht ( t ) , i = n && n . symbol ? Ot ( n . symbol ) : void 0 ; if ( n . symbol && 32 & n . symbol . flags && Dt ( i ) ) r = Un ( a , n . symbol ) ; else { var o = kt ( n , a . typeArguments ) ; if ( ! o . length ) return void s ( a . expression , e . Diagnostics . No_base_constructor_has_the_specified_number_of_type_arguments ) ; r = wn ( o [ 0 ] ) ; } if ( r !== ud ) return 3072 & ut ( r ) . flags ? t === r || lt ( r , t ) ? void s ( t . symbol . valueDeclaration , e . Diagnostics . Type_0_recursively_references_itself_as_a_base_type , Ae ( t , void 0 , 1 ) ) : void ( t . resolvedBaseTypes === ql ? t . resolvedBaseTypes = [ r ] : t . resolvedBaseTypes . push ( r ) ) : void s ( a . expression , e . Diagnostics . Base_constructor_return_type_0_is_not_a_class_or_interface_type , Ae ( r ) ) ; } } function Dt ( e ) { var t = e . outerTypeParameters ; if ( t ) { var n = t . length - 1 , r = e . typeArguments ; return t [ n ] . symbol !== r [ n ] . symbol ; } return ! 0 ; } function St ( t ) { t . resolvedBaseTypes = t . resolvedBaseTypes || ql ; for ( var n = 0 , r = t . symbol . declarations ; n < r . length ; n ++ ) { var a = r [ n ] ; if ( 218 === a . kind && e . getInterfaceBaseTypeNodes ( a ) ) for ( var i = 0 , o = e . getInterfaceBaseTypeNodes ( a ) ; i < o . length ; i ++ ) { var c = o [ i ] , _ = Pr ( c ) ; _ !== ud && ( 3072 & ut ( _ ) . flags ? t === _ || lt ( _ , t ) ? s ( a , e . Diagnostics . Type_0_recursively_references_itself_as_a_base_type , Ae ( t , void 0 , 1 ) ) : t . resolvedBaseTypes === ql ? t . resolvedBaseTypes = [ _ ] : t . resolvedBaseTypes . push ( _ ) : s ( c , e . Diagnostics . An_interface_may_only_extend_a_class_or_another_interface ) ) ; } } } function Tt ( t ) { for ( var n = 0 , r = t . declarations ; n < r . length ; n ++ ) { var a = r [ n ] ; if ( 218 === a . kind ) { if ( 262144 & a . flags ) return ! 1 ; var i = e . getInterfaceBaseTypeNodes ( a ) ; if ( i ) for ( var o = 0 , s = i ; o < s . length ; o ++ ) { var c = s [ o ] ; if ( e . isSupportedExpressionWithTypeArguments ( c ) ) { var _ = V ( c . expression , 793056 , ! 0 ) ; if ( ! _ || ! ( 64 & _ . flags ) || Et ( _ ) . thisType ) return ! 1 ; } } } } return ! 0 ; } function Et ( t ) { var n = y ( t ) ; if ( ! n . declaredType ) { var r = 32 & t . flags ? 1024 : 2048 , a = n . declaredType = le ( r , t ) , i = ft ( t ) , o = mt ( t ) ; ( i || o || 1024 === r || ! Tt ( t ) ) && ( a . flags |= 4096 , a . typeParameters = e . concatenate ( i , o ) , a . outerTypeParameters = i , a . localTypeParameters = o , a . instantiations = { } , a . instantiations [ Kn ( a . typeParameters ) ] = a , a . target = a , a . typeArguments = a . typeParameters , a . thisType = _e ( 33554944 ) , a . thisType . symbol = t , a . thisType . constraint = a ) ; } return n . declaredType ; } function wt ( t ) { var n = y ( t ) ; if ( ! n . declaredType ) { if ( ! Le ( t , 2 ) ) return ud ; var r = e . getDeclarationOfKind ( t , 219 ) , a = Pr ( r . type ) ; ze ( ) ? ( n . typeParameters = mt ( t ) , n . typeParameters && ( n . instantiations = { } , n . instantiations [ Kn ( n . typeParameters ) ] = a ) ) : ( a = ud , s ( r . name , e . Diagnostics . Type_alias_0_circularly_references_itself , Ee ( t ) ) ) , n . declaredType = a ; } return n . declaredType ; } function At ( e ) { var t = y ( e ) ; if ( ! t . declaredType ) { var n = _e ( 128 ) ; n . symbol = e , t . declaredType = n ; } return t . declaredType ; } function Pt ( t ) { var n = y ( t ) ; if ( ! n . declaredType ) { var r = _e ( 512 ) ; r . symbol = t , e . getDeclarationOfKind ( t , 138 ) . constraint || ( r . constraint = Vd ) , n . declaredType = r ; } return n . declaredType ; } function Nt ( e ) { var t = y ( e ) ; return t . declaredType || ( t . declaredType = Ot ( j ( e ) ) ) , t . declaredType ; } function Ot ( t ) { return e . Debug . assert ( 0 === ( 16777216 & t . flags ) ) , 96 & t . flags ? Et ( t ) : 524288 & t . flags ? wt ( t ) : 384 & t . flags ? At ( t ) : 262144 & t . flags ? Pt ( t ) : 8388608 & t . flags ? Nt ( t ) : ud ; } function Rt ( e ) { if ( e . typeArguments ) for ( var t = 0 , n = e . typeArguments ; t < n . length ; t ++ ) { var r = n [ t ] ; if ( ! It ( r ) ) return ! 1 ; } return ! 0 ; } function It ( e ) { switch ( e . kind ) { case 117 : case 130 : case 128 : case 120 : case 131 : case 103 : case 163 : return ! 0 ; case 157 : return It ( e . elementType ) ; case 152 : return Rt ( e ) ; } return ! 1 ; } function Ft ( e ) { return e . type && It ( e . type ) || ! e . type && ! e . initializer ; } function Lt ( e ) { if ( ! ( 145 === e . kind || e . type && It ( e . type ) ) ) return ! 1 ; for ( var t = 0 , n = e . parameters ; t < n . length ; t ++ ) { var r = n [ t ] ; if ( ! Ft ( r ) ) return ! 1 ; } return ! 0 ; } function Mt ( e ) { if ( e . declarations && 1 === e . declarations . length ) { var t = e . declarations [ 0 ] ; if ( t ) switch ( t . kind ) { case 142 : case 141 : return Ft ( t ) ; case 144 : case 143 : case 145 : return Lt ( t ) ; } } return ! 1 ; } function Bt ( e ) { for ( var t = { } , n = 0 , r = e ; n < r . length ; n ++ ) { var a = r [ n ] ; t [ a . name ] = a ; } return t ; } function zt ( e , t , n ) { for ( var r = { } , a = 0 , i = e ; a < i . length ; a ++ ) { var o = i [ a ] ; r [ o . name ] = n && Mt ( o ) ? o : qr ( o , t ) ; } return r ; } function Kt ( t , n ) { for ( var r = 0 , a = n ; r < a . length ; r ++ ) { var i = a [ r ] ; e . hasProperty ( t , i . name ) || ( t [ i . name ] = i ) ; } } function jt ( e ) { if ( ! e . declaredProperties ) { var t = e . symbol ; e . declaredProperties = pe ( t . members ) , e . declaredCallSignatures = Tn ( t . members . __call ) , e . declaredConstructSignatures = Tn ( t . members . __new ) , e . declaredStringIndexType = Fn ( t , 0 ) , e . declaredNumberIndexType = Fn ( t , 1 ) ; } return e ; } function Jt ( t , n ) { return 4096 & t . flags ? Jn ( t . target , e . concatenate ( t . typeArguments , [ n || t . target . thisType ] ) ) : t ; } function Ut ( t , n , r , a ) { var i = zr , o = n . symbol . members , s = n . declaredCallSignatures , c = n . declaredConstructSignatures , _ = n . declaredStringIndexType , u = n . declaredNumberIndexType ; e . rangeEquals ( r , a , 0 , r . length ) || ( i = Ir ( r , a ) , o = zt ( n . declaredProperties , i , 1 === r . length ) , s = Nr ( n . declaredCallSignatures , i , Ur ) , c = Nr ( n . declaredConstructSignatures , i , Ur ) , _ = Vr ( n . declaredStringIndexType , i ) , u = Vr ( n . declaredNumberIndexType , i ) ) ; var l = xt ( n ) ; if ( l . length ) { o === n . symbol . members && ( o = Bt ( n . declaredProperties ) ) ; for ( var d = e . lastOrUndefined ( a ) , p = 0 , f = l ; p < f . length ; p ++ ) { var m = f [ p ] , g = d ? Jt ( Vr ( m , i ) , d ) : m ; Kt ( o , sn ( g ) ) , s = e . concatenate ( s , yn ( g , 0 ) ) , c = e . concatenate ( c , yn ( g , 1 ) ) , _ = _ || vn ( g , 0 ) , u = u || vn ( g , 1 ) ; } } fe ( t , o , s , c , _ , u ) ; } function qt ( e ) { Ut ( e , jt ( e ) , ql , ql ) ; } function Wt ( t ) { var n = jt ( t . target ) , r = e . concatenate ( n . typeParameters , [ n . thisType ] ) , a = t . typeArguments && t . typeArguments . length === r . length ? t . typeArguments : e . concatenate ( t . typeArguments , [ t ] ) ; Ut ( t , n , r , a ) ; } function Vt ( e , t , n , r , a , i , o , s ) { var c = new jl ( Zl ) ; return c . declaration = e , c . typeParameters = t , c . parameters = n , c . resolvedReturnType = r , c . typePredicate = a , c . minArgumentCount = i , c . hasRestParameter = o , c . hasStringLiterals = s , c ; } function Ht ( e ) { return Vt ( e . declaration , e . typeParameters , e . parameters , e . resolvedReturnType , e . typePredicate , e . minArgumentCount , e . hasRestParameter , e . hasStringLiterals ) ; } function Gt ( t ) { var n = bt ( t ) , r = yn ( n , 1 ) ; if ( 0 === r . length ) return [ Vt ( void 0 , t . localTypeParameters , ql , t , void 0 , 0 , ! 1 , ! 1 ) ] ; for ( var a = ht ( t ) , i = e . map ( a . typeArguments , Pr ) , o = i ? i . length : 0 , s = [ ] , c = 0 , _ = r ; c < _ . length ; c ++ ) { var u = _ [ c ] , l = u . typeParameters ? u . typeParameters . length : 0 ; if ( l === o ) { var d = l ? Pn ( u , i ) : Ht ( u ) ; d . typeParameters = t . localTypeParameters , d . resolvedReturnType = t , s . push ( d ) ; } } return s ; } function Xt ( e ) { for ( var t = { } , n = 0 ; n < e . length ; n ++ ) { var r = c ( 67108868 , "" + n ) ; r . type = e [ n ] , t [ n ] = r ; } return t ; } function Qt ( e ) { var t = vr ( e . elementTypes , ! 0 ) , n = on ( ir ( vd , [ t , e ] ) ) , r = Xt ( e . elementTypes ) ; Kt ( r , n . properties ) , fe ( e , r , n . callSignatures , n . constructSignatures , n . stringIndexType , n . numberIndexType ) ; } function Yt ( e , t , n , r ) { for ( var a = 0 , i = e ; a < i . length ; a ++ ) { var o = i [ a ] ; if ( ma ( o , t , n , r , Yr ) ) return o ; } } function $t ( t , n , r ) { if ( n . typeParameters ) { if ( r > 0 ) return ; for ( var a = 1 ; a < t . length ; a ++ ) if ( ! Yt ( t [ a ] , n , ! 1 , ! 1 ) ) return ; return [ n ] ; } for ( var i = void 0 , a = 0 ; a < t . length ; a ++ ) { var o = a === r ? n : Yt ( t [ a ] , n , ! 0 , ! 0 ) ; if ( ! o ) return ; e . contains ( i , o ) || ( i || ( i = [ ] ) ) . push ( o ) ; } return i ; } function Zt ( t , n ) { for ( var r = e . map ( t , function ( e ) { return yn ( e , n ) ; } ) , a = void 0 , i = 0 ; i < r . length ; i ++ ) for ( var o = 0 , s = r [ i ] ; o < s . length ; o ++ ) { var c = s [ o ] ; if ( ! a || ! Yt ( a , c , ! 1 , ! 0 ) ) { var _ = $t ( r , c , i ) ; if ( _ ) { var u = c ; _ . length > 1 && ( u = Ht ( c ) , u . resolvedReturnType = void 0 , u . unionSignatures = _ ) , ( a || ( a = [ ] ) ) . push ( u ) ; } } } return a || ql ; } function en ( e , t ) { for ( var n = [ ] , r = 0 , a = e ; r < a . length ; r ++ ) { var i = a [ r ] , o = vn ( i , t ) ; if ( ! o ) return ; n . push ( o ) ; } return vr ( n ) ; } function tn ( e ) { var t = Zt ( e . types , 0 ) , n = Zt ( e . types , 1 ) , r = en ( e . types , 0 ) , a = en ( e . types , 1 ) ; fe ( e , Wl , t , n , r , a ) ; } function nn ( e , t ) { return e ? t ? br ( [ e , t ] ) : e : t ; } function rn ( t ) { for ( var n = ql , r = ql , a = void 0 , i = void 0 , o = 0 , s = t . types ; o < s . length ; o ++ ) { var c = s [ o ] ; n = e . concatenate ( n , yn ( c , 0 ) ) , r = e . concatenate ( r , yn ( c , 1 ) ) , a = nn ( a , vn ( c , 0 ) ) , i = nn ( i , vn ( c , 1 ) ) ; } fe ( t , Wl , n , r , a , i ) ; } function an ( e ) { var t = e . symbol ; if ( e . target ) { var n = zt ( sn ( e . target ) , e . mapper , ! 1 ) , r = Nr ( yn ( e . target , 0 ) , e . mapper , Ur ) , a = Nr ( yn ( e . target , 1 ) , e . mapper , Ur ) , i = Vr ( vn ( e . target , 0 ) , e . mapper ) , o = Vr ( vn ( e . target , 1 ) , e . mapper ) ; fe ( e , n , r , a , i , o ) ; } else if ( 2048 & t . flags ) { var n = t . members , r = Tn ( n . __call ) , a = Tn ( n . __new ) , i = Fn ( t , 0 ) , o = Fn ( t , 1 ) ; fe ( e , n , r , a , i , o ) ; } else { var n = Wl , a = ql ; if ( 1952 & t . flags && ( n = Z ( t ) ) , 32 & t . flags ) { var s = Et ( t ) ; a = Tn ( t . members . __constructor ) , a . length || ( a = Gt ( s ) ) ; var c = bt ( s ) ; 80896 & c . flags && ( n = Bt ( pe ( n ) ) , Kt ( n , sn ( c ) ) ) ; } var o = 384 & t . flags ? rd : void 0 ; fe ( e , n , ql , a , void 0 , o ) , 8208 & t . flags && ( e . callSignatures = Tn ( t ) ) ; } } function on ( e ) { return e . members || ( 4096 & e . flags ? Wt ( e ) : 3072 & e . flags ? qt ( e ) : 65536 & e . flags ? an ( e ) : 8192 & e . flags ? Qt ( e ) : 16384 & e . flags ? tn ( e ) : 32768 & e . flags && rn ( e ) ) , e ; } function sn ( e ) { return 80896 & e . flags ? on ( e ) . properties : ql ; } function cn ( t , n ) { if ( 80896 & t . flags ) { var r = on ( t ) ; if ( e . hasProperty ( r . members , n ) ) { var a = r . members [ n ] ; if ( se ( a ) ) return a ; } } } function _n ( e ) { for ( var t = 0 , n = e . types ; t < n . length ; t ++ ) { for ( var r = n [ t ] , a = 0 , i = un ( r ) ; a < i . length ; a ++ ) { var o = i [ a ] ; fn ( e , o . name ) ; } if ( 16384 & e . flags ) break ; } return e . resolvedProperties ? xn ( e . resolvedProperties ) : ql ; } function un ( e ) { return e = dn ( e ) , 49152 & e . flags ? _n ( e ) : sn ( e ) ; } function ln ( e ) { if ( ! e . resolvedApparentType ) { for ( var t = Bn ( e ) ; t && 512 & t . flags ; ) t = Bn ( t ) ; e . resolvedApparentType = Jt ( t || ld , e ) ; } return e . resolvedApparentType ; } function dn ( e ) { return 512 & e . flags && ( e = ln ( e ) ) , 258 & e . flags ? e = kd : 132 & e . flags ? e = bd : 8 & e . flags ? e = xd : 16777216 & e . flags && ( e = Sd ) , e ; } function pn ( t , n ) { for ( var r , a = t . types , i = 32768 & t . flags ? 536870912 : 0 , o = 0 , s = a ; o < s . length ; o ++ ) { var _ = s [ o ] , u = dn ( _ ) ; if ( u !== ud ) { var l = mn ( u , n ) ; if ( ! l || 48 & io ( l ) ) { if ( 16384 & t . flags ) return ; } else i &= l . flags , r ? e . contains ( r , l ) || r . push ( l ) : r = [ l ] ; } } if ( r ) { if ( 1 === r . length ) return r [ 0 ] ; for ( var d = [ ] , p = [ ] , f = 0 , m = r ; f < m . length ; f ++ ) { var l = m [ f ] ; l . declarations && e . addRange ( p , l . declarations ) , d . push ( _t ( l ) ) ; } var g = c ( 335544324 | i , n ) ; return g . containingType = t , g . declarations = p , g . type = 16384 & t . flags ? vr ( d ) : br ( d ) , g ; } } function fn ( t , n ) { var r = t . resolvedProperties || ( t . resolvedProperties = { } ) ; if ( e . hasProperty ( r , n ) ) return r [ n ] ; var a = pn ( t , n ) ; return a && ( r [ n ] = a ) , a ; } function mn ( t , n ) { if ( t = dn ( t ) , 80896 & t . flags ) { var r = on ( t ) ; if ( e . hasProperty ( r . members , n ) ) { var a = r . members [ n ] ; if ( se ( a ) ) return a ; } if ( r === fd || r . callSignatures . length || r . constructSignatures . length ) { var a = cn ( hd , n ) ; if ( a ) return a ; } return cn ( yd , n ) ; } return 49152 & t . flags ? fn ( t , n ) : void 0 ; } function gn ( e , t ) { if ( 130048 & e . flags ) { var n = on ( e ) ; return 0 === t ? n . callSignatures : n . constructSignatures ; } return ql ; } function yn ( e , t ) { return gn ( dn ( e ) , t ) ; } function hn ( e , t ) { if ( 130048 & e . flags ) { var n = on ( e ) ; return 0 === t ? n . stringIndexType : n . numberIndexType ; } } function vn ( e , t ) { return hn ( dn ( e ) , t ) ; } function kn ( t ) { if ( 32 & t . parserContextFlags ) { var n = e . getJSDocTemplateTag ( t ) ; if ( n ) return bn ( n . typeParameters ) ; } } function bn ( t ) { var n = [ ] ; return e . forEach ( t , function ( t ) { var r = Pt ( t . symbol ) ; e . contains ( n , r ) || n . push ( r ) ; } ) , n ; } function xn ( e ) { var t = [ ] ; for ( var n in e ) de ( n ) || t . push ( e [ n ] ) ; return t ; } function Cn ( t ) { if ( 32 & t . parserContextFlags ) { if ( t . type && 263 === t . type . kind ) return ! 0 ; var n = e . getCorrespondingJSDocParameterTag ( t ) ; if ( n ) { if ( n . isBracketed ) return ! 0 ; if ( n . typeExpression ) return 263 === n . typeExpression . type . kind ; } } if ( e . hasQuestionToken ( t ) ) return ! 0 ; if ( t . initializer ) { var r = t . parent , a = Sn ( r ) , i = e . indexOf ( r . parameters , t ) ; return e . Debug . assert ( i >= 0 ) , i >= a . minArgumentCount ; } return ! 1 ; } function Dn ( e ) { if ( 69 === e . parameterName . kind ) { var t = e . parameterName ; return { kind : 1 , parameterName : t ? t . text : void 0 , parameterIndex : t ? Js ( e . parent . parameters , t ) : void 0 , type : Pr ( e . type ) } ; } return { kind : 0 , type : Pr ( e . type ) } ; } function Sn ( t ) { var n = h ( t ) ; if ( ! n . resolvedSignature ) { for ( var r = 145 === t . kind ? Et ( re ( t . parent . symbol ) ) : void 0 , a = r ? r . localTypeParameters : t . typeParameters ? bn ( t . typeParameters ) : kn ( t ) , i = [ ] , o = ! 1 , s = - 1 , c = e . isJSDocConstructSignature ( t ) , _ = void 0 , u = void 0 , l = c ? 1 : 0 , d = t . parameters . length ; d > l ; l ++ ) { var p = t . parameters [ l ] , f = p . symbol ; if ( f && 4 & f . flags && ! e . isBindingPattern ( p . name ) ) { var m = C ( p , f . name , 107455 , void 0 , void 0 ) ; f = m ; } i . push ( f ) , p . type && 163 === p . type . kind && ( o = ! 0 ) , p . initializer || p . questionToken || p . dotDotDotToken ? 0 > s && ( s = l ) : s = - 1 ; } if ( 0 > s && ( s = t . parameters . length ) , c ) s -- , _ = Pr ( t . parameters [ 0 ] . type ) ; else if ( r ) _ = r ; else if ( t . type ) _ = Pr ( t . type ) , 151 === t . type . kind && ( u = Dn ( t . type ) ) ; else { if ( 32 & t . parserContextFlags ) { var g = $o ( t ) ; g && g !== ud && ( _ = g ) ; } if ( 146 === t . kind && ! e . hasDynamicName ( t ) ) { var y = e . getDeclarationOfKind ( t . symbol , 147 ) ; _ = rt ( y ) ; } ! _ && e . nodeIsMissing ( t . body ) && ( _ = nd ) ; } n . resolvedSignature = Vt ( t , a , i , _ , u , s , e . hasRestParameter ( t ) , o ) ; } return n . resolvedSignature ; } function Tn ( e ) { if ( ! e ) return ql ; for ( var t = [ ] , n = 0 , r = e . declarations . length ; r > n ; n ++ ) { var a = e . declarations [ n ] ; switch ( a . kind ) { case 153 : case 154 : case 216 : case 144 : case 143 : case 145 : case 148 : case 149 : case 150 : case 146 : case 147 : case 176 : case 177 : case 264 : if ( n > 0 && a . body ) { var i = e . declarations [ n - 1 ] ; if ( a . parent === i . parent && a . kind === i . kind && a . pos === i . end ) break ; } t . push ( Sn ( a ) ) ; } } return t ; } function En ( e ) { var t = H ( e , e ) ; if ( t ) { var n = X ( t ) ; if ( n ) return _t ( n ) ; } return nd ; } function wn ( t ) { if ( ! t . resolvedReturnType ) { if ( ! Le ( t , 3 ) ) return ud ; var n = void 0 ; if ( n = t . target ? Vr ( wn ( t . target ) , t . mapper ) : t . unionSignatures ? vr ( e . map ( t . unionSignatures , wn ) ) : es ( t . declaration ) , ! ze ( ) && ( n = nd , Vl . noImplicitAny ) ) { var r = t . declaration ; r . name ? s ( r . name , e . Diagnostics . _0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions , e . declarationNameToString ( r . name ) ) : s ( r , e . Diagnostics . Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions ) ; } t . resolvedReturnType = n ; } return t . resolvedReturnType ; } function An ( t ) { if ( t . hasRestParameter ) { var n = _t ( e . lastOrUndefined ( t . parameters ) ) ; if ( 4096 & n . flags && n . target === vd ) return n . typeArguments [ 0 ] ; } return nd ; } function Pn ( e , t ) { return Ur ( e , Ir ( e . typeParameters , t ) , ! 0 ) ; } function Nn ( e ) { return e . typeParameters ? ( e . erasedSignatureCache || ( e . target ? e . erasedSignatureCache = Ur ( Nn ( e . target ) , e . mapper ) : e . erasedSignatureCache = Ur ( e , Mr ( e . typeParameters ) , ! 0 ) ) , e . erasedSignatureCache ) : e ; } function On ( e ) { if ( ! e . isolatedSignatureType ) { var t = 145 === e . declaration . kind || 149 === e . declaration . kind , n = le ( 327680 ) ; n . members = Wl , n . properties = ql , n . callSignatures = t ? ql : [ e ] , n . constructSignatures = t ? [ e ] : ql , e . isolatedSignatureType = n ; } return e . isolatedSignatureType ; } function Rn ( e ) { return e . members . __index ; } function In ( e , t ) { var n = 1 === t ? 128 : 130 , r = Rn ( e ) ; if ( r ) for ( var a = 0 , i = r . declarations ; a < i . length ; a ++ ) { var o = i [ a ] , s = o ; if ( 1 === s . parameters . length ) { var c = s . parameters [ 0 ] ; if ( c && c . type && c . type . kind === n ) return s ; } } } function Fn ( e , t ) { var n = In ( e , t ) ; return n ? n . type ? Pr ( n . type ) : nd : void 0 ; } function Ln ( t ) { return e . getDeclarationOfKind ( t . symbol , 138 ) . constraint ; } function Mn ( t , n ) { for ( var r ; t && ! ( 33554432 & t . flags ) && 512 & t . flags && ! e . contains ( r , t ) ; ) { if ( t === n ) return ! 0 ; ( r || ( r = [ ] ) ) . push ( t ) ; var a = Ln ( t ) ; t = a && Pr ( a ) ; } return ! 1 ; } function Bn ( t ) { if ( ! t . constraint ) if ( t . target ) { var n = Bn ( t . target ) ; t . constraint = n ? Vr ( n , t . mapper ) : Vd ; } else { var r = Ln ( t ) , a = Pr ( r ) ; Mn ( a , t ) && ( s ( r , e . Diagnostics . Type_parameter_0_has_a_circular_constraint , Ae ( t ) ) , a = ud ) , t . constraint = a ; } return t . constraint === Vd ? void 0 : t . constraint ; } function zn ( t ) { return ae ( e . getDeclarationOfKind ( t . symbol , 138 ) . parent ) ; } function Kn ( e ) { if ( e ) switch ( e . length ) { case 1 : return "" + e [ 0 ] . id ; case 2 : return e [ 0 ] . id + "," + e [ 1 ] . id ; default : for ( var t = "" , n = 0 ; n < e . length ; n ++ ) n > 0 && ( t += "," ) , t += e [ n ] . id ; return t ; } return "" ; } function jn ( e ) { for ( var t = 0 , n = 0 , r = e ; n < r . length ; n ++ ) { var a = r [ n ] ; t |= a . flags ; } return 14680064 & t ; } function Jn ( e , t ) { var n = Kn ( t ) , r = e . instantiations [ n ] ; if ( ! r ) { var a = 4096 | ( t ? jn ( t ) : 0 ) ; r = e . instantiations [ n ] = le ( a , e . symbol ) , r . target = e , r . typeArguments = t ; } return r ; } function Un ( t , n ) { var r = Ot ( n ) , a = r . localTypeParameters ; return a ? t . typeArguments && t . typeArguments . length === a . length ? Jn ( r , e . concatenate ( r . outerTypeParameters , e . map ( t . typeArguments , Pr ) ) ) : ( s ( t , e . Diagnostics . Generic_type_0_requires_1_type_argument_s , Ae ( r , void 0 , 1 ) , a . length ) , ud ) : t . typeArguments ? ( s ( t , e . Diagnostics . Type_0_is_not_generic , Ae ( r ) ) , ud ) : r ; } function qn ( t , n ) { var r = Ot ( n ) , a = y ( n ) , i = a . typeParameters ; if ( i ) { if ( ! t . typeArguments || t . typeArguments . length !== i . length ) return s ( t , e . Diagnostics . Generic_type_0_requires_1_type_argument_s , Ee ( n ) , i . length ) , ud ; var o = e . map ( t . typeArguments , Pr ) , c = Kn ( o ) ; return a . instantiations [ c ] || ( a . instantiations [ c ] = Vr ( r , Ir ( i , o ) ) ) ; } return t . typeArguments ? ( s ( t , e . Diagnostics . Type_0_is_not_generic , Ee ( n ) ) , ud ) : r ; } function Wn ( t , n ) { return t . typeArguments ? ( s ( t , e . Diagnostics . Type_0_is_not_generic , Ee ( n ) ) , ud ) : Ot ( n ) ; } function Vn ( t ) { switch ( t . kind ) { case 152 : return t . typeName ; case 262 : return t . name ; case 191 : if ( e . isSupportedExpressionWithTypeArguments ( t ) ) return t . expression ; } } function Hn ( e , t ) { return t ? V ( t , 793056 ) || ed : ed ; } function Gn ( e , t ) { return t === ed ? ud : 96 & t . flags ? Un ( e , t ) : 524288 & t . flags ? qn ( e , t ) : 107455 & t . flags && 262 === e . kind ? _t ( t ) : Wn ( e , t ) ; } function Xn ( t ) { var n = h ( t ) ; if ( ! n . resolvedType ) { var r = void 0 , a = void 0 ; if ( 262 === t . kind ) { var i = Vn ( t ) ; r = Hn ( t , i ) , a = Gn ( t , r ) , n . resolvedSymbol = r , n . resolvedType = a ; } else { var o = 152 === t . kind ? t . typeName : e . isSupportedExpressionWithTypeArguments ( t ) ? t . expression : void 0 ; r = o && V ( o , 793056 ) || ed , a = r === ed ? ud : 96 & r . flags ? Un ( t , r ) : 524288 & r . flags ? qn ( t , r ) : Wn ( t , r ) ; } n . resolvedSymbol = r , n . resolvedType = a ; } return n . resolvedType ; } function Qn ( e ) { var t = h ( e ) ; return t . resolvedType || ( t . resolvedType = Ea ( Ls ( e . exprName ) ) ) , t . resolvedType ; } function Yn ( t , n ) { function r ( e ) { for ( var t = e . declarations , n = 0 , r = t ; n < r . length ; n ++ ) { var a = r [ n ] ; switch ( a . kind ) { case 217 : case 218 : case 220 : return a ; } } } if ( ! t ) return n ? pd : ld ; var a = Ot ( t ) ; return 80896 & a . flags ? ( a . typeParameters ? a . typeParameters . length : 0 ) !== n ? ( s ( r ( t ) , e . Diagnostics . Global_type_0_must_have_1_type_parameter_s , t . name , n ) , n ? pd : ld ) : a : ( s ( r ( t ) , e . Diagnostics . Global_type_0_must_be_a_class_or_interface_type , t . name ) , n ? pd : ld ) ; } function $n ( t ) { return er ( t , 107455 , e . Diagnostics . Cannot_find_global_value_0 ) ; } function Zn ( t ) { return er ( t , 793056 , e . Diagnostics . Cannot_find_global_type_0 ) ; } function er ( e , t , n ) { return C ( void 0 , e , t , n , e ) ; } function tr ( e , t ) { return void 0 === t && ( t = 0 ) , Yn ( Zn ( e ) , t ) ; } function nr ( e , t ) { var n = er ( e , 1536 , void 0 ) , r = n && k ( n . exports , t , 793056 ) ; return r && Ot ( r ) ; } function rr ( ) { return md || ( md = $n ( "Symbol" ) ) ; } function ar ( e ) { var t = Id ( ) ; return t !== pd ? Jn ( t , [ e ] ) : ld ; } function ir ( e , t ) { return e !== pd ? Jn ( e , t ) : ld ; } function or ( e ) { return ir ( Td , [ e ] ) ; } function sr ( e ) { return ir ( wd , [ e ] ) ; } function cr ( e ) { return ir ( vd , [ e ] ) ; } function _r ( e ) { var t = h ( e ) ; return t . resolvedType || ( t . resolvedType = cr ( Pr ( e . elementType ) ) ) , t . resolvedType ; } function ur ( e ) { var t = Kn ( e ) ; return Qd [ t ] || ( Qd [ t ] = lr ( e ) ) ; } function lr ( e ) { var t = le ( 8192 | jn ( e ) ) ; return t . elementTypes = e , t ; } function dr ( t ) { var n = h ( t ) ; return n . resolvedType || ( n . resolvedType = ur ( e . map ( t . elementTypes , Pr ) ) ) , n . resolvedType ; } function pr ( t , n , r ) { n . flags & r ? fr ( t , n . types , r ) : e . contains ( t , n ) || t . push ( n ) ; } function fr ( e , t , n ) { for ( var r = 0 , a = t ; r < a . length ; r ++ ) { var i = a [ r ] ; pr ( e , i , n ) ; } } function mr ( e , t ) { for ( var n = 0 , r = t . length ; r > n ; n ++ ) if ( e !== t [ n ] && Zr ( e , t [ n ] ) ) return ! 0 ; return ! 1 ; } function gr ( e ) { for ( var t = e . length ; t > 0 ; ) t -- , mr ( e [ t ] , e ) && e . splice ( t , 1 ) ; } function yr ( e ) { for ( var t = 0 , n = e ; t < n . length ; t ++ ) { var r = n [ t ] ; if ( Ue ( r ) ) return ! 0 ; } return ! 1 ; } function hr ( e , t ) { for ( var n = e . length ; n > 0 && e . length > 1 ; ) n -- , e [ n ] === t && e . splice ( n , 1 ) ; } function vr ( e , t ) { if ( 0 === e . length ) return dd ; var n = [ ] ; if ( fr ( n , e , 16384 ) , yr ( n ) ) return nd ; if ( t ? ( hr ( n , cd ) , hr ( n , _d ) ) : gr ( n ) , 1 === n . length ) return n [ 0 ] ; var r = Kn ( n ) , a = Yd [ r ] ; return a || ( a = Yd [ r ] = le ( 16384 | jn ( n ) ) , a . types = n ) , a ; } function kr ( t ) { var n = h ( t ) ; return n . resolvedType || ( n . resolvedType = vr ( e . map ( t . types , Pr ) , ! 0 ) ) , n . resolvedType ; } function br ( e ) { if ( 0 === e . length ) return ld ; var t = [ ] ; if ( fr ( t , e , 32768 ) , yr ( t ) ) return nd ; if ( 1 === t . length ) return t [ 0 ] ; var n = Kn ( t ) , r = $d [ n ] ; return r || ( r = $d [ n ] = le ( 32768 | jn ( t ) ) , r . types = t ) , r ; } function xr ( t ) { var n = h ( t ) ; return n . resolvedType || ( n . resolvedType = br ( e . map ( t . types , Pr ) ) ) , n . resolvedType ; } function Cr ( e ) { var t = h ( e ) ; return t . resolvedType || ( t . resolvedType = le ( 65536 , e . symbol ) ) , t . resolvedType ; } function Dr ( t ) { if ( e . hasProperty ( Zd , t ) ) return Zd [ t ] ; var n = Zd [ t ] = _e ( 256 ) ; return n . text = t , n ; } function Sr ( e ) { var t = h ( e ) ; return t . resolvedType || ( t . resolvedType = Dr ( e . text ) ) , t . resolvedType ; } function Tr ( e ) { var t = h ( e ) ; if ( ! t . resolvedType ) { var n = Pr ( e . type ) ; t . resolvedType = n ? cr ( n ) : ud ; } return t . resolvedType ; } function Er ( t ) { var n = h ( t ) ; if ( ! n . resolvedType ) { var r = e . map ( t . types , Pr ) ; n . resolvedType = ur ( r ) ; } return n . resolvedType ; } function wr ( t ) { var n = e . getThisContainer ( t , ! 1 ) , r = n && n . parent ; return ! r || ! e . isClassLike ( r ) && 218 !== r . kind || 64 & n . flags || 145 === n . kind && ! e . isNodeDescendentOf ( t , n . body ) ? ( s ( t , e . Diagnostics . A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface ) , ud ) : Et ( ae ( r ) ) . thisType ; } function Ar ( e ) { var t = h ( e ) ; return t . resolvedType || ( t . resolvedType = wr ( e ) ) , t . resolvedType ; } function Pr ( e ) { switch ( e . kind ) { case 117 : case 253 : case 254 : return nd ; case 130 : return rd ; case 128 : return ad ; case 120 : return id ; case 131 : return od ; case 103 : return sd ; case 162 : return Ar ( e ) ; case 163 : return Sr ( e ) ; case 152 : case 262 : return Xn ( e ) ; case 151 : return id ; case 191 : return Xn ( e ) ; case 155 : return Qn ( e ) ; case 157 : case 255 : return _r ( e ) ; case 158 : return dr ( e ) ; case 159 : case 256 : return kr ( e ) ; case 160 : return xr ( e ) ; case 161 : case 258 : case 259 : case 266 : case 267 : case 263 : return Pr ( e . type ) ; case 153 : case 154 : case 156 : case 264 : case 260 : return Cr ( e ) ; case 69 : case 136 : var t = cu ( e ) ; return t && Ot ( t ) ; case 257 : return Er ( e ) ; case 265 : return Tr ( e ) ; default : return ud ; } } function Nr ( e , t , n ) { if ( e && e . length ) { for ( var r = [ ] , a = 0 , i = e ; a < i . length ; a ++ ) { var o = i [ a ] ; r . push ( n ( o , t ) ) ; } return r ; } return e ; } function Or ( e , t ) { return function ( n ) { return n === e ? t : n ; } ; } function Rr ( e , t , n , r ) { return function ( a ) { return a === e ? t : a === n ? r : a ; } ; } function Ir ( e , t ) { switch ( e . length ) { case 1 : return Or ( e [ 0 ] , t [ 0 ] ) ; case 2 : return Rr ( e [ 0 ] , t [ 0 ] , e [ 1 ] , t [ 1 ] ) ; } return function ( n ) { for ( var r = 0 ; r < e . length ; r ++ ) if ( n === e [ r ] ) return t [ r ] ; return n ; } ; } function Fr ( e ) { return function ( t ) { return t === e ? nd : t ; } ; } function Lr ( e , t ) { return function ( n ) { return n === e || n === t ? nd : n ; } ; } function Mr ( e ) { switch ( e . length ) { case 1 : return Fr ( e [ 0 ] ) ; case 2 : return Lr ( e [ 0 ] , e [ 1 ] ) ; } return function ( t ) { for ( var n = 0 , r = e ; n < r . length ; n ++ ) { var a = r [ n ] ; if ( t === a ) return nd ; } return t ; } ; } function Br ( e ) { if ( ! e . mapper ) { var t = function ( t ) { for ( var n = e . typeParameters , r = 0 ; r < n . length ; r ++ ) if ( t === n [ r ] ) return e . inferences [ r ] . isFixed = ! 0 , Ba ( e , r ) ; return t ; } ; t . context = e , e . mapper = t ; } return e . mapper ; } function zr ( e ) { return e ; } function Kr ( e , t ) { return function ( n ) { return Vr ( e ( n ) , t ) ; } ; } function jr ( e ) { var t = _e ( 512 ) ; return t . symbol = e . symbol , t . target = e , t ; } function Jr ( t , n ) { return e . isIdentifierTypePredicate ( t ) ? { kind : 1 , parameterName : t . parameterName , parameterIndex : t . parameterIndex , type : Vr ( t . type , n ) } : { kind : 0 , type : Vr ( t . type , n ) } ; } function Ur ( t , n , r ) { var a , i ; if ( t . typeParameters && ! r ) { a = e . map ( t . typeParameters , jr ) , n = Kr ( Ir ( t . typeParameters , a ) , n ) ; for ( var o = 0 , s = a ; o < s . length ; o ++ ) { var c = s [ o ] ; c . mapper = n ; } } t . typePredicate && ( i = Jr ( t . typePredicate , n ) ) ; var _ = Vt ( t . declaration , a , Nr ( t . parameters , n , qr ) , Vr ( t . resolvedReturnType , n ) , i , t . minArgumentCount , t . hasRestParameter , t . hasStringLiterals ) ; return _ . target = t , _ . mapper = n , _ ; } function qr ( e , t ) { if ( 16777216 & e . flags ) { var n = y ( e ) ; e = n . target , t = Kr ( n . mapper , t ) ; } var r = c ( 83886080 | e . flags , e . name ) ; return r . declarations = e . declarations , r . parent = e . parent , r . target = e , r . mapper = t , e . valueDeclaration && ( r . valueDeclaration = e . valueDeclaration ) , r ; } function Wr ( e , t ) { if ( t . instantiations ) { var n = t . instantiations [ e . id ] ; if ( n ) return n ; } else t . instantiations = [ ] ; var r = le ( 196608 , e . symbol ) ; return r . target = e , r . mapper = t , t . instantiations [ e . id ] = r , r ; } function Vr ( e , t ) { if ( e && t !== zr ) { if ( 512 & e . flags ) return t ( e ) ; if ( 65536 & e . flags ) return e . symbol && 14384 & e . symbol . flags ? Wr ( e , t ) : e ; if ( 4096 & e . flags ) return Jn ( e . target , Nr ( e . typeArguments , t , Vr ) ) ; if ( 8192 & e . flags ) return ur ( Nr ( e . elementTypes , t , Vr ) ) ; if ( 16384 & e . flags ) return vr ( Nr ( e . types , t , Vr ) , ! 0 ) ; if ( 32768 & e . flags ) return br ( Nr ( e . types , t , Vr ) ) ; } return e ; } function Hr ( t ) { switch ( e . Debug . assert ( 144 !== t . kind || e . isObjectLiteralMethod ( t ) ) , t . kind ) { case 176 : case 177 : return Gr ( t ) ; case 168 : return e . forEach ( t . properties , Hr ) ; case 167 : return e . forEach ( t . elements , Hr ) ; case 185 : return Hr ( t . whenTrue ) || Hr ( t . whenFalse ) ; case 184 : return 52 === t . operatorToken . kind && ( Hr ( t . left ) || Hr ( t . right ) ) ; case 248 : return Hr ( t . initializer ) ; case 144 : case 143 : return Gr ( t ) ; case 175 : return Hr ( t . expression ) ; } return ! 1 ; } function Gr ( t ) { return ! t . typeParameters && t . parameters . length && ! e . forEach ( t . parameters , function ( e ) { return e . type ; } ) ; } function Xr ( e ) { if ( 80896 & e . flags ) { var t = on ( e ) ; if ( t . constructSignatures . length ) { var n = le ( 65536 , e . symbol ) ; n . members = t . members , n . properties = t . properties , n . callSignatures = ql , n . constructSignatures = ql , e = n ; } } return e ; } function Qr ( e , t ) { return _a ( e , t , fp , void 0 ) ; } function Yr ( e , t ) { return _a ( e , t , fp , void 0 ) ? - 1 : 0 ; } function $r ( e , t ) { return _a ( e , t , pp , void 0 ) ? - 1 : 0 ; } function Zr ( e , t ) { return ta ( e , t , void 0 ) ; } function ea ( e , t ) { return na ( e , t , void 0 ) ; } function ta ( e , t , n , r , a ) { return _a ( e , t , dp , n , r , a ) ; } function na ( e , t , n , r , a ) { return _a ( e , t , pp , n , r , a ) ; } function ra ( e , t , n ) { return 0 !== aa ( e , t , n , ! 1 , void 0 , $r ) ; } function aa ( t , n , r , a , i , o ) { if ( t === n ) return - 1 ; if ( ! n . hasRestParameter && t . minArgumentCount > n . parameters . length ) return 0 ; t = Nn ( t ) , n = Nn ( n ) ; for ( var s = - 1 , c = sa ( t ) , _ = sa ( n ) , u = ca ( t , c , n , _ ) , l = t . parameters , d = n . parameters , p = 0 ; u > p ; p ++ ) { var f = c > p ? _t ( l [ p ] ) : An ( t ) , m = _ > p ? _t ( d [ p ] ) : An ( n ) , g = o ( f , m , ! 1 ) || o ( m , f , a ) ; if ( ! g ) return a && i ( e . Diagnostics . Types_of_parameters_0_and_1_are_incompatible , l [ c > p ? p : c ] . name , d [ _ > p ? p : _ ] . name ) , 0 ; s &= g ; } if ( ! r ) { var y = wn ( n ) ; if ( y === sd ) return s ; var h = wn ( t ) ; if ( n . typePredicate ) { if ( t . typePredicate ) s &= ia ( t . typePredicate , n . typePredicate , a , i , o ) ; else if ( e . isIdentifierTypePredicate ( n . typePredicate ) ) return a && i ( e . Diagnostics . Signature_0_must_have_a_type_predicate , we ( t ) ) , 0 ; } else s &= o ( h , y , a ) ; } return s ; } function ia ( t , n , r , a , i ) { if ( t . kind !== n . kind ) return r && ( a ( e . Diagnostics . A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard ) , a ( e . Diagnostics . Type_predicate_0_is_not_assignable_to_1 , Pe ( t ) , Pe ( n ) ) ) , 0 ; if ( 1 === t . kind ) { var o = t , s = n ; if ( o . parameterIndex !== s . parameterIndex ) return r && ( a ( e . Diagnostics . Parameter_0_is_not_in_the_same_position_as_parameter_1 , o . parameterName , s . parameterName ) , a ( e . Diagnostics . Type_predicate_0_is_not_assignable_to_1 , Pe ( t ) , Pe ( n ) ) ) , 0 ; } var c = i ( t . type , n . type , r ) ; return 0 === c && r && a ( e . Diagnostics . Type_predicate_0_is_not_assignable_to_1 , Pe ( t ) , Pe ( n ) ) , c ; } function oa ( e , t ) { var n = Nn ( e ) , r = Nn ( t ) , a = wn ( n ) , i = wn ( r ) ; return i === sd || _a ( i , a , pp , void 0 ) || _a ( a , i , pp , void 0 ) ? ra ( n , r , ! 0 ) : ! 1 ; } function sa ( e ) { var t = e . parameters . length ; return e . hasRestParameter ? t - 1 : t ; } function ca ( e , t , n , r ) { return e . hasRestParameter === n . hasRestParameter ? e . hasRestParameter ? Math . max ( t , r ) + 1 : Math . min ( t , r ) : e . hasRestParameter ? r : t ; } function _a ( t , n , r , a , i , o ) { function c ( t , n , r , i ) { e . Debug . assert ( ! ! a ) , P = e . chainDiagnosticMessages ( P , t , n , r , i ) ; } function _ ( t , n , r ) { var a = Ae ( n ) , i = Ae ( r ) ; a === i && ( a = Ae ( n , void 0 , 128 ) , i = Ae ( r , void 0 , 128 ) ) , c ( t || e . Diagnostics . Type_0_is_not_assignable_to_type_1 , a , i ) ; } function u ( e , t , n , a ) { var i ; if ( e === t ) return - 1 ; if ( r === fp ) return l ( e , t ) ; if ( Ue ( t ) ) return - 1 ; if ( e === cd ) return - 1 ; if ( e === _d && t !== cd ) return - 1 ; if ( 128 & e . flags && t === ad ) return - 1 ; if ( 128 & e . flags && 128 & t . flags && ( i = A ( e , t ) ) ) return i ; if ( 256 & e . flags && t === rd ) return - 1 ; if ( r === pp ) { if ( Ue ( e ) ) return - 1 ; if ( e === ad && 128 & t . flags ) return - 1 ; } if ( 8 & e . flags && 8 & t . flags ) return - 1 ; if ( 1048576 & e . flags ) { if ( p ( e , t , n ) ) return n && _ ( a , e , t ) , 0 ; 49152 & t . flags && ( e = Sa ( e ) ) ; } var o = P ; if ( 16384 & e . flags ) { if ( i = h ( e , t , n ) ) return i ; } else if ( 32768 & t . flags ) { if ( i = g ( e , t , n ) ) return i ; } else { if ( 32768 & e . flags && ( i = y ( e , t , n && ! ( 16384 & t . flags ) ) ) ) return i ; if ( 16384 & t . flags && ( i = m ( e , t , n ) ) ) return i ; } if ( 512 & e . flags ) { var s = Bn ( e ) ; ( ! s || 1 & s . flags ) && ( s = ld ) ; var c = n && s !== ld ; if ( i = u ( s , t , c ) ) return P = o , i ; } else { if ( 4096 & e . flags && 4096 & t . flags && e . target === t . target && ( i = v ( e , t , n ) ) ) return i ; var d = dn ( e ) ; if ( 113664 & d . flags && 80896 & t . flags ) { var f = n && P === o && ! ( 16777726 & e . flags ) ; if ( i = k ( d , e , t , f ) ) return P = o , i ; } } return n && _ ( a , e , t ) , 0 ; } function l ( e , t ) { var n ; return 80896 & e . flags && 80896 & t . flags ? 4096 & e . flags && 4096 & t . flags && e . target === t . target && ( n = v ( e , t , ! 1 ) ) ? n : k ( e , e , t , ! 1 ) : ( 16384 & e . flags && 16384 & t . flags || 32768 & e . flags && 32768 & t . flags ) && ( n = f ( e , t ) ) && ( n &= f ( t , e ) ) ? n : 0 ; } function d ( e , t ) { if ( 80896 & e . flags ) { var n = on ( e ) ; if ( r === pp && ( e === yd || 0 === n . properties . length ) || n . stringIndexType || n . numberIndexType || mn ( e , t ) ) return ! 0 ; } else if ( 49152 & e . flags ) for ( var a = 0 , i = e . types ; a < i . length ; a ++ ) { var o = i [ a ] ; if ( d ( o , t ) ) return ! 0 ; } return ! 1 ; } function p ( t , n , r ) { if ( ! ( 67108864 & n . flags ) && fs ( n , 80896 ) ) for ( var i = 0 , o = sn ( t ) ; i < o . length ; i ++ ) { var s = o [ i ] ; if ( ! d ( n , s . name ) ) return r && ( e . Debug . assert ( ! ! a ) , a = s . valueDeclaration , c ( e . Diagnostics . Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1 , Ee ( s ) , Ae ( n ) ) ) , ! 0 ; } return ! 1 ; } function f ( e , t ) { for ( var n = - 1 , r = e . types , a = 0 , i = r ; a < i . length ; a ++ ) { var o = i [ a ] , s = m ( o , t , ! 1 ) ; if ( ! s ) return 0 ; n &= s ; } return n ; } function m ( e , t , n ) { for ( var r = t . types , a = 0 , i = r . length ; i > a ; a ++ ) { var o = u ( e , r [ a ] , n && a === i - 1 ) ; if ( o ) return o ; } return 0 ; } function g ( e , t , n ) { for ( var r = - 1 , a = t . types , i = 0 , o = a ; i < o . length ; i ++ ) { var s = o [ i ] , c = u ( e , s , n ) ; if ( ! c ) return 0 ; r &= c ; } return r ; } function y ( e , t , n ) { for ( var r = e . types , a = 0 , i = r . length ; i > a ; a ++ ) { var o = u ( r [ a ] , t , n && a === i - 1 ) ; if ( o ) return o ; } return 0 ; } function h ( e , t , n ) { for ( var r = - 1 , a = e . types , i = 0 , o = a ; i < o . length ; i ++ ) { var s = o [ i ] , c = u ( s , t , n ) ; if ( ! c ) return 0 ; r &= c ; } return r ; } function v ( e , t , n ) { var a = e . typeArguments || ql , i = t . typeArguments || ql ; if ( a . length !== i . length && r === fp ) return 0 ; for ( var o = a . length <= i . length ? a . length : i . length , s = - 1 , c = 0 ; o > c ; c ++ ) { var _ = u ( a [ c ] , i [ c ] , n ) ; if ( ! _ ) return 0 ; s &= _ ; } return s ; } function k ( t , n , a , i ) { if ( L ) return 0 ; var o = r !== fp || t . id < a . id ? t . id + "," + a . id : a . id + "," + t . id , s = r [ o ] ; if ( void 0 !== s ) { if ( ! i || 2 !== s ) return 1 === s ? - 1 : 0 ; r [ o ] = 3 ; } if ( F > 0 ) { for ( var c = 0 ; F > c ; c ++ ) if ( R [ c ] [ o ] ) return 1 ; if ( 100 === F ) return L = ! 0 , 0 ; } else N = [ ] , O = [ ] , R = [ ] , I = 0 ; N [ F ] = t , O [ F ] = a , R [ F ] = { } , R [ F ] [ o ] = 1 , F ++ ; var _ = I ; 1 & I || ! la ( t , N , F ) || ( I |= 1 ) , 2 & I || ! la ( a , O , F ) || ( I |= 2 ) ; var u ; if ( 3 === I ? u = 1 : ( u = b ( t , a , i ) , u && ( u &= C ( t , a , 0 , i ) , u && ( u &= C ( t , a , 1 , i ) , u && ( u &= T ( t , n , a , i ) , u && ( u &= E ( t , n , a , i ) ) ) ) ) ) , I = _ , F -- , u ) { var l = R [ F ] , d = - 1 === u || 0 === F ? r : R [ F - 1 ] ; e . copyMap ( l , d ) ; } else r [ o ] = i ? 3 : 2 ; return u ; } function b ( t , n , a ) { if ( r === fp ) return x ( t , n ) ; for ( var i = - 1 , o = sn ( n ) , s = r === dp && ! ( 524288 & t . flags ) , _ = 0 , l = o ; _ < l . length ; _ ++ ) { var d = l [ _ ] , p = mn ( t , d . name ) ; if ( p !== d ) if ( p ) { if ( ! ( 134217728 & d . flags ) ) { var f = io ( p ) , m = io ( d ) ; if ( 16 & f || 16 & m ) { if ( p . valueDeclaration !== d . valueDeclaration ) return a && ( 16 & f && 16 & m ? c ( e . Diagnostics . Types_have_separate_declarations_of_a_private_property_0 , Ee ( d ) ) : c ( e . Diagnostics . Property_0_is_private_in_type_1_but_not_in_type_2 , Ee ( d ) , Ae ( 16 & f ? t : n ) , Ae ( 16 & f ? n : t ) ) ) , 0 ; } else if ( 32 & m ) { var g = p . parent && 32 & p . parent . flags , y = g ? Ot ( ie ( p ) ) : void 0 , h = Ot ( ie ( d ) ) ; if ( ! y || ! lt ( y , h ) ) return a && c ( e . Diagnostics . Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2 , Ee ( d ) , Ae ( y || t ) , Ae ( h ) ) , 0 ; } else if ( 32 & f ) return a && c ( e . Diagnostics . Property_0_is_protected_in_type_1_but_public_in_type_2 , Ee ( d ) , Ae ( t ) , Ae ( n ) ) , 0 ; var v = u ( _t ( p ) , _t ( d ) , a ) ; if ( ! v ) return a && c ( e . Diagnostics . Types_of_property_0_are_incompatible , Ee ( d ) ) , 0 ; if ( i &= v , 536870912 & p . flags && ! ( 536870912 & d . flags ) ) return a && c ( e . Diagnostics . Property_0_is_optional_in_type_1_but_required_in_type_2 , Ee ( d ) , Ae ( t ) , Ae ( n ) ) , 0 ; } } else if ( ! ( 536870912 & d . flags ) || s ) return a && c ( e . Diagnostics . Property_0_is_missing_in_type_1 , Ee ( d ) , Ae ( t ) ) , 0 ; } return i ; } function x ( e , t ) { if ( ! ( 80896 & e . flags && 80896 & t . flags ) ) return 0 ; var n = sn ( e ) , r = sn ( t ) ; if ( n . length !== r . length ) return 0 ; for ( var a = - 1 , i = 0 , o = n ; i < o . length ; i ++ ) { var s = o [ i ] , c = cn ( t , s . name ) ; if ( ! c ) return 0 ; var _ = pa ( s , c , u ) ; if ( ! _ ) return 0 ; a &= _ ; } return a ; } function C ( t , n , a , i ) { if ( r === fp ) return S ( t , n , a ) ; if ( n === fd || t === fd ) return - 1 ; var o = yn ( t , a ) , s = yn ( n , a ) ; if ( 1 === a && o . length && s . length && ua ( t ) && ! ua ( n ) ) return i && c ( e . Diagnostics . Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type ) , 0 ; var _ = - 1 , u = P ; e : for ( var l = 0 , d = s ; l < d . length ; l ++ ) { var p = d [ l ] ; if ( ! p . hasStringLiterals || 262144 & n . flags ) { for ( var f = i , m = 0 , g = o ; m < g . length ; m ++ ) { var y = g [ m ] ; if ( ! y . hasStringLiterals || 262144 & t . flags ) { var h = D ( y , p , f ) ; if ( h ) { _ &= h , P = u ; continue e ; } f = ! 1 ; } } return f && c ( e . Diagnostics . Type_0_provides_no_match_for_the_signature_1 , Ae ( t ) , we ( p , void 0 , void 0 , a ) ) , 0 ; } } return _ ; } function D ( e , t , n ) { return aa ( e , t , ! 1 , n , c , u ) ; } function S ( e , t , n ) { var r = yn ( e , n ) , a = yn ( t , n ) ; if ( r . length !== a . length ) return 0 ; for ( var i = - 1 , o = 0 , s = r . length ; s > o ; o ++ ) { var c = ma ( r [ o ] , a [ o ] , ! 1 , ! 1 , u ) ; if ( ! c ) return 0 ; i &= c ; } return i ; } function T ( t , n , a , i ) { if ( r === fp ) return w ( 0 , t , a ) ; var o = vn ( a , 0 ) ; if ( o ) { if ( 1 & o . flags && ! ( 16777726 & n . flags ) ) return - 1 ; var s = vn ( t , 0 ) ; if ( ! s ) return i && c ( e . Diagnostics . Index_signature_is_missing_in_type_0 , Ae ( t ) ) , 0 ; var _ = u ( s , o , i ) ; return _ ? _ : ( i && c ( e . Diagnostics . Index_signatures_are_incompatible ) , 0 ) ; } return - 1 ; } function E ( t , n , a , i ) { if ( r === fp ) return w ( 1 , t , a ) ; var o = vn ( a , 1 ) ; if ( o ) { if ( 1 & o . flags && ! ( 16777726 & n . flags ) ) return - 1 ; var s = vn ( t , 0 ) , _ = vn ( t , 1 ) ; if ( ! s && ! _ ) return i && c ( e . Diagnostics . Index_signature_is_missing_in_type_0 , Ae ( t ) ) , 0 ; var l = void 0 ; return l = s && _ ? u ( s , o , ! 1 ) || u ( _ , o , i ) : u ( s || _ , o , i ) , l ? l : ( i && c ( e . Diagnostics . Index_signatures_are_incompatible ) , 0 ) ; } return - 1 ; } function w ( e , t , n ) { var r = vn ( n , e ) , a = vn ( t , e ) ; return a || r ? a && r ? u ( a , r ) : 0 : - 1 ; } function A ( t , n ) { if ( t . symbol . name !== n . symbol . name || 128 & t . symbol . flags || 128 & n . symbol . flags ) return 0 ; for ( var r = _t ( n . symbol ) , a = 0 , i = un ( _t ( t . symbol ) ) ; a < i . length ; a ++ ) { var o = i [ a ] ; if ( 8 & o . flags ) { var s = mn ( r , o . name ) ; if ( ! ( s && 8 & s . flags ) ) return c ( e . Diagnostics . Property_0_is_missing_in_type_1 , o . name , Ae ( n , void 0 , 128 ) ) , 0 ; } } return - 1 ; } var P , N , O , R , I , F = 0 , L = ! 1 ; e . Debug . assert ( r !== fp || ! a , "no error reporting in identity checking" ) ; var M = u ( t , n , ! ! a , i ) ; return L ? s ( a , e . Diagnostics . Excessive_stack_depth_comparing_types_0_and_1 , Ae ( t ) , Ae ( n ) ) : P && ( o && ( P = e . concatenateDiagnosticMessageChains ( o , P ) ) , cp . add ( e . createDiagnosticForNodeFromMessageChain ( a , P ) ) ) , 0 !== M ; } function ua ( e ) { if ( 65536 & e . flags ) { var t = e . symbol ; if ( t && 32 & t . flags ) { var n = v_ ( t ) ; if ( n && 128 & n . flags ) return ! 0 ; } } return ! 1 ; } function la ( e , t , n ) { if ( 135168 & e . flags && n >= 5 ) for ( var r = e . symbol , a = 0 , i = 0 ; n > i ; i ++ ) { var o = t [ i ] ; if ( 135168 & o . flags && o . symbol === r && ( a ++ , a >= 5 ) ) return ! 0 ; } return ! 1 ; } function da ( e , t ) { return 0 !== pa ( e , t , Yr ) ; } function pa ( e , t , n ) { if ( e === t ) return - 1 ; var r = 48 & io ( e ) , a = 48 & io ( t ) ; if ( r !== a ) return 0 ; if ( r ) { if ( h_ ( e ) !== h_ ( t ) ) return 0 ; } else if ( ( 536870912 & e . flags ) !== ( 536870912 & t . flags ) ) return 0 ; return n ( _t ( e ) , _t ( t ) ) ; } function fa ( e , t , n ) { return e . parameters . length === t . parameters . length && e . minArgumentCount === t . minArgumentCount && e . hasRestParameter === t . hasRestParameter ? ! 0 : ! ! ( n && e . minArgumentCount <= t . minArgumentCount && ( e . hasRestParameter && ! t . hasRestParameter || e . hasRestParameter === t . hasRestParameter && e . parameters . length >= t . parameters . length ) ) ; } function ma ( e , t , n , r , a ) { if ( e === t ) return - 1 ; if ( ! fa ( e , t , n ) ) return 0 ; if ( ( e . typeParameters ? e . typeParameters . length : 0 ) !== ( t . typeParameters ? t . typeParameters . length : 0 ) ) return 0 ; e = Nn ( e ) , t = Nn ( t ) ; for ( var i = - 1 , o = t . parameters . length , s = 0 ; o > s ; s ++ ) { var c = ga ( e , s ) ? An ( e ) : _t ( e . parameters [ s ] ) , _ = ga ( t , s ) ? An ( t ) : _t ( t . parameters [ s ] ) , u = a ( c , _ ) ; if ( ! u ) return 0 ; i &= u ; } return r || ( i &= a ( wn ( e ) , wn ( t ) ) ) , i ; } function ga ( e , t ) { return e . hasRestParameter && t >= e . parameters . length - 1 ; } function ya ( e , t ) { for ( var n = 0 , r = t ; n < r . length ; n ++ ) { var a = r [ n ] ; if ( e !== a && ! Zr ( a , e ) ) return ! 1 ; } return ! 0 ; } function ha ( t ) { return e . forEach ( t , function ( e ) { return ya ( e , t ) ? e : void 0 ; } ) ; } function va ( t , n , r ) { for ( var a , i , o = 0 , s = 0 ; s < t . length ; s ++ ) { for ( var c = 0 , _ = void 0 , u = 0 ; u < t . length ; u ++ ) Zr ( t [ u ] , t [ s ] ) ? c ++ : _ || ( _ = t [ u ] ) ; if ( e . Debug . assert ( ! ! _ , "If there is no common supertype, each type should have a downfallType" ) , c > o && ( a = t [ s ] , i = _ , o = c ) , o === t . length - 1 ) break ; } ta ( i , a , n , e . Diagnostics . Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0 , r ) ; } function ka ( e ) { return 4096 & e . flags && e . target === vd ; } function ba ( e ) { return ! ( 96 & e . flags ) && ea ( e , Ad ) ; } function xa ( e ) { return ! ! mn ( e , "0" ) ; } function Ca ( e ) { return 256 & e . flags ; } function Da ( e ) { return ! ! ( 8192 & e . flags ) ; } function Sa ( e ) { if ( 1048576 & e . flags ) { var t = e . regularType ; return t || ( t = _e ( - 1048577 & e . flags ) , t . symbol = e . symbol , t . members = e . members , t . properties = e . properties , t . callSignatures = e . callSignatures , t . constructSignatures = e . constructSignatures , t . stringIndexType = e . stringIndexType , t . numberIndexType = e . numberIndexType , e . regularType = t ) , t ; } return e ; } function Ta ( t ) { var n = sn ( t ) , r = { } ; e . forEach ( n , function ( e ) { var t = _t ( e ) , n = Ea ( t ) ; if ( t !== n ) { var a = c ( 67108864 | e . flags , e . name ) ; a . declarations = e . declarations , a . parent = e . parent , a . type = n , a . target = e , e . valueDeclaration && ( a . valueDeclaration = e . valueDeclaration ) , e = a ; } r [ e . name ] = e ; } ) ; var a = vn ( t , 0 ) , i = vn ( t , 1 ) ; return a && ( a = Ea ( a ) ) , i && ( i = Ea ( i ) ) , me ( t . symbol , r , ql , ql , a , i ) ; } function Ea ( t ) { if ( 6291456 & t . flags ) { if ( 96 & t . flags ) return nd ; if ( 524288 & t . flags ) return Ta ( t ) ; if ( 16384 & t . flags ) return vr ( e . map ( t . types , Ea ) , ! 0 ) ; if ( ka ( t ) ) return cr ( Ea ( t . typeArguments [ 0 ] ) ) ; if ( Da ( t ) ) return ur ( e . map ( t . elementTypes , Ea ) ) ; } return t ; } function wa ( t ) { var n = ! 1 ; if ( 16384 & t . flags ) for ( var r = 0 , a = t . types ; r < a . length ; r ++ ) { var i = a [ r ] ; wa ( i ) && ( n = ! 0 ) ; } if ( ka ( t ) ) return wa ( t . typeArguments [ 0 ] ) ; if ( Da ( t ) ) for ( var o = 0 , c = t . elementTypes ; o < c . length ; o ++ ) { var i = c [ o ] ; wa ( i ) && ( n = ! 0 ) ; } if ( 524288 & t . flags ) for ( var _ = 0 , u = sn ( t ) ; _ < u . length ; _ ++ ) { var l = u [ _ ] , i = _t ( l ) ; 2097152 & i . flags && ( wa ( i ) || s ( l . valueDeclaration , e . Diagnostics . Object_literal_s_property_0_implicitly_has_an_1_type , l . name , Ae ( Ea ( i ) ) ) , n = ! 0 ) ; } return n ; } function Aa ( t , n ) { var r , a = Ae ( Ea ( n ) ) ; switch ( t . kind ) { case 142 : case 141 : r = e . Diagnostics . Member_0_implicitly_has_an_1_type ; break ; case 139 : r = t . dotDotDotToken ? e . Diagnostics . Rest_parameter_0_implicitly_has_an_any_type : e . Diagnostics . Parameter_0_implicitly_has_an_1_type ; break ; case 216 : case 144 : case 143 : case 146 : case 147 : case 176 : case 177 : if ( ! t . name ) return void s ( t , e . Diagnostics . Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type , a ) ; r = e . Diagnostics . _0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type ; break ; default : r = e . Diagnostics . Variable_0_implicitly_has_an_1_type ; } s ( t , r , e . declarationNameToString ( t . name ) , a ) ; } function Pa ( e , t ) { a && Vl . noImplicitAny && 2097152 & t . flags && ( wa ( t ) || Aa ( e , t ) ) ; } function Na ( e , t , n ) { var r , a = e . parameters . length , i = t . parameters . length ; e . hasRestParameter && t . hasRestParameter ? ( r = a > i ? a : i , a -- , i -- ) : e . hasRestParameter ? ( a -- , r = i ) : t . hasRestParameter ? ( i -- , r = a ) : r = i > a ? a : i ; for ( var o = 0 ; r > o ; o ++ ) { var s = a > o ? _t ( e . parameters [ o ] ) : An ( e ) , c = i > o ? _t ( t . parameters [ o ] ) : An ( t ) ; n ( s , c ) ; } } function Oa ( t , n ) { var r = e . map ( t , Ra ) ; return { typeParameters : t , inferUnionTypes : n , inferences : r , inferredTypes : new Array ( t . length ) } ; } function Ra ( ) { return { primary : void 0 , secondary : void 0 , isFixed : ! 1 } ; } function Ia ( t , n , r ) { function a ( e , t ) { for ( var n = 0 ; p > n ; n ++ ) if ( e === u [ n ] && t === l [ n ] ) return ! 0 ; return ! 1 ; } function i ( n , r ) { if ( 16384 & n . flags && 16384 & r . flags || 32768 & n . flags && 32768 & r . flags ) { for ( var c = void 0 , g = 0 , y = r . types ; g < y . length ; g ++ ) { var h = y [ g ] ; Fa ( h , n . types ) && ( ( c || ( c = [ ] ) ) . push ( h ) , i ( h , h ) ) ; } c && ( n = La ( n , c ) , r = La ( r , c ) ) ; } if ( 512 & r . flags ) { if ( 8388608 & n . flags ) return ; for ( var v = t . typeParameters , k = 0 ; k < v . length ; k ++ ) if ( r === v [ k ] ) { var b = t . inferences [ k ] ; if ( ! b . isFixed ) { var x = f ? b . secondary || ( b . secondary = [ ] ) : b . primary || ( b . primary = [ ] ) ; e . contains ( x , n ) || x . push ( n ) ; } return ; } } else if ( 4096 & n . flags && 4096 & r . flags && n . target === r . target ) for ( var C = n . typeArguments || ql , D = r . typeArguments || ql , S = C . length < D . length ? C . length : D . length , k = 0 ; S > k ; k ++ ) i ( C [ k ] , D [ k ] ) ; else if ( 8192 & n . flags && 8192 & r . flags && n . elementTypes . length === r . elementTypes . length ) for ( var C = n . elementTypes , D = r . elementTypes , k = 0 ; k < C . length ; k ++ ) i ( C [ k ] , D [ k ] ) ; else if ( 49152 & r . flags ) { for ( var D = r . types , T = 0 , E = void 0 , w = 0 , A = D ; w < A . length ; w ++ ) { var h = A [ w ] ; 512 & h . flags && e . contains ( t . typeParameters , h ) ? ( E = h , T ++ ) : i ( n , h ) ; } 16384 & r . flags && 1 === T && ( f ++ , i ( n , E ) , f -- ) ; } else if ( 49152 & n . flags ) for ( var C = n . types , P = 0 , N = C ; P < N . length ; P ++ ) { var O = N [ P ] ; i ( O , r ) ; } else if ( n = dn ( n ) , 80896 & n . flags && ( 4096 & r . flags && r . typeArguments || 8192 & r . flags || 65536 & r . flags && r . symbol && 10272 & r . symbol . flags ) ) { if ( a ( n , r ) ) return ; if ( p > d ) return ; if ( la ( n , u , p ) && la ( r , l , p ) ) return ; var R = n . id + "," + r . id ; if ( e . hasProperty ( m , R ) ) return ; m [ R ] = ! 0 , 0 === p && ( u = [ ] , l = [ ] ) , u [ p ] = n , l [ p ] = r , p ++ , o ( n , r ) , s ( n , r , 0 ) , s ( n , r , 1 ) , _ ( n , r , 0 , 0 ) , _ ( n , r , 1 , 1 ) , _ ( n , r , 0 , 1 ) , p -- ; } } function o ( e , t ) { for ( var n = sn ( t ) , r = 0 , a = n ; r < a . length ; r ++ ) { var o = a [ r ] , s = cn ( e , o . name ) ; s && i ( _t ( s ) , _t ( o ) ) ; } } function s ( e , t , n ) { for ( var r = yn ( e , n ) , a = yn ( t , n ) , i = r . length , o = a . length , s = o > i ? i : o , _ = 0 ; s > _ ; _ ++ ) c ( Nn ( r [ i - s + _ ] ) , Nn ( a [ o - s + _ ] ) ) ; } function c ( e , t ) { Na ( e , t , i ) , e . typePredicate && t . typePredicate && e . typePredicate . kind === t . typePredicate . kind ? i ( e . typePredicate . type , t . typePredicate . type ) : i ( wn ( e ) , wn ( t ) ) ; } function _ ( e , t , n , r ) { var a = vn ( t , r ) ; if ( a ) { var o = vn ( e , n ) ; o && i ( o , a ) ; } } var u , l , d = 5 , p = 0 , f = 0 , m = { } ; i ( n , r ) ; } function Fa ( e , t ) { for ( var n = 0 , r = t ; n < r . length ; n ++ ) { var a = r [ n ] ; if ( Qr ( a , e ) ) return ! 0 ; } return ! 1 ; } function La ( e , t ) { for ( var n = [ ] , r = 0 , a = e . types ; r < a . length ; r ++ ) { var i = a [ r ] ; Fa ( i , t ) || n . push ( i ) ; } return 16384 & e . flags ? vr ( n , ! 0 ) : br ( n ) ; } function Ma ( e , t ) { var n = e . inferences [ t ] ; return n . primary || n . secondary || ql ; } function Ba ( e , t ) { var n , r = e . inferredTypes [ t ] ; if ( ! r ) { var a = Ma ( e , t ) ; if ( a . length ) { var i = e . inferUnionTypes ? vr ( a ) : ha ( a ) ; r = i ? Ea ( i ) : ud , n = ! ! i ; } else r = ld , n = ! 0 ; if ( e . inferredTypes [ t ] = r , n ) { var o = Bn ( e . typeParameters [ t ] ) ; if ( o ) { var s = Vr ( o , Br ( e ) ) ; ea ( r , Jt ( s , r ) ) || ( e . inferredTypes [ t ] = r = s ) ; } } else ( void 0 === e . failedTypeParameterIndex || e . failedTypeParameterIndex > t ) && ( e . failedTypeParameterIndex = t ) ; } return r ; } function za ( e ) { for ( var t = 0 ; t < e . inferredTypes . length ; t ++ ) Ba ( e , t ) ; return e . inferredTypes ; } function Ka ( t ) { var n = h ( t ) ; return n . resolvedSymbol || ( n . resolvedSymbol = ! e . nodeIsMissing ( t ) && C ( t , t . text , 1156031 , e . Diagnostics . Cannot_find_name_0 , t ) || ed ) , n . resolvedSymbol ; } function ja ( t ) { for ( ; t ; ) switch ( t . kind ) { case 155 : return ! 0 ; case 69 : case 136 : t = t . parent ; continue ; default : return ! 1 ; } e . Debug . fail ( "should not get here" ) ; } function Ja ( t ) { return ! ! ( t . initializer || e . isBindingPattern ( t . parent ) && Ja ( t . parent . parent ) ) ; } function Ua ( t , n ) { function r ( n ) { if ( n . operatorToken . kind >= 56 && n . operatorToken . kind <= 68 ) { var r = Wa ( n . left ) ; if ( 69 === r . kind && Ka ( r ) === t ) return ! 0 ; } return e . forEachChild ( n , i ) ; } function a ( n ) { return ! e . isBindingPattern ( n . name ) && ae ( n ) === t && Ja ( n ) ? ! 0 : e . forEachChild ( n , i ) ; } function i ( t ) { switch ( t . kind ) { case 184 : return r ( t ) ; case 214 : case 166 : return a ( t ) ; case 164 : case 165 : case 167 : case 168 : case 169 : case 170 : case 171 : case 172 : case 174 : case 192 : case 175 : case 182 : case 178 : case 181 : case 179 : case 180 : case 183 : case 187 : case 185 : case 188 : case 195 : case 196 : case 198 : case 199 : case 200 : case 201 : case 202 : case 203 : case 204 : case 207 : case 208 : case 209 : case 244 : case 245 : case 210 : case 211 : case 212 : case 247 : case 236 : case 237 : case 241 : case 242 : case 238 : case 243 : return e . forEachChild ( t , i ) ; } return ! 1 ; } var o = h ( n ) ; if ( o . assignmentChecks ) { var s = o . assignmentChecks [ t . id ] ; if ( void 0 !== s ) return s ; } else o . assignmentChecks = { } ; return o . assignmentChecks [ t . id ] = i ( n ) ; } function qa ( t , n ) { function r ( n , r , a ) { function i ( e ) { return a === ! ! ( e . flags & _ ) ; } if ( 179 !== r . left . kind || 9 !== r . right . kind ) return n ; var o = r . left , s = r . right ; if ( 69 !== o . expression . kind || Ka ( o . expression ) !== t ) return n ; 33 === r . operatorToken . kind && ( a = ! a ) ; var c = _p [ s . text ] ; if ( c && c . type === cd ) return n ; var _ ; return c ? _ = c . flags : ( a = ! a , _ = 16777614 ) , 16384 & n . flags ? vr ( e . filter ( n . types , i ) , ! 0 ) : a && c && Zr ( c . type , n ) ? c . type : i ( n ) ? n : dd ; } function a ( e , t , n ) { return n ? l ( l ( e , t . left , ! 0 ) , t . right , ! 0 ) : vr ( [ l ( e , t . left , ! 1 ) , l ( e , t . right , ! 1 ) ] ) ; } function i ( e , t , n ) { return n ? vr ( [ l ( e , t . left , ! 0 ) , l ( e , t . right , ! 0 ) ] ) : l ( l ( e , t . left , ! 1 ) , t . right , ! 1 ) ; } function o ( n , r , a ) { if ( Ue ( n ) || 69 !== r . left . kind || Ka ( r . left ) !== t ) return n ; var i = Ls ( r . right ) ; if ( ! Zr ( i , hd ) ) return n ; var o , c = mn ( i , "prototype" ) ; if ( c ) { var _ = _t ( c ) ; Ue ( _ ) || ( o = _ ) ; } if ( ! o ) { var u = void 0 ; 2048 & i . flags ? u = jt ( i ) . declaredConstructSignatures : 65536 & i . flags && ( u = yn ( i , 1 ) ) , u && u . length && ( o = vr ( e . map ( u , function ( e ) { return wn ( Nn ( e ) ) ; } ) ) ) ; } return o ? s ( n , o , a ) : n ; } function s ( t , n , r ) { if ( ! r ) return 16384 & t . flags ? vr ( e . filter ( t . types , function ( e ) { return ! Zr ( e , n ) ; } ) ) : t ; if ( 16384 & t . flags ) { var a = e . filter ( t . types , function ( e ) { return ea ( e , n ) ; } ) ; if ( a . length ) return vr ( a ) ; } return ea ( n , t ) ? n : t ; } function c ( n , r , a ) { if ( 1 & n . flags ) return n ; var i = Uo ( r ) , o = i . typePredicate ; if ( ! o ) return n ; if ( ! e . isIdentifierTypePredicate ( o ) ) { var c = Wa ( r . expression ) ; return _ ( n , o , c , a ) ; } return r . arguments [ o . parameterIndex ] && u ( r . arguments [ o . parameterIndex ] ) === t ? s ( n , o . type , a ) : n ; } function _ ( e , n , r , a ) { if ( 170 === r . kind || 169 === r . kind ) { var i = r , o = Wa ( i . expression ) ; if ( 69 === o . kind && u ( o ) === t ) return s ( e , n . type , a ) ; } return e ; } function u ( e ) { switch ( e = Wa ( e ) , e . kind ) { case 69 : case 169 : return su ( e ) ; } } function l ( e , t , n ) { switch ( t . kind ) { case 171 : return c ( e , t , n ) ; case 175 : return l ( e , t . expression , n ) ; case 184 : var s = t . operatorToken . kind ; if ( 32 === s || 33 === s ) return r ( e , t , n ) ; if ( 51 === s ) return a ( e , t , n ) ; if ( 52 === s ) return i ( e , t , n ) ; if ( 91 === s ) return o ( e , t , n ) ; break ; case 182 : if ( 49 === t . operator ) return l ( e , t . operand , ! n ) ; } return e ; } var d = _t ( t ) ; if ( n && 3 & t . flags && ( Ue ( d ) || 97792 & d . flags ) ) { var p = e . getDeclarationOfKind ( t , 214 ) , f = p && Ke ( p ) , m = d , g = [ ] ; e : for ( ; n . parent ; ) { var y = n ; switch ( n = n . parent , n . kind ) { case 199 : case 185 : case 184 : g . push ( { node : n , child : y } ) ; break ; case 251 : case 221 : break e ; } if ( n === f ) break ; } for ( var h = void 0 ; h = g . pop ( ) ; ) { var v = h . node , y = h . child ; switch ( v . kind ) { case 199 : y !== v . expression && ( d = l ( d , v . expression , y === v . thenStatement ) ) ; break ; case 185 : y !== v . condition && ( d = l ( d , v . condition , y === v . whenTrue ) ) ; break ; case 184 : y === v . right && ( 51 === v . operatorToken . kind ? d = l ( d , v . left , ! 0 ) : 52 === v . operatorToken . kind && ( d = l ( d , v . left , ! 1 ) ) ) ; break ; default : e . Debug . fail ( "Unreachable!" ) ; } d !== m && Ua ( t , v ) && ( d = m ) ; } d === dd && ( d = m ) ; } return d ; } function Wa ( e ) { for ( ; 175 === e . kind ; ) e = e . expression ; return e ; } function Va ( t ) { var n = Ka ( t ) ; if ( n === $l ) { var r = e . getContainingFunction ( t ) ; 177 === r . kind && 2 > Hl && s ( t , e . Diagnostics . The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression ) , 8 & t . parserContextFlags && ( h ( r ) . flags |= 8192 ) ; } 8388608 & n . flags && ! ja ( t ) && ! Tu ( j ( n ) ) && U ( n ) ; var a = oe ( n ) ; if ( 2 === Hl && 32 & a . flags && 217 === a . valueDeclaration . kind && e . nodeIsDecorated ( a . valueDeclaration ) ) for ( var r = e . getContainingClass ( t ) ; void 0 !== r ; ) { if ( r === a . valueDeclaration && r . name !== t ) { h ( r ) . flags |= 524288 , h ( t ) . flags |= 1048576 ; break ; } r = e . getContainingClass ( r ) ; } return Oc ( t , t ) , Pc ( t , t ) , Ga ( t , n ) , qa ( a , t ) ; } function Ha ( t , n ) { for ( var r = t ; r && r !== n ; ) { if ( e . isFunctionLike ( r ) ) return ! 0 ; r = r . parent ; } return ! 1 ; } function Ga ( t , n ) { if ( ! ( Hl >= 2 || 0 === ( 34 & n . flags ) || 247 === n . valueDeclaration . parent . kind ) ) { for ( var r = e . getEnclosingBlockScopeContainer ( n . valueDeclaration ) , a = Ha ( t . parent , r ) , i = r , o = ! 1 ; i && ! e . nodeStartsNewLexicalEnvironment ( i ) ; ) { if ( e . isIterationStatement ( i , ! 1 ) ) { o = ! 0 ; break ; } i = i . parent ; } o && ( a && ( h ( i ) . flags |= 65536 ) , 202 === r . kind && e . getAncestor ( n . valueDeclaration , 215 ) . parent === r && Xa ( t , r ) && ( h ( n . valueDeclaration ) . flags |= 2097152 ) , h ( n . valueDeclaration ) . flags |= 262144 ) , a && ( h ( n . valueDeclaration ) . flags |= 131072 ) ; } } function Xa ( t , n ) { for ( var r = t ; 175 === r . parent . kind ; ) r = r . parent ; var a = ! 1 ; if ( 184 === r . parent . kind && ( a = r . parent . left === r && e . isAssignmentOperator ( r . parent . operatorToken . kind ) ) , 182 === r . parent . kind || 183 === r . parent . kind ) { var i = r . parent ; a = 41 === i . operator || 42 === i . operator ; } if ( ! a ) return ! 1 ; for ( ; r !== n ; ) { if ( r === n . statement ) return ! 0 ; r = r . parent ; } return ! 1 ; } function Qa ( e , t ) { if ( h ( e ) . flags |= 2 , 142 === t . kind || 145 === t . kind ) { var n = t . parent ; h ( n ) . flags |= 4 ; } else h ( t ) . flags |= 4 ; } function Ya ( t ) { if ( e . isSuperCallExpression ( t ) ) return t ; if ( ! e . isFunctionLike ( t ) ) return e . forEachChild ( t , Ya ) ; } function $a ( e ) { var t = h ( e ) ; return void 0 === t . hasSuperCall && ( t . superCall = Ya ( e . body ) , t . hasSuperCall = ! ! t . superCall ) , t . superCall ; } function Za ( e ) { var t = ae ( e ) , n = Ot ( t ) , r = bt ( n ) ; return r === _d ; } function ei ( t ) { var n = e . getThisContainer ( t , ! 0 ) , r = ! 1 ; if ( 145 === n . kind ) { var a = n . parent , i = e . getClassExtendsHeritageClauseElement ( a ) ; if ( i && ! Za ( a ) ) { var o = $a ( n ) ; ( ! o || o . end > t . pos ) && s ( t , e . Diagnostics . super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class ) ; } } switch ( 177 === n . kind && ( n = e . getThisContainer ( n , ! 1 ) , r = 2 > Hl ) , n . kind ) { case 221 : s ( t , e . Diagnostics . this_cannot_be_referenced_in_a_module_or_namespace_body ) ; break ; case 220 : s ( t , e . Diagnostics . this_cannot_be_referenced_in_current_location ) ; break ; case 145 : ni ( t , n ) && s ( t , e . Diagnostics . this_cannot_be_referenced_in_constructor_arguments ) ; break ; case 142 : case 141 : 64 & n . flags && s ( t , e . Diagnostics . this_cannot_be_referenced_in_a_static_property_initializer ) ; break ; case 137 : s ( t , e . Diagnostics . this_cannot_be_referenced_in_a_computed_property_name ) ; } if ( r && Qa ( t , n ) , e . isClassLike ( n . parent ) ) { var c = ae ( n . parent ) ; return 64 & n . flags ? _t ( c ) : Ot ( c ) . thisType ; } if ( e . isInJavaScriptFile ( t ) ) { var _ = ti ( n ) ; if ( _ && _ !== ud ) return _ ; if ( 176 === n . kind && 3 === e . getSpecialPropertyAssignmentKind ( n . parent ) ) { var u = n . parent . left . expression . expression , l = Ls ( u ) . symbol ; if ( l && l . members && 16 & l . flags ) return qo ( l ) ; } } return nd ; } function ti ( t ) { var n = e . getJSDocTypeTag ( t ) ; if ( n && n . typeExpression && n . typeExpression . type && 264 === n . typeExpression . type . kind ) { var r = n . typeExpression . type ; if ( r . parameters . length > 0 && 267 === r . parameters [ 0 ] . type . kind ) return Pr ( r . parameters [ 0 ] . type ) ; } } function ni ( e , t ) { for ( var n = e ; n && n !== t ; n = n . parent ) if ( 139 === n . kind ) return ! 0 ; return ! 1 ; } function ri ( t ) { function n ( t ) { return t ? r ? 145 === t . kind : e . isClassLike ( t . parent ) || 168 === t . parent . kind ? 64 & t . flags ? 144 === t . kind || 143 === t . kind || 146 === t . kind || 147 === t . kind : 144 === t . kind || 143 === t . kind || 146 === t . kind || 147 === t . kind || 142 === t . kind || 141 === t . kind || 145 === t . kind : ! 1 : ! 1 ; } var r = 171 === t . parent . kind && t . parent . expression === t , a = e . getSuperContainer ( t , ! 0 ) , i = ! 1 ; if ( ! r ) for ( ; a && 177 === a . kind ; ) a = e . getSuperContainer ( a , ! 0 ) , i = 2 > Hl ; var o = n ( a ) , c = 0 ; if ( ! o ) { for ( var _ = t ; _ && _ !== a && 137 !== _ . kind ; ) _ = _ . parent ; return _ && 137 === _ . kind ? s ( t , e . Diagnostics . super_cannot_be_referenced_in_a_computed_property_name ) : r ? s ( t , e . Diagnostics . Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors ) : a && a . parent && ( e . isClassLike ( a . parent ) || 168 === a . parent . kind ) ? s ( t , e . Diagnostics . super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class ) : s ( t , e . Diagnostics . super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions ) , ud ; } if ( c = 64 & a . flags || r ? 512 : 256 , h ( t ) . flags |= c , 144 === a . kind && 256 & a . flags && ( e . isSuperPropertyOrElementAccess ( t . parent ) && Ni ( t . parent ) ? h ( a ) . flags |= 4096 : h ( a ) . flags |= 2048 ) , i && Qa ( t . parent , a ) , 168 === a . parent . kind ) return 2 > Hl ? ( s ( t , e . Diagnostics . super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher ) , ud ) : nd ; var u = a . parent , l = Ot ( ae ( u ) ) , d = l && xt ( l ) [ 0 ] ; return d ? 145 === a . kind && ni ( t , a ) ? ( s ( t , e . Diagnostics . super_cannot_be_referenced_in_constructor_arguments ) , ud ) : 512 === c ? bt ( l ) : d : ( e . getClassExtendsHeritageClauseElement ( u ) || s ( t , e . Diagnostics . super_can_only_be_referenced_in_a_derived_class ) , ud ) ; } function ai ( t ) { var n = t . parent ; if ( ( Ei ( n ) || e . isObjectLiteralMethod ( n ) ) && Hr ( n ) ) { var r = Ai ( n ) ; if ( r ) { var a = e . hasRestParameter ( n ) , i = n . parameters . length - ( a ? 1 : 0 ) , o = e . indexOf ( n . parameters , t ) ; if ( i > o ) return Go ( r , o ) ; if ( a && o === n . parameters . length - 1 && ga ( r , n . parameters . length - 1 ) ) return _t ( e . lastOrUndefined ( r . parameters ) ) ; } } } function ii ( t ) { var n = t . parent ; if ( t === n . initializer ) { if ( n . type ) return Pr ( n . type ) ; if ( 139 === n . kind ) { var r = ai ( n ) ; if ( r ) return r ; } if ( e . isBindingPattern ( n . name ) ) return et ( n . name , ! 0 ) ; } } function oi ( t ) { var n = e . getContainingFunction ( t ) ; return n && ! n . asteriskToken ? _i ( n ) : void 0 ; } function si ( t ) { var n = e . getContainingFunction ( t ) ; if ( n ) { var r = _i ( n ) ; if ( r ) return t . asteriskToken ? r : t_ ( r ) ; } } function ci ( t ) { for ( ; t . parent && ! e . isFunctionLike ( t . parent ) ; ) { if ( 139 === t . parent . kind && t . parent . initializer === t ) return ! 0 ; t = t . parent ; } return ! 1 ; } function _i ( t ) { if ( t . type || 145 === t . kind || 146 === t . kind && e . getSetAccessorTypeAnnotationNode ( e . getDeclarationOfKind ( t . symbol , 147 ) ) ) return wn ( Sn ( t ) ) ; var n = wi ( t ) ; return n ? wn ( n ) : void 0 ; } function ui ( t , n ) { var r = wo ( t ) , a = e . indexOf ( r , n ) ; if ( a >= 0 ) { var i = Uo ( t ) ; return Go ( i , a ) ; } } function li ( e , t ) { return 173 === e . parent . kind ? ui ( e . parent , t ) : void 0 ; } function di ( e ) { var t = e . parent , n = t . operatorToken . kind ; if ( n >= 56 && 68 >= n ) { if ( e === t . right ) return Ls ( t . left ) ; } else { if ( 52 === n ) { var r = Si ( t ) ; return r || e !== t . right || ( r = Ls ( t . left ) ) , r ; } if ( ( 51 === n || 24 === n ) && e === t . right ) return Si ( t ) ; } } function pi ( e , t ) { if ( ! ( 16384 & e . flags ) ) return t ( e ) ; for ( var n , r , a = e . types , i = 0 , o = a ; i < o . length ; i ++ ) { var s = o [ i ] , c = t ( s ) ; c && ( n ? r ? r . push ( c ) : r = [ n , c ] : n = c ) ; } return r ? vr ( r ) : n ; } function fi ( e , t ) { return pi ( e , function ( e ) { var n = 130048 & e . flags ? mn ( e , t ) : void 0 ; return n ? _t ( n ) : void 0 ; } ) ; } function mi ( e , t ) { return pi ( e , function ( e ) { return hn ( e , t ) ; } ) ; } function gi ( t ) { return ! ! ( 16384 & t . flags ? e . forEach ( t . types , Ca ) : Ca ( t ) ) ; } function yi ( t ) { return ! ! ( 16384 & t . flags ? e . forEach ( t . types , xa ) : xa ( t ) ) ; } function hi ( t , n ) { return ! ! ( 16384 & t . flags ? e . forEach ( t . types , function ( e ) { return hn ( e , n ) ; } ) : hn ( t , n ) ) ; } function vi ( t ) { return e . Debug . assert ( e . isObjectLiteralMethod ( t ) ) , Z_ ( t ) ? void 0 : ki ( t ) ; } function ki ( t ) { var n = t . parent , r = Di ( n ) ; if ( r ) { if ( ! e . hasDynamicName ( t ) ) { var a = ae ( t ) . name , i = fi ( r , a ) ; if ( i ) return i ; } return Fi ( t . name ) && mi ( r , 1 ) || mi ( r , 0 ) ; } } function bi ( t ) { var n = t . parent , r = Di ( n ) ; if ( r ) { var a = e . indexOf ( n . elements , t ) ; return fi ( r , "" + a ) || mi ( r , 1 ) || ( Hl >= 2 ? Zc ( r , void 0 ) : void 0 ) ; } } function xi ( e ) { var t = e . parent ; return e === t . whenTrue || e === t . whenFalse ? Si ( t ) : void 0 ; } function Ci ( t ) { var n = t . kind , r = t . parent , a = Yi ( r ) ; if ( 241 === t . kind ) { if ( ! a || Ue ( a ) ) return ; return Je ( a , t . name . text ) ; } return 242 === t . kind ? a : void e . Debug . fail ( "Expected JsxAttribute or JsxSpreadAttribute, got ts.SyntaxKind[" + n + "]" ) ; } function Di ( e ) { var t = Si ( e ) ; return t && dn ( t ) ; } function Si ( t ) { if ( ! Z_ ( t ) ) { if ( t . contextualType ) return t . contextualType ; var n = t . parent ; switch ( n . kind ) { case 214 : case 139 : case 142 : case 141 : case 166 : return ii ( t ) ; case 177 : case 207 : return oi ( t ) ; case 187 : return si ( n ) ; case 171 : case 172 : return ui ( n , t ) ; case 174 : case 192 : return Pr ( n . type ) ; case 184 : return di ( t ) ; case 248 : return ki ( n ) ; case 167 : return bi ( t ) ; case 185 : return xi ( t ) ; case 193 : return e . Debug . assert ( 186 === n . parent . kind ) , li ( n . parent , t ) ; case 175 : return Si ( n ) ; case 243 : return Si ( n ) ; case 241 : case 242 : return Ci ( n ) ; } } } function Ti ( e ) { var t = gn ( e , 0 ) ; if ( 1 === t . length ) { var n = t [ 0 ] ; if ( ! n . typeParameters ) return n ; } } function Ei ( e ) { return 176 === e . kind || 177 === e . kind ; } function wi ( t ) { return Ei ( t ) || e . isObjectLiteralMethod ( t ) ? Ai ( t ) : void 0 ; } function Ai ( t ) { e . Debug . assert ( 144 !== t . kind || e . isObjectLiteralMethod ( t ) ) ; var n = e . isObjectLiteralMethod ( t ) ? vi ( t ) : Di ( t ) ; if ( n ) { if ( ! ( 16384 & n . flags ) ) return Ti ( n ) ; for ( var r , a = n . types , i = 0 , o = a ; i < o . length ; i ++ ) { var s = o [ i ] , c = Ti ( s ) ; if ( c ) if ( r ) { if ( ! ma ( r [ 0 ] , c , ! 1 , ! 0 , Yr ) ) return ; r . push ( c ) ; } else r = [ c ] ; } var _ ; return r && ( _ = Ht ( r [ 0 ] ) , _ . resolvedReturnType = void 0 , _ . unionSignatures = r ) , _ ; } } function Pi ( e ) { return e && e . context ; } function Ni ( e ) { var t = e . parent ; return 184 === t . kind && 56 === t . operatorToken . kind && t . left === e ? ! 0 : 248 === t . kind ? Ni ( t . parent ) : 167 === t . kind ? Ni ( t ) : ! 1 ; } function Oi ( e , t ) { var n = Os ( e . expression , t ) ; return Yc ( n , e . expression , ! 1 ) ; } function Ri ( e ) { return 166 === e . kind && ! ! e . initializer || 184 === e . kind && 56 === e . operatorToken . kind ; } function Ii ( t , n ) { for ( var r = t . elements , a = ! 1 , i = [ ] , o = Ni ( t ) , c = 0 , _ = r ; c < _ . length ; c ++ ) { var u = _ [ c ] ; if ( o && 188 === u . kind ) { var l = Ls ( u . expression , n ) , d = vn ( l , 1 ) || ( Hl >= 2 ? Zc ( l , void 0 ) : void 0 ) ; d && i . push ( d ) ; } else { var p = Ls ( u , n ) ; i . push ( p ) ; } a = a || 188 === u . kind ; } if ( ! a ) { if ( o && i . length ) { var p = lr ( i ) ; return p . pattern = t , p ; } var f = Di ( t ) ; if ( f && yi ( f ) ) { var m = f . pattern ; if ( m && ( 165 === m . kind || 167 === m . kind ) ) for ( var g = m . elements , y = i . length ; y < g . length ; y ++ ) { var h = g [ y ] ; Ri ( h ) ? i . push ( f . elementTypes [ y ] ) : ( 190 !== h . kind && s ( h , e . Diagnostics . Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value ) , i . push ( ud ) ) ; } if ( i . length ) return ur ( i ) ; } } return cr ( i . length ? vr ( i ) : cd ) ; } function Fi ( e ) { return 137 === e . kind ? Li ( e ) : Bi ( e . text ) ; } function Li ( e ) { return Mi ( zi ( e ) , 132 ) ; } function Mi ( e , t ) { return Ue ( e ) || ms ( e , t ) ; } function Bi ( e ) { return ( + e ) . toString ( ) === e ; } function zi ( t ) { var n = h ( t . expression ) ; return n . resolvedType || ( n . resolvedType = Ls ( t . expression ) , Mi ( n . resolvedType , 16777606 ) ? yo ( t . expression , n . resolvedType , ! 0 ) : s ( t , e . Diagnostics . A_computed_property_name_must_be_of_type_string_number_symbol_or_any ) ) , n . resolvedType ; } function Ki ( t , n ) { function r ( n ) { if ( _ && hi ( _ , n ) ) { for ( var r = [ ] , a = 0 ; a < o . length ; a ++ ) { var i = t . properties [ a ] ; if ( 0 === n || Fi ( i . name ) ) { var s = _t ( o [ a ] ) ; e . contains ( r , s ) || r . push ( s ) ; } } var c = r . length ? vr ( r ) : cd ; return l |= c . flags , c ; } } var a = Ni ( t ) ; dl ( t , a ) ; for ( var i = { } , o = [ ] , _ = Di ( t ) , u = _ && _ . pattern && ( 164 === _ . pattern . kind || 168 === _ . pattern . kind ) , l = 0 , d = ! 1 , p = 0 , f = t . properties ; p < f . length ; p ++ ) { var m = f [ p ] , g = m . symbol ; if ( 248 === m . kind || 249 === m . kind || e . isObjectLiteralMethod ( m ) ) { var y = void 0 ; 248 === m . kind ? y = Rs ( m , n ) : 144 === m . kind ? y = Is ( m , n ) : ( e . Debug . assert ( 249 === m . kind ) , y = Ls ( m . name , n ) ) , l |= y . flags ; var h = c ( 67108868 | g . flags , g . name ) ; if ( a ) { var v = 248 === m . kind && Ri ( m . initializer ) || 249 === m . kind && m . objectAssignmentInitializer ; v && ( h . flags |= 536870912 ) , e . hasDynamicName ( m ) && ( d = ! 0 ) ; } else if ( u && ! ( 67108864 & _ . flags ) ) { var k = mn ( _ , g . name ) ; k ? h . flags |= 536870912 & k . flags : Vl . suppressExcessPropertyErrors || s ( m . name , e . Diagnostics . Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1 , Ee ( g ) , Ae ( _ ) ) ; } h . declarations = g . declarations , h . parent = g . parent , g . valueDeclaration && ( h . valueDeclaration = g . valueDeclaration ) , h . type = y , h . target = g , g = h ; } else e . Debug . assert ( 146 === m . kind || 147 === m . kind ) , Ys ( m ) ; e . hasDynamicName ( m ) || ( i [ g . name ] = g ) , o . push ( g ) ; } if ( u ) for ( var b = 0 , x = un ( _ ) ; b < x . length ; b ++ ) { var h = x [ b ] ; e . hasProperty ( i , h . name ) || ( 536870912 & h . flags || s ( h . valueDeclaration || h . bindingElement , e . Diagnostics . Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value ) , i [ h . name ] = h , o . push ( h ) ) ; } var C = r ( 0 ) , D = r ( 1 ) , S = me ( t . symbol , i , ql , ql , C , D ) , T = Vl . suppressExcessPropertyErrors ? 0 : 1048576 ; return S . flags |= 4718592 | T | 14680064 & l | ( d ? 67108864 : 0 ) , a && ( S . pattern = t ) , S ; } function ji ( e ) { return no ( e ) , Ud || nd ; } function Ji ( e ) { no ( e . openingElement ) , Gi ( e . closingElement ) ; for ( var t = 0 , n = e . children ; t < n . length ; t ++ ) { var r = n [ t ] ; switch ( r . kind ) { case 243 : ro ( r ) ; break ; case 236 : Ji ( r ) ; break ; case 237 : ji ( r ) ; } } return Ud || nd ; } function Ui ( e ) { return e . indexOf ( "-" ) < 0 ; } function qi ( t ) { return 136 === t . kind ? ! 1 : e . isIntrinsicJsxName ( t . text ) ; } function Wi ( t , n , r ) { var a = void 0 ; if ( n === ld && Ui ( t . name . text ) ) s ( t . parent , e . Diagnostics . JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property , Qi ( ) ) ; else if ( n && ! Ue ( n ) ) { var i = mn ( n , t . name . text ) ; if ( a = i && _t ( i ) , Ui ( t . name . text ) ) { var o = vn ( n , 0 ) ; if ( o ) a = o ; else if ( ! a ) return s ( t . name , e . Diagnostics . Property_0_does_not_exist_on_type_1 , t . name . text , Ae ( n ) ) , ud ; } } var c ; return c = t . initializer ? Ls ( t . initializer ) : id , a && na ( c , a , t ) , r [ t . name . text ] = ! 0 , c ; } function Vi ( t , n , r ) { for ( var a = Ls ( t . expression ) , i = un ( a ) , o = 0 , s = i ; o < s . length ; o ++ ) { var c = s [ o ] ; if ( ! r [ c . name ] ) { var _ = mn ( n , c . name ) ; if ( _ ) { var u = e . chainDiagnosticMessages ( void 0 , e . Diagnostics . Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property , c . name ) ; na ( _t ( c ) , _t ( _ ) , t , void 0 , u ) ; } r [ c . name ] = ! 0 ; } } return a ; } function Hi ( e ) { return void 0 === up [ e ] ? up [ e ] = nr ( lp . JSX , e ) || ud : up [ e ] ; } function Gi ( t ) { function n ( t ) { var n = Hi ( lp . IntrinsicElements ) ; if ( n !== ud ) { var r = mn ( n , t . tagName . text ) ; if ( r ) return i . jsxFlags |= 1 , r ; var a = vn ( n , 0 ) ; return a ? ( i . jsxFlags |= 2 , n . symbol ) : ( s ( t , e . Diagnostics . Property_0_does_not_exist_on_type_1 , t . tagName . text , "JSX." + lp . IntrinsicElements ) , ed ) ; } return Vl . noImplicitAny && s ( t , e . Diagnostics . JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists , lp . IntrinsicElements ) , ed ; } function r ( e ) { var t = a ( e ) ; return t && t !== ed && ( i . jsxFlags |= 4 , 8388608 & t . flags && U ( t ) ) , t || ed ; } function a ( e ) { if ( 69 === e . tagName . kind ) { var t = e . tagName , n = Ka ( t ) ; return n . exportSymbol || n ; } return co ( e . tagName ) . symbol ; } var i = h ( t ) ; return i . resolvedSymbol || ( qi ( t . tagName ) ? i . resolvedSymbol = n ( t ) : i . resolvedSymbol = r ( t ) ) , i . resolvedSymbol ; } function Xi ( t ) { e . Debug . assert ( ! ! ( 4 & h ( t ) . jsxFlags ) , "Should not call getJsxElementInstanceType on non-class Element" ) ; var n = Gi ( t ) ; if ( n === ed ) return nd ; var r = _t ( n ) ; if ( Ue ( r ) ) return nd ; var a = yn ( r , 1 ) ; return 0 === a . length && ( a = yn ( r , 0 ) , 0 === a . length ) ? ( s ( t . tagName , e . Diagnostics . JSX_element_type_0_does_not_have_any_construct_or_call_signatures , e . getTextOfNode ( t . tagName ) ) , ud ) : vr ( a . map ( wn ) ) ; } function Qi ( ) { var t = er ( lp . JSX , 1536 , void 0 ) , n = t && k ( t . exports , lp . ElementAttributesPropertyNameContainer , 793056 ) , r = n && Ot ( n ) , a = r && un ( r ) ; return a ? 0 === a . length ? "" : 1 === a . length ? a [ 0 ] . name : void s ( n . declarations [ 0 ] , e . Diagnostics . The_global_type_JSX_0_may_not_have_more_than_one_property , lp . ElementAttributesPropertyNameContainer ) : void 0 ; } function Yi ( t ) { var n = h ( t ) ; if ( ! n . resolvedJsxType ) { var r = Gi ( t ) ; if ( 4 & n . jsxFlags ) { var a = Xi ( t ) , i = Zi ( ) ; if ( ! i || ! ea ( a , i ) ) { var o = _t ( r ) , c = o && yn ( o , 0 ) , _ = c && c . length > 0 && c [ 0 ] , u = _ && wn ( _ ) , l = u && ( 0 === _ . parameters . length ? ld : _t ( _ . parameters [ 0 ] ) ) ; if ( u && ea ( u , Ud ) ) { var d = Hi ( lp . IntrinsicAttributes ) ; return d !== ud && ( l = nn ( d , l ) ) , n . resolvedJsxType = l ; } } if ( i && _a ( a , i , pp , t , e . Diagnostics . JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements ) , Ue ( a ) ) return n . resolvedJsxType = a ; var p = Qi ( ) ; if ( void 0 === p ) return n . resolvedJsxType = nd ; if ( "" === p ) return n . resolvedJsxType = a ; var f = Je ( a , p ) ; if ( f ) { if ( Ue ( f ) || f === ud ) return n . resolvedJsxType = f ; if ( 16384 & f . flags ) return s ( t . tagName , e . Diagnostics . JSX_element_attributes_type_0_may_not_be_a_union_type , Ae ( f ) ) , n . resolvedJsxType = nd ; var m = f , g = Hi ( lp . IntrinsicClassAttributes ) ; if ( g !== ud ) { var y = mt ( g . symbol ) ; y ? 1 === y . length && ( m = nn ( Jn ( g , [ a ] ) , m ) ) : m = nn ( f , g ) ; } var v = Hi ( lp . IntrinsicAttributes ) ; return v !== ud && ( m = nn ( v , m ) ) , n . resolvedJsxType = m ; } return n . resolvedJsxType = ld ; } return 1 & n . jsxFlags ? n . resolvedJsxType = _t ( r ) : 2 & n . jsxFlags ? n . resolvedJsxType = Fn ( r , 0 ) : n . resolvedJsxType = nd ; } return n . resolvedJsxType ; } function $i ( e ) { var t = Yi ( e . parent ) , n = mn ( t , e . name . text ) ; return n || ed ; } function Zi ( ) { return jd || ( jd = nr ( lp . JSX , lp . ElementClass ) ) , jd ; } function eo ( ) { var e = Hi ( lp . IntrinsicElements ) ; return e ? un ( e ) : ql ; } function to ( t ) { 0 === ( Vl . jsx || 0 ) && s ( t , e . Diagnostics . Cannot_use_JSX_unless_the_jsx_flag_is_provided ) , void 0 === Ud && Vl . noImplicitAny && s ( t , e . Diagnostics . JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist ) ; } function no ( t ) { pl ( t ) , to ( t ) ; var n = 2 === Vl . jsx ? e . Diagnostics . Cannot_find_name_0 : void 0 , r = Vl . reactNamespace ? Vl . reactNamespace : "React" , a = C ( t . tagName , r , 107455 , n , r ) ; a && ( y ( a ) . referenced = ! 0 ) ; for ( var i = Yi ( t ) , o = { } , c = ! 1 , _ = t . attributes . length - 1 ; _ >= 0 ; _ -- ) if ( 241 === t . attributes [ _ ] . kind ) Wi ( t . attributes [ _ ] , i , o ) ; else { e . Debug . assert ( 242 === t . attributes [ _ ] . kind ) ; var u = Vi ( t . attributes [ _ ] , i , o ) ; Ue ( u ) && ( c = ! 0 ) ; } if ( i && ! c ) for ( var l = un ( i ) , _ = 0 ; _ < l . length ; _ ++ ) 536870912 & l [ _ ] . flags || void 0 !== o [ l [ _ ] . name ] || s ( t , e . Diagnostics . Property_0_is_missing_in_type_1 , l [ _ ] . name , Ae ( i ) ) ; } function ro ( e ) { return e . expression ? Ls ( e . expression ) : ud ; } function ao ( e ) { return e . valueDeclaration ? e . valueDeclaration . kind : 142 ; } function io ( t ) { return t . valueDeclaration ? e . getCombinedNodeFlags ( t . valueDeclaration ) : 134217728 & t . flags ? 72 : 0 ; } function oo ( t , n , r , a ) { var i = io ( a ) , o = Ot ( ie ( a ) ) ; if ( 95 === n . kind ) { var c = 169 === t . kind ? t . name : t . right ; if ( 2 > Hl && 144 !== ao ( a ) ) return s ( c , e . Diagnostics . Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword ) , ! 1 ; if ( 128 & i ) return s ( c , e . Diagnostics . Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression , Ee ( a ) , Ae ( o ) ) , ! 1 ; } if ( ! ( 48 & i ) ) return ! 0 ; var _ = e . getContainingClass ( t ) , u = _ ? Ot ( ae ( _ ) ) : void 0 ; return 16 & i ? o !== u ? ( s ( t , e . Diagnostics . Property_0_is_private_and_only_accessible_within_class_1 , Ee ( a ) , Ae ( o ) ) , ! 1 ) : ! 0 : 95 === n . kind ? ! 0 : u && lt ( u , o ) ? 64 & i ? ! 0 : ( 33554432 & r . flags && ( r = Bn ( r ) ) , 3072 & ut ( r ) . flags && lt ( r , u ) ? ! 0 : ( s ( t , e . Diagnostics . Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1 , Ee ( a ) , Ae ( u ) ) , ! 1 ) ) : ( s ( t , e . Diagnostics . Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses , Ee ( a ) , Ae ( o ) ) , ! 1 ) ; } function so ( e ) { return _o ( e , e . expression , e . name ) ; } function co ( e ) { return _o ( e , e . left , e . right ) ; } function _o ( t , n , r ) { var a = Ls ( n ) ; if ( Ue ( a ) ) return a ; var i = dn ( Ea ( a ) ) ; if ( i === ud ) return ud ; var o = mn ( i , r . text ) ; return o ? ( h ( t ) . resolvedSymbol = o , o . parent && 32 & o . parent . flags && oo ( t , n , i , o ) , _t ( o ) ) : ( r . text && s ( r , e . Diagnostics . Property_0_does_not_exist_on_type_1 , e . declarationNameToString ( r ) , Ae ( 33554432 & a . flags ? i : a ) ) , ud ) ; } function uo ( e , t ) { var n = 169 === e . kind ? e . expression : e . left , r = Ls ( n ) ; if ( r !== ud && ! Ue ( r ) ) { var a = mn ( Ea ( r ) , t ) ; if ( a && a . parent && 32 & a . parent . flags ) return oo ( e , n , r , a ) ; } return ! 0 ; } function lo ( t ) { var n = t . initializer ; if ( 215 === n . kind ) { var r = n . declarations [ 0 ] ; if ( r && ! e . isBindingPattern ( r . name ) ) return ae ( r ) ; } else if ( 69 === n . kind ) return Ka ( n ) ; } function po ( e ) { return vn ( e , 1 ) && ! vn ( e , 0 ) ; } function fo ( e ) { var t = Wa ( e ) ; if ( 69 === t . kind ) { var n = Ka ( t ) ; if ( 3 & n . flags ) for ( var r = e , a = e . parent ; a ; ) { if ( 203 === a . kind && r === a . statement && lo ( a ) === n && po ( Ls ( a . expression ) ) ) return ! 0 ; r = a , a = a . parent ; } } return ! 1 ; } function mo ( t ) { if ( ! t . argumentExpression ) { var n = e . getSourceFileOfNode ( t ) ; if ( 172 === t . parent . kind && t . parent . expression === t ) { var r = e . skipTrivia ( n . text , t . expression . end ) , a = t . end ; El ( n , r , a - r , e . Diagnostics . new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead ) ; } else { var r = t . end - "]" . length , a = t . end ; El ( n , r , a - r , e . Diagnostics . Expression_expected ) ; } } var i = dn ( Ls ( t . expression ) ) , o = t . argumentExpression ? Ls ( t . argumentExpression ) : ud ; if ( i === ud ) return ud ; var c = gs ( i ) ; if ( c && ( ! t . argumentExpression || 9 !== t . argumentExpression . kind ) ) return s ( t . argumentExpression , e . Diagnostics . A_const_enum_member_can_only_be_accessed_using_a_string_literal ) , ud ; if ( t . argumentExpression ) { var _ = go ( t . argumentExpression , o ) ; if ( void 0 !== _ ) { var u = mn ( i , _ ) ; if ( u ) return h ( t ) . resolvedSymbol = u , _t ( u ) ; if ( c ) return s ( t . argumentExpression , e . Diagnostics . Property_0_does_not_exist_on_const_enum_1 , _ , Ee ( i . symbol ) ) , ud ; } } if ( Mi ( o , 16777606 ) ) { if ( Mi ( o , 132 ) || fo ( t . argumentExpression ) ) { var l = vn ( i , 1 ) ; if ( l ) return l ; } var d = vn ( i , 0 ) ; return d ? d : ( ! Vl . noImplicitAny || Vl . suppressImplicitAnyIndexErrors || Ue ( i ) || s ( t , vn ( i , 1 ) ? e . Diagnostics . Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number : e . Diagnostics . Index_signature_of_object_type_implicitly_has_an_any_type ) , nd ) ; } return s ( t , e . Diagnostics . An_index_expression_argument_must_be_of_type_string_number_symbol_or_any ) , ud ; } function go ( t , n ) { if ( 9 === t . kind || 8 === t . kind ) return t . text ; if ( 170 === t . kind || 169 === t . kind ) { var r = Nu ( t ) ; if ( void 0 !== r ) return r . toString ( ) ; } if ( yo ( t , n , ! 1 ) ) { var a = t . name . text ; return e . getPropertyNameForKnownSymbolName ( a ) ; } } function yo ( t , n , r ) { if ( n === ud ) return ! 1 ; if ( ! e . isWellKnownSymbolSyntactically ( t ) ) return ! 1 ; if ( 0 === ( 16777216 & n . flags ) ) return r && s ( t , e . Diagnostics . A_computed_property_name_of_the_form_0_must_be_of_type_symbol , e . getTextOfNode ( t ) ) , ! 1 ; var a = t . expression , i = Ka ( a ) ; if ( ! i ) return ! 1 ; var o = rr ( ) ; return o ? i !== o ? ( r && s ( a , e . Diagnostics . Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object ) , ! 1 ) : ! 0 : ! 1 ; } function ho ( t ) { return 173 === t . kind ? Ls ( t . template ) : 140 !== t . kind && e . forEach ( t . arguments , function ( e ) { Ls ( e ) ; } ) , Hd ; } function vo ( e ) { return ho ( e ) , Gd ; } function ko ( t , n ) { var r , a , i , o , s = 0 , c = - 1 ; e . Debug . assert ( ! n . length ) ; for ( var _ = 0 , u = t ; _ < u . length ; _ ++ ) { var l = u [ _ ] , d = l . declaration && ae ( l . declaration ) , p = l . declaration && l . declaration . parent ; a && d !== a ? ( i = s = n . length , r = p ) : r && p === r ? i ++ : ( r = p , i = s ) , a = d , l . hasStringLiterals ? ( c ++ , o = c , s ++ ) : o = i , n . splice ( o , 0 , l ) ; } } function bo ( e ) { for ( var t = 0 ; t < e . length ; t ++ ) { var n = e [ t ] ; if ( n && 188 === n . kind ) return t ; } return - 1 ; } function xo ( t , n , r ) { var a , i , o , s , c = - 1 ; if ( 173 === t . kind ) { var _ = t ; if ( a = n . length , i = void 0 , 186 === _ . template . kind ) { var u = _ . template , l = e . lastOrUndefined ( u . templateSpans ) ; e . Debug . assert ( void 0 !== l ) , o = e . nodeIsMissing ( l . literal ) || ! ! l . literal . isUnterminated ; } else { var d = _ . template ; e . Debug . assert ( 11 === d . kind ) , o = ! ! d . isUnterminated ; } } else if ( 140 === t . kind ) s = ! 0 , i = void 0 , a = Ao ( t , void 0 , r ) ; else { var p = t ; if ( ! p . arguments ) return e . Debug . assert ( 172 === p . kind ) , 0 === r . minArgumentCount ; a = p . arguments . hasTrailingComma ? n . length + 1 : n . length , o = p . arguments . end === p . end , i = p . typeArguments , c = bo ( n ) ; } var f = ! i || r . typeParameters && i . length === r . typeParameters . length ; if ( ! f ) return ! 1 ; if ( c >= 0 ) return ga ( r , c ) ; if ( ! r . hasRestParameter && a > r . parameters . length ) return ! 1 ; var m = a >= r . minArgumentCount ; return o || m ; } function Co ( e ) { if ( 80896 & e . flags ) { var t = on ( e ) ; if ( 1 === t . callSignatures . length && 0 === t . constructSignatures . length && 0 === t . properties . length && ! t . stringIndexType && ! t . numberIndexType ) return t . callSignatures [ 0 ] ; } } function Do ( e , t , n ) { var r = Oa ( e . typeParameters , ! 0 ) ; return Na ( t , e , function ( e , t ) { Ia ( r , Vr ( e , n ) , t ) ; } ) , Pn ( e , za ( r ) ) ; } function So ( e , t , n , r , a ) { for ( var i = t . typeParameters , o = Br ( a ) , s = 0 ; s < i . length ; s ++ ) a . inferences [ s ] . isFixed || ( a . inferredTypes [ s ] = void 0 ) ; void 0 === a . failedTypeParameterIndex || a . inferences [ a . failedTypeParameterIndex ] . isFixed || ( a . failedTypeParameterIndex = void 0 ) ; for ( var c = Ao ( e , n , t ) , s = 0 ; c > s ; s ++ ) { var _ = Fo ( e , n , s ) ; if ( void 0 === _ || 190 !== _ . kind ) { var u = Go ( t , s ) , l = Io ( e , s , _ ) ; if ( void 0 === l ) { var d = r && void 0 !== r [ s ] ? zr : o ; l = Ns ( _ , u , d ) ; } Ia ( a , l , u ) ; } } if ( r ) for ( var s = 0 ; c > s ; s ++ ) if ( r [ s ] === ! 1 ) { var _ = n [ s ] , u = Go ( t , s ) ; Ia ( a , Ns ( _ , u , o ) , u ) ; } za ( a ) ; } function To ( t , n , r , a , i ) { for ( var o , s = t . typeParameters , c = ! 0 , _ = 0 ; _ < s . length ; _ ++ ) if ( c ) { var u = Bn ( s [ _ ] ) ; if ( u ) { var l = void 0 , d = e . Diagnostics . Type_0_does_not_satisfy_the_constraint_1 ; a && i && ( l = e . chainDiagnosticMessages ( l , d ) , d = i ) , o || ( o = Ir ( s , r ) ) ; var p = r [ _ ] ; c = na ( p , Jt ( Vr ( u , o ) , p ) , a ? n [ _ ] : void 0 , d , l ) ; } } return c ; } function Eo ( t , n , r , a , i , o ) { for ( var s = Ao ( t , n , r ) , c = 0 ; s > c ; c ++ ) { var _ = Fo ( t , n , c ) ; if ( void 0 === _ || 190 !== _ . kind ) { var u = Go ( r , c ) , l = Io ( t , c , _ ) ; void 0 === l && ( l = 9 !== _ . kind || o ? Ns ( _ , u , i && i [ c ] ? zr : void 0 ) : Dr ( _ . text ) ) ; var d = o ? Lo ( t , c , _ ) : void 0 , p = e . Diagnostics . Argument_of_type_0_is_not_assignable_to_parameter_of_type_1 ; if ( ! _a ( l , u , a , d , p ) ) return ! 1 ; } } return ! 0 ; } function wo ( t ) { var n ; if ( 173 === t . kind ) { var r = t . template ; n = [ void 0 ] , 186 === r . kind && e . forEach ( r . templateSpans , function ( e ) { n . push ( e . expression ) ; } ) ; } else { if ( 140 === t . kind ) return ; n = t . arguments || ql ; } return n ; } function Ao ( e , t , n ) { if ( 140 !== e . kind ) return t . length ; switch ( e . parent . kind ) { case 217 : case 189 : return 1 ; case 142 : return 2 ; case 144 : case 146 : case 147 : return 0 === Hl ? 2 : n . parameters . length >= 3 ? 3 : 2 ; case 139 : return 3 ; } } function Po ( t ) { if ( 217 === t . kind ) { var n = ae ( t ) ; return _t ( n ) ; } if ( 139 === t . kind && ( t = t . parent , 145 === t . kind ) ) { var n = ae ( t ) ; return _t ( n ) ; } return 142 === t . kind || 144 === t . kind || 146 === t . kind || 147 === t . kind ? pu ( t ) : ( e . Debug . fail ( "Unsupported decorator target." ) , ud ) ; } function No ( t ) { if ( 217 === t . kind ) return e . Debug . fail ( "Class decorators should not have a second synthetic argument." ) , ud ; if ( 139 === t . kind && ( t = t . parent , 145 === t . kind ) ) return nd ; if ( 142 === t . kind || 144 === t . kind || 146 === t . kind || 147 === t . kind ) { var n = t ; switch ( n . name . kind ) { case 69 : case 8 : case 9 : return Dr ( n . name . text ) ; case 137 : var r = zi ( n . name ) ; return ms ( r , 16777216 ) ? r : rd ; default : return e . Debug . fail ( "Unsupported property name." ) , ud ; } } return e . Debug . fail ( "Unsupported decorator target." ) , ud ; } function Oo ( t ) { if ( 217 === t . kind ) return e . Debug . fail ( "Class decorators should not have a third synthetic argument." ) , ud ; if ( 139 === t . kind ) return ad ; if ( 142 === t . kind ) return e . Debug . fail ( "Property decorators should not have a third synthetic argument." ) , ud ; if ( 144 === t . kind || 146 === t . kind || 147 === t . kind ) { var n = lu ( t ) ; return ar ( n ) ; } return e . Debug . fail ( "Unsupported decorator target." ) , ud ; } function Ro ( t , n ) { return 0 === n ? Po ( t . parent ) : 1 === n ? No ( t . parent ) : 2 === n ? Oo ( t . parent ) : ( e . Debug . fail ( "Decorators should not have a fourth synthetic argument." ) , ud ) ; } function Io ( e , t , n ) { return 140 === e . kind ? Ro ( e , t ) : 0 === t && 173 === e . kind ? Dd : void 0 ; } function Fo ( e , t , n ) { return 140 === e . kind || 0 === n && 173 === e . kind ? void 0 : t [ n ] ; } function Lo ( e , t , n ) { return 140 === e . kind ? e . expression : 0 === t && 173 === e . kind ? e . template : n ; } function Mo ( t , n , r , i ) { function o ( n , r , a , o ) { var s ; s = e . chainDiagnosticMessages ( s , n , r , a , o ) , i && ( s = e . chainDiagnosticMessages ( s , i ) ) , cp . add ( e . createDiagnosticForNodeFromMessageChain ( t , s ) ) ; } function s ( n , r ) { for ( var a = 0 , i = n ; a < i . length ; a ++ ) { var o = i [ a ] ; if ( xo ( t , p , o ) ) { for ( var s = void 0 , _ = void 0 , u = o . typeParameters ? Oa ( o . typeParameters , ! 1 ) : void 0 ; ; ) { if ( s = o , s . typeParameters ) { var l = void 0 ; if ( c ? ( l = e . map ( c , Pr ) , _ = To ( s , c , l , ! 1 ) ) : ( So ( t , s , p , d , u ) , _ = void 0 === u . failedTypeParameterIndex , l = u . inferredTypes ) , ! _ ) break ; s = Pn ( s , l ) ; } if ( ! Eo ( t , p , s , r , d , ! 1 ) ) break ; var f = d ? e . indexOf ( d , ! 0 ) : - 1 ; if ( 0 > f ) return s ; d [ f ] = ! 1 ; } if ( o . typeParameters ) { var h = s ; _ ? m = h : ( g = o , c || ( y = u ) ) ; } else e . Debug . assert ( o === s ) , m = o ; } } } var c , _ = 173 === t . kind , u = 140 === t . kind ; _ || u || ( c = t . typeArguments , 95 !== t . expression . kind && e . forEach ( c , q_ ) ) ; var l = r || [ ] ; if ( ko ( n , l ) , ! l . length ) return o ( e . Diagnostics . Supplied_parameters_do_not_match_any_signature_of_call_target ) , vo ( t ) ; var d , p = wo ( t ) ; if ( ! u ) for ( var f = _ ? 1 : 0 ; f < p . length ; f ++ ) Hr ( p [ f ] ) && ( d || ( d = new Array ( p . length ) ) , d [ f ] = ! 0 ) ; var m , g , y , h ; if ( l . length > 1 && ( h = s ( l , dp ) ) , h || ( m = void 0 , g = void 0 , y = void 0 , h = s ( l , pp ) ) , h ) return h ; if ( m ) Eo ( t , p , m , pp , void 0 , ! 0 ) ; else if ( g ) if ( _ || u || ! c ) { e . Debug . assert ( y . failedTypeParameterIndex >= 0 ) ; var v = g . typeParameters [ y . failedTypeParameterIndex ] , k = Ma ( y , y . failedTypeParameterIndex ) , b = e . chainDiagnosticMessages ( void 0 , e . Diagnostics . The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_type_arguments_explicitly , Ae ( v ) ) ; i && ( b = e . chainDiagnosticMessages ( b , i ) ) , va ( k , t . expression || t . tag , b ) ; } else { var x = t . typeArguments ; To ( g , x , e . map ( x , Pr ) , ! 0 , i ) ; } else o ( e . Diagnostics . Supplied_parameters_do_not_match_any_signature_of_call_target ) ; if ( ! a ) for ( var C = 0 , D = l ; C < D . length ; C ++ ) { var S = D [ C ] ; if ( xo ( t , p , S ) ) return S . typeParameters && c && ( S = Pn ( S , e . map ( c , Pr ) ) ) , S ; } return vo ( t ) ; } function Bo ( t , n ) { if ( 95 === t . expression . kind ) { var r = ri ( t . expression ) ; if ( r !== ud ) { var a = e . getClassExtendsHeritageClauseElement ( e . getContainingClass ( t ) ) , i = kt ( r , a . typeArguments ) ; return Mo ( t , i , n ) ; } return ho ( t ) ; } var o = Ls ( t . expression ) , c = dn ( o ) ; if ( c === ud ) return vo ( t ) ; var _ = yn ( c , 0 ) , u = yn ( c , 1 ) ; return Ue ( o ) || ! ( _ . length || u . length || 16384 & o . flags ) && ea ( o , hd ) ? ( o !== ud && t . typeArguments && s ( t , e . Diagnostics . Untyped_function_calls_may_not_accept_type_arguments ) , ho ( t ) ) : _ . length ? Mo ( t , _ , n ) : ( u . length ? s ( t , e . Diagnostics . Value_of_type_0_is_not_callable_Did_you_mean_to_include_new , Ae ( o ) ) : s ( t , e . Diagnostics . Cannot_invoke_an_expression_whose_type_lacks_a_call_signature ) , vo ( t ) ) ; } function zo ( t , n ) { if ( t . arguments && 1 > Hl ) { var r = bo ( t . arguments ) ; r >= 0 && s ( t . arguments [ r ] , e . Diagnostics . Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher ) ; } var a = Ls ( t . expression ) ; if ( a = dn ( a ) , a === ud ) return vo ( t ) ; var i = a . symbol && v_ ( a . symbol ) ; if ( i && 128 & i . flags ) return s ( t , e . Diagnostics . Cannot_create_an_instance_of_the_abstract_class_0 , e . declarationNameToString ( i . name ) ) , vo ( t ) ; if ( Ue ( a ) ) return t . typeArguments && s ( t , e . Diagnostics . Untyped_function_calls_may_not_accept_type_arguments ) , ho ( t ) ; var o = yn ( a , 1 ) ; if ( o . length ) return Mo ( t , o , n ) ; var c = yn ( a , 0 ) ; if ( c . length ) { var _ = Mo ( t , c , n ) ; return wn ( _ ) !== sd && s ( t , e . Diagnostics . Only_a_void_function_can_be_called_with_the_new_keyword ) , _ ; } return s ( t , e . Diagnostics . Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature ) , vo ( t ) ; } function Ko ( t , n ) { var r = Ls ( t . tag ) , a = dn ( r ) ; if ( a === ud ) return vo ( t ) ; var i = yn ( a , 0 ) ; return Ue ( r ) || ! i . length && ! ( 16384 & r . flags ) && ea ( r , hd ) ? ho ( t ) : i . length ? Mo ( t , i , n ) : ( s ( t , e . Diagnostics . Cannot_invoke_an_expression_whose_type_lacks_a_call_signature ) , vo ( t ) ) ; } function jo ( t ) { switch ( t . parent . kind ) { case 217 : case 189 : return e . Diagnostics . Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression ; case 139 : return e . Diagnostics . Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression ; case 142 : return e . Diagnostics . Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression ; case 144 : case 146 : case 147 : return e . Diagnostics . Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression ; } } function Jo ( t , n ) { var r = Ls ( t . expression ) , a = dn ( r ) ; if ( a === ud ) return vo ( t ) ; var i = yn ( a , 0 ) ; if ( r === nd || ! i . length && ! ( 16384 & r . flags ) && ea ( r , hd ) ) return ho ( t ) ; var o = jo ( t ) ; if ( ! i . length ) { var s = void 0 ; return s = e . chainDiagnosticMessages ( s , e . Diagnostics . Cannot_invoke_an_expression_whose_type_lacks_a_call_signature ) , s = e . chainDiagnosticMessages ( s , o ) , cp . add ( e . createDiagnosticForNodeFromMessageChain ( t , s ) ) , vo ( t ) ; } return Mo ( t , i , n , o ) ; } function Uo ( t , n ) { var r = h ( t ) ; return r . resolvedSignature && ! n || ( r . resolvedSignature = Hd , 171 === t . kind ? r . resolvedSignature = Bo ( t , n ) : 172 === t . kind ? r . resolvedSignature = zo ( t , n ) : 173 === t . kind ? r . resolvedSignature = Ko ( t , n ) : 140 === t . kind ? r . resolvedSignature = Jo ( t , n ) : e . Debug . fail ( "Branch in 'getResolvedSignature' should be unreachable." ) ) , r . resolvedSignature ; } function qo ( e ) { var t = y ( e ) ; return t . inferredClassType || ( t . inferredClassType = me ( void 0 , e . members , ql , ql , void 0 , void 0 ) ) , t . inferredClassType ; } function Wo ( t ) { rl ( t , t . typeArguments ) || il ( t , t . arguments ) ; var n = Uo ( t ) ; if ( 95 === t . expression . kind ) return sd ; if ( 172 === t . kind ) { var r = n . declaration ; if ( r && 145 !== r . kind && 149 !== r . kind && 154 !== r . kind && ! e . isJSDocConstructSignature ( r ) ) { var a = Ls ( t . expression ) . symbol ; return a && a . members && 16 & a . flags ? qo ( a ) : ( Vl . noImplicitAny && s ( t , e . Diagnostics . new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type ) , nd ) ; } } return e . isInJavaScriptFile ( t ) && e . isRequireCall ( t , ! 0 ) ? En ( t . arguments [ 0 ] ) : wn ( n ) ; } function Vo ( e ) { return wn ( Uo ( e ) ) ; } function Ho ( t ) { var n = Sa ( Ls ( t . expression ) ) , r = Pr ( t . type ) ; if ( a && r !== ud ) { var i = Ea ( n ) , o = fs ( r , 258 ) && fs ( i , 258 ) ; o || ea ( r , i ) || na ( n , r , t , e . Diagnostics . Neither_type_0_nor_type_1_is_assignable_to_the_other ) ; } return r ; } function Go ( e , t ) { return e . hasRestParameter ? t < e . parameters . length - 1 ? _t ( e . parameters [ t ] ) : An ( e ) : t < e . parameters . length ? _t ( e . parameters [ t ] ) : nd ; } function Xo ( t , n , r ) { for ( var a = t . parameters . length - ( t . hasRestParameter ? 1 : 0 ) , i = 0 ; a > i ; i ++ ) { var o = t . parameters [ i ] , s = Go ( n , i ) ; Yo ( o , s , r ) ; } if ( t . hasRestParameter && ga ( n , t . parameters . length - 1 ) ) { var o = e . lastOrUndefined ( t . parameters ) , s = _t ( e . lastOrUndefined ( n . parameters ) ) ; Yo ( o , s , r ) ; } } function Qo ( t ) { if ( e . isBindingPattern ( t . name ) ) for ( var n = 0 , r = t . name . elements ; n < r . length ; n ++ ) { var a = r [ n ] ; 190 !== a . kind && ( 69 === a . name . kind && ( y ( ae ( a ) ) . type = He ( a ) ) , Qo ( a ) ) ; } } function Yo ( e , t , n ) { var r = y ( e ) ; r . type ? Pi ( n ) && Ia ( n . context , r . type , Vr ( t , n ) ) : ( r . type = Vr ( t , n ) , Qo ( e . valueDeclaration ) ) ; } function $o ( t ) { var n = e . getJSDocReturnTag ( t ) ; return n && n . typeExpression ? Pr ( n . typeExpression . type ) : void 0 ; } function Zo ( e ) { var t = Fd ( ) ; return t !== pd ? ( e = mc ( e ) , Jn ( t , [ e ] ) ) : ld ; } function es ( t , n ) { var r = wi ( t ) ; if ( ! t . body ) return ud ; var a , i = e . isAsyncFunctionLike ( t ) ; if ( 195 !== t . body . kind ) a = Os ( t . body , n ) , i && ( a = gc ( a , t , e . Diagnostics . Return_expression_in_async_function_does_not_have_a_valid_callable_then_member ) ) ; else { var o = void 0 , c = ! ! t . asteriskToken ; if ( c ) { if ( o = ts ( t . body , n ) , 0 === o . length ) { var _ = sr ( nd ) ; return Vl . noImplicitAny && s ( t . asteriskToken , e . Diagnostics . Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type , Ae ( _ ) ) , _ ; } } else if ( o = ns ( t . body , n , i ) , 0 === o . length ) { if ( i ) { var u = Zo ( sd ) ; return u === ld ? ( s ( t , e . Diagnostics . An_async_function_or_method_must_have_a_valid_awaitable_return_type ) , ud ) : u ; } return sd ; } if ( a = r ? vr ( o ) : ha ( o ) , ! a ) return c ? ( s ( t , e . Diagnostics . No_best_common_type_exists_among_yield_expressions ) , sr ( ud ) ) : ( s ( t , e . Diagnostics . No_best_common_type_exists_among_return_expressions ) , vr ( o ) ) ; c && ( a = sr ( a ) ) ; } r || Pa ( t , a ) ; var l = Ea ( a ) ; if ( i ) { var u = Zo ( l ) ; return u === ld ? ( s ( t , e . Diagnostics . An_async_function_or_method_must_have_a_valid_awaitable_return_type ) , ud ) : u ; } return l ; } function ts ( t , n ) { var r = [ ] ; return e . forEachYieldExpression ( t , function ( t ) { var a = t . expression ; if ( a ) { var i = Os ( a , n ) ; t . asteriskToken && ( i = $c ( i , t . expression ) ) , e . contains ( r , i ) || r . push ( i ) ; } } ) , r ; } function ns ( t , n , r ) { var a = [ ] ; return e . forEachReturnStatement ( t , function ( i ) { var o = i . expression ; if ( o ) { var s = Os ( o , n ) ; r && ( s = gc ( s , t . parent , e . Diagnostics . Return_expression_in_async_function_does_not_have_a_valid_callable_then_member ) ) , e . contains ( a , s ) || a . push ( s ) ; } } ) , a ; } function rs ( t , n ) { if ( a && ! ( n === sd || Ue ( n ) || n && 16384 & n . flags && fs ( n , 17 ) ) && ! e . nodeIsMissing ( t . body ) && 195 === t . body . kind && 524288 & t . flags ) { var r = 1048576 & t . flags ; if ( n && ! r ) s ( t . type , e . Diagnostics . A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value ) ; else if ( Vl . noImplicitReturns ) { if ( ! n ) { var i = r ? wn ( Sn ( t ) ) : sd ; if ( i === sd || Ue ( i ) ) return ; } s ( t . type || t , e . Diagnostics . Not_all_code_paths_return_a_value ) ; } } } function as ( t , n ) { e . Debug . assert ( 144 !== t . kind || e . isObjectLiteralMethod ( t ) ) ; var r = Yu ( t ) ; if ( r || 176 !== t . kind || ul ( t ) , n === zr && Hr ( t ) ) return W_ ( t ) , fd ; var i = h ( t ) , o = _t ( t . symbol ) , s = Hr ( t ) , c = s && Pi ( n ) ; if ( c || ! ( 1024 & i . flags ) ) { var _ = Ai ( t ) , u = ! ! ( 1024 & i . flags ) ; if ( c || ! u ) { if ( i . flags |= 1024 , _ ) { var l = yn ( o , 0 ) [ 0 ] ; if ( s && Xo ( l , _ , n || zr ) , c || ! t . type && ! l . resolvedReturnType ) { var d = es ( t , n ) ; l . resolvedReturnType || ( l . resolvedReturnType = d ) ; } } u || ( Vs ( t ) , W_ ( t ) ) ; } } return a && 144 !== t . kind && 143 !== t . kind && ( Oc ( t , t . name ) , Pc ( t , t . name ) ) , o ; } function is ( t ) { e . Debug . assert ( 144 !== t . kind || e . isObjectLiteralMethod ( t ) ) ; var n = e . isAsyncFunctionLike ( t ) , r = t . type && ( n ? hc ( t ) : Pr ( t . type ) ) ; if ( t . asteriskToken || rs ( t , r ) , t . body ) if ( t . type || wn ( Sn ( t ) ) , 195 === t . body . kind ) q_ ( t . body ) ; else { var a = Ls ( t . body ) ; if ( r ) if ( n ) { var i = gc ( a , t . body , e . Diagnostics . Expression_body_for_async_arrow_function_does_not_have_a_valid_callable_then_member ) ; na ( i , r , t . body ) ; } else na ( a , r , t . body ) ; } } function os ( e , t , n ) { return Mi ( t , 132 ) ? ! 0 : ( s ( e , n ) , ! 1 ) ; } function ss ( e , t , n ) { function r ( e ) { var t = h ( e ) . resolvedSymbol ; return t && oe ( t ) ; } function a ( e ) { switch ( e . kind ) { case 69 : var t = r ( e ) ; return ! t || t === ed || t === $l || 0 !== ( 3 & t . flags ) ; case 169 : var t = r ( e ) ; return ! t || t === ed || 0 !== ( - 9 & t . flags ) ; case 170 : return ! 0 ; case 175 : return a ( e . expression ) ; default : return ! 1 ; } } function i ( e ) { switch ( e . kind ) { case 69 : case 169 : var t = r ( e ) ; return t && 0 !== ( 3 & t . flags ) && 0 !== ( 16384 & io ( t ) ) ; case 170 : var n = e . argumentExpression , t = r ( e . expression ) ; if ( t && n && 9 === n . kind ) { var a = n . text , o = mn ( _t ( t ) , a ) ; return o && 0 !== ( 3 & o . flags ) && 0 !== ( 16384 & io ( o ) ) ; } return ! 1 ; case 175 : return i ( e . expression ) ; default : return ! 1 ; } } return a ( e ) ? i ( e ) ? ( s ( e , n ) , ! 1 ) : ! 0 : ( s ( e , t ) , ! 1 ) ; } function cs ( e ) { return Ls ( e . expression ) , id ; } function _s ( e ) { return Ls ( e . expression ) , rd ; } function us ( e ) { return Ls ( e . expression ) , cd ; } function ls ( t ) { a && ( 8 & t . parserContextFlags || Tl ( t , e . Diagnostics . await_expression_is_only_allowed_within_an_async_function ) , ci ( t ) && s ( t , e . Diagnostics . await_expressions_cannot_be_used_in_a_parameter_initializer ) ) ; var n = Ls ( t . expression ) ; return gc ( n , t ) ; } function ds ( t ) { var n = Ls ( t . operand ) ; switch ( t . operator ) { case 35 : case 36 : case 50 : return fs ( n , 16777216 ) && s ( t . operand , e . Diagnostics . The_0_operator_cannot_be_applied_to_type_symbol , e . tokenToString ( t . operator ) ) , ad ; case 49 : return id ; case 41 : case 42 : var r = os ( t . operand , n , e . Diagnostics . An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type ) ; return r && ss ( t . operand , e . Diagnostics . The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer , e . Diagnostics . The_operand_of_an_increment_or_decrement_operator_cannot_be_a_constant ) , ad ; } return ud ; } function ps ( t ) { var n = Ls ( t . operand ) , r = os ( t . operand , n , e . Diagnostics . An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type ) ; return r && ss ( t . operand , e . Diagnostics . The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer , e . Diagnostics . The_operand_of_an_increment_or_decrement_operator_cannot_be_a_constant ) , ad ; } function fs ( e , t ) { if ( e . flags & t ) return ! 0 ; if ( 49152 & e . flags ) { for ( var n = e . types , r = 0 , a = n ; r < a . length ; r ++ ) { var i = a [ r ] ; if ( i . flags & t ) return ! 0 ; } return ! 1 ; } return ! 1 ; } function ms ( e , t ) { if ( e . flags & t ) return ! 0 ; if ( 49152 & e . flags ) { for ( var n = e . types , r = 0 , a = n ; r < a . length ; r ++ ) { var i = a [ r ] ; if ( ! ( i . flags & t ) ) return ! 1 ; } return ! 0 ; } return ! 1 ; } function gs ( e ) { return 80896 & e . flags && e . symbol && ys ( e . symbol ) ; } function ys ( e ) { return 0 !== ( 128 & e . flags ) ; } function hs ( t , n , r , a ) { return ms ( r , 16777726 ) && s ( t , e . Diagnostics . The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter ) , Ue ( a ) || Zr ( a , hd ) || s ( n , e . Diagnostics . The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type ) , id ; } function vs ( t , n , r , a ) { return Mi ( r , 16777606 ) || s ( t , e . Diagnostics . The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol ) , Mi ( a , 81408 ) || s ( n , e . Diagnostics . The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter ) , id ; } function ks ( t , n , r ) { for ( var a = t . properties , i = 0 , o = a ; i < o . length ; i ++ ) { var c = o [ i ] ; if ( 248 === c . kind || 249 === c . kind ) { var _ = c . name ; if ( 137 === _ . kind && zi ( _ ) , Ve ( _ ) ) continue ; var u = We ( _ ) , l = Ue ( n ) ? n : Je ( n , u ) || Bi ( u ) && vn ( n , 1 ) || vn ( n , 0 ) ; l ? 249 === c . kind ? xs ( c , l ) : xs ( c . initializer , l ) : s ( _ , e . Diagnostics . Type_0_has_no_property_1_and_no_string_index_signature , Ae ( n ) , e . declarationNameToString ( _ ) ) ; } else s ( c , e . Diagnostics . Property_assignment_expected ) ; } return n ; } function bs ( t , n , r ) { for ( var a = Yc ( n , t , ! 1 ) || ud , i = t . elements , o = 0 ; o < i . length ; o ++ ) { var c = i [ o ] ; if ( 190 !== c . kind ) if ( 188 !== c . kind ) { var _ = "" + o , u = Ue ( n ) ? n : xa ( n ) ? Je ( n , _ ) : a ; u ? xs ( c , u , r ) : Da ( n ) ? s ( c , e . Diagnostics . Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2 , Ae ( n ) , n . elementTypes . length , i . length ) : s ( c , e . Diagnostics . Type_0_has_no_property_1 , Ae ( n ) , _ ) ; } else if ( o < i . length - 1 ) s ( c , e . Diagnostics . A_rest_element_must_be_last_in_an_array_destructuring_pattern ) ; else { var l = c . expression ; 184 === l . kind && 56 === l . operatorToken . kind ? s ( l . operatorToken , e . Diagnostics . A_rest_element_cannot_have_an_initializer ) : xs ( l , cr ( a ) , r ) ; } } return n ; } function xs ( e , t , n ) { var r ; if ( 249 === e . kind ) { var a = e ; a . objectAssignmentInitializer && Ss ( a . name , a . equalsToken , a . objectAssignmentInitializer , n ) , r = e . name ; } else r = e ; return 184 === r . kind && 56 === r . operatorToken . kind && ( Ds ( r , n ) , r = r . left ) , 168 === r . kind ? ks ( r , t , n ) : 167 === r . kind ? bs ( r , t , n ) : Cs ( r , t , n ) ; } function Cs ( t , n , r ) { var a = Ls ( t , r ) ; return ss ( t , e . Diagnostics . Invalid_left_hand_side_of_assignment_expression , e . Diagnostics . Left_hand_side_of_assignment_expression_cannot_be_a_constant ) && na ( n , a , t , void 0 ) , n ; } function Ds ( e , t ) { return Ss ( e . left , e . operatorToken , e . right , t , e ) ; } function Ss ( t , n , r , i , o ) { function c ( n ) { var a = fs ( p , 16777216 ) ? t : fs ( f , 16777216 ) ? r : void 0 ; return a ? ( s ( a , e . Diagnostics . The_0_operator_cannot_be_applied_to_type_symbol , e . tokenToString ( n ) ) , ! 1 ) : ! 0 ; } function _ ( e ) { switch ( e ) { case 47 : case 67 : return 52 ; case 48 : case 68 : return 33 ; case 46 : case 66 : return 51 ; default : return ; } } function u ( n ) { if ( a && d >= 56 && 68 >= d ) { var r = ss ( t , e . Diagnostics . Invalid_left_hand_side_of_assignment_expression , e . Diagnostics . Left_hand_side_of_assignment_expression_cannot_be_a_constant ) ; r && na ( n , p , t , void 0 ) ; } } function l ( ) { s ( o || n , e . Diagnostics . Operator_0_cannot_be_applied_to_types_1_and_2 , e . tokenToString ( n . kind ) , Ae ( p ) , Ae ( f ) ) ; } var d = n . kind ; if ( 56 === d && ( 168 === t . kind || 167 === t . kind ) ) return xs ( t , Ls ( r , i ) , i ) ; var p = Ls ( t , i ) , f = Ls ( r , i ) ; switch ( d ) { case 37 : case 38 : case 59 : case 60 : case 39 : case 61 : case 40 : case 62 : case 36 : case 58 : case 43 : case 63 : case 44 : case 64 : case 45 : case 65 : case 47 : case 67 : case 48 : case 68 : case 46 : case 66 : 96 & p . flags && ( p = f ) , 96 & f . flags && ( f = p ) ; var m = void 0 ; if ( 8 & p . flags && 8 & f . flags && void 0 !== ( m = _ ( n . kind ) ) ) s ( o || n , e . Diagnostics . The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead , e . tokenToString ( n . kind ) , e . tokenToString ( m ) ) ; else { var g = os ( t , p , e . Diagnostics . The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type ) , y = os ( r , f , e . Diagnostics . The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type ) ; g && y && u ( ad ) ; } return ad ; case 35 : case 57 : 96 & p . flags && ( p = f ) , 96 & f . flags && ( f = p ) ; var h = void 0 ; if ( ms ( p , 132 ) && ms ( f , 132 ) ) h = ad ; else if ( ms ( p , 258 ) || ms ( f , 258 ) ? h = rd : ( Ue ( p ) || Ue ( f ) ) && ( h = p === ud || f === ud ? ud : nd ) , h && ! c ( d ) ) return h ; return h ? ( 57 === d && u ( h ) , h ) : ( l ( ) , nd ) ; case 25 : case 27 : case 28 : case 29 : if ( ! c ( d ) ) return id ; case 30 : case 31 : case 32 : case 33 : return fs ( p , 258 ) && fs ( f , 258 ) ? id : ( ea ( p , f ) || ea ( f , p ) || l ( ) , id ) ; case 91 : return hs ( t , r , p , f ) ; case 90 : return vs ( t , r , p , f ) ; case 51 : return f ; case 52 : return vr ( [ p , f ] ) ; case 56 : return u ( f ) , Sa ( f ) ; case 24 : return f ; } } function Ts ( t ) { for ( var n = t , r = t . parent ; r ; ) { if ( e . isFunctionLike ( r ) && n === r . body ) return ! 1 ; if ( e . isClassLike ( n ) ) return ! 0 ; n = r , r = r . parent ; } return ! 1 ; } function Es ( t ) { if ( a && ( 2 & t . parserContextFlags && ! Ts ( t ) || Tl ( t , e . Diagnostics . A_yield_expression_is_only_allowed_in_a_generator_body ) , ci ( t ) && s ( t , e . Diagnostics . yield_expressions_cannot_be_used_in_a_parameter_initializer ) ) , t . expression ) { var n = e . getContainingFunction ( t ) ; if ( n && n . asteriskToken ) { var r = Os ( t . expression , void 0 ) , i = void 0 , o = ! ! t . asteriskToken ; if ( o && ( i = $c ( r , t . expression ) ) , n . type ) { var c = t_ ( Pr ( n . type ) ) || nd ; o ? na ( i , c , t . expression , void 0 ) : na ( r , c , t . expression , void 0 ) ; } } } return nd ; } function ws ( e , t ) { Ls ( e . condition ) ; var n = Ls ( e . whenTrue , t ) , r = Ls ( e . whenFalse , t ) ; return vr ( [ n , r ] ) ; } function As ( e ) { var t = Si ( e ) ; return t && gi ( t ) ? Dr ( e . text ) : rd ; } function Ps ( t ) { return e . forEach ( t . templateSpans , function ( e ) { Ls ( e . expression ) ; } ) , rd ; } function Ns ( e , t , n ) { var r = e . contextualType ; e . contextualType = t ; var a = Ls ( e , n ) ; return e . contextualType = r , a ; } function Os ( e , t ) { var n = h ( e ) ; return n . resolvedType || ( n . resolvedType = Ls ( e , t ) ) , n . resolvedType ; } function Rs ( e , t ) { return 137 === e . name . kind && zi ( e . name ) , Ls ( e . initializer , t ) ; } function Is ( e , t ) { yl ( e ) , 137 === e . name . kind && zi ( e . name ) ; var n = as ( e , t ) ; return Fs ( e , n , t ) ; } function Fs ( e , t , n ) { if ( Pi ( n ) ) { var r = Co ( t ) ; if ( r && r . typeParameters ) { var a = Di ( e ) ; if ( a ) { var i = Co ( a ) ; if ( i && ! i . typeParameters ) return On ( Do ( r , i , n ) ) ; } } } return t ; } function Ls ( t , n ) { var r ; if ( 136 === t . kind ) r = co ( t ) ; else { var a = Bs ( t , n ) ; r = Fs ( t , a , n ) ; } if ( gs ( r ) ) { var i = 169 === t . parent . kind && t . parent . expression === t || 170 === t . parent . kind && t . parent . expression === t || ( 69 === t . kind || 136 === t . kind ) && ou ( t ) ; i || s ( t , e . Diagnostics . const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment ) ; } return r ; } function Ms ( e ) { return Ll ( e ) , ad ; } function Bs ( t , n ) { switch ( t . kind ) { case 69 : return Va ( t ) ; case 97 : return ei ( t ) ; case 95 : return ri ( t ) ; case 93 : return _d ; case 99 : case 84 : return id ; case 8 : return Ms ( t ) ; case 186 : return Ps ( t ) ; case 9 : return As ( t ) ; case 11 : return rd ; case 10 : return Cd ; case 167 : return Ii ( t , n ) ; case 168 : return Ki ( t , n ) ; case 169 : return so ( t ) ; case 170 : return mo ( t ) ; case 171 : case 172 : return Wo ( t ) ; case 173 : return Vo ( t ) ; case 175 : return Ls ( t . expression , n ) ; case 189 : return f_ ( t ) ; case 176 : case 177 : return as ( t , n ) ; case 179 : return _s ( t ) ; case 174 : case 192 : return Ho ( t ) ; case 178 : return cs ( t ) ; case 180 : return us ( t ) ; case 181 : return ls ( t ) ; case 182 : return ds ( t ) ; case 183 : return ps ( t ) ; case 184 : return Ds ( t , n ) ; case 185 : return ws ( t , n ) ; case 188 : return Oi ( t , n ) ; case 190 : return cd ; case 187 : return Es ( t ) ; case 243 : return ro ( t ) ; case 236 : return Ji ( t ) ; case 237 : return ji ( t ) ; case 238 : e . Debug . fail ( "Shouldn't ever directly check a JsxOpeningElement" ) ; } return ud ; } function zs ( t ) { t . expression && Tl ( t . expression , e . Diagnostics . Type_expected ) , q_ ( t . constraint ) , Bn ( Pt ( ae ( t ) ) ) , a && d_ ( t . name , e . Diagnostics . Type_parameter_name_cannot_be_0 ) ; } function Ks ( t ) { Wu ( t ) || Vu ( t ) , Mc ( t ) ; var n = e . getContainingFunction ( t ) ; 56 & t . flags && ( n = e . getContainingFunction ( t ) , 145 === n . kind && e . nodeIsPresent ( n . body ) || s ( t , e . Diagnostics . A_parameter_property_is_only_allowed_in_a_constructor_implementation ) ) , t . questionToken && e . isBindingPattern ( t . name ) && n . body && s ( t , e . Diagnostics . A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature ) , ! t . dotDotDotToken || e . isBindingPattern ( t . name ) || ka ( _t ( t . symbol ) ) || s ( t , e . Diagnostics . A_rest_parameter_must_be_of_an_array_type ) ; } function js ( e ) { return e . asteriskToken && e . body ? 144 === e . kind || 216 === e . kind || 176 === e . kind : ! 1 ; } function Js ( e , t ) { if ( e ) for ( var n = 0 ; n < e . length ; n ++ ) { var r = e [ n ] ; if ( 69 === r . name . kind && r . name . text === t . text ) return n ; } return - 1 ; } function Us ( t ) { var n = qs ( t ) ; if ( ! n ) return void s ( t , e . Diagnostics . A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods ) ; var r = Sn ( n ) . typePredicate ; if ( r ) { var a = t . parameterName ; if ( e . isThisTypePredicate ( r ) ) Ar ( a ) ; else if ( r . parameterIndex >= 0 ) n . parameters [ r . parameterIndex ] . dotDotDotToken ? s ( a , e . Diagnostics . A_type_predicate_cannot_reference_a_rest_parameter ) : na ( r . type , lu ( n . parameters [ r . parameterIndex ] ) , t . type ) ; else if ( a ) { for ( var i = ! 1 , o = 0 , c = n . parameters ; o < c . length ; o ++ ) { var _ = c [ o ] . name ; if ( e . isBindingPattern ( _ ) && Ws ( _ , a , r . parameterName ) ) { i = ! 0 ; break ; } } i || s ( t . parameterName , e . Diagnostics . Cannot_find_parameter_0 , r . parameterName ) ; } } } function qs ( e ) { switch ( e . parent . kind ) { case 177 : case 148 : case 216 : case 176 : case 153 : case 144 : case 143 : var t = e . parent ; if ( e === t . type ) return t ; } } function Ws ( t , n , r ) { for ( var a = 0 , i = t . elements ; a < i . length ; a ++ ) { var o = i [ a ] . name ; if ( 69 === o . kind && o . text === r ) return s ( n , e . Diagnostics . A_type_predicate_cannot_reference_element_0_in_a_binding_pattern , r ) , ! 0 ; if ( ( 165 === o . kind || 164 === o . kind ) && Ws ( o , n , r ) ) return ! 0 ; } } function Vs ( t ) { if ( 150 === t . kind ? tl ( t ) : 153 !== t . kind && 216 !== t . kind && 154 !== t . kind && 148 !== t . kind && 145 !== t . kind && 149 !== t . kind || Yu ( t ) , p_ ( t . typeParameters ) , e . forEach ( t . parameters , Ks ) , t . type && q_ ( t . type ) , a ) { if ( wc ( t ) , Vl . noImplicitAny && ! t . type ) switch ( t . kind ) { case 149 : s ( t , e . Diagnostics . Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type ) ; break ; case 148 : s ( t , e . Diagnostics . Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type ) ; } if ( t . type ) if ( Hl >= 2 && js ( t ) ) { var n = Pr ( t . type ) ; if ( n === sd ) s ( t . type , e . Diagnostics . A_generator_cannot_have_a_void_type_annotation ) ; else { var r = t_ ( n ) || nd , i = sr ( r ) ; na ( i , n , t . type ) ; } } else e . isAsyncFunctionLike ( t ) && hc ( t ) ; } cc ( t ) ; } function Hs ( t ) { if ( 218 === t . kind ) { var n = ae ( t ) ; if ( n . declarations . length > 0 && n . declarations [ 0 ] !== t ) return ; } var r = Rn ( ae ( t ) ) ; if ( r ) for ( var a = ! 1 , i = ! 1 , o = 0 , c = r . declarations ; o < c . length ; o ++ ) { var _ = c [ o ] , u = _ ; if ( 1 === u . parameters . length && u . parameters [ 0 ] . type ) switch ( u . parameters [ 0 ] . type . kind ) { case 130 : i ? s ( u , e . Diagnostics . Duplicate_string_index_signature ) : i = ! 0 ; break ; case 128 : a ? s ( u , e . Diagnostics . Duplicate_number_index_signature ) : a = ! 0 ; } } } function Gs ( e ) { Wu ( e ) || Vu ( e ) || Nl ( e ) || _l ( e . name ) , Mc ( e ) ; } function Xs ( t ) { yl ( t ) || _l ( t . name ) , Tc ( t ) , 128 & t . flags && t . body && s ( t , e . Diagnostics . Method_0_cannot_have_an_implementation_because_it_is_marked_abstract , e . declarationNameToString ( t . name ) ) ; } function Qs ( t ) { function n ( e ) { return ! ( 142 !== e . kind || 64 & e . flags || ! e . initializer ) ; } Vs ( t ) , Al ( t ) || Pl ( t ) , q_ ( t . body ) ; var r = ae ( t ) , i = e . getDeclarationOfKind ( r , t . kind ) ; if ( t === i && uc ( r ) , ! e . nodeIsMissing ( t . body ) && a ) { var o = t . parent ; if ( e . getClassExtendsHeritageClauseElement ( o ) ) { var c = Za ( o ) , _ = $a ( t ) ; if ( _ ) { c && s ( _ , e . Diagnostics . A_constructor_cannot_contain_a_super_call_when_its_class_extends_null ) ; var u = e . forEach ( t . parent . members , n ) || e . forEach ( t . parameters , function ( e ) { return 56 & e . flags ; } ) ; if ( u ) { for ( var l = t . body . statements , d = void 0 , p = 0 , f = l ; p < f . length ; p ++ ) { var m = f [ p ] ; if ( 198 === m . kind && e . isSuperCallExpression ( m . expression ) ) { d = m ; break ; } if ( ! e . isPrologueDirective ( m ) ) break ; } d || s ( t , e . Diagnostics . A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties ) ; } } else c || s ( t , e . Diagnostics . Constructors_for_derived_classes_must_contain_a_super_call ) ; } } } function Ys ( t ) { if ( a ) { if ( Yu ( t ) || ml ( t ) || _l ( t . name ) , Dc ( t ) , Vs ( t ) , 146 === t . kind && ! e . isInAmbientContext ( t ) && e . nodeIsPresent ( t . body ) && 524288 & t . flags && ( 1048576 & t . flags ? Vl . noImplicitReturns && s ( t . name , e . Diagnostics . Not_all_code_paths_return_a_value ) : s ( t . name , e . Diagnostics . A_get_accessor_must_return_a_value ) ) , 137 === t . name . kind && zi ( t . name ) , ! e . hasDynamicName ( t ) ) { var n = 146 === t . kind ? 147 : 146 , r = e . getDeclarationOfKind ( t . symbol , n ) ; if ( r ) { ( 56 & t . flags ) !== ( 56 & r . flags ) && s ( t . name , e . Diagnostics . Getter_and_setter_accessors_do_not_agree_in_visibility ) ; var i = rt ( t ) , o = rt ( r ) ; i && o && ( Qr ( i , o ) || s ( t , e . Diagnostics . get_and_set_accessor_must_have_the_same_type ) ) ; } } at ( ae ( t ) ) ; } 168 !== t . parent . kind ? q_ ( t . body ) : W_ ( t ) ; } function $s ( e ) { q_ ( e . body ) ; } function Zs ( e ) { Dc ( e ) ; } function ec ( t , n ) { for ( var r , a , i = ! 0 , o = 0 ; o < t . length ; o ++ ) { var s = Bn ( t [ o ] ) ; if ( s ) { r || ( r = e . map ( n , Pr ) , a = Ir ( t , r ) ) ; var c = r [ o ] ; i = i && na ( c , Jt ( Vr ( s , a ) , c ) , n [ o ] , e . Diagnostics . Type_0_does_not_satisfy_the_constraint_1 ) ; } } return i ; } function tc ( t ) { rl ( t , t . typeArguments ) ; var n = Xn ( t ) ; if ( n !== ud && t . typeArguments && ( e . forEach ( t . typeArguments , q_ ) , a ) ) { var r = h ( t ) . resolvedSymbol , i = 524288 & r . flags ? y ( r ) . typeParameters : n . target . localTypeParameters ; ec ( i , t . typeArguments ) ; } } function nc ( e ) { Qn ( e ) ; } function rc ( t ) { if ( e . forEach ( t . members , q_ ) , a ) { var n = Cr ( t ) ; l_ ( n ) , Hs ( t ) ; } } function ac ( e ) { q_ ( e . elementType ) ; } function ic ( t ) { var n = Gu ( t . elementTypes ) ; n || 0 !== t . elementTypes . length || wl ( t , e . Diagnostics . A_tuple_type_element_list_cannot_be_empty ) , e . forEach ( t . elementTypes , q_ ) ; } function oc ( t ) { e . forEach ( t . types , q_ ) ; } function sc ( t ) { return 16 & t . flags && e . isInAmbientContext ( t ) ; } function cc ( t ) { if ( a ) { var n = Sn ( t ) ; if ( n . hasStringLiterals ) { if ( e . nodeIsPresent ( t . body ) ) return void s ( t , e . Diagnostics . A_signature_with_an_implementation_cannot_use_a_string_literal_type ) ; var r ; if ( ! t . name && t . parent && 218 === t . parent . kind ) { e . Debug . assert ( 148 === t . kind || 149 === t . kind ) ; var i = 148 === t . kind ? 0 : 1 , o = ae ( t . parent ) , c = Ot ( o ) ; r = yn ( c , i ) ; } else r = Tn ( ae ( t ) ) ; for ( var _ = 0 , u = r ; _ < u . length ; _ ++ ) { var l = u [ _ ] ; if ( ! l . hasStringLiterals && ra ( n , l , ! 1 ) ) return ; } s ( t , e . Diagnostics . Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature ) ; } } } function _c ( t , n ) { var r = e . getCombinedNodeFlags ( t ) ; return 218 !== t . parent . kind && 217 !== t . parent . kind && 189 !== t . parent . kind && e . isInAmbientContext ( t ) && ( 4 & r || ( r |= 2 ) , r |= 4 ) , r & n ; } function uc ( t ) { function n ( e , t ) { var n = void 0 !== t && t . parent === e [ 0 ] . parent ; return n ? t : e [ 0 ] ; } function r ( t , r , a , i , o ) { var c = i ^ o ; if ( 0 !== c ) { var _ = _c ( n ( t , r ) , a ) ; e . forEach ( t , function ( t ) { var n = _c ( t , a ) ^ _ ; 2 & n ? s ( t . name , e . Diagnostics . Overload_signatures_must_all_be_exported_or_not_exported ) : 4 & n ? s ( t . name , e . Diagnostics . Overload_signatures_must_all_be_ambient_or_non_ambient ) : 48 & n ? s ( t . name , e . Diagnostics . Overload_signatures_must_all_be_public_private_or_protected ) : 128 & n && s ( t . name , e . Diagnostics . Overload_signatures_must_all_be_abstract_or_not_abstract ) ; } ) ; } } function i ( t , r , a , i ) { if ( a !== i ) { var o = e . hasQuestionToken ( n ( t , r ) ) ; e . forEach ( t , function ( t ) { var n = e . hasQuestionToken ( t ) !== o ; n && s ( t . name , e . Diagnostics . Overload_signatures_must_all_be_optional_or_required ) ; } ) ; } } function o ( t ) { if ( ! t . name || ! e . nodeIsMissing ( t . name ) ) { var n = ! 1 , r = e . forEachChild ( t . parent , function ( e ) { return n ? e : void ( n = e === t ) ; } ) ; if ( r && r . pos === t . end && r . kind === t . kind ) { var a = r . name || r ; if ( t . name && r . name && t . name . text === r . name . text ) { var i = ( 144 === t . kind || 143 === t . kind ) && ( 64 & t . flags ) !== ( 64 & r . flags ) ; if ( i ) { var o = 64 & t . flags ? e . Diagnostics . Function_overload_must_be_static : e . Diagnostics . Function_overload_must_not_be_static ; s ( a , o ) ; } return ; } if ( e . nodeIsPresent ( r . body ) ) return void s ( a , e . Diagnostics . Function_implementation_name_must_be_0 , e . declarationNameToString ( t . name ) ) ; } var c = t . name || t ; h ? s ( c , e . Diagnostics . Constructor_implementation_is_missing ) : 128 & t . flags ? s ( c , e . Diagnostics . All_declarations_of_an_abstract_method_must_be_consecutive ) : s ( c , e . Diagnostics . Function_implementation_is_missing_or_not_immediately_following_the_declaration ) ; } } if ( a ) { for ( var c , _ , u , l = 182 , d = 0 , p = l , f = ! 1 , m = ! 0 , g = ! 1 , y = t . declarations , h = 0 !== ( 16384 & t . flags ) , v = t . parent && 1536 & t . parent . flags , k = ! 1 , b = ! 1 , x = 0 , C = y ; x < C . length ; x ++ ) { var D = C [ x ] , S = D , T = e . isInAmbientContext ( S ) , E = 218 === S . parent . kind || 156 === S . parent . kind || T ; if ( E && ( u = void 0 ) , 216 === S . kind || 144 === S . kind || 143 === S . kind || 145 === S . kind ) { var w = _c ( S , l ) ; d |= w , p &= w , f = f || e . hasQuestionToken ( S ) , m = m && e . hasQuestionToken ( S ) , e . nodeIsPresent ( S . body ) && c ? h ? b = ! 0 : k = ! 0 : ! v && u && u . parent === S . parent && u . end !== S . pos && o ( u ) , e . nodeIsPresent ( S . body ) ? c || ( c = S ) : g = ! 0 , u = S , E || ( _ = S ) ; } } if ( b && e . forEach ( y , function ( t ) { s ( t , e . Diagnostics . Multiple_constructor_implementations_are_not_allowed ) ; } ) , k && e . forEach ( y , function ( t ) { s ( t . name , e . Diagnostics . Duplicate_function_implementation ) ; } ) , v || ! _ || _ . body || 128 & _ . flags || o ( _ ) , g && ( r ( y , c , l , d , p ) , i ( y , c , f , m ) , c ) ) { var A = Tn ( t ) , P = Sn ( c ) ; if ( ! P . hasStringLiterals ) for ( var N = 0 , O = A ; N < O . length ; N ++ ) { var R = O [ N ] ; if ( ! R . hasStringLiterals && ! oa ( P , R ) ) { s ( R . declaration , e . Diagnostics . Overload_signature_is_not_compatible_with_function_implementation ) ; break ; } } } } } function lc ( t ) { function n ( t ) { switch ( t . kind ) { case 218 : return 2097152 ; case 221 : return e . isAmbientModule ( t ) || 0 !== e . getModuleInstanceState ( t ) ? 5242880 : 4194304 ; case 217 : case 220 : return 3145728 ; case 224 : var r = 0 , a = j ( ae ( t ) ) ; return e . forEach ( a . declarations , function ( e ) { r |= n ( e ) ; } ) , r ; default : return 1048576 ; } } if ( a ) { var r = t . localSymbol ; if ( ( r || ( r = ae ( t ) , 7340032 & r . flags ) ) && e . getDeclarationOfKind ( r , t . kind ) === t ) { for ( var i = 0 , o = 0 , c = 0 , _ = 0 , u = r . declarations ; _ < u . length ; _ ++ ) { var l = u [ _ ] , d = n ( l ) , p = _c ( l , 514 ) ; 2 & p ? 512 & p ? c |= d : i |= d : o |= d ; } var f = i | o , m = i & o , g = c & f ; if ( m || g ) for ( var y = 0 , h = r . declarations ; y < h . length ; y ++ ) { var l = h [ y ] , d = n ( l ) ; d & g ? s ( l . name , e . Diagnostics . Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead , e . declarationNameToString ( l . name ) ) : d & m && s ( l . name , e . Diagnostics . Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local , e . declarationNameToString ( l . name ) ) ; } } } } function dc ( t , n , r ) { return t = Ea ( t ) , ! Ue ( t ) && ea ( t , Kd ( ) ) ? ( n && ( r || ( r = e . Diagnostics . Operand_for_await_does_not_have_a_valid_callable_then_member ) , s ( n , r ) ) , ud ) : t ; } function pc ( t ) { if ( ! ( 1 & t . flags ) ) { if ( 4096 & t . flags && t . target === Ld ( ) ) return t . typeArguments [ 0 ] ; var n = Bd ( ) ; if ( n !== ld && ea ( t , n ) ) { var r = Je ( t , "then" ) ; if ( ! ( r && 1 & r . flags ) ) { var a = r ? yn ( r , 0 ) : ql ; if ( 0 !== a . length ) { var i = vr ( e . map ( a , fc ) ) ; if ( ! ( 1 & i . flags ) ) { var o = yn ( i , 0 ) ; if ( 0 !== o . length ) { var s = vr ( e . map ( o , fc ) ) ; return s ; } } } } } } } function fc ( e ) { return Go ( e , 0 ) ; } function mc ( e ) { return gc ( e , void 0 , void 0 ) ; } function gc ( t , n , r ) { function a ( t ) { if ( 16384 & t . flags ) { for ( var i = [ ] , o = 0 , c = t . types ; o < c . length ; o ++ ) { var _ = c [ o ] ; i . push ( a ( _ ) ) ; } return vr ( i ) ; } var u = pc ( t ) ; if ( void 0 === u ) return dc ( t , n , r ) ; if ( t . id === u . id || sp . indexOf ( u . id ) >= 0 ) return n && s ( n , e . Diagnostics . _0_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method , Ee ( t . symbol ) ) , ud ; sp . push ( t . id ) ; var l = a ( u ) ; return sp . pop ( ) , l ; } return a ( t ) ; } function yc ( t , n ) { if ( t === ud ) return ud ; var r = Fd ( ) ; return r === pd || r === ut ( t ) ? gc ( t , n , e . Diagnostics . An_async_function_or_method_must_have_a_valid_awaitable_return_type ) : ( s ( n , e . Diagnostics . The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type ) , ud ) ; } function hc ( t ) { if ( Vl . noCustomAsyncPromise && Hl >= 2 ) { var n = Pr ( t . type ) ; return yc ( n , t . type ) ; } var r = zd ( ) ; if ( r === ld ) return ud ; var a = Pr ( t . type ) ; if ( a === ud && Vl . isolatedModules ) return ud ; var i = h ( t . type ) . resolvedSymbol ; if ( ! i || ! se ( i ) ) { var o = i ? Ee ( i ) : Ae ( a ) ; return s ( t , e . Diagnostics . Type_0_is_not_a_valid_async_function_return_type , o ) , ud ; } xc ( t ) ; var c = _t ( i ) ; if ( ! na ( c , r , t , e . Diagnostics . Type_0_is_not_a_valid_async_function_return_type ) ) return ud ; var _ = e . getEntityNameFromTypeNode ( t . type ) , u = O_ ( _ ) , l = k ( t . locals , u . text , 107455 ) ; return l ? ( s ( l . valueDeclaration , e . Diagnostics . Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions , u . text , W ( i ) ) , ud ) : gc ( a , t , e . Diagnostics . An_async_function_or_method_must_have_a_valid_awaitable_return_type ) ; } function vc ( t ) { var n = Uo ( t ) , r = wn ( n ) ; if ( ! ( 1 & r . flags ) ) { var a , i , o = jo ( t ) ; switch ( t . parent . kind ) { case 217 : var s = ae ( t . parent ) , c = _t ( s ) ; a = vr ( [ c , sd ] ) ; break ; case 139 : a = sd , i = e . chainDiagnosticMessages ( i , e . Diagnostics . The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any ) ; break ; case 142 : a = sd , i = e . chainDiagnosticMessages ( i , e . Diagnostics . The_return_type_of_a_property_decorator_function_must_be_either_void_or_any ) ; break ; case 144 : case 146 : case 147 : var _ = lu ( t . parent ) , u = ar ( _ ) ; a = vr ( [ u , sd ] ) ; } na ( r , a , t , o , i ) ; } } function kc ( e ) { if ( e && 152 === e . kind ) { var t = O_ ( e . typeName ) , n = 152 === t . parent . kind ? 793056 : 1536 , r = C ( t , t . text , 8388608 | n , void 0 , void 0 ) ; if ( r && 8388608 & r . flags ) { var a = j ( r ) ; 107455 & a . flags && ! Tu ( j ( r ) ) && U ( r ) ; } } } function bc ( e ) { kc ( e . type ) ; } function xc ( e ) { kc ( e . type ) ; } function Cc ( e ) { for ( var t = 0 , n = e . parameters ; t < n . length ; t ++ ) { var r = n [ t ] ; bc ( r ) ; } } function Dc ( t ) { if ( t . decorators && e . nodeCanBeDecorated ( t ) ) { if ( Vl . experimentalDecorators || s ( t , e . Diagnostics . Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning ) , Vl . emitDecoratorMetadata ) switch ( t . kind ) { case 217 : var n = e . getFirstConstructorWithBody ( t ) ; n && Cc ( n ) ; break ; case 144 : case 146 : case 147 : Cc ( t ) , xc ( t ) ; break ; case 142 : case 139 : bc ( t ) ; } e . forEach ( t . decorators , vc ) ; } } function Sc ( e ) { a && ( Tc ( e ) || ul ( e ) , Oc ( e , e . name ) , Pc ( e , e . name ) , Rc ( e , e . name ) , Ic ( e , e . name ) ) ; } function Tc ( t ) { Dc ( t ) , Vs ( t ) ; var n = e . isAsyncFunctionLike ( t ) ; if ( t . name && 137 === t . name . kind && zi ( t . name ) , ! e . hasDynamicName ( t ) ) { var r = ae ( t ) , i = t . localSymbol || r , o = e . forEach ( i . declarations , function ( n ) { return n . kind !== t . kind || e . isSourceFileJavaScript ( e . getSourceFileOfNode ( n ) ) ? void 0 : n ; } ) ; t === o && uc ( i ) , r . parent && e . getDeclarationOfKind ( r , t . kind ) === t && uc ( r ) ; } if ( q_ ( t . body ) , ! t . asteriskToken ) { var s = t . type && ( n ? hc ( t ) : Pr ( t . type ) ) ; rs ( t , s ) ; } a && ! t . type && ( Vl . noImplicitAny && e . nodeIsMissing ( t . body ) && ! sc ( t ) && Aa ( t , nd ) , t . asteriskToken && e . nodeIsPresent ( t . body ) && wn ( Sn ( t ) ) ) ; } function Ec ( t ) { 195 === t . kind && Fl ( t ) , e . forEach ( t . statements , q_ ) ; } function wc ( t ) { ! e . hasRestParameter ( t ) || e . isInAmbientContext ( t ) || e . nodeIsMissing ( t . body ) || e . forEach ( t . parameters , function ( t ) { t . name && ! e . isBindingPattern ( t . name ) && t . name . text === $l . name && s ( t , e . Diagnostics . Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters ) ; } ) ; } function Ac ( t , n , r ) { if ( ! n || n . text !== r ) return ! 1 ; if ( 142 === t . kind || 141 === t . kind || 144 === t . kind || 143 === t . kind || 146 === t . kind || 147 === t . kind ) return ! 1 ; if ( e . isInAmbientContext ( t ) ) return ! 1 ; var a = e . getRootDeclaration ( t ) ; return 139 !== a . kind || ! e . nodeIsMissing ( a . parent . body ) ; } function Pc ( e , t ) { Ac ( e , t , "_this" ) && op . push ( e ) ; } function Nc ( t ) { for ( var n = t ; n ; ) { if ( 4 & Au ( n ) ) { var r = 69 !== t . kind ; return void ( r ? s ( t . name , e . Diagnostics . Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference ) : s ( t , e . Diagnostics . Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference ) ) ; } n = n . parent ; } } function Oc ( t , n ) { if ( Ac ( t , n , "_super" ) ) { var r = e . getContainingClass ( t ) ; if ( r && ! e . isInAmbientContext ( r ) && e . getClassExtendsHeritageClauseElement ( r ) ) { var a = 69 !== t . kind ; a ? s ( t , e . Diagnostics . Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference ) : s ( t , e . Diagnostics . Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference ) ; } } } function Rc ( t , n ) { if ( ( Ac ( t , n , "require" ) || Ac ( t , n , "exports" ) ) && ( 221 !== t . kind || 1 === e . getModuleInstanceState ( t ) ) ) { var r = Ke ( t ) ; 251 === r . kind && e . isExternalOrCommonJsModule ( r ) && s ( n , e . Diagnostics . Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module , e . declarationNameToString ( n ) , e . declarationNameToString ( n ) ) ; } } function Ic ( t , n ) { if ( Vl . noCustomAsyncPromise && Ac ( t , n , "Promise" ) && ( 221 !== t . kind || 1 === e . getModuleInstanceState ( t ) ) ) { var r = Ke ( t ) ; 251 === r . kind && e . isExternalOrCommonJsModule ( r ) && 33554432 & r . flags && s ( n , e . Diagnostics . Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions , e . declarationNameToString ( n ) , e . declarationNameToString ( n ) ) ; } } function Fc ( t ) { if ( 0 === ( 24576 & e . getCombinedNodeFlags ( t ) ) && ! e . isParameterDeclaration ( t ) && ( 214 !== t . kind || t . initializer ) ) { var n = ae ( t ) ; if ( 1 & n . flags ) { var r = C ( t , t . name . text , 3 , void 0 , void 0 ) ; if ( r && r !== n && 2 & r . flags && 24576 & io ( r ) ) { var a = e . getAncestor ( r . valueDeclaration , 215 ) , i = 196 === a . parent . kind && a . parent . parent ? a . parent . parent : void 0 , o = i && ( 195 === i . kind && e . isFunctionLike ( i . parent ) || 222 === i . kind || 221 === i . kind || 251 === i . kind ) ; if ( ! o ) { var c = Ee ( r ) ; s ( t , e . Diagnostics . Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1 , c , c ) ; } } } } } function Lc ( t ) { function n ( a ) { if ( 69 === a . kind ) { var i = h ( a ) . resolvedSymbol ; if ( i && i !== ed && k ( r . locals , i . name , 107455 ) === i ) { if ( 139 === i . valueDeclaration . kind ) { if ( i . valueDeclaration === t ) return void s ( a , e . Diagnostics . Parameter_0_cannot_be_referenced_in_its_initializer , e . declarationNameToString ( t . name ) ) ; if ( i . valueDeclaration . pos < t . pos ) return ; } s ( a , e . Diagnostics . Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it , e . declarationNameToString ( t . name ) , e . declarationNameToString ( a ) ) ; } } else e . forEachChild ( a , n ) ; } if ( 139 === e . getRootDeclaration ( t ) . kind ) { var r = e . getContainingFunction ( t ) ; n ( t . initializer ) ; } } function Mc ( t ) { if ( Dc ( t ) , q_ ( t . type ) , 137 === t . name . kind && ( zi ( t . name ) , t . initializer && Os ( t . initializer ) ) , 166 === t . kind && t . propertyName && 137 === t . propertyName . kind && zi ( t . propertyName ) , e . isBindingPattern ( t . name ) && e . forEach ( t . name . elements , q_ ) , t . initializer && 139 === e . getRootDeclaration ( t ) . kind && e . nodeIsMissing ( e . getContainingFunction ( t ) . body ) ) return void s ( t , e . Diagnostics . A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation ) ; if ( e . isBindingPattern ( t . name ) ) return void ( t . initializer && 203 !== t . parent . parent . kind && ( na ( Os ( t . initializer ) , tt ( t ) , t , void 0 ) , Lc ( t ) ) ) ; var n = ae ( t ) , r = nt ( n ) ; if ( t === n . valueDeclaration ) t . initializer && 203 !== t . parent . parent . kind && ( na ( Os ( t . initializer ) , r , t , void 0 ) , Lc ( t ) ) ; else { var a = tt ( t ) ; r === ud || a === ud || Qr ( r , a ) || s ( t . name , e . Diagnostics . Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2 , e . declarationNameToString ( t . name ) , Ae ( r ) , Ae ( a ) ) , t . initializer && na ( Os ( t . initializer ) , a , t , void 0 ) ; } 142 !== t . kind && 141 !== t . kind && ( lc ( t ) , 214 !== t . kind && 166 !== t . kind || Fc ( t ) , Oc ( t , t . name ) , Pc ( t , t . name ) , Rc ( t , t . name ) , Ic ( t , t . name ) ) ; } function Bc ( e ) { return kl ( e ) , Mc ( e ) ; } function zc ( e ) { return vl ( e ) , Mc ( e ) ; } function Kc ( t ) { Wu ( t ) || Vu ( t ) || xl ( t . declarationList ) || Dl ( t ) , e . forEach ( t . declarationList . declarations , q_ ) ; } function jc ( t ) { if ( t . modifiers && 168 === t . parent . kind ) { if ( ! e . isAsyncFunctionLike ( t ) ) return Tl ( t , e . Diagnostics . Modifiers_cannot_appear_here ) ; if ( t . modifiers . length > 1 ) return Tl ( t , e . Diagnostics . Modifiers_cannot_appear_here ) ; } } function Jc ( e ) { Fl ( e ) , Ls ( e . expression ) ; } function Uc ( t ) { Fl ( t ) , Ls ( t . expression ) , q_ ( t . thenStatement ) , 197 === t . thenStatement . kind && s ( t . thenStatement , e . Diagnostics . The_body_of_an_if_statement_cannot_be_the_empty_statement ) , q_ ( t . elseStatement ) ; } function qc ( e ) { Fl ( e ) , q_ ( e . statement ) , Ls ( e . expression ) ; } function Wc ( e ) { Fl ( e ) , Ls ( e . expression ) , q_ ( e . statement ) ; } function Vc ( t ) { Fl ( t ) || t . initializer && 215 === t . initializer . kind && xl ( t . initializer ) , t . initializer && ( 215 === t . initializer . kind ? e . forEach ( t . initializer . declarations , Bc ) : Ls ( t . initializer ) ) , t . condition && Ls ( t . condition ) , t . incrementor && Ls ( t . incrementor ) , q_ ( t . statement ) ; } function Hc ( t ) { if ( fl ( t ) , 215 === t . initializer . kind ) Xc ( t ) ; else { var n = t . initializer , r = Qc ( t . expression ) ; if ( 167 === n . kind || 168 === n . kind ) xs ( n , r || ud ) ; else { var a = Ls ( n ) ; ss ( n , e . Diagnostics . Invalid_left_hand_side_in_for_of_statement , e . Diagnostics . The_left_hand_side_of_a_for_of_statement_cannot_be_a_previously_defined_constant ) , r && na ( r , a , n , void 0 ) ; } } q_ ( t . statement ) ; } function Gc ( t ) { if ( fl ( t ) , 215 === t . initializer . kind ) { var n = t . initializer . declarations [ 0 ] ; n && e . isBindingPattern ( n . name ) && s ( n . name , e . Diagnostics . The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern ) , Xc ( t ) ; } else { var r = t . initializer , a = Ls ( r ) ; 167 === r . kind || 168 === r . kind ? s ( r , e . Diagnostics . The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern ) : Mi ( a , 258 ) ? ss ( r , e . Diagnostics . Invalid_left_hand_side_in_for_in_statement , e . Diagnostics . The_left_hand_side_of_a_for_in_statement_cannot_be_a_previously_defined_constant ) : s ( r , e . Diagnostics . The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any ) ; } var i = Ls ( t . expression ) ; Mi ( i , 81408 ) || s ( t . expression , e . Diagnostics . The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter ) , q_ ( t . statement ) ; } function Xc ( e ) { var t = e . initializer ; if ( t . declarations . length >= 1 ) { var n = t . declarations [ 0 ] ; Bc ( n ) ; } } function Qc ( e ) { var t = du ( e ) ; return Yc ( t , e , ! 0 ) ; } function Yc ( t , n , r ) { if ( Ue ( t ) ) return t ; if ( Hl >= 2 ) return $c ( t , n ) ; if ( r ) return n_ ( t , n ) ; if ( ba ( t ) ) { var a = vn ( t , 1 ) ; if ( a ) return a ; } return s ( n , e . Diagnostics . Type_0_is_not_an_array_type , Ae ( t ) ) , ud ; } function $c ( e , t ) { var n = Zc ( e , t ) ; return t && n && na ( e , or ( n ) , t ) , n || nd ; } function Zc ( t , n ) { if ( ! Ue ( t ) ) { var r = t ; if ( ! r . iterableElementType ) if ( 4096 & t . flags && t . target === Td ) r . iterableElementType = t . typeArguments [ 0 ] ; else { var a = Je ( t , e . getPropertyNameForKnownSymbolName ( "iterator" ) ) ; if ( Ue ( a ) ) return ; var i = a ? yn ( a , 0 ) : ql ; if ( 0 === i . length ) return void ( n && s ( n , e . Diagnostics . Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator ) ) ; r . iterableElementType = e_ ( vr ( e . map ( i , wn ) ) , n ) ; } return r . iterableElementType ; } } function e_ ( t , n ) { if ( ! Ue ( t ) ) { var r = t ; if ( ! r . iteratorElementType ) if ( 4096 & t . flags && t . target === Ed ) r . iteratorElementType = t . typeArguments [ 0 ] ; else { var a = Je ( t , "next" ) ; if ( Ue ( a ) ) return ; var i = a ? yn ( a , 0 ) : ql ; if ( 0 === i . length ) return void ( n && s ( n , e . Diagnostics . An_iterator_must_have_a_next_method ) ) ; var o = vr ( e . map ( i , wn ) ) ; if ( Ue ( o ) ) return ; var c = Je ( o , "value" ) ; if ( ! c ) return void ( n && s ( n , e . Diagnostics . The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property ) ) ; r . iteratorElementType = c ; } return r . iteratorElementType ; } } function t_ ( e ) { return Ue ( e ) ? void 0 : 4096 & e . flags && e . target === wd ? e . typeArguments [ 0 ] : Zc ( e , void 0 ) || e_ ( e , void 0 ) ; } function n_ ( t , n ) { e . Debug . assert ( 2 > Hl ) ; var r = t ; 16384 & t . flags ? r = vr ( e . filter ( t . types , function ( e ) { return ! ( 258 & e . flags ) ; } ) ) : 258 & t . flags && ( r = dd ) ; var a = t !== r , i = ! 1 ; if ( a && ( 1 > Hl && ( s ( n , e . Diagnostics . Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher ) , i = ! 0 ) , r === ld ) ) return rd ; if ( ! ba ( r ) ) { if ( ! i ) { var o = a ? e . Diagnostics . Type_0_is_not_an_array_type : e . Diagnostics . Type_0_is_not_an_array_type_or_a_string_type ; s ( n , o , Ae ( r ) ) ; } return a ? rd : ud ; } var c = vn ( r , 1 ) || ud ; return a ? 258 & c . flags ? rd : vr ( [ c , rd ] ) : c ; } function r_ ( e ) { Fl ( e ) || hl ( e ) ; } function a_ ( t ) { return ! ( 146 !== t . kind || ! e . getSetAccessorTypeAnnotationNode ( e . getDeclarationOfKind ( t . symbol , 147 ) ) ) ; } function i_ ( t ) { if ( ! Fl ( t ) ) { var n = e . getContainingFunction ( t ) ; n || Tl ( t , e . Diagnostics . A_return_statement_can_only_be_used_within_a_function_body ) ; } if ( t . expression ) { var r = e . getContainingFunction ( t ) ; if ( r ) { var a = Sn ( r ) , i = wn ( a ) , o = Os ( t . expression ) ; if ( r . asteriskToken ) return ; if ( 147 === r . kind ) s ( t . expression , e . Diagnostics . Setters_cannot_return_a_value ) ; else if ( 145 === r . kind ) na ( o , i , t . expression ) || s ( t . expression , e . Diagnostics . Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class ) ; else if ( r . type || a_ ( r ) ) if ( e . isAsyncFunctionLike ( r ) ) { var c = pc ( i ) , _ = gc ( o , t . expression , e . Diagnostics . Return_expression_in_async_function_does_not_have_a_valid_callable_then_member ) ; c && na ( _ , c , t . expression ) ; } else na ( o , i , t . expression ) ; } } } function o_ ( t ) { Fl ( t ) || 8 & t . parserContextFlags && Tl ( t , e . Diagnostics . with_statements_are_not_allowed_in_an_async_function_block ) , Ls ( t . expression ) , s ( t . expression , e . Diagnostics . All_symbols_within_a_with_block_will_be_resolved_to_any ) ; } function s_ ( t ) { Fl ( t ) ; var n , r = ! 1 , i = Ls ( t . expression ) , o = fs ( i , 258 ) ; e . forEach ( t . caseBlock . clauses , function ( s ) { if ( 245 === s . kind && ! r ) if ( void 0 === n ) n = s ; else { var c = e . getSourceFileOfNode ( t ) , _ = e . skipTrivia ( c . text , s . pos ) , u = s . statements . length > 0 ? s . statements [ 0 ] . pos : s . end ; El ( c , _ , u - _ , e . Diagnostics . A_default_clause_cannot_appear_more_than_once_in_a_switch_statement ) , r = ! 0 ; } if ( a && 244 === s . kind ) { var l = s , d = Ls ( l . expression ) , p = o && fs ( d , 258 ) || ea ( i , d ) ; p || na ( d , i , l . expression , void 0 ) ; } e . forEach ( s . statements , q_ ) ; } ) ; } function c_ ( t ) { if ( ! Fl ( t ) ) for ( var n = t . parent ; n && ! e . isFunctionLike ( n ) ; ) { if ( 210 === n . kind && n . label . text === t . label . text ) { var r = e . getSourceFileOfNode ( t ) ; wl ( t . label , e . Diagnostics . Duplicate_label_0 , e . getTextOfNodeFromSourceText ( r . text , t . label ) ) ; break ; } n = n . parent ; } q_ ( t . statement ) ; } function __ ( t ) { Fl ( t ) || void 0 === t . expression && Ml ( t , e . Diagnostics . Line_break_not_permitted_here ) , t . expression && Ls ( t . expression ) ; } function u_ ( t ) { Fl ( t ) , Ec ( t . tryBlock ) ; var n = t . catchClause ; if ( n ) { if ( n . variableDeclaration ) if ( 69 !== n . variableDeclaration . name . kind ) Tl ( n . variableDeclaration . name , e . Diagnostics . Catch_clause_variable_name_must_be_an_identifier ) ; else if ( n . variableDeclaration . type ) Tl ( n . variableDeclaration . type , e . Diagnostics . Catch_clause_variable_cannot_have_a_type_annotation ) ; else if ( n . variableDeclaration . initializer ) Tl ( n . variableDeclaration . initializer , e . Diagnostics . Catch_clause_variable_cannot_have_an_initializer ) ; else { var r = n . variableDeclaration . name . text , a = n . block . locals ; if ( a && e . hasProperty ( a , r ) ) { var i = a [ r ] ; i && 0 !== ( 2 & i . flags ) && wl ( i . valueDeclaration , e . Diagnostics . Cannot_redeclare_identifier_0_in_catch_clause , r ) ; } } Ec ( n . block ) ; } t . finallyBlock && Ec ( t . finallyBlock ) ; } function l_ ( t ) { function n ( t , n , r , a , i , o ) { if ( i && ( 1 !== o || Fi ( t . valueDeclaration . name ) ) ) { var c ; if ( 137 === t . valueDeclaration . name . kind || t . parent === r . symbol ) c = t . valueDeclaration ; else if ( a ) c = a ; else if ( 2048 & r . flags ) { var _ = e . forEach ( xt ( r ) , function ( e ) { return cn ( e , t . name ) && vn ( e , o ) ; } ) ; c = _ ? void 0 : r . symbol . declarations [ 0 ] ; } if ( c && ! ea ( n , i ) ) { var u = 0 === o ? e . Diagnostics . Property_0_of_type_1_is_not_assignable_to_string_index_type_2 : e . Diagnostics . Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2 ; s ( c , u , Ee ( t ) , Ae ( n ) , Ae ( i ) ) ; } } } var r = In ( t . symbol , 1 ) , a = In ( t . symbol , 0 ) , i = vn ( t , 0 ) , o = vn ( t , 1 ) ; if ( ( i || o ) && ( e . forEach ( sn ( t ) , function ( e ) { var s = _t ( e ) ; n ( e , s , t , a , i , 0 ) , n ( e , s , t , r , o , 1 ) ; } ) , 1024 & t . flags && e . isClassLike ( t . symbol . valueDeclaration ) ) ) for ( var c = t . symbol . valueDeclaration , _ = 0 , u = c . members ; _ < u . length ; _ ++ ) { var l = u [ _ ] ; if ( ! ( 64 & l . flags ) && e . hasDynamicName ( l ) ) { var d = _t ( l . symbol ) ; n ( l . symbol , d , t , a , i , 0 ) , n ( l . symbol , d , t , r , o , 1 ) ; } } var p ; if ( i && o && ( p = r || a , ! p && 2048 & t . flags ) ) { var f = e . forEach ( xt ( t ) , function ( e ) { return vn ( e , 0 ) && vn ( e , 1 ) ; } ) ; p = f ? void 0 : t . symbol . declarations [ 0 ] ; } p && ! ea ( o , i ) && s ( p , e . Diagnostics . Numeric_index_type_0_is_not_assignable_to_string_index_type_1 , Ae ( o ) , Ae ( i ) ) ; } function d_ ( e , t ) { switch ( e . text ) { case "any" : case "number" : case "boolean" : case "string" : case "symbol" : case "void" : s ( e , t , e . text ) ; } } function p_ ( t ) { if ( t ) for ( var n = 0 , r = t . length ; r > n ; n ++ ) { var i = t [ n ] ; if ( zs ( i ) , a ) for ( var o = 0 ; n > o ; o ++ ) t [ o ] . symbol === i . symbol && s ( i . name , e . Diagnostics . Duplicate_identifier_0 , e . declarationNameToString ( i . name ) ) ; } } function f_ ( e ) { return y_ ( e ) , W_ ( e ) , _t ( ae ( e ) ) ; } function m_ ( t ) { e . forEach ( t . members , q_ ) ; } function g_ ( t ) { t . name || 512 & t . flags || Tl ( t , e . Diagnostics . A_class_declaration_without_the_default_modifier_must_have_a_name ) , y_ ( t ) , e . forEach ( t . members , q_ ) ; } function y_ ( t ) { sl ( t ) , Dc ( t ) , t . name && ( d_ ( t . name , e . Diagnostics . Class_name_cannot_be_0 ) , Pc ( t , t . name ) , Rc ( t , t . name ) , Ic ( t , t . name ) ) , p_ ( t . typeParameters ) , lc ( t ) ; var n = ae ( t ) , r = Ot ( n ) , i = Jt ( r ) , o = _t ( n ) , c = e . getClassExtendsHeritageClauseElement ( t ) ; if ( c ) { var _ = xt ( r ) ; if ( _ . length && a ) { var u = _ [ 0 ] , l = bt ( r ) ; if ( q_ ( c . expression ) , c . typeArguments ) { e . forEach ( c . typeArguments , q_ ) ; for ( var d = 0 , p = vt ( l , c . typeArguments ) ; d < p . length ; d ++ ) { var f = p [ d ] ; if ( ! ec ( f . typeParameters , c . typeArguments ) ) break ; } } if ( na ( i , Jt ( u , r . thisType ) , t . name || t , e . Diagnostics . Class_0_incorrectly_extends_base_class_1 ) , na ( o , Xr ( l ) , t . name || t , e . Diagnostics . Class_static_side_0_incorrectly_extends_base_class_static_side_1 ) , ! ( l . symbol && 32 & l . symbol . flags ) ) { var m = kt ( l , c . typeArguments ) ; e . forEach ( m , function ( e ) { return wn ( e ) !== u ; } ) && s ( c . expression , e . Diagnostics . Base_constructors_must_all_have_the_same_return_type ) ; } k_ ( r , u ) ; } } var g = e . getClassImplementsHeritageClauseElements ( t ) ; if ( g ) for ( var y = 0 , h = g ; y < h . length ; y ++ ) { var v = h [ y ] ; if ( e . isSupportedExpressionWithTypeArguments ( v ) || s ( v . expression , e . Diagnostics . A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments ) , tc ( v ) , a ) { var k = Pr ( v ) ; if ( k !== ud ) { var b = 4096 & k . flags ? k . target : k ; 3072 & b . flags ? na ( i , Jt ( k , r . thisType ) , t . name || t , e . Diagnostics . Class_0_incorrectly_implements_interface_1 ) : s ( v , e . Diagnostics . A_class_may_only_implement_another_class_or_interface ) ; } } } a && ( l_ ( r ) , Hs ( t ) ) ; } function h_ ( e ) { return 16777216 & e . flags ? y ( e ) . target : e ; } function v_ ( t ) { return e . forEach ( t . declarations , function ( t ) { return e . isClassLike ( t ) ? t : void 0 ; } ) ; } function k_ ( t , n ) { for ( var r = sn ( n ) , a = 0 , i = r ; a < i . length ; a ++ ) { var o = i [ a ] , c = h_ ( o ) ; if ( ! ( 134217728 & c . flags ) ) { var _ = h_ ( cn ( t , c . name ) ) , u = io ( c ) ; if ( e . Debug . assert ( ! ! _ , "derived should point to something, even if it is the base class' declaration." ) , _ ) if ( _ === c ) { var l = v_ ( t . symbol ) ; ! ( 128 & u ) || l && 128 & l . flags || ( 189 === l . kind ? s ( l , e . Diagnostics . Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1 , Ee ( o ) , Ae ( n ) ) : s ( l , e . Diagnostics . Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2 , Ae ( t ) , Ee ( o ) , Ae ( n ) ) ) ; } else { var d = io ( _ ) ; if ( 16 & u || 16 & d ) continue ; if ( ( 64 & u ) !== ( 64 & d ) ) continue ; if ( c . flags & _ . flags & 8192 || 98308 & c . flags && 98308 & _ . flags ) continue ; var p = void 0 ; 8192 & c . flags ? 98304 & _ . flags ? p = e . Diagnostics . Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor : ( e . Debug . assert ( 0 !== ( 4 & _ . flags ) ) , p = e . Diagnostics . Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property ) : 4 & c . flags ? ( e . Debug . assert ( 0 !== ( 8192 & _ . flags ) ) , p = e . Diagnostics . Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function ) : ( e . Debug . assert ( 0 !== ( 98304 & c . flags ) ) , e . Debug . assert ( 0 !== ( 8192 & _ . flags ) ) , p = e . Diagnostics . Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function ) , s ( _ . valueDeclaration . name , p , Ae ( n ) , Ee ( c ) , Ae ( t ) ) ; } } } } function b_ ( e ) { return 146 === e || 147 === e ; } function x_ ( e , t ) { if ( ! e && ! t ) return ! 0 ; if ( ! e || ! t || e . length !== t . length ) return ! 1 ; for ( var n = 0 , r = e . length ; r > n ; n ++ ) { var a = e [ n ] , i = t [ n ] ; if ( a . name . text !== i . name . text ) return ! 1 ; if ( a . constraint || i . constraint ) { if ( ! a . constraint || ! i . constraint ) return ! 1 ; if ( ! Qr ( Pr ( a . constraint ) , Pr ( i . constraint ) ) ) return ! 1 ; } } return ! 0 ; } function C_ ( t , n ) { var r = xt ( t ) ; if ( r . length < 2 ) return ! 0 ; var a = { } ; e . forEach ( jt ( t ) . declaredProperties , function ( e ) { a [ e . name ] = { prop : e , containingType : t } ; } ) ; for ( var i = ! 0 , o = 0 , s = r ; o < s . length ; o ++ ) for ( var c = s [ o ] , _ = sn ( Jt ( c , t . thisType ) ) , u = 0 , l = _ ; u < l . length ; u ++ ) { var d = l [ u ] ; if ( e . hasProperty ( a , d . name ) ) { var p = a [ d . name ] , f = p . containingType !== t ; if ( f && ! da ( p . prop , d ) ) { i = ! 1 ; var m = Ae ( p . containingType ) , g = Ae ( c ) , y = e . chainDiagnosticMessages ( void 0 , e . Diagnostics . Named_property_0_of_types_1_and_2_are_not_identical , Ee ( d ) , m , g ) ; y = e . chainDiagnosticMessages ( y , e . Diagnostics . Interface_0_cannot_simultaneously_extend_types_1_and_2 , Ae ( t ) , m , g ) , cp . add ( e . createDiagnosticForNodeFromMessageChain ( n , y ) ) ; } } else a [ d . name ] = { prop : d , containingType : c } ; } return i ; } function D_ ( t ) { if ( Wu ( t ) || Vu ( t ) || cl ( t ) , p_ ( t . typeParameters ) , a ) { d_ ( t . name , e . Diagnostics . Interface_name_cannot_be_0 ) , lc ( t ) ; var n = ae ( t ) , r = e . getDeclarationOfKind ( n , 218 ) ; if ( n . declarations . length > 1 && ( t === r || x_ ( r . typeParameters , t . typeParameters ) || s ( t . name , e . Diagnostics . All_declarations_of_an_interface_must_have_identical_type_parameters ) ) , t === r ) { var i = Ot ( n ) , o = Jt ( i ) ; if ( C_ ( i , t . name ) ) { for ( var c = 0 , _ = xt ( i ) ; c < _ . length ; c ++ ) { var u = _ [ c ] ; na ( o , Jt ( u , i . thisType ) , t . name , e . Diagnostics . Interface_0_incorrectly_extends_interface_1 ) ; } l_ ( i ) ; } } } e . forEach ( e . getInterfaceBaseTypeNodes ( t ) , function ( t ) { e . isSupportedExpressionWithTypeArguments ( t ) || s ( t . expression , e . Diagnostics . An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments ) , tc ( t ) ; } ) , e . forEach ( t . members , q_ ) , a && Hs ( t ) ; } function S_ ( t ) { Wu ( t ) || Vu ( t ) , d_ ( t . name , e . Diagnostics . Type_alias_name_cannot_be_0 ) , q_ ( t . type ) ; } function T_ ( t ) { function n ( t , n , r , a ) { function i ( n ) { switch ( n . kind ) { case 182 : var r = i ( n . operand ) ; if ( void 0 === r ) return ; switch ( n . operator ) { case 35 : return r ; case 36 : return - r ; case 50 : return ~ r ; } return ; case 184 : var a = i ( n . left ) ; if ( void 0 === a ) return ; var c = i ( n . right ) ; if ( void 0 === c ) return ; switch ( n . operatorToken . kind ) { case 47 : return a | c ; case 46 : return a & c ; case 44 : return a >> c ; case 45 : return a >>> c ; case 43 : return a << c ; case 48 : return a ^ c ; case 37 : return a * c ; case 39 : return a / c ; case 35 : return a + c ; case 36 : return a - c ; case 40 : return a % c ; } return ; case 8 : return + n . text ; case 175 : return i ( n . expression ) ; case 69 : case 170 : case 169 : var _ , u = t . parent , l = _t ( ae ( u . parent ) ) , d = void 0 ; if ( 69 === n . kind ) _ = l , d = n . text ; else { var p = void 0 ; if ( 170 === n . kind ) { if ( void 0 === n . argumentExpression || 9 !== n . argumentExpression . kind ) return ; p = n . expression , d = n . argumentExpression . text ; } else p = n . expression , d = n . name . text ; for ( var f = p ; f && 69 !== f . kind ; ) { if ( 169 !== f . kind ) return ; f = f . expression ; } if ( _ = Ls ( p ) , ! ( _ . symbol && 384 & _ . symbol . flags ) ) return ; } if ( void 0 === d ) return ; var m = cn ( _ , d ) ; if ( ! ( m && 8 & m . flags ) ) return ; var g = m . valueDeclaration ; if ( u === g ) return ; return x ( g , u ) ? h ( g ) . enumMemberValue : ( o = ! 1 , void s ( n , e . Diagnostics . A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums ) ) ; } } var o = ! 0 , c = i ( t ) ; return o && ( void 0 === c ? r ? s ( t , e . Diagnostics . In_const_enum_declarations_member_initializer_must_be_constant_expression ) : a ? s ( t , e . Diagnostics . In_ambient_enum_declarations_member_initializer_must_be_constant_expression ) : na ( Ls ( t ) , n , t , void 0 ) : r && ( isNaN ( c ) ? s ( t , e . Diagnostics . const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN ) : isFinite ( c ) || s ( t , e . Diagnostics . const_enum_member_initializer_was_evaluated_to_a_non_finite_value ) ) ) , c ; } var r = h ( t ) ; if ( ! ( 16384 & r . flags ) ) { for ( var a = ae ( t ) , i = Ot ( a ) , o = 0 , c = e . isInAmbientContext ( t ) , _ = e . isConst ( t ) , u = 0 , l = t . members ; u < l . length ; u ++ ) { var d = l [ u ] ; if ( Ve ( d . name ) ) s ( d . name , e . Diagnostics . Computed_property_names_are_not_allowed_in_enums ) ; else { var p = We ( d . name ) ; Bi ( p ) && s ( d . name , e . Diagnostics . An_enum_member_cannot_have_a_numeric_name ) ; } var f = void 0 === o , m = d . initializer ; m ? o = n ( m , i , _ , c ) : c && ! _ ? o = void 0 : f && s ( d . name , e . Diagnostics . Enum_member_must_have_initializer ) , void 0 !== o && ( h ( d ) . enumMemberValue = o , o ++ ) ; } r . flags |= 16384 ; } } function E_ ( t ) { if ( a ) { Wu ( t ) || Vu ( t ) , d_ ( t . name , e . Diagnostics . Enum_name_cannot_be_0 ) , Pc ( t , t . name ) , Rc ( t , t . name ) , Ic ( t , t . name ) , lc ( t ) , T_ ( t ) ; var n = e . isConst ( t ) ; Vl . isolatedModules && n && e . isInAmbientContext ( t ) && s ( t . name , e . Diagnostics . Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided ) ; var r = ae ( t ) , i = e . getDeclarationOfKind ( r , t . kind ) ; if ( t === i ) { r . declarations . length > 1 && e . forEach ( r . declarations , function ( t ) { e . isConstEnumDeclaration ( t ) !== n && s ( t . name , e . Diagnostics . Enum_declarations_must_all_be_const_or_non_const ) ; } ) ; var o = ! 1 ; e . forEach ( r . declarations , function ( t ) { if ( 220 !== t . kind ) return ! 1 ; var n = t ; if ( ! n . members . length ) return ! 1 ; var r = n . members [ 0 ] ; r . initializer || ( o ? s ( r . name , e . Diagnostics . In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element ) : o = ! 0 ) ; } ) ; } } } function w_ ( t ) { for ( var n = t . declarations , r = 0 , a = n ; r < a . length ; r ++ ) { var i = a [ r ] ; if ( ( 217 === i . kind || 216 === i . kind && e . nodeIsPresent ( i . body ) ) && ! e . isInAmbientContext ( i ) ) return i ; } } function A_ ( t , n ) { var r = e . getEnclosingBlockScopeContainer ( t ) , a = e . getEnclosingBlockScopeContainer ( n ) ; return v ( r ) ? v ( a ) : v ( a ) ? ! 1 : r === a ; } function P_ ( t ) { if ( a ) { var n = e . isGlobalScopeAugmentation ( t ) , r = e . isInAmbientContext ( t ) ; n && ! r && s ( t . name , e . Diagnostics . Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context ) ; var i = e . isAmbientModule ( t ) , o = i ? e . Diagnostics . An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file : e . Diagnostics . A_namespace_declaration_is_only_allowed_in_a_namespace_or_module ; if ( z_ ( t , o ) ) return ; Wu ( t ) || Vu ( t ) || r || 9 !== t . name . kind || wl ( t . name , e . Diagnostics . Only_ambient_modules_can_use_quoted_names ) , Pc ( t , t . name ) , Rc ( t , t . name ) , Ic ( t , t . name ) , lc ( t ) ; var c = ae ( t ) ; if ( 512 & c . flags && c . declarations . length > 1 && ! r && e . isInstantiatedModule ( t , Vl . preserveConstEnums || Vl . isolatedModules ) ) { var _ = w_ ( c ) ; _ && ( e . getSourceFileOfNode ( t ) !== e . getSourceFileOfNode ( _ ) ? s ( t . name , e . Diagnostics . A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged ) : t . pos < _ . pos && s ( t . name , e . Diagnostics . A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged ) ) ; var u = e . getDeclarationOfKind ( c , 217 ) ; u && A_ ( t , u ) && ( h ( t ) . flags |= 32768 ) ; } if ( i ) if ( e . isExternalModuleAugmentation ( t ) ) { var l = n || 33554432 & ae ( t ) . flags ; if ( l ) for ( var d = 0 , p = t . body . statements ; d < p . length ; d ++ ) { var f = p [ d ] ; N_ ( f , n ) ; } } else v ( t . parent ) ? n ? s ( t . name , e . Diagnostics . Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations ) : e . isExternalModuleNameRelative ( t . name . text ) && s ( t . name , e . Diagnostics . Ambient_module_declaration_cannot_specify_relative_module_name ) : n ? s ( t . name , e . Diagnostics . Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations ) : s ( t . name , e . Diagnostics . Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces ) ; } q_ ( t . body ) ; } function N_ ( t , n ) { switch ( t . kind ) { case 196 : for ( var r = 0 , a = t . declarationList . declarations ; r < a . length ; r ++ ) { var i = a [ r ] ; N_ ( i , n ) ; } break ; case 230 : case 231 : Tl ( t , e . Diagnostics . Exports_and_export_assignments_are_not_permitted_in_module_augmentations ) ; break ; case 224 : if ( 9 !== t . moduleReference . kind ) { s ( t . name , e . Diagnostics . Module_augmentation_cannot_introduce_new_names_in_the_top_level_scope ) ; break ; } case 225 : Tl ( t , e . Diagnostics . Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module ) ; break ; case 166 : case 214 : var o = t . name ; if ( e . isBindingPattern ( o ) ) { for ( var c = 0 , _ = o . elements ; c < _ . length ; c ++ ) { var u = _ [ c ] ; N_ ( u , n ) ; } break ; } case 217 : case 220 : case 216 : case 218 : case 221 : case 219 : var l = ae ( t ) ; if ( l ) { var d = ! ( 33554432 & l . flags ) ; d || ( d = n ? void 0 !== l . parent : e . isExternalModuleAugmentation ( l . parent . valueDeclaration ) ) , d && s ( t , e . Diagnostics . Module_augmentation_cannot_introduce_new_names_in_the_top_level_scope ) ; } } } function O_ ( t ) { for ( ; ; ) if ( 136 === t . kind ) t = t . left ; else { if ( 169 !== t . kind ) break ; t = t . expression ; } return e . Debug . assert ( 69 === t . kind ) , t ; } function R_ ( t ) { var n = e . getExternalModuleName ( t ) ; if ( ! e . nodeIsMissing ( n ) && 9 !== n . kind ) return s ( n , e . Diagnostics . String_literal_expected ) , ! 1 ; var r = 222 === t . parent . kind && e . isAmbientModule ( t . parent . parent ) ; return 251 === t . parent . kind || r ? r && e . isExternalModuleNameRelative ( n . text ) && ! Oe ( t ) ? ( s ( t , e . Diagnostics . Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name ) , ! 1 ) : ! 0 : ( s ( n , 231 === t . kind ? e . Diagnostics . Export_declarations_are_not_permitted_in_a_namespace : e . Diagnostics . Import_declarations_in_a_namespace_cannot_reference_a_module ) , ! 1 ) ; } function I_ ( t ) { var n = ae ( t ) , r = j ( n ) ; if ( r !== ed ) { var a = ( 107455 & n . flags ? 107455 : 0 ) | ( 793056 & n . flags ? 793056 : 0 ) | ( 1536 & n . flags ? 1536 : 0 ) ; if ( r . flags & a ) { var i = 233 === t . kind ? e . Diagnostics . Export_declaration_conflicts_with_exported_declaration_of_0 : e . Diagnostics . Import_declaration_conflicts_with_local_declaration_of_0 ; s ( t , i , Ee ( n ) ) ; } } } function F_ ( e ) { Pc ( e , e . name ) , Rc ( e , e . name ) , Ic ( e , e . name ) , I_ ( e ) ; } function L_ ( t ) { if ( ! z_ ( t , e . Diagnostics . An_import_declaration_can_only_be_used_in_a_namespace_or_module ) && ( ! Wu ( t ) && ! Vu ( t ) && 1022 & t . flags && Tl ( t , e . Diagnostics . An_import_declaration_cannot_have_modifiers ) , R_ ( t ) ) ) { var n = t . importClause ; n && ( n . name && F_ ( n ) , n . namedBindings && ( 227 === n . namedBindings . kind ? F_ ( n . namedBindings ) : e . forEach ( n . namedBindings . elements , F_ ) ) ) ; } } function M_ ( t ) { if ( ! z_ ( t , e . Diagnostics . An_import_declaration_can_only_be_used_in_a_namespace_or_module ) && ( Wu ( t ) || Vu ( t ) , e . isInternalModuleImportEqualsDeclaration ( t ) || R_ ( t ) ) ) if ( F_ ( t ) , 2 & t . flags && J ( t ) , e . isInternalModuleImportEqualsDeclaration ( t ) ) { var n = j ( ae ( t ) ) ; if ( n !== ed ) { if ( 107455 & n . flags ) { var r = O_ ( t . moduleReference ) ; 1536 & V ( r , 108479 ) . flags || s ( r , e . Diagnostics . Module_0_is_hidden_by_a_local_declaration_with_the_same_name , e . declarationNameToString ( r ) ) ; } 793056 & n . flags && d_ ( t . name , e . Diagnostics . Import_name_cannot_be_0 ) ; } } else 5 !== Gl || e . isInAmbientContext ( t ) || wl ( t , e . Diagnostics . Import_assignment_cannot_be_used_when_targeting_ECMAScript_6_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead ) ; } function B_ ( t ) { if ( ! z_ ( t , e . Diagnostics . An_export_declaration_can_only_be_used_in_a_module ) && ( ! Wu ( t ) && ! Vu ( t ) && 1022 & t . flags && Tl ( t , e . Diagnostics . An_export_declaration_cannot_have_modifiers ) , ! t . moduleSpecifier || R_ ( t ) ) ) if ( t . exportClause ) { e . forEach ( t . exportClause . elements , K_ ) ; var n = 222 === t . parent . kind && e . isAmbientModule ( t . parent . parent ) ; 251 === t . parent . kind || n || s ( t , e . Diagnostics . Export_declarations_are_not_permitted_in_a_namespace ) ; } else { var r = H ( t , t . moduleSpecifier ) ; r && Y ( r ) && s ( t . moduleSpecifier , e . Diagnostics . Module_0_uses_export_and_cannot_be_used_with_export_Asterisk , Ee ( r ) ) ; } } function z_ ( e , t ) { return 251 !== e . parent . kind && 222 !== e . parent . kind && 221 !== e . parent . kind ? Tl ( e , t ) : void 0 ; } function K_ ( t ) { if ( I_ ( t ) , ! t . parent . parent . moduleSpecifier ) { var n = t . propertyName || t . name , r = C ( n , n . text , 9289727 , void 0 , void 0 ) ; r && ( r === Yl || v ( Ke ( r . declarations [ 0 ] ) ) ) ? s ( n , e . Diagnostics . Cannot_re_export_name_that_is_not_defined_in_the_module ) : J ( t ) ; } } function j_ ( t ) { if ( ! z_ ( t , e . Diagnostics . An_export_assignment_can_only_be_used_in_a_module ) ) { var n = 251 === t . parent . kind ? t . parent : t . parent . parent ; if ( 221 === n . kind && ! e . isAmbientModule ( n ) ) return void s ( t , e . Diagnostics . An_export_assignment_cannot_be_used_in_a_namespace ) ; ! Wu ( t ) && ! Vu ( t ) && 1022 & t . flags && Tl ( t , e . Diagnostics . An_export_assignment_cannot_have_modifiers ) , 69 === t . expression . kind ? J ( t ) : Os ( t . expression ) , U_ ( n ) , t . isExportEquals && ! e . isInAmbientContext ( t ) && ( 5 === Gl ? wl ( t , e . Diagnostics . Export_assignment_cannot_be_used_when_targeting_ECMAScript_6_modules_Consider_using_export_default_or_another_module_format_instead ) : 4 === Gl && wl ( t , e . Diagnostics . Export_assignment_is_not_supported_when_module_flag_is_system ) ) ; } } function J_ ( e ) { for ( var t in e . exports ) if ( "export=" !== t ) return ! 0 ; return ! 1 ; } function U_ ( t ) { function n ( e ) { return 216 !== e . kind || ! ! e . body ; } var r = ae ( t ) , a = y ( r ) ; if ( ! a . exportsChecked ) { var i = r . exports [ "export=" ] ; if ( i && J_ ( r ) ) { var o = w ( i ) || i . valueDeclaration ; Oe ( o ) || s ( o , e . Diagnostics . An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements ) ; } var c = ee ( r ) ; for ( var _ in c ) if ( "__export" !== _ ) { var u = c [ _ ] , l = u . declarations , d = u . flags ; if ( ! ( 1984 & d ) && ( 524288 & d ? l . length - 1 : l . length ) > 1 ) { var p = e . filter ( l , n ) ; if ( p . length > 1 ) for ( var f = 0 , m = p ; f < m . length ; f ++ ) { var o = m [ f ] ; cp . add ( e . createDiagnosticForNode ( o , e . Diagnostics . Cannot_redeclare_exported_variable_0 , _ ) ) ; } } } a . exportsChecked = ! 0 ; } } function q_ ( e ) { if ( e ) { var t = e . kind ; if ( Bl ) switch ( t ) { case 221 : case 217 : case 218 : case 216 : Bl . throwIfCancellationRequested ( ) ; } switch ( t ) { case 138 : return zs ( e ) ; case 139 : return Ks ( e ) ; case 142 : case 141 : return Gs ( e ) ; case 153 : case 154 : case 148 : case 149 : return Vs ( e ) ; case 150 : return Vs ( e ) ; case 144 : case 143 : return Xs ( e ) ; case 145 : return Qs ( e ) ; case 146 : case 147 : return Ys ( e ) ; case 152 : return tc ( e ) ; case 151 : return Us ( e ) ; case 155 : return nc ( e ) ; case 156 : return rc ( e ) ; case 157 : return ac ( e ) ; case 158 : return ic ( e ) ; case 159 : case 160 : return oc ( e ) ; case 161 : return q_ ( e . type ) ; case 216 : return Sc ( e ) ; case 195 : case 222 : return Ec ( e ) ; case 196 : return Kc ( e ) ; case 198 : return Jc ( e ) ; case 199 : return Uc ( e ) ; case 200 : return qc ( e ) ; case 201 : return Wc ( e ) ; case 202 : return Vc ( e ) ; case 203 : return Gc ( e ) ; case 204 : return Hc ( e ) ; case 205 : case 206 : return r_ ( e ) ; case 207 : return i_ ( e ) ; case 208 : return o_ ( e ) ; case 209 : return s_ ( e ) ; case 210 : return c_ ( e ) ; case 211 : return __ ( e ) ; case 212 : return u_ ( e ) ; case 214 : return Bc ( e ) ; case 166 : return zc ( e ) ; case 217 : return g_ ( e ) ; case 218 : return D_ ( e ) ; case 219 : return S_ ( e ) ; case 220 : return E_ ( e ) ; case 221 : return P_ ( e ) ; case 225 : return L_ ( e ) ; case 224 : return M_ ( e ) ; case 231 : return B_ ( e ) ; case 230 : return j_ ( e ) ; case 197 : return void Fl ( e ) ; case 213 : return void Fl ( e ) ; case 234 : return Zs ( e ) ; } } } function W_ ( e ) { Jd && Jd . push ( e ) ; } function V_ ( ) { for ( var e = 0 , t = Jd ; e < t . length ; e ++ ) { var n = t [ e ] ; switch ( n . kind ) { case 176 : case 177 : case 144 : case 143 : is ( n ) ; break ; case 146 : case 147 : $s ( n ) ; break ; case 189 : m_ ( n ) ; } } } function H_ ( t ) { var n = ( new Date ) . getTime ( ) ; G_ ( t ) , e . checkTime += ( new Date ) . getTime ( ) - n ; } function G_ ( t ) { var n = h ( t ) ; if ( ! ( 1 & n . flags ) ) { if ( Vl . skipDefaultLibCheck && t . hasNoDefaultLib ) return ; Il ( t ) , op . length = 0 , Jd = [ ] , e . forEach ( t . statements , q_ ) , V_ ( ) , Jd = void 0 , e . isExternalOrCommonJsModule ( t ) && U_ ( t ) , op . length && ( e . forEach ( op , Nc ) , op . length = 0 ) , n . flags |= 1 ; } } function X_ ( e , t ) { try { return Bl = t , Q_ ( e ) ; } finally { Bl = void 0 ; } } function Q_ ( t ) { return $_ ( ) , t ? ( H_ ( t ) , cp . getDiagnostics ( t . fileName ) ) : ( e . forEach ( r . getSourceFiles ( ) , H_ ) , cp . getDiagnostics ( ) ) ; } function Y_ ( ) { return $_ ( ) , cp . getGlobalDiagnostics ( ) ; } function $_ ( ) { if ( ! a ) throw new Error ( "Trying to get diagnostics from a type checker that does not produce them." ) ; } function Z_ ( e ) { if ( e ) for ( ; e . parent ; ) { if ( 208 === e . parent . kind && e . parent . statement === e ) return ! 0 ; e = e . parent ; } return ! 1 ; } function eu ( t , n ) { function r ( ) { for ( ; t ; ) { switch ( t . locals && ! v ( t ) && i ( t . locals , n ) , t . kind ) { case 251 : if ( ! e . isExternalOrCommonJsModule ( t ) ) break ; case 221 : i ( ae ( t ) . exports , 8914931 & n ) ; break ; case 220 : i ( ae ( t ) . exports , 8 & n ) ; break ; case 189 : var r = t . name ; r && a ( t . symbol , n ) ; case 217 : case 218 : 64 & s || i ( ae ( t ) . members , 793056 & n ) ; break ; case 176 : var o = t . name ; o && a ( t . symbol , n ) ; } e . introducesArgumentsExoticObject ( t ) && a ( $l , n ) , s = t . flags , t = t . parent ; } i ( Xd , n ) ; } function a ( t , n ) { if ( t . flags & n ) { var r = t . name ; e . hasProperty ( o , r ) || ( o [ r ] = t ) ; } } function i ( e , t ) { if ( t ) for ( var n in e ) { var r = e [ n ] ; a ( r , t ) ; } } var o = { } , s = 0 ; return Z_ ( t ) ? [ ] : ( r ( ) , xn ( o ) ) ; } function tu ( e ) { return 69 === e . kind && nu ( e . parent ) && e . parent . name === e ; } function nu ( e ) { switch ( e . kind ) { case 138 : case 217 : case 218 : case 219 : case 220 : return ! 0 ; } } function ru ( e ) { for ( var t = e ; t . parent && 136 === t . parent . kind ; ) t = t . parent ; return t . parent && 152 === t . parent . kind ; } function au ( e ) { for ( var t = e ; t . parent && 169 === t . parent . kind ; ) t = t . parent ; return t . parent && 191 === t . parent . kind ; } function iu ( e ) { for ( ; 136 === e . parent . kind ; ) e = e . parent ; return 224 === e . parent . kind ? e . parent . moduleReference === e && e . parent : 230 === e . parent . kind ? e . parent . expression === e && e . parent : void 0 ; } function ou ( e ) { return void 0 !== iu ( e ) ; } function su ( t ) { if ( e . isDeclarationName ( t ) ) return ae ( t . parent ) ; if ( e . isInJavaScriptFile ( t ) && 169 === t . parent . kind ) { var n = e . getSpecialPropertyAssignmentKind ( t . parent . parent ) ; switch ( n ) { case 1 : case 3 : return ae ( t . parent ) ; case 4 : case 2 : return ae ( t . parent . parent ) ; } } if ( 230 === t . parent . kind ) return V ( t , 9289727 ) ; if ( 169 !== t . kind && ou ( t ) ) return q ( t ) ; if ( e . isRightSideOfQualifiedNameOrPropertyAccess ( t ) && ( t = t . parent ) , au ( t ) ) { var r = 0 ; return 191 === t . parent . kind ? ( r = 793056 , e . isExpressionWithTypeArgumentsInClassExtendsClause ( t . parent ) && ( r |= 107455 ) ) : r = 1536 , r |= 8388608 , V ( t , r ) ; } if ( 238 === t . parent . kind || 237 === t . parent . kind || 240 === t . parent . kind ) return Gi ( t . parent ) ; if ( e . isExpression ( t ) ) { if ( e . nodeIsMissing ( t ) ) return ; if ( 69 === t . kind ) { var r = 8496063 ; return V ( t , r ) ; } if ( 169 === t . kind ) { var a = h ( t ) . resolvedSymbol ; return a || so ( t ) , h ( t ) . resolvedSymbol ; } if ( 136 === t . kind ) { var a = h ( t ) . resolvedSymbol ; return a || co ( t ) , h ( t ) . resolvedSymbol ; } } else { if ( ru ( t ) ) { var r = 152 === t . parent . kind ? 793056 : 1536 ; return r |= 8388608 , V ( t , r ) ; } if ( 241 === t . parent . kind ) return $i ( t . parent ) ; } return 151 === t . parent . kind ? V ( t , 1 ) : void 0 ; } function cu ( t ) { if ( ! Z_ ( t ) ) { if ( e . isDeclarationName ( t ) ) return ae ( t . parent ) ; if ( 69 === t . kind ) { if ( ou ( t ) ) return 230 === t . parent . kind ? su ( t ) : q ( t ) ; if ( 166 === t . parent . kind && 164 === t . parent . parent . kind && t === t . parent . propertyName ) { var n = lu ( t . parent . parent ) , r = n && mn ( n , t . text ) ; if ( r ) return r ; } } switch ( t . kind ) { case 69 : case 169 : case 136 : return su ( t ) ; case 97 : case 95 : var a = e . isExpression ( t ) ? Ls ( t ) : Pr ( t ) ; return a . symbol ; case 162 : return Pr ( t ) . symbol ; case 121 : var i = t . parent ; if ( i && 145 === i . kind ) return i . parent . symbol ; return ; case 9 : if ( e . isExternalModuleImportEqualsDeclaration ( t . parent . parent ) && e . getExternalModuleImportEqualsDeclarationExpression ( t . parent . parent ) === t || ( 225 === t . parent . kind || 231 === t . parent . kind ) && t . parent . moduleSpecifier === t ) return H ( t , t ) ; case 8 : if ( 170 === t . parent . kind && t . parent . argumentExpression === t ) { var o = Ls ( t . parent . expression ) ; if ( o === ud ) return ; var s = dn ( o ) ; if ( s === ud ) return ; return mn ( s , t . text ) ; } } } } function _u ( e ) { return e && 249 === e . kind ? V ( e . name , 8496063 ) : void 0 ; } function uu ( e ) { return e . parent . parent . moduleSpecifier ? F ( e . parent . parent , e ) : V ( e . propertyName || e . name , 9289727 ) ; } function lu ( t ) { if ( Z_ ( t ) ) return ud ; if ( e . isTypeNode ( t ) ) return Pr ( t ) ; if ( e . isExpression ( t ) ) return du ( t ) ; if ( e . isExpressionWithTypeArgumentsInClassExtendsClause ( t ) ) return xt ( Ot ( ae ( t . parent . parent ) ) ) [ 0 ] ; if ( nu ( t ) ) { var n = ae ( t ) ; return Ot ( n ) ; } if ( tu ( t ) ) { var n = cu ( t ) ; return n && Ot ( n ) ; } if ( e . isDeclaration ( t ) ) { var n = ae ( t ) ; return _t ( n ) ; } if ( e . isDeclarationName ( t ) ) { var n = cu ( t ) ; return n && _t ( n ) ; } if ( e . isBindingPattern ( t ) ) return Qe ( t . parent ) ; if ( ou ( t ) ) { var n = cu ( t ) , r = n && Ot ( n ) ; return r !== ud ? r : _t ( n ) ; } return ud ; } function du ( t ) { return e . isRightSideOfQualifiedNameOrPropertyAccess ( t ) && ( t = t . parent ) , Ls ( t ) ; } function pu ( e ) { var t = ae ( e . parent ) ; return 64 & e . flags ? _t ( t ) : Ot ( t ) ; } function fu ( t ) { t = dn ( t ) ; var n = Bt ( un ( t ) ) ; return ( yn ( t , 0 ) . length || yn ( t , 1 ) . length ) && e . forEach ( un ( hd ) , function ( t ) { e . hasProperty ( n , t . name ) || ( n [ t . name ] = t ) ; } ) , pe ( n ) ; } function mu ( t ) { if ( 268435456 & t . flags ) { var n = [ ] , r = t . name ; return e . forEach ( y ( t ) . containingType . types , function ( e ) { var t = mn ( e , r ) ; t && n . push ( t ) ; } ) , n ; } if ( 67108864 & t . flags ) { var a = y ( t ) . target ; if ( a ) return [ a ] ; } return [ t ] ; } function gu ( e ) { return Bu ( e ) === $l ; } function yu ( t ) { function n ( e ) { return e = K ( e ) , e && ! ! ( 107455 & e . flags ) ; } var r = H ( t . parent , t ) ; if ( ! r ) return ! 0 ; var a = Y ( r ) ; r = X ( r ) ; var i = y ( r ) ; return void 0 === i . exportsSomeValue && ( i . exportsSomeValue = a ? ! ! ( 107455 & r . flags ) : e . forEachValue ( ee ( r ) , n ) ) , i . exportsSomeValue ; } function hu ( e ) { var t = Bu ( e ) ; if ( t ) { if ( 1048576 & t . flags ) { var n = re ( t . exportSymbol ) ; if ( 944 & n . flags ) return ; t = n ; } var r = ie ( t ) ; if ( r ) { if ( 512 & r . flags && 251 === r . valueDeclaration . kind ) return r . valueDeclaration ; for ( var a = e . parent ; a ; a = a . parent ) if ( ( 221 === a . kind || 220 === a . kind ) && ae ( a ) === r ) return a ; } } } function vu ( e ) { var t = Bu ( e ) ; return t && 8388608 & t . flags ? w ( t ) : void 0 ; } function ku ( t ) { if ( 418 & t . flags ) { var n = y ( t ) ; if ( void 0 === n . isDeclaratonWithCollidingName ) { var r = e . getEnclosingBlockScopeContainer ( t . valueDeclaration ) ; if ( e . isStatementWithLocals ( r ) ) { var a = h ( t . valueDeclaration ) ; if ( C ( r . parent , t . name , 107455 , void 0 , void 0 ) ) n . isDeclaratonWithCollidingName = ! 0 ; else if ( 131072 & a . flags ) { var i = 262144 & a . flags , o = e . isIterationStatement ( r , ! 1 ) , s = 195 === r . kind && e . isIterationStatement ( r . parent , ! 1 ) ; n . isDeclaratonWithCollidingName = ! ( e . isBlockScopedContainerTopLevel ( r ) || i && ( o || s ) ) ; } else n . isDeclaratonWithCollidingName = ! 1 ; } } return n . isDeclaratonWithCollidingName ; } return ! 1 ; } function bu ( e ) { var t = Bu ( e ) ; return t && ku ( t ) ? t . valueDeclaration : void 0 ; } function xu ( e ) { return ku ( ae ( e ) ) ; } function Cu ( t ) { switch ( t . kind ) { case 224 : case 226 : case 227 : case 229 : case 233 : return Su ( ae ( t ) ) ; case 231 : var n = t . exportClause ; return n && e . forEach ( n . elements , Cu ) ; case 230 : return t . expression && 69 === t . expression . kind ? Su ( ae ( t ) ) : ! 0 ; } return ! 1 ; } function Du ( t ) { if ( 251 !== t . parent . kind || ! e . isInternalModuleImportEqualsDeclaration ( t ) ) return ! 1 ; var n = Su ( ae ( t ) ) ; return n && t . moduleReference && ! e . nodeIsMissing ( t . moduleReference ) ; } function Su ( e ) { var t = j ( e ) ; return t === ed && Vl . isolatedModules ? ! 0 : t !== ed && t && 107455 & t . flags && ( Vl . preserveConstEnums || ! Tu ( t ) ) ; } function Tu ( e ) { return ys ( e ) || e . constEnumOnlyModule ; } function Eu ( t , n ) { if ( e . isAliasSymbolDeclaration ( t ) ) { var r = ae ( t ) ; if ( y ( r ) . referenced ) return ! 0 ; } return n ? e . forEachChild ( t , function ( e ) { return Eu ( e , n ) ; } ) : ! 1 ; } function wu ( t ) { if ( e . nodeIsPresent ( t . body ) ) { var n = ae ( t ) , r = Tn ( n ) ; return r . length > 1 || 1 === r . length && r [ 0 ] . declaration !== t ; } return ! 1 ; } function Au ( e ) { return h ( e ) . flags ; } function Pu ( e ) { return T_ ( e . parent ) , h ( e ) . enumMemberValue ; } function Nu ( t ) { if ( 250 === t . kind ) return Pu ( t ) ; var n = h ( t ) . resolvedSymbol ; return n && 8 & n . flags && e . isConstEnumDeclaration ( n . valueDeclaration . parent ) ? Pu ( n . valueDeclaration ) : void 0 ; } function Ou ( e ) { return 80896 & e . flags && yn ( e , 0 ) . length > 0 ; } function Ru ( t ) { var n = V ( t , 107455 , ! 0 ) , r = n ? _t ( n ) : void 0 ; if ( r && yt ( r ) ) return e . TypeReferenceSerializationKind . TypeWithConstructSignatureAndValue ; var a = V ( t , 793056 , ! 0 ) ; if ( ! a ) return e . TypeReferenceSerializationKind . ObjectType ; var i = Ot ( a ) ; return i === ud ? e . TypeReferenceSerializationKind . Unknown : 1 & i . flags ? e . TypeReferenceSerializationKind . ObjectType : ms ( i , 16 ) ? e . TypeReferenceSerializationKind . VoidType : ms ( i , 8 ) ? e . TypeReferenceSerializationKind . BooleanType : ms ( i , 132 ) ? e . TypeReferenceSerializationKind . NumberLikeType : ms ( i , 258 ) ? e . TypeReferenceSerializationKind . StringLikeType : ms ( i , 8192 ) ? e . TypeReferenceSerializationKind . ArrayLikeType : ms ( i , 16777216 ) ? e . TypeReferenceSerializationKind . ESSymbolType : Ou ( i ) ? e . TypeReferenceSerializationKind . TypeWithCallSignature : ka ( i ) ? e . TypeReferenceSerializationKind . ArrayLikeType : e . TypeReferenceSerializationKind . ObjectType ; } function Iu ( e , t , n , r ) { var a = ae ( e ) , i = ! a || 133120 & a . flags ? ud : _t ( a ) ; Re ( ) . buildTypeDisplay ( i , r , t , n ) ; } function Fu ( e , t , n , r ) { var a = Sn ( e ) ; Re ( ) . buildTypeDisplay ( wn ( a ) , r , t , n ) ; } function Lu ( e , t , n , r ) { var a = du ( e ) ; Re ( ) . buildTypeDisplay ( a , r , t , n ) ; } function Mu ( t ) { return e . hasProperty ( Xd , t ) ; } function Bu ( e ) { return h ( e ) . resolvedSymbol || C ( e , e . text , 9544639 , void 0 , void 0 ) ; } function zu ( t ) { e . Debug . assert ( ! e . nodeIsSynthesized ( t ) ) ; var n = Bu ( t ) ; return n && oe ( n ) . valueDeclaration ; } function Ku ( ) { return { getReferencedExportContainer : hu , getReferencedImportDeclaration : vu , getReferencedDeclarationWithCollidingName : bu , isDeclarationWithCollidingName : xu , isValueAliasDeclaration : Cu , hasGlobalName : Mu , isReferencedAliasDeclaration : Eu , getNodeCheckFlags : Au , isTopLevelValueImportEqualsWithEntityName : Du , isDeclarationVisible : Ie , isImplementationOfOverload : wu , writeTypeOfDeclaration : Iu , writeReturnTypeOfSignatureDeclaration : Fu , writeTypeOfExpression : Lu , isSymbolAccessible : ke , isEntityNameVisible : Ce , getConstantValue : Nu , collectLinkedAliases : Fe , getReferencedValueDeclaration : zu , getTypeReferenceSerializationKind : Ru , isOptionalParameter : Cn , moduleExportsSomeValue : yu , isArgumentsLocalBinding : gu , getExternalModuleFileFromDeclaration : ju } ; } function ju ( t ) { var n = e . getExternalModuleName ( t ) , r = G ( n , n , void 0 ) ; return r ? e . getDeclarationOfKind ( r , 251 ) : void 0 ; } function Ju ( ) { e . forEach ( r . getSourceFiles ( ) , function ( t ) { e . bindSourceFile ( t , Vl ) ; } ) ; var t ; if ( e . forEach ( r . getSourceFiles ( ) , function ( n ) { e . isExternalOrCommonJsModule ( n ) || f ( Xd , n . locals ) , n . moduleAugmentations . length && ( t || ( t = [ ] ) ) . push ( n . moduleAugmentations ) ; } ) , t ) for ( var n = 0 , a = t ; n < a . length ; n ++ ) for ( var i = a [ n ] , o = 0 , s = i ; o < s . length ; o ++ ) { var c = s [ o ] ; m ( c ) ; } g ( Xd , mp , e . Diagnostics . Declaration_name_conflicts_with_built_in_global_identifier_0 ) , y ( Yl ) . type = cd , y ( $l ) . type = tr ( "IArguments" ) , y ( ed ) . type = ud , vd = tr ( "Array" , 1 ) , yd = tr ( "Object" ) , hd = tr ( "Function" ) , kd = tr ( "String" ) , bd = tr ( "Number" ) , xd = tr ( "Boolean" ) , Cd = tr ( "RegExp" ) , Ud = nr ( "JSX" , lp . Element ) , Pd = e . memoize ( function ( ) { return tr ( "ClassDecorator" ) ; } ) , Od = e . memoize ( function ( ) { return tr ( "PropertyDecorator" ) ; } ) , Rd = e . memoize ( function ( ) { return tr ( "MethodDecorator" ) ; } ) , Nd = e . memoize ( function ( ) { return tr ( "ParameterDecorator" ) ; } ) , Id = e . memoize ( function ( ) { return tr ( "TypedPropertyDescriptor" , 1 ) ; } ) , Fd = e . memoize ( function ( ) { return tr ( "Promise" , 1 ) ; } ) , Ld = e . memoize ( function ( ) { return er ( "Promise" , 793056 , void 0 ) && Fd ( ) ; } ) , Md = e . memoize ( function ( ) { return tr ( "PromiseLike" , 1 ) ; } ) , Bd = e . memoize ( Uu ) , gd = e . memoize ( function ( ) { return $n ( "Promise" ) ; } ) , zd = e . memoize ( function ( ) { return tr ( "PromiseConstructorLike" ) ; } ) , Kd = e . memoize ( qu ) , Hl >= 2 ? ( Dd = tr ( "TemplateStringsArray" ) , Sd = tr ( "Symbol" ) , md = $n ( "Symbol" ) , Td = tr ( "Iterable" , 1 ) , Ed = tr ( "Iterator" , 1 ) , wd = tr ( "IterableIterator" , 1 ) ) : ( Dd = ud , Sd = me ( void 0 , Wl , ql , ql , void 0 , void 0 ) , md = void 0 , Td = pd , Ed = pd , wd = pd ) , Ad = cr ( nd ) ; } function Uu ( ) { var e = Md ( ) ; return e !== pd ? Jn ( e , [ nd ] ) : ld ; } function qu ( ) { var e = c ( 67108868 , "then" ) ; y ( e ) . type = hd ; var t = le ( 65536 ) ; return t . properties = [ e ] , t . members = Bt ( t . properties ) , t . callSignatures = [ ] , t . constructSignatures = [ ] , t ; } function Wu ( t ) { if ( ! t . decorators ) return ! 1 ; if ( ! e . nodeCanBeDecorated ( t ) ) return 144 !== t . kind || e . nodeIsPresent ( t . body ) ? Tl ( t , e . Diagnostics . Decorators_are_not_valid_here ) : Tl ( t , e . Diagnostics . A_decorator_can_only_decorate_a_method_implementation_not_an_overload ) ; if ( 146 === t . kind || 147 === t . kind ) { var n = e . getAllAccessorDeclarations ( t . parent . members , t ) ; if ( n . firstAccessor . decorators && t === n . secondAccessor ) return Tl ( t , e . Diagnostics . Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name ) ; } return ! 1 ; } function Vu ( t ) { switch ( t . kind ) { case 146 : case 147 : case 145 : case 142 : case 141 : case 144 : case 143 : case 150 : case 221 : case 225 : case 224 : case 231 : case 230 : case 139 : break ; case 216 : if ( t . modifiers && ( t . modifiers . length > 1 || 118 !== t . modifiers [ 0 ] . kind ) && 222 !== t . parent . kind && 251 !== t . parent . kind ) return Tl ( t , e . Diagnostics . Modifiers_cannot_appear_here ) ; break ; case 217 : case 218 : case 196 : case 219 : if ( t . modifiers && 222 !== t . parent . kind && 251 !== t . parent . kind ) return Tl ( t , e . Diagnostics . Modifiers_cannot_appear_here ) ; break ; case 220 : if ( t . modifiers && ( t . modifiers . length > 1 || 74 !== t . modifiers [ 0 ] . kind ) && 222 !== t . parent . kind && 251 !== t . parent . kind ) return Tl ( t , e . Diagnostics . Modifiers_cannot_appear_here ) ; break ; default : return ! 1 ; } if ( t . modifiers ) { for ( var n , r , a , i , o , s = 0 , c = 0 , _ = t . modifiers ; c < _ . length ; c ++ ) { var u = _ [ c ] ; switch ( u . kind ) { case 74 : if ( 220 !== t . kind && 217 === t . parent . kind ) return wl ( t , e . Diagnostics . A_class_member_cannot_have_the_0_keyword , e . tokenToString ( 74 ) ) ; break ; case 112 : case 111 : case 110 : var l = void 0 ; if ( 112 === u . kind ? l = "public" : 111 === u . kind ? ( l = "protected" , a = u ) : ( l = "private" , r = u ) , 56 & s ) return wl ( u , e . Diagnostics . Accessibility_modifier_already_seen ) ; if ( 64 & s ) return wl ( u , e . Diagnostics . _0_modifier_must_precede_1_modifier , l , "static" ) ; if ( 256 & s ) return wl ( u , e . Diagnostics . _0_modifier_must_precede_1_modifier , l , "async" ) ; if ( 222 === t . parent . kind || 251 === t . parent . kind ) return wl ( u , e . Diagnostics . _0_modifier_cannot_appear_on_a_module_element , l ) ; if ( 128 & s ) return 110 === u . kind ? wl ( u , e . Diagnostics . _0_modifier_cannot_be_used_with_1_modifier , l , "abstract" ) : wl ( u , e . Diagnostics . _0_modifier_must_precede_1_modifier , l , "abstract" ) ; s |= e . modifierToFlag ( u . kind ) ; break ; case 113 : if ( 64 & s ) return wl ( u , e . Diagnostics . _0_modifier_already_seen , "static" ) ; if ( 256 & s ) return wl ( u , e . Diagnostics . _0_modifier_must_precede_1_modifier , "static" , "async" ) ; if ( 222 === t . parent . kind || 251 === t . parent . kind ) return wl ( u , e . Diagnostics . _0_modifier_cannot_appear_on_a_module_element , "static" ) ; if ( 139 === t . kind ) return wl ( u , e . Diagnostics . _0_modifier_cannot_appear_on_a_parameter , "static" ) ; if ( 128 & s ) return wl ( u , e . Diagnostics . _0_modifier_cannot_be_used_with_1_modifier , "static" , "abstract" ) ; s |= 64 , n = u ; break ; case 82 : if ( 2 & s ) return wl ( u , e . Diagnostics . _0_modifier_already_seen , "export" ) ; if ( 4 & s ) return wl ( u , e . Diagnostics . _0_modifier_must_precede_1_modifier , "export" , "declare" ) ; if ( 128 & s ) return wl ( u , e . Diagnostics . _0_modifier_must_precede_1_modifier , "export" , "abstract" ) ; if ( 256 & s ) return wl ( u , e . Diagnostics . _0_modifier_must_precede_1_modifier , "export" , "async" ) ; if ( 217 === t . parent . kind ) return wl ( u , e . Diagnostics . _0_modifier_cannot_appear_on_a_class_element , "export" ) ; if ( 139 === t . kind ) return wl ( u , e . Diagnostics . _0_modifier_cannot_appear_on_a_parameter , "export" ) ; s |= 2 ; break ; case 122 : if ( 4 & s ) return wl ( u , e . Diagnostics . _0_modifier_already_seen , "declare" ) ; if ( 256 & s ) return wl ( u , e . Diagnostics . _0_modifier_cannot_be_used_in_an_ambient_context , "async" ) ; if ( 217 === t . parent . kind ) return wl ( u , e . Diagnostics . _0_modifier_cannot_appear_on_a_class_element , "declare" ) ; if ( 139 === t . kind ) return wl ( u , e . Diagnostics . _0_modifier_cannot_appear_on_a_parameter , "declare" ) ; if ( e . isInAmbientContext ( t . parent ) && 222 === t . parent . kind ) return wl ( u , e . Diagnostics . A_declare_modifier_cannot_be_used_in_an_already_ambient_context ) ; s |= 4 , i = u ; break ; case 115 : if ( 128 & s ) return wl ( u , e . Diagnostics . _0_modifier_already_seen , "abstract" ) ; if ( 217 !== t . kind ) { if ( 144 !== t . kind ) return wl ( u , e . Diagnostics . abstract_modifier_can_only_appear_on_a_class_or_method_declaration ) ; if ( ! ( 217 === t . parent . kind && 128 & t . parent . flags ) ) return wl ( u , e . Diagnostics . Abstract_methods_can_only_appear_within_an_abstract_class ) ; if ( 64 & s ) return wl ( u , e . Diagnostics . _0_modifier_cannot_be_used_with_1_modifier , "static" , "abstract" ) ; if ( 16 & s ) return wl ( u , e . Diagnostics . _0_modifier_cannot_be_used_with_1_modifier , "private" , "abstract" ) ; } s |= 128 ; break ; case 118 : if ( 256 & s ) return wl ( u , e . Diagnostics . _0_modifier_already_seen , "async" ) ; if ( 4 & s || e . isInAmbientContext ( t . parent ) ) return wl ( u , e . Diagnostics . _0_modifier_cannot_be_used_in_an_ambient_context , "async" ) ; if ( 139 === t . kind ) return wl ( u , e . Diagnostics . _0_modifier_cannot_appear_on_a_parameter , "async" ) ; s |= 256 , o = u ; } } if ( 145 !== t . kind ) return ( 225 === t . kind || 224 === t . kind ) && 4 & s ? wl ( i , e . Diagnostics . A_0_modifier_cannot_be_used_with_an_import_declaration , "declare" ) : 139 === t . kind && 56 & s && e . isBindingPattern ( t . name ) ? wl ( t , e . Diagnostics . A_parameter_property_may_not_be_a_binding_pattern ) : 256 & s ? Hu ( t , o ) : void 0 ; if ( 64 & s ) return wl ( n , e . Diagnostics . _0_modifier_cannot_appear_on_a_constructor_declaration , "static" ) ; if ( 128 & s ) return wl ( n , e . Diagnostics . _0_modifier_cannot_appear_on_a_constructor_declaration , "abstract" ) ; if ( 32 & s ) return wl ( a , e . Diagnostics . _0_modifier_cannot_appear_on_a_constructor_declaration , "protected" ) ; if ( 16 & s ) return wl ( r , e . Diagnostics . _0_modifier_cannot_appear_on_a_constructor_declaration , "private" ) ; if ( 256 & s ) return wl ( o , e . Diagnostics . _0_modifier_cannot_appear_on_a_constructor_declaration , "async" ) ; } } function Hu ( t , n ) { if ( 2 > Hl ) return wl ( n , e . Diagnostics . Async_functions_are_only_available_when_targeting_ECMAScript_6_and_higher ) ; switch ( t . kind ) { case 144 : case 216 : case 176 : case 177 : if ( ! t . asteriskToken ) return ! 1 ; } return wl ( n , e . Diagnostics . _0_modifier_cannot_be_used_here , "async" ) ; } function Gu ( t ) { if ( t && t . hasTrailingComma ) { var n = t . end - "," . length , r = t . end , a = e . getSourceFileOfNode ( t [ 0 ] ) ; return El ( a , n , r - n , e . Diagnostics . Trailing_comma_not_allowed ) ; } } function Xu ( t , n , r ) { if ( Gu ( n ) ) return ! 0 ; if ( n && 0 === n . length ) { var a = n . pos - "<" . length , i = e . skipTrivia ( r . text , n . end ) + ">" . length ; return El ( r , a , i - a , e . Diagnostics . Type_parameter_list_cannot_be_empty ) ; } } function Qu ( t ) { if ( Gu ( t ) ) return ! 0 ; for ( var n = ! 1 , r = t . length , a = 0 ; r > a ; a ++ ) { var i = t [ a ] ; if ( i . dotDotDotToken ) { if ( a !== r - 1 ) return wl ( i . dotDotDotToken , e . Diagnostics . A_rest_parameter_must_be_last_in_a_parameter_list ) ; if ( e . isBindingPattern ( i . name ) ) return wl ( i . name , e . Diagnostics . A_rest_element_cannot_contain_a_binding_pattern ) ; if ( i . questionToken ) return wl ( i . questionToken , e . Diagnostics . A_rest_parameter_cannot_be_optional ) ; if ( i . initializer ) return wl ( i . name , e . Diagnostics . A_rest_parameter_cannot_have_an_initializer ) ; } else if ( i . questionToken ) { if ( n = ! 0 , i . initializer ) return wl ( i . name , e . Diagnostics . Parameter_cannot_have_question_mark_and_initializer ) ; } else if ( n && ! i . initializer ) return wl ( i . name , e . Diagnostics . A_required_parameter_cannot_follow_an_optional_parameter ) ; } } function Yu ( t ) { var n = e . getSourceFileOfNode ( t ) ; return Wu ( t ) || Vu ( t ) || Xu ( t , t . typeParameters , n ) || Qu ( t . parameters ) || $u ( t , n ) ; } function $u ( t , n ) { if ( 177 === t . kind ) { var r = t , a = e . getLineAndCharacterOfPosition ( n , r . equalsGreaterThanToken . pos ) . line , i = e . getLineAndCharacterOfPosition ( n , r . equalsGreaterThanToken . end ) . line ; if ( a !== i ) return wl ( r . equalsGreaterThanToken , e . Diagnostics . Line_terminator_not_permitted_before_arrow ) ; } return ! 1 ; } function Zu ( t ) { var n = t . parameters [ 0 ] ; return 1 !== t . parameters . length ? n ? wl ( n . name , e . Diagnostics . An_index_signature_must_have_exactly_one_parameter ) : wl ( t , e . Diagnostics . An_index_signature_must_have_exactly_one_parameter ) : n . dotDotDotToken ? wl ( n . dotDotDotToken , e . Diagnostics . An_index_signature_cannot_have_a_rest_parameter ) : 1022 & n . flags ? wl ( n . name , e . Diagnostics . An_index_signature_parameter_cannot_have_an_accessibility_modifier ) : n . questionToken ? wl ( n . questionToken , e . Diagnostics . An_index_signature_parameter_cannot_have_a_question_mark ) : n . initializer ? wl ( n . name , e . Diagnostics . An_index_signature_parameter_cannot_have_an_initializer ) : n . type ? 130 !== n . type . kind && 128 !== n . type . kind ? wl ( n . name , e . Diagnostics . An_index_signature_parameter_type_must_be_string_or_number ) : t . type ? void 0 : wl ( t , e . Diagnostics . An_index_signature_must_have_a_type_annotation ) : wl ( n . name , e . Diagnostics . An_index_signature_parameter_must_have_a_type_annotation ) ; } function el ( t ) { 1022 & t . flags && Tl ( t , e . Diagnostics . Modifiers_not_permitted_on_index_signature_members ) ; } function tl ( e ) { return Wu ( e ) || Vu ( e ) || Zu ( e ) || el ( e ) ; } function nl ( t , n ) { if ( n && 0 === n . length ) { var r = e . getSourceFileOfNode ( t ) , a = n . pos - "<" . length , i = e . skipTrivia ( r . text , n . end ) + ">" . length ; return El ( r , a , i - a , e . Diagnostics . Type_argument_list_cannot_be_empty ) ; } } function rl ( e , t ) { return Gu ( t ) || nl ( e , t ) ; } function al ( t , n ) { if ( n ) for ( var r = e . getSourceFileOfNode ( t ) , a = 0 , i = n ; a < i . length ; a ++ ) { var o = i [ a ] ; if ( 190 === o . kind ) return El ( r , o . pos , 0 , e . Diagnostics . Argument_expression_expected ) ; } } function il ( e , t ) { return Gu ( t ) || al ( e , t ) ; } function ol ( t ) { var n = t . types ; if ( Gu ( n ) ) return ! 0 ; if ( n && 0 === n . length ) { var r = e . tokenToString ( t . token ) , a = e . getSourceFileOfNode ( t ) ; return El ( a , n . pos , 0 , e . Diagnostics . _0_list_cannot_be_empty , r ) ; } } function sl ( t ) { var n = ! 1 , r = ! 1 ; if ( ! Wu ( t ) && ! Vu ( t ) && t . heritageClauses ) for ( var a = 0 , i = t . heritageClauses ; a < i . length ; a ++ ) { var o = i [ a ] ; if ( 83 === o . token ) { if ( n ) return Tl ( o , e . Diagnostics . extends_clause_already_seen ) ; if ( r ) return Tl ( o , e . Diagnostics . extends_clause_must_precede_implements_clause ) ; if ( o . types . length > 1 ) return Tl ( o . types [ 1 ] , e . Diagnostics . Classes_can_only_extend_a_single_class ) ; n = ! 0 ; } else { if ( e . Debug . assert ( 106 === o . token ) , r ) return Tl ( o , e . Diagnostics . implements_clause_already_seen ) ; r = ! 0 ; } ol ( o ) ; } } function cl ( t ) { var n = ! 1 ; if ( t . heritageClauses ) for ( var r = 0 , a = t . heritageClauses ; r < a . length ; r ++ ) { var i = a [ r ] ; if ( 83 !== i . token ) return e . Debug . assert ( 106 === i . token ) , Tl ( i , e . Diagnostics . Interface_declaration_cannot_have_implements_clause ) ; if ( n ) return Tl ( i , e . Diagnostics . extends_clause_already_seen ) ; n = ! 0 , ol ( i ) ; } return ! 1 ; } function _l ( t ) { if ( 137 !== t . kind ) return ! 1 ; var n = t ; return 184 === n . expression . kind && 24 === n . expression . operatorToken . kind ? wl ( n . expression , e . Diagnostics . A_comma_expression_is_not_allowed_in_a_computed_property_name ) : void 0 ; } function ul ( t ) { if ( t . asteriskToken ) { if ( e . Debug . assert ( 216 === t . kind || 176 === t . kind || 144 === t . kind ) , e . isInAmbientContext ( t ) ) return wl ( t . asteriskToken , e . Diagnostics . Generators_are_not_allowed_in_an_ambient_context ) ; if ( ! t . body ) return wl ( t . asteriskToken , e . Diagnostics . An_overload_signature_cannot_be_declared_as_a_generator ) ; if ( 2 > Hl ) return wl ( t . asteriskToken , e . Diagnostics . Generators_are_only_available_when_targeting_ECMAScript_6_or_higher ) ; } } function ll ( e , t , n ) { return t ? wl ( t , n ) : void 0 ; } function dl ( t , n ) { for ( var r = { } , a = 1 , i = 2 , o = 4 , s = i | o , c = function ( t ) { var c = t . name ; if ( 190 === t . kind || 137 === c . kind ) return _l ( c ) , "continue" ; if ( 249 === t . kind && ! n && t . objectAssignmentInitializer ) return { value : wl ( t . equalsToken , e . Diagnostics . can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment ) } ; e . forEach ( t . modifiers , function ( n ) { 118 === n . kind && 144 === t . kind || wl ( n , e . Diagnostics . _0_modifier_cannot_be_used_here , e . getTextOfNode ( n ) ) ; } ) ; var _ = void 0 ; if ( 248 === t . kind || 249 === t . kind ? ( ll ( t , t . questionToken , e . Diagnostics . An_object_member_cannot_be_declared_optional ) , 8 === c . kind && Ll ( c ) , _ = a ) : 144 === t . kind ? _ = a : 146 === t . kind ? _ = i : 147 === t . kind ? _ = o : e . Debug . fail ( "Unexpected syntax kind:" + t . kind ) , e . hasProperty ( r , c . text ) ) { var u = r [ c . text ] ; if ( _ === a && u === a ) return "continue" ; if ( ! ( _ & s && u & s ) ) return { value : wl ( c , e . Diagnostics . An_object_literal_cannot_have_property_and_accessor_with_the_same_name ) } ; if ( u === s || _ === u ) return { value : wl ( c , e . Diagnostics . An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name ) } ; r [ c . text ] = _ | u ; } else r [ c . text ] = _ ; } , _ = 0 , u = t . properties ; _ < u . length ; _ ++ ) { var l = u [ _ ] , d = c ( l ) ; if ( "object" == typeof d ) return d . value ; } } function pl ( t ) { for ( var n = { } , r = 0 , a = t . attributes ; r < a . length ; r ++ ) { var i = a [ r ] ; if ( 242 !== i . kind ) { var o = i , s = o . name ; if ( e . hasProperty ( n , s . text ) ) return wl ( s , e . Diagnostics . JSX_elements_cannot_have_multiple_attributes_with_the_same_name ) ; n [ s . text ] = ! 0 ; var c = o . initializer ; if ( c && 243 === c . kind && ! c . expression ) return wl ( o . initializer , e . Diagnostics . JSX_attributes_must_only_be_assigned_a_non_empty_expression ) ; } } } function fl ( t ) { if ( Fl ( t ) ) return ! 0 ; if ( 215 === t . initializer . kind ) { var n = t . initializer ; if ( ! xl ( n ) ) { var r = n . declarations ; if ( ! r . length ) return ! 1 ; if ( r . length > 1 ) { var a = 203 === t . kind ? e . Diagnostics . Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement : e . Diagnostics . Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement ; return Tl ( n . declarations [ 1 ] , a ) ; } var i = r [ 0 ] ; if ( i . initializer ) { var a = 203 === t . kind ? e . Diagnostics . The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer : e . Diagnostics . The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer ; return wl ( i . name , a ) ; } if ( i . type ) { var a = 203 === t . kind ? e . Diagnostics . The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation : e . Diagnostics . The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation ; return wl ( i , a ) ; } } } return ! 1 ; } function ml ( t ) { var n = t . kind ; if ( 1 > Hl ) return wl ( t . name , e . Diagnostics . Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher ) ; if ( e . isInAmbientContext ( t ) ) return wl ( t . name , e . Diagnostics . An_accessor_cannot_be_declared_in_an_ambient_context ) ; if ( void 0 === t . body ) return El ( e . getSourceFileOfNode ( t ) , t . end - 1 , ";" . length , e . Diagnostics . _0_expected , "{" ) ; if ( t . typeParameters ) return wl ( t . name , e . Diagnostics . An_accessor_cannot_have_type_parameters ) ; if ( 146 === n && t . parameters . length ) return wl ( t . name , e . Diagnostics . A_get_accessor_cannot_have_parameters ) ; if ( 147 === n ) { if ( t . type ) return wl ( t . name , e . Diagnostics . A_set_accessor_cannot_have_a_return_type_annotation ) ; if ( 1 !== t . parameters . length ) return wl ( t . name , e . Diagnostics . A_set_accessor_must_have_exactly_one_parameter ) ; var r = t . parameters [ 0 ] ; if ( r . dotDotDotToken ) return wl ( r . dotDotDotToken , e . Diagnostics . A_set_accessor_cannot_have_rest_parameter ) ; if ( 1022 & r . flags ) return wl ( t . name , e . Diagnostics . A_parameter_property_is_only_allowed_in_a_constructor_implementation ) ; if ( r . questionToken ) return wl ( r . questionToken , e . Diagnostics . A_set_accessor_cannot_have_an_optional_parameter ) ; if ( r . initializer ) return wl ( t . name , e . Diagnostics . A_set_accessor_parameter_cannot_have_an_initializer ) ; } } function gl ( t , n ) { return e . isDynamicName ( t ) ? wl ( t , n ) : void 0 ; } function yl ( t ) { if ( jc ( t ) || Yu ( t ) || ul ( t ) ) return ! 0 ; if ( 168 === t . parent . kind ) { if ( ll ( t , t . questionToken , e . Diagnostics . A_class_member_cannot_be_declared_optional ) ) return ! 0 ; if ( void 0 === t . body ) return El ( e . getSourceFileOfNode ( t ) , t . end - 1 , ";" . length , e . Diagnostics . _0_expected , "{" ) ; } if ( e . isClassLike ( t . parent ) ) { if ( ll ( t , t . questionToken , e . Diagnostics . A_class_member_cannot_be_declared_optional ) ) return ! 0 ; if ( e . isInAmbientContext ( t ) ) return gl ( t . name , e . Diagnostics . A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol ) ; if ( ! t . body ) return gl ( t . name , e . Diagnostics . A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol ) ; } else { if ( 218 === t . parent . kind ) return gl ( t . name , e . Diagnostics . A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol ) ; if ( 156 === t . parent . kind ) return gl ( t . name , e . Diagnostics . A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol ) ; } } function hl ( t ) { for ( var n = t ; n ; ) { if ( e . isFunctionLike ( n ) ) return wl ( t , e . Diagnostics . Jump_target_cannot_cross_function_boundary ) ; switch ( n . kind ) { case 210 : if ( t . label && n . label . text === t . label . text ) { var r = 205 === t . kind && ! e . isIterationStatement ( n . statement , ! 0 ) ; return r ? wl ( t , e . Diagnostics . A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement ) : ! 1 ; } break ; case 209 : if ( 206 === t . kind && ! t . label ) return ! 1 ; break ; default : if ( e . isIterationStatement ( n , ! 1 ) && ! t . label ) return ! 1 ; } n = n . parent ; } if ( t . label ) { var a = 206 === t . kind ? e . Diagnostics . A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement : e . Diagnostics . A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement ; return wl ( t , a ) ; } var a = 206 === t . kind ? e . Diagnostics . A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement : e . Diagnostics . A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement ; return wl ( t , a ) ; } function vl ( t ) { if ( t . dotDotDotToken ) { var n = t . parent . elements ; if ( t !== e . lastOrUndefined ( n ) ) return wl ( t , e . Diagnostics . A_rest_element_must_be_last_in_an_array_destructuring_pattern ) ; if ( 165 === t . name . kind || 164 === t . name . kind ) return wl ( t . name , e . Diagnostics . A_rest_element_cannot_contain_a_binding_pattern ) ; if ( t . initializer ) return El ( e . getSourceFileOfNode ( t ) , t . initializer . pos - 1 , 1 , e . Diagnostics . A_rest_element_cannot_have_an_initializer ) ; } } function kl ( t ) { if ( 203 !== t . parent . parent . kind && 204 !== t . parent . parent . kind ) if ( e . isInAmbientContext ( t ) ) { if ( t . initializer ) { var n = "=" . length ; return El ( e . getSourceFileOfNode ( t ) , t . initializer . pos - n , n , e . Diagnostics . Initializers_are_not_allowed_in_ambient_contexts ) ; } } else if ( ! t . initializer ) { if ( e . isBindingPattern ( t . name ) && ! e . isBindingPattern ( t . parent ) ) return wl ( t , e . Diagnostics . A_destructuring_declaration_must_have_an_initializer ) ; if ( e . isConst ( t ) ) return wl ( t , e . Diagnostics . const_declarations_must_be_initialized ) ; } var r = e . isLet ( t ) || e . isConst ( t ) ; return r && bl ( t . name ) ; } function bl ( t ) { if ( 69 === t . kind ) { if ( 108 === t . originalKeywordKind ) return wl ( t , e . Diagnostics . let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations ) ; } else for ( var n = t . elements , r = 0 , a = n ; r < a . length ; r ++ ) { var i = a [ r ] ; 190 !== i . kind && bl ( i . name ) ; } } function xl ( t ) { var n = t . declarations ; return Gu ( t . declarations ) ? ! 0 : t . declarations . length ? void 0 : El ( e . getSourceFileOfNode ( t ) , n . pos , n . end - n . pos , e . Diagnostics . Variable_declaration_list_cannot_be_empty ) ; } function Cl ( e ) { switch ( e . kind ) { case 199 : case 200 : case 201 : case 208 : case 202 : case 203 : case 204 : return ! 1 ; case 210 : return Cl ( e . parent ) ; } return ! 0 ; } function Dl ( t ) { if ( ! Cl ( t . parent ) ) { if ( e . isLet ( t . declarationList ) ) return wl ( t , e . Diagnostics . let_declarations_can_only_be_declared_inside_a_block ) ; if ( e . isConst ( t . declarationList ) ) return wl ( t , e . Diagnostics . const_declarations_can_only_be_declared_inside_a_block ) ; } } function Sl ( e ) { return e . parseDiagnostics . length > 0 ; } function Tl ( t , n , r , a , i ) { var o = e . getSourceFileOfNode ( t ) ; if ( ! Sl ( o ) ) { var s = e . getSpanOfTokenAtPosition ( o , t . pos ) ; return cp . add ( e . createFileDiagnostic ( o , s . start , s . length , n , r , a , i ) ) , ! 0 ; } } function El ( t , n , r , a , i , o , s ) { return Sl ( t ) ? void 0 : ( cp . add ( e . createFileDiagnostic ( t , n , r , a , i , o , s ) ) , ! 0 ) ; } function wl ( t , n , r , a , i ) { var o = e . getSourceFileOfNode ( t ) ; return Sl ( o ) ? void 0 : ( cp . add ( e . createDiagnosticForNode ( t , n , r , a , i ) ) , ! 0 ) ; } function Al ( t ) { return t . typeParameters ? El ( e . getSourceFileOfNode ( t ) , t . typeParameters . pos , t . typeParameters . end - t . typeParameters . pos , e . Diagnostics . Type_parameters_cannot_appear_on_a_constructor_declaration ) : void 0 ; } function Pl ( t ) { return t . type ? wl ( t . type , e . Diagnostics . Type_annotation_cannot_appear_on_a_constructor_declaration ) : void 0 ; } function Nl ( t ) { if ( e . isClassLike ( t . parent ) ) { if ( ll ( t , t . questionToken , e . Diagnostics . A_class_member_cannot_be_declared_optional ) || gl ( t . name , e . Diagnostics . A_computed_property_name_in_a_class_property_declaration_must_directly_refer_to_a_built_in_symbol ) ) return ! 0 ; } else if ( 218 === t . parent . kind ) { if ( gl ( t . name , e . Diagnostics . A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol ) ) return ! 0 ; if ( t . initializer ) return wl ( t . initializer , e . Diagnostics . An_interface_property_cannot_have_an_initializer ) ; } else if ( 156 === t . parent . kind ) { if ( gl ( t . name , e . Diagnostics . A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol ) ) return ! 0 ; if ( t . initializer ) return wl ( t . initializer , e . Diagnostics . A_type_literal_property_cannot_have_an_initializer ) ; } return e . isInAmbientContext ( t ) && t . initializer ? Tl ( t . initializer , e . Diagnostics . Initializers_are_not_allowed_in_ambient_contexts ) : void 0 ; } function Ol ( t ) { return 218 === t . kind || 219 === t . kind || 225 === t . kind || 224 === t . kind || 231 === t . kind || 230 === t . kind || 4 & t . flags || 514 & t . flags ? ! 1 : Tl ( t , e . Diagnostics . A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file ) ; } function Rl ( t ) { for ( var n = 0 , r = t . statements ; n < r . length ; n ++ ) { var a = r [ n ] ; if ( ( e . isDeclaration ( a ) || 196 === a . kind ) && Ol ( a ) ) return ! 0 ; } } function Il ( t ) { return e . isInAmbientContext ( t ) && Rl ( t ) ; } function Fl ( t ) { if ( e . isInAmbientContext ( t ) ) { if ( b_ ( t . parent . kind ) ) return h ( t ) . hasReportedStatementInAmbientContext = ! 0 ; var n = h ( t ) ; if ( ! n . hasReportedStatementInAmbientContext && e . isFunctionLike ( t . parent ) ) return h ( t ) . hasReportedStatementInAmbientContext = Tl ( t , e . Diagnostics . An_implementation_cannot_be_declared_in_ambient_contexts ) ; if ( 195 === t . parent . kind || 222 === t . parent . kind || 251 === t . parent . kind ) { var r = h ( t . parent ) ; if ( ! r . hasReportedStatementInAmbientContext ) return r . hasReportedStatementInAmbientContext = Tl ( t , e . Diagnostics . Statements_are_not_allowed_in_ambient_contexts ) ; } } } function Ll ( t ) { return 32768 & t . flags && Hl >= 1 ? wl ( t , e . Diagnostics . Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher ) : void 0 ; } function Ml ( t , n , r , a , i ) { var o = e . getSourceFileOfNode ( t ) ; if ( ! Sl ( o ) ) { var s = e . getSpanOfTokenAtPosition ( o , t . pos ) ; return cp . add ( e . createFileDiagnostic ( o , e . textSpanEnd ( s ) , 0 , n , r , a , i ) ) , ! 0 ; } } var Bl , zl = e . objectAllocator . getSymbolConstructor ( ) , Kl = e . objectAllocator . getTypeConstructor ( ) , jl = e . objectAllocator . getSignatureConstructor ( ) , Jl = 0 , Ul = 0 , ql = [ ] , Wl = { } , Vl = r . getCompilerOptions ( ) , Hl = Vl . target || 0 , Gl = e . getEmitModuleKind ( Vl ) , Xl = "undefined" != typeof Vl . allowSyntheticDefaultImports ? Vl . allowSyntheticDefaultImports : 4 === Gl , Ql = Ku ( ) , Yl = c ( 67108868 , "undefined" ) ; Yl . declarations = [ ] ; var $l = c ( 67108868 , "arguments" ) , Zl = { getNodeCount : function ( ) { return e . sum ( r . getSourceFiles ( ) , "nodeCount" ) ; } , getIdentifierCount : function ( ) { return e . sum ( r . getSourceFiles ( ) , "identifierCount" ) ; } , getSymbolCount : function ( ) { return e . sum ( r . getSourceFiles ( ) , "symbolCount" ) + Ul ; } , getTypeCount : function ( ) { return Jl ; } , isUndefinedSymbol : function ( e ) { return e === Yl ; } , isArgumentsSymbol : function ( e ) { return e === $l ; } , isUnknownSymbol : function ( e ) { return e === ed ; } , getDiagnostics : X_ , getGlobalDiagnostics : Y_ , getTypeOfSymbolAtLocation : qa , getSymbolsOfParameterPropertyDeclaration : b , getDeclaredTypeOfSymbol : Ot , getPropertiesOfType : un , getPropertyOfType : mn , getSignaturesOfType : yn , getIndexTypeOfType : vn , getBaseTypes : xt , getReturnTypeOfSignature : wn , getSymbolsInScope : eu , getSymbolAtLocation : cu , getShorthandAssignmentValueSymbol : _u , getExportSpecifierLocalTargetSymbol : uu , getTypeAtLocation : lu , typeToString : Ae , getSymbolDisplayBuilder : Re , symbolToString : Ee , getAugmentedPropertiesOfType : fu , getRootSymbols : mu , getContextualType : Si , getFullyQualifiedName : W , getResolvedSignature : Uo , getConstantValue : Nu , isValidPropertyAccess : uo , getSignatureFromDeclaration : Sn , isImplementationOfOverload : wu , getAliasedSymbol : j , getEmitResolver : i , getExportsOfModule : $ , getJsxElementAttributesType : Yi , getJsxIntrinsicTagNames : eo , isOptionalParameter : Cn } , ed = c ( 67108868 , "unknown" ) , td = c ( 67108864 , "__resolving__" ) , nd = ue ( 1 , "any" ) , rd = ue ( 2 , "string" ) , ad = ue ( 4 , "number" ) , id = ue ( 8 , "boolean" ) , od = ue ( 16777216 , "symbol" ) , sd = ue ( 16 , "void" ) , cd = ue ( 2097184 , "undefined" ) , _d = ue ( 2097216 , "null" ) , ud = ue ( 1 , "unknown" ) , ld = me ( void 0 , Wl , ql , ql , void 0 , void 0 ) , dd = ld , pd = me ( void 0 , Wl , ql , ql , void 0 , void 0 ) ; pd . instantiations = { } ; var fd = me ( void 0 , Wl , ql , ql , void 0 , void 0 ) ; fd . flags |= 8388608 ; var md , gd , yd , hd , vd , kd , bd , xd , Cd , Dd , Sd , Td , Ed , wd , Ad , Pd , Nd , Od , Rd , Id , Fd , Ld , Md , Bd , zd , Kd , jd , Jd , Ud , qd , Wd , Vd = me ( void 0 , Wl , ql , ql , void 0 , void 0 ) , Hd = Vt ( void 0 , void 0 , ql , nd , void 0 , 0 , ! 1 , ! 1 ) , Gd = Vt ( void 0 , void 0 , ql , ud , void 0 , 0 , ! 1 , ! 1 ) , Xd = { } , Qd = { } , Yd = { } , $d = { } , Zd = { } , ep = [ ] , tp = [ ] , np = [ ] , rp = [ ] , ap = [ ] , ip = [ ] , op = [ ] , sp = [ ] , cp = e . createDiagnosticCollection ( ) , _p = { string : { type : rd , flags : 258 } , number : { type : ad , flags : 132 } , "boolean" : { type : id , flags : 8 } , symbol : { type : od , flags : 16777216 } , undefined : { type : cd , flags : 2097152 } } , up = { } , lp = { JSX : "JSX" , IntrinsicElements : "IntrinsicElements" , ElementClass : "ElementClass" , ElementAttributesPropertyNameContainer : "ElementAttributesProperty" , Element : "Element" , IntrinsicAttributes : "IntrinsicAttributes" , IntrinsicClassAttributes : "IntrinsicClassAttributes" } , dp = { } , pp = { } , fp = { } ; ! function ( e ) { e [ e . Type = 0 ] = "Type" , e [ e . ResolvedBaseConstructorType = 1 ] = "ResolvedBaseConstructorType" , e [ e . DeclaredType = 2 ] = "DeclaredType" , e [ e . ResolvedReturnType = 3 ] = "ResolvedReturnType" ; } ( Wd || ( Wd = { } ) ) ; var mp = ( gp = { } , gp [ Yl . name ] = Yl , gp ) ; return Ju ( ) , Zl ; var gp ; } var a = 1 , i = 1 , o = 1 ; e . getNodeId = t , e . checkTime = 0 , e . getSymbolId = n , e . createTypeChecker = r ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { function t ( ) { return void 0 === i && ( i = { getSourceMapData : function ( ) { } , setSourceFile : function ( e ) { } , emitStart : function ( e ) { } , emitEnd : function ( e , t ) { } , emitPos : function ( e ) { } , changeEmitSourcePos : function ( ) { } , getText : function ( ) { } , getSourceMappingURL : function ( ) { } , initialize : function ( e , t , n , r ) { } , reset : function ( ) { } } ) , i ; } function n ( t , n ) { function r ( n , r , a , s ) { C && i ( ) , y = void 0 , v = - 1 , k = void 0 , b = o , x = 0 , C = { sourceMapFilePath : r , jsSourceMappingURL : D . inlineSourceMap ? void 0 : e . getBaseFileName ( e . normalizeSlashes ( r ) ) , sourceMapFile : e . getBaseFileName ( e . normalizeSlashes ( n ) ) , sourceMapSourceRoot : D . sourceRoot || "" , sourceMapSources : [ ] , inputSourceFileNames : [ ] , sourceMapNames : [ ] , sourceMapMappings : "" , sourceMapSourcesContent : D . inlineSources ? [ ] : void 0 , sourceMapDecodedMappings : [ ] } , C . sourceMapSourceRoot = e . normalizeSlashes ( C . sourceMapSourceRoot ) , C . sourceMapSourceRoot . length && 47 !== C . sourceMapSourceRoot . charCodeAt ( C . sourceMapSourceRoot . length - 1 ) && ( C . sourceMapSourceRoot += e . directorySeparator ) , D . mapRoot ? ( h = e . normalizeSlashes ( D . mapRoot ) , s || ( e . Debug . assert ( 1 === a . length ) , h = e . getDirectoryPath ( e . getSourceFilePathInNewDir ( a [ 0 ] , t , h ) ) ) , e . isRootedDiskPath ( h ) || e . isUrl ( h ) ? C . jsSourceMappingURL = e . combinePaths ( h , C . jsSourceMappingURL ) : ( h = e . combinePaths ( t . getCommonSourceDirectory ( ) , h ) , C . jsSourceMappingURL = e . getRelativePathToDirectoryOrUrl ( e . getDirectoryPath ( e . normalizePath ( n ) ) , e . combinePaths ( h , C . jsSourceMappingURL ) , t . getCurrentDirectory ( ) , t . getCanonicalFileName , ! 0 ) ) ) : h = e . getDirectoryPath ( e . normalizePath ( n ) ) ; } function i ( ) { y = void 0 , h = void 0 , v = void 0 , k = void 0 , b = void 0 , x = void 0 , C = void 0 ; } function s ( ) { if ( T ) { T = ! 1 , k . emittedLine = b . emittedLine , k . emittedColumn = b . emittedColumn , C . sourceMapDecodedMappings . pop ( ) , b = C . sourceMapDecodedMappings . length ? C . sourceMapDecodedMappings [ C . sourceMapDecodedMappings . length - 1 ] : o ; for ( var e = C . sourceMapMappings , t = e . length - 1 ; t >= 0 ; t -- ) { var n = e . charAt ( t ) ; if ( "," === n ) break ; if ( ";" === n && 0 !== t && ";" !== e . charAt ( t - 1 ) ) break ; } C . sourceMapMappings = e . substr ( 0 , Math . max ( 0 , t ) ) ; } } function c ( ) { if ( k && k !== b ) { var t = b . emittedColumn ; if ( b . emittedLine === k . emittedLine ) C . sourceMapMappings && ( C . sourceMapMappings += "," ) ; else { for ( var n = b . emittedLine ; n < k . emittedLine ; n ++ ) C . sourceMapMappings += ";" ; t = 1 ; } C . sourceMapMappings += a ( k . emittedColumn - t ) , C . sourceMapMappings += a ( k . sourceIndex - b . sourceIndex ) , C . sourceMapMappings += a ( k . sourceLine - b . sourceLine ) , C . sourceMapMappings += a ( k . sourceColumn - b . sourceColumn ) , k . nameIndex >= 0 && ( e . Debug . assert ( ! 1 , "We do not support name index right now, Make sure to update updateLastEncodedAndRecordedSpans when we start using this" ) , C . sourceMapMappings += a ( k . nameIndex - x ) , x = k . nameIndex ) , b = k , C . sourceMapDecodedMappings . push ( b ) ; } } function _ ( t ) { if ( - 1 !== t ) { var r = e . getLineAndCharacterOfPosition ( y , t ) ; r . line ++ , r . character ++ ; var a = n . getLine ( ) , i = n . getColumn ( ) ; ! k || k . emittedLine !== a || k . emittedColumn !== i || k . sourceIndex === v && ( k . sourceLine > r . line || k . sourceLine === r . line && k . sourceColumn > r . character ) ? ( c ( ) , k = { emittedLine : a , emittedColumn : i , sourceLine : r . line , sourceColumn : r . character , sourceIndex : v } , S = ! 1 ) : S || ( k . sourceLine = r . line , k . sourceColumn = r . character , k . sourceIndex = v ) , s ( ) ; } } function u ( t ) { var n = ! ! t . decorators ; return - 1 !== t . pos ? e . skipTrivia ( y . text , n ? t . decorators . end : t . pos ) : - 1 ; } function l ( e ) { _ ( u ( e ) ) ; } function d ( e , t ) { _ ( e . end ) , S = t ; } function p ( ) { e . Debug . assert ( ! T ) , T = ! 0 ; } function f ( n ) { y = n ; var r = D . sourceRoot ? t . getCommonSourceDirectory ( ) : h , a = e . getRelativePathToDirectoryOrUrl ( r , y . fileName , t . getCurrentDirectory ( ) , t . getCanonicalFileName , ! 0 ) ; v = e . indexOf ( C . sourceMapSources , a ) , - 1 === v && ( v = C . sourceMapSources . length , C . sourceMapSources . push ( a ) , C . inputSourceFileNames . push ( n . fileName ) , D . inlineSources && C . sourceMapSourcesContent . push ( n . text ) ) ; } function m ( ) { return c ( ) , e . stringify ( { version : 3 , file : C . sourceMapFile , sourceRoot : C . sourceMapSourceRoot , sources : C . sourceMapSources , names : C . sourceMapNames , mappings : C . sourceMapMappings , sourcesContent : C . sourceMapSourcesContent } ) ; } function g ( ) { if ( D . inlineSourceMap ) { var t = e . convertToBase64 ( m ( ) ) ; return C . jsSourceMappingURL = "data:application/json;base64," + t ; } return C . jsSourceMappingURL ; } var y , h , v , k , b , x , C , D = t . getCompilerOptions ( ) , S = ! 1 , T = ! 1 ; return { getSourceMapData : function ( ) { return C ; } , setSourceFile : f , emitPos : _ , emitStart : l , emitEnd : d , changeEmitSourcePos : p , getText : m , getSourceMappingURL : g , initialize : r , reset : i } ; } function r ( e ) { if ( 64 > e ) return s . charAt ( e ) ; throw TypeError ( e + ": not a 64 based value" ) ; } function a ( e ) { 0 > e ? e = ( - e << 1 ) + 1 : e <<= 1 ; var t = "" ; do { var n = 31 & e ; e >>= 5 , e > 0 && ( n = 32 | n ) , t += r ( n ) ; } while ( e > 0 ) ; return t ; } var i , o = { emittedLine : 1 , emittedColumn : 1 , sourceLine : 1 , sourceColumn : 1 , sourceIndex : 0 } ; e . getNullSourceMapWriter = t , e . createSourceMapWriter = n ; var s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { function t ( t , r , a ) { function i ( e , a , i ) { var s = e . declarationFilePath ; n ( t , r , o , s , a , i ) ; } var o = e . createDiagnosticCollection ( ) ; return e . forEachExpectedEmitFile ( t , i , a ) , o . getDiagnostics ( a ? a . fileName : void 0 ) ; } function n ( t , n , r , a , i , o ) { function s ( e ) { var t = de . substring ( e . pos , e . end ) ; return t . indexOf ( "@internal" ) >= 0 ; } function c ( t ) { if ( t ) { var n = e . getLeadingCommentRanges ( de , t . pos ) ; if ( e . forEach ( n , s ) ) return ; re ( t ) ; } } function _ ( ) { var t = e . createTextWriter ( ve ) ; return t . trackSymbol = p , t . reportInaccessibleThisError = f , t . writeKeyword = t . write , t . writeOperator = t . write , t . writePunctuation = t . write , t . writeSpace = t . write , t . writeStringLiteral = t . writeLiteral , t . writeParameter = t . write , t . writeSymbol = t . write , u ( t ) , t ; } function u ( e ) { be = e , ie = e . write , _e = e . writeTextOfNode , oe = e . writeLine , se = e . increaseIndent , ce = e . decreaseIndent ; } function l ( t ) { var n = be ; e . forEach ( t , function ( t ) { var n ; 214 === t . kind ? n = t . parent . parent : 228 === t . kind || 229 === t . kind || 226 === t . kind ? e . Debug . fail ( "We should be getting ImportDeclaration instead to write" ) : n = t ; var r = e . forEach ( Se , function ( e ) { return e . node === n ? e : void 0 ; } ) ; if ( ! r && he && ( r = e . forEach ( he , function ( e ) { return e . node === n ? e : void 0 ; } ) ) , r ) if ( 225 === r . node . kind ) r . isVisible = ! 0 ; else { _ ( ) ; for ( var a = r . indent ; a ; a -- ) se ( ) ; 221 === n . kind && ( e . Debug . assert ( void 0 === he ) , he = [ ] ) , w ( n ) , 221 === n . kind && ( r . subModuleElementDeclarationEmitInfo = he , he = void 0 ) , r . asynchronousOutput = be . getText ( ) ; } } ) , u ( n ) ; } function d ( t ) { if ( 0 === t . accessibility ) t && t . aliasesToMakeVisible && l ( t . aliasesToMakeVisible ) ; else { xe = ! 0 ; var n = be . getSymbolAccessibilityDiagnostic ( t ) ; n && ( n . typeName ? r . add ( e . createDiagnosticForNode ( t . errorNode || n . errorNode , n . diagnosticMessage , e . getTextOfNodeFromSourceText ( de , n . typeName ) , t . errorSymbolName , t . errorModuleName ) ) : r . add ( e . createDiagnosticForNode ( t . errorNode || n . errorNode , n . diagnosticMessage , t . errorSymbolName , t . errorModuleName ) ) ) ; } } function p ( e , t , r ) { d ( n . isSymbolAccessible ( e , t , r ) ) ; } function f ( ) { ge && ( xe = ! 0 , r . add ( e . createDiagnosticForNode ( ge , e . Diagnostics . The_inferred_type_of_0_references_an_inaccessible_this_type_A_type_annotation_is_necessary , e . declarationNameToString ( ge ) ) ) ) ; } function m ( e , t , r ) { be . getSymbolAccessibilityDiagnostic = r , ie ( ": " ) , t ? x ( t ) : ( ge = e . name , n . writeTypeOfDeclaration ( e , ue , 2 , be ) , ge = void 0 ) ; } function g ( e , t ) { be . getSymbolAccessibilityDiagnostic = t , ie ( ": " ) , e . type ? x ( e . type ) : ( ge = e . name , n . writeReturnTypeOfSignatureDeclaration ( e , ue , 2 , be ) , ge = void 0 ) ; } function y ( e ) { for ( var t = 0 , n = e ; t < n . length ; t ++ ) { var r = n [ t ] ; De ( r ) ; } } function h ( e , t , n , r ) { for ( var a = be . getTextPos ( ) , i = 0 , o = e ; i < o . length ; i ++ ) { var s = o [ i ] ; r && ! r ( s ) || ( a !== be . getTextPos ( ) && ie ( t ) , a = be . getTextPos ( ) , n ( s ) ) ; } } function v ( e , t , n ) { h ( e , ", " , t , n ) ; } function k ( t ) { if ( t ) { var n = e . getJsDocCommentsFromText ( t , de ) ; e . emitNewLineBeforeLeadingComments ( pe , be , t , n ) , e . emitComments ( de , pe , be , n , ! 0 , ve , e . writeCommentRange ) ; } } function b ( e , t ) { be . getSymbolAccessibilityDiagnostic = t , x ( e ) ; } function x ( t ) { function r ( e ) { if ( 69 === e . kind ) _e ( de , e ) ; else { var t = 136 === e . kind ? e . left : e . expression , n = 136 === e . kind ? e . right : e . name ; r ( t ) , ie ( "." ) , _e ( de , n ) ; } } function a ( e ) { var t = n . isEntityNameVisible ( e , 224 === e . parent . kind ? e . parent : ue ) ; d ( t ) , r ( e ) ; } function i ( t ) { e . isSupportedExpressionWithTypeArguments ( t ) && ( e . Debug . assert ( 69 === t . expression . kind || 169 === t . expression . kind ) , a ( t . expression ) , t . typeArguments && ( ie ( "<" ) , v ( t . typeArguments , x ) , ie ( ">" ) ) ) ; } function o ( e ) { a ( e . typeName ) , e . typeArguments && ( ie ( "<" ) , v ( e . typeArguments , x ) , ie ( ">" ) ) ; } function s ( e ) { _e ( de , e . parameterName ) , ie ( " is " ) , x ( e . type ) ; } function c ( e ) { ie ( "typeof " ) , a ( e . exprName ) ; } function _ ( e ) { x ( e . elementType ) , ie ( "[]" ) ; } function u ( e ) { ie ( "[" ) , v ( e . elementTypes , x ) , ie ( "]" ) ; } function l ( e ) { h ( e . types , " | " , x ) ; } function p ( e ) { h ( e . types , " & " , x ) ; } function f ( e ) { ie ( "(" ) , x ( e . type ) , ie ( ")" ) ; } function m ( e ) { ie ( "{" ) , e . members . length && ( oe ( ) , se ( ) , y ( e . members ) , ce ( ) ) , ie ( "}" ) ; } switch ( t . kind ) { case 117 : case 130 : case 128 : case 120 : case 131 : case 103 : case 162 : case 163 : return _e ( de , t ) ; case 191 : return i ( t ) ; case 152 : return o ( t ) ; case 155 : return c ( t ) ; case 157 : return _ ( t ) ; case 158 : return u ( t ) ; case 159 : return l ( t ) ; case 160 : return p ( t ) ; case 161 : return f ( t ) ; case 153 : case 154 : return ee ( t ) ; case 156 : return m ( t ) ; case 69 : return a ( t ) ; case 136 : return a ( t ) ; case 151 : return s ( t ) ; } } function C ( t ) { de = t . text , pe = e . getLineStarts ( t ) , fe = t . identifiers , me = e . isExternalModule ( t ) , ue = t , e . emitDetachedComments ( de , pe , be , e . writeCommentRange , t , ve , ! 0 ) , y ( t . statements ) ; } function D ( ) { var t = "_default" ; if ( ! e . hasProperty ( fe , t ) ) return t ; for ( var n = 0 ; ; ) { n ++ ; var r = t + "_" + n ; if ( ! e . hasProperty ( fe , r ) ) return r ; } } function S ( t ) { function r ( n ) { return { diagnosticMessage : e . Diagnostics . Default_export_of_the_module_has_or_is_using_private_name_0 , errorNode : t } ; } if ( 69 === t . expression . kind ) ie ( t . isExportEquals ? "export = " : "export default " ) , _e ( de , t . expression ) ; else { var a = D ( ) ; ie ( "declare var " ) , ie ( a ) , ie ( ": " ) , be . getSymbolAccessibilityDiagnostic = r , n . writeTypeOfExpression ( t . expression , ue , 2 , be ) , ie ( ";" ) , oe ( ) , ie ( t . isExportEquals ? "export = " : "export default " ) , ie ( a ) ; } if ( ie ( ";" ) , oe ( ) , 69 === t . expression . kind ) { var i = n . collectLinkedAliases ( t . expression ) ; l ( i ) ; } } function T ( e ) { return n . isDeclarationVisible ( e ) ; } function E ( e , t ) { if ( t ) w ( e ) ; else if ( 224 === e . kind || 251 === e . parent . kind && me ) { var r = void 0 ; if ( he && 251 !== e . parent . kind ) he . push ( { node : e , outputPos : be . getTextPos ( ) , indent : be . getIndent ( ) , isVisible : r } ) ; else { if ( 225 === e . kind ) { var a = e ; a . importClause && ( r = a . importClause . name && n . isDeclarationVisible ( a . importClause ) || O ( a . importClause . namedBindings ) ) ; } Se . push ( { node : e , outputPos : be . getTextPos ( ) , indent : be . getIndent ( ) , isVisible : r } ) ; } } } function w ( t ) { switch ( t . kind ) { case 216 : return Z ( t ) ; case 196 : return Y ( t ) ; case 218 : return V ( t ) ; case 217 : return W ( t ) ; case 219 : return z ( t ) ; case 220 : return K ( t ) ; case 221 : return B ( t ) ; case 224 : return N ( t ) ; case 225 : return R ( t ) ; default : e . Debug . fail ( "Unknown symbol kind" ) ; } } function A ( e ) { 251 === e . parent . kind && ( 2 & e . flags && ie ( "export " ) , 512 & e . flags ? ie ( "default " ) : 218 === e . kind || ye || ie ( "declare " ) ) ; } function P ( e ) { 16 & e . flags ? ie ( "private " ) : 32 & e . flags && ie ( "protected " ) , 64 & e . flags && ie ( "static " ) , 128 & e . flags && ie ( "abstract " ) ; } function N ( t ) { function n ( n ) { return { diagnosticMessage : e . Diagnostics . Import_declaration_0_is_using_private_name_1 , errorNode : t , typeName : t . name } ; } Ce ( t ) , 2 & t . flags && ie ( "export " ) , ie ( "import " ) , _e ( de , t . name ) , ie ( " = " ) , e . isInternalModuleImportEqualsDeclaration ( t ) ? ( b ( t . moduleReference , n ) , ie ( ";" ) ) : ( ie ( "require(" ) , I ( t ) , ie ( ");" ) ) , be . writeLine ( ) ; } function O ( t ) { return t ? 227 === t . kind ? n . isDeclarationVisible ( t ) : e . forEach ( t . elements , function ( e ) { return n . isDeclarationVisible ( e ) ; } ) : void 0 ; } function R ( e ) { if ( Ce ( e ) , 2 & e . flags && ie ( "export " ) , ie ( "import " ) , e . importClause ) { var t = be . getTextPos ( ) ; e . importClause . name && n . isDeclarationVisible ( e . importClause ) && _e ( de , e . importClause . name ) , e . importClause . namedBindings && O ( e . importClause . namedBindings ) && ( t !== be . getTextPos ( ) && ie ( ", " ) , 227 === e . importClause . namedBindings . kind ? ( ie ( "* as " ) , _e ( de , e . importClause . namedBindings . name ) ) : ( ie ( "{ " ) , v ( e . importClause . namedBindings . elements , F , n . isDeclarationVisible ) , ie ( " }" ) ) ) , ie ( " from " ) ; } I ( e ) , ie ( ";" ) , be . writeLine ( ) ; } function I ( r ) { le = le || 221 !== r . kind ; var a ; if ( 224 === r . kind ) { var i = r ; a = e . getExternalModuleImportEqualsDeclarationExpression ( i ) ; } else if ( 221 === r . kind ) a = r . name ; else { var i = r ; a = i . moduleSpecifier ; } if ( 9 === a . kind && o && ( ke . out || ke . outFile ) ) { var s = e . getExternalModuleNameFromDeclaration ( t , n , r ) ; if ( s ) return ie ( '"' ) , ie ( s ) , void ie ( '"' ) ; } _e ( de , a ) ; } function F ( e ) { e . propertyName && ( _e ( de , e . propertyName ) , ie ( " as " ) ) , _e ( de , e . name ) ; } function L ( e ) { F ( e ) ; var t = n . collectLinkedAliases ( e . propertyName || e . name ) ; l ( t ) ; } function M ( e ) { Ce ( e ) , ie ( "export " ) , e . exportClause ? ( ie ( "{ " ) , v ( e . exportClause . elements , L ) , ie ( " }" ) ) : ie ( "*" ) , e . moduleSpecifier && ( ie ( " from " ) , I ( e ) ) , ie ( ";" ) , be . writeLine ( ) ; } function B ( t ) { for ( Ce ( t ) , A ( t ) , e . isGlobalScopeAugmentation ( t ) ? ie ( "global " ) : ( ie ( 65536 & t . flags ? "namespace " : "module " ) , e . isExternalModuleAugmentation ( t ) ? I ( t ) : _e ( de , t . name ) ) ; 222 !== t . body . kind ; ) t = t . body , ie ( "." ) , _e ( de , t . name ) ; var n = ue ; ue = t , ie ( " {" ) , oe ( ) , se ( ) , y ( t . body . statements ) , ce ( ) , ie ( "}" ) , oe ( ) , ue = n ; } function z ( t ) { function n ( n ) { return { diagnosticMessage : e . Diagnostics . Exported_type_alias_0_has_or_is_using_private_name_1 , errorNode : t . type , typeName : t . name } ; } var r = ue ; ue = t , Ce ( t ) , A ( t ) , ie ( "type " ) , _e ( de , t . name ) , U ( t . typeParameters ) , ie ( " = " ) , b ( t . type , n ) , ie ( ";" ) , oe ( ) , ue = r ; } function K ( t ) { Ce ( t ) , A ( t ) , e . isConst ( t ) && ie ( "const " ) , ie ( "enum " ) , _e ( de , t . name ) , ie ( " {" ) , oe ( ) , se ( ) , y ( t . members ) , ce ( ) , ie ( "}" ) , oe ( ) ; } function j ( e ) { Ce ( e ) , _e ( de , e . name ) ; var t = n . getConstantValue ( e ) ; void 0 !== t && ( ie ( " = " ) , ie ( t . toString ( ) ) ) , ie ( "," ) , oe ( ) ; } function J ( e ) { return 144 === e . parent . kind && 16 & e . parent . flags ; } function U ( t ) { function n ( t ) { function n ( n ) { var r ; switch ( t . parent . kind ) { case 217 : r = e . Diagnostics . Type_parameter_0_of_exported_class_has_or_is_using_private_name_1 ; break ; case 218 : r = e . Diagnostics . Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1 ; break ; case 149 : r = e . Diagnostics . Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1 ; break ; case 148 : r = e . Diagnostics . Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1 ; break ; case 144 : case 143 : r = 64 & t . parent . flags ? e . Diagnostics . Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1 : 217 === t . parent . parent . kind ? e . Diagnostics . Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1 : e . Diagnostics . Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1 ; break ; case 216 : r = e . Diagnostics . Type_parameter_0_of_exported_function_has_or_is_using_private_name_1 ; break ; default : e . Debug . fail ( "This is unknown parent for type parameter: " + t . parent . kind ) ; } return { diagnosticMessage : r , errorNode : t , typeName : t . name } ; } se ( ) , Ce ( t ) , ce ( ) , _e ( de , t . name ) , t . constraint && ! J ( t ) && ( ie ( " extends " ) , 153 === t . parent . kind || 154 === t . parent . kind || t . parent . parent && 156 === t . parent . parent . kind ? ( e . Debug . assert ( 144 === t . parent . kind || 143 === t . parent . kind || 153 === t . parent . kind || 154 === t . parent . kind || 148 === t . parent . kind || 149 === t . parent . kind ) , x ( t . constraint ) ) : b ( t . constraint , n ) ) ; } t && ( ie ( "<" ) , v ( t , n ) , ie ( ">" ) ) ; } function q ( t , n ) { function r ( t ) { function r ( r ) { var a ; return a = 217 === t . parent . parent . kind ? n ? e . Diagnostics . Implements_clause_of_exported_class_0_has_or_is_using_private_name_1 : e . Diagnostics . Extends_clause_of_exported_class_0_has_or_is_using_private_name_1 : e . Diagnostics . Extends_clause_of_exported_interface_0_has_or_is_using_private_name_1 , { diagnosticMessage : a , errorNode : t , typeName : t . parent . parent . name } ; } e . isSupportedExpressionWithTypeArguments ( t ) ? b ( t , r ) : n || 93 !== t . expression . kind || ie ( "null" ) ; } t && ( ie ( n ? " implements " : " extends " ) , v ( t , r ) ) ; } function W ( t ) { function n ( t ) { t && e . forEach ( t . parameters , function ( e ) { 56 & e . flags && H ( e ) ; } ) ; } Ce ( t ) , A ( t ) , 128 & t . flags && ie ( "abstract " ) , ie ( "class " ) , _e ( de , t . name ) ; var r = ue ; ue = t , U ( t . typeParameters ) ; var a = e . getClassExtendsHeritageClauseElement ( t ) ; a && q ( [ a ] , ! 1 ) , q ( e . getClassImplementsHeritageClauseElements ( t ) , ! 0 ) , ie ( " {" ) , oe ( ) , se ( ) , n ( e . getFirstConstructorWithBody ( t ) ) , y ( t . members ) , ce ( ) , ie ( "}" ) , oe ( ) , ue = r ; } function V ( t ) { Ce ( t ) , A ( t ) , ie ( "interface " ) , _e ( de , t . name ) ; var n = ue ; ue = t , U ( t . typeParameters ) , q ( e . getInterfaceBaseTypeNodes ( t ) , ! 1 ) , ie ( " {" ) , oe ( ) , se ( ) , y ( t . members ) , ce ( ) , ie ( "}" ) , oe ( ) , ue = n ; } function H ( t ) { e . hasDynamicName ( t ) || ( Ce ( t ) , P ( t ) , G ( t ) , ie ( ";" ) , oe ( ) ) ; } function G ( t ) { function r ( n ) { return 214 === t . kind ? n . errorModuleName ? 2 === n . accessibility ? e . Diagnostics . Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : e . Diagnostics . Exported_variable_0_has_or_is_using_name_1_from_private_module_2 : e . Diagnostics . Exported_variable_0_has_or_is_using_private_name_1 : 142 === t . kind || 141 === t . kind ? 64 & t . flags ? n . errorModuleName ? 2 === n . accessibility ? e . Diagnostics . Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : e . Diagnostics . Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : e . Diagnostics . Public_static_property_0_of_exported_class_has_or_is_using_private_name_1 : 217 === t . parent . kind ? n . errorModuleName ? 2 === n . accessibility ? e . Diagnostics . Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : e . Diagnostics . Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2 : e . Diagnostics . Public_property_0_of_exported_class_has_or_is_using_private_name_1 : n . errorModuleName ? e . Diagnostics . Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2 : e . Diagnostics . Property_0_of_exported_interface_has_or_is_using_private_name_1 : void 0 ; } function a ( e ) { var n = r ( e ) ; return void 0 !== n ? { diagnosticMessage : n , errorNode : t , typeName : t . name } : void 0 ; } function i ( e ) { for ( var t = [ ] , n = 0 , r = e . elements ; n < r . length ; n ++ ) { var a = r [ n ] ; 190 !== a . kind && t . push ( a ) ; } v ( t , o ) ; } function o ( t ) { function n ( e ) { var n = r ( e ) ; return void 0 !== n ? { diagnosticMessage : n , errorNode : t , typeName : t . name } : void 0 ; } t . name && ( e . isBindingPattern ( t . name ) ? i ( t . name ) : ( _e ( de , t . name ) , m ( t , void 0 , n ) ) ) ; } ( 214 !== t . kind || n . isDeclarationVisible ( t ) ) && ( e . isBindingPattern ( t . name ) ? i ( t . name ) : ( _e ( de , t . name ) , 142 !== t . kind && 141 !== t . kind || ! e . hasQuestionToken ( t ) || ie ( "?" ) , 142 !== t . kind && 141 !== t . kind || 156 !== t . parent . kind ? 16 & t . flags || m ( t , t . type , a ) : X ( t ) ) ) ; } function X ( e ) { e . type && ( ie ( ": " ) , x ( e . type ) ) ; } function Q ( t ) { return e . forEach ( t . declarationList . declarations , function ( e ) { return n . isDeclarationVisible ( e ) ; } ) ; } function Y ( t ) { Ce ( t ) , A ( t ) , ie ( e . isLet ( t . declarationList ) ? "let " : e . isConst ( t . declarationList ) ? "const " : "var " ) , v ( t . declarationList . declarations , G , n . isDeclarationVisible ) , ie ( ";" ) , oe ( ) ; } function $ ( t ) { function n ( e ) { return e ? 146 === e . kind ? e . type : e . parameters . length > 0 ? e . parameters [ 0 ] . type : void 0 : void 0 ; } function r ( t ) { var n ; return 147 === a . kind ? ( n = 64 & a . parent . flags ? t . errorModuleName ? e . Diagnostics . Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2 : e . Diagnostics . Parameter_0_of_public_static_property_setter_from_exported_class_has_or_is_using_private_name_1 : t . errorModuleName ? e . Diagnostics . Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_name_1_from_private_module_2 : e . Diagnostics . Parameter_0_of_public_property_setter_from_exported_class_has_or_is_using_private_name_1 , { diagnosticMessage : n , errorNode : a . parameters [ 0 ] , typeName : a . name } ) : ( n = 64 & a . flags ? t . errorModuleName ? 2 === t . accessibility ? e . Diagnostics . Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : e . Diagnostics . Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1 : e . Diagnostics . Return_type_of_public_static_property_getter_from_exported_class_has_or_is_using_private_name_0 : t . errorModuleName ? 2 === t . accessibility ? e . Diagnostics . Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : e . Diagnostics . Return_type_of_public_property_getter_from_exported_class_has_or_is_using_name_0_from_private_module_1 : e . Diagnostics . Return_type_of_public_property_getter_from_exported_class_has_or_is_using_private_name_0 , { diagnosticMessage : n , errorNode : a . name , typeName : void 0 } ) ; } if ( ! e . hasDynamicName ( t ) ) { var a , i = e . getAllAccessorDeclarations ( t . parent . members , t ) ; if ( t === i . firstAccessor ) { if ( Ce ( i . getAccessor ) , Ce ( i . setAccessor ) , P ( t ) , _e ( de , t . name ) , ! ( 16 & t . flags ) ) { a = t ; var o = n ( t ) ; if ( ! o ) { var s = 146 === t . kind ? i . setAccessor : i . getAccessor ; o = n ( s ) , o && ( a = s ) ; } m ( t , o , r ) ; } ie ( ";" ) , oe ( ) ; } } } function Z ( t ) { e . hasDynamicName ( t ) || n . isImplementationOfOverload ( t ) || ( Ce ( t ) , 216 === t . kind ? A ( t ) : 144 === t . kind && P ( t ) , 216 === t . kind ? ( ie ( "function " ) , _e ( de , t . name ) ) : 145 === t . kind ? ie ( "constructor" ) : ( _e ( de , t . name ) , e . hasQuestionToken ( t ) && ie ( "?" ) ) , te ( t ) ) ; } function ee ( e ) { Ce ( e ) , te ( e ) ; } function te ( t ) { function n ( n ) { var r ; switch ( t . kind ) { case 149 : r = n . errorModuleName ? e . Diagnostics . Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : e . Diagnostics . Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0 ; break ; case 148 : r = n . errorModuleName ? e . Diagnostics . Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : e . Diagnostics . Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0 ; break ; case 150 : r = n . errorModuleName ? e . Diagnostics . Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : e . Diagnostics . Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0 ; break ; case 144 : case 143 : r = 64 & t . flags ? n . errorModuleName ? 2 === n . accessibility ? e . Diagnostics . Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : e . Diagnostics . Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : e . Diagnostics . Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0 : 217 === t . parent . kind ? n . errorModuleName ? 2 === n . accessibility ? e . Diagnostics . Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : e . Diagnostics . Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1 : e . Diagnostics . Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0 : n . errorModuleName ? e . Diagnostics . Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1 : e . Diagnostics . Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0 ; break ; case 216 : r = n . errorModuleName ? 2 === n . accessibility ? e . Diagnostics . Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named : e . Diagnostics . Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1 : e . Diagnostics . Return_type_of_exported_function_has_or_is_using_private_name_0 ; break ; default : e . Debug . fail ( "This is unknown kind for signature: " + t . kind ) ; } return { diagnosticMessage : r , errorNode : t . name || t } ; } var r = ue ; ue = t , 149 !== t . kind && 154 !== t . kind || ie ( "new " ) , U ( t . typeParameters ) , ie ( 150 === t . kind ? "[" : "(" ) , v ( t . parameters , ne ) , ie ( 150 === t . kind ? "]" : ")" ) ; var a = 153 === t . kind || 154 === t . kind ; a || 156 === t . parent . kind ? t . type && ( ie ( a ? " => " : ": " ) , x ( t . type ) ) : 145 === t . kind || 16 & t . flags || g ( t , n ) , ue = r , a || ( ie ( ";" ) , oe ( ) ) ; } function ne ( t ) { function r ( e ) { var n = a ( e ) ; return void 0 !== n ? { diagnosticMessage : n , errorNode : t , typeName : t . name } : void 0 ; } function a ( n ) { switch ( t . parent . kind ) { case 145 : return n . errorModuleName ? 2 === n . accessibility ? e . Diagnostics . Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : e . Diagnostics . Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2 : e . Diagnostics . Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1 ; case 149 : return n . errorModuleName ? e . Diagnostics . Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : e . Diagnostics . Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1 ; case 148 : return n . errorModuleName ? e . Diagnostics . Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : e . Diagnostics . Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1 ; case 144 : case 143 : return 64 & t . parent . flags ? n . errorModuleName ? 2 === n . accessibility ? e . Diagnostics . Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : e . Diagnostics . Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : e . Diagnostics . Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1 : 217 === t . parent . parent . kind ? n . errorModuleName ? 2 === n . accessibility ? e . Diagnostics . Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : e . Diagnostics . Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2 : e . Diagnostics . Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1 : n . errorModuleName ? e . Diagnostics . Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2 : e . Diagnostics . Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1 ; case 216 : return n . errorModuleName ? 2 === n . accessibility ? e . Diagnostics . Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named : e . Diagnostics . Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2 : e . Diagnostics . Parameter_0_of_exported_function_has_or_is_using_private_name_1 ; default : e . Debug . fail ( "This is unknown parent for parameter: " + t . parent . kind ) ; } } function i ( e ) { if ( 164 === e . kind ) ie ( "{" ) , v ( e . elements , o ) , ie ( "}" ) ; else if ( 165 === e . kind ) { ie ( "[" ) ; var t = e . elements ; v ( t , o ) , t && t . hasTrailingComma && ie ( ", " ) , ie ( "]" ) ; } } function o ( t ) { 190 === t . kind ? ie ( " " ) : 166 === t . kind && ( t . propertyName && ( _e ( de , t . propertyName ) , ie ( ": " ) ) , t . name && ( e . isBindingPattern ( t . name ) ? i ( t . name ) : ( e . Debug . assert ( 69 === t . name . kind ) , t . dotDotDotToken && ie ( "..." ) , _e ( de , t . name ) ) ) ) ; } se ( ) , Ce ( t ) , t . dotDotDotToken && ie ( "..." ) , e . isBindingPattern ( t . name ) ? i ( t . name ) : _e ( de , t . name ) , n . isOptionalParameter ( t ) && ie ( "?" ) , ce ( ) , 153 === t . parent . kind || 154 === t . parent . kind || 156 === t . parent . parent . kind ? X ( t ) : 16 & t . parent . flags || m ( t , t . type , r ) ; } function re ( e ) { switch ( e . kind ) { case 216 : case 221 : case 224 : case 218 : case 217 : case 219 : case 220 : return E ( e , T ( e ) ) ; case 196 : return E ( e , Q ( e ) ) ; case 225 : return E ( e , ! e . importClause ) ; case 231 : return M ( e ) ; case 145 : case 144 : case 143 : return Z ( e ) ; case 149 : case 148 : case 150 : return ee ( e ) ; case 146 : case 147 : return $ ( e ) ; case 142 : case 141 : return H ( e ) ; case 250 : return j ( e ) ; case 230 : return S ( e ) ; case 251 : return C ( e ) ; } } function ae ( n , r ) { function i ( t , a , i ) { i && ! r || ( e . Debug . assert ( ! ! t . declarationFilePath || e . isSourceFileJavaScript ( n ) , "Declaration file is not present only for javascript files" ) , o = t . declarationFilePath || t . jsFilePath , s = i ) ; } var o , s = ! 1 ; return e . isDeclarationFile ( n ) ? o = n . fileName : e . forEachExpectedEmitFile ( t , i , n ) , o && ( o = e . getRelativePathToDirectoryOrUrl ( e . getDirectoryPath ( e . normalizeSlashes ( a ) ) , o , t . getCurrentDirectory ( ) , t . getCanonicalFileName , ! 1 ) , Te += '/// <reference path="' + o + '" />' + ve ) , s ; } var ie , oe , se , ce , _e , ue , le , de , pe , fe , me , ge , ye , he , ve = t . getNewLine ( ) , ke = t . getCompilerOptions ( ) , be = _ ( ) , xe = ! 1 , Ce = ke . removeComments ? function ( e ) { } : k , De = ke . stripInternal ? c : re , Se = [ ] , Te = "" , Ee = [ ] , we = ! 1 , Ae = [ ] ; return e . forEach ( i , function ( n ) { if ( ! e . isSourceFileJavaScript ( n ) ) { if ( ke . noResolve || e . forEach ( n . referencedFiles , function ( r ) { var a = e . tryResolveScriptReference ( t , n , r ) ; a && ! e . contains ( Ee , a ) && ( ae ( a , ! o && ! we ) && ( we = ! 0 ) , Ee . push ( a ) ) ; } ) , le = ! 1 , o && e . isExternalModule ( n ) ? e . isExternalModule ( n ) && ( ye = ! 0 , ie ( 'declare module "' + e . getResolvedExternalModuleName ( t , n ) + '" {' ) , oe ( ) , se ( ) , C ( n ) , ce ( ) , ie ( "}" ) , oe ( ) ) : ( ye = ! 1 , C ( n ) ) , Se . length ) { var r = be ; e . forEach ( Se , function ( t ) { if ( t . isVisible && ! t . asynchronousOutput ) { e . Debug . assert ( 225 === t . node . kind ) , _ ( ) , e . Debug . assert ( 0 === t . indent || 1 === t . indent && o ) ; for ( var n = 0 ; n < t . indent ; n ++ ) se ( ) ; R ( t . node ) , t . asynchronousOutput = be . getText ( ) ; for ( var n = 0 ; n < t . indent ; n ++ ) ce ( ) ; } } ) , u ( r ) , Ae = Ae . concat ( Se ) , Se = [ ] ; } ! o && e . isExternalModule ( n ) && n . moduleAugmentations . length && ! le && ( ie ( "export {};" ) , oe ( ) ) ; } } ) , { reportedDeclarationError : xe , moduleElementDeclarationEmitInfo : Ae , synchronousDeclarationOutput : be . getText ( ) , referencePathsOutput : Te } ; } function r ( t , r , a , i , o , s ) { function c ( t , n ) { var r = 0 , a = "" ; return e . forEach ( n , function ( e ) { e . asynchronousOutput && ( a += t . substring ( r , e . outputPos ) , a += c ( e . asynchronousOutput , e . subModuleElementDeclarationEmitInfo ) , r = e . outputPos ) ; } ) , a += t . substring ( r ) ; } var _ = n ( i , o , s , t , r , a ) , u = _ . reportedDeclarationError || i . isEmitBlocked ( t ) || i . getCompilerOptions ( ) . noEmit ; if ( ! u ) { var l = _ . referencePathsOutput + c ( _ . synchronousDeclarationOutput , _ . moduleElementDeclarationEmitInfo ) ; e . writeFile ( i , s , t , l , i . getCompilerOptions ( ) . emitBOM ) ; } return u ; } e . getDeclarationDiagnostics = t , e . writeDeclarationFile = r ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { function t ( t , n ) { return n . moduleName || e . getExternalModuleNameFromPath ( t , n . fileName ) ; } function n ( n , r , a ) { var i = r . getExternalModuleFileFromDeclaration ( a ) ; if ( i && ! e . isDeclarationFile ( i ) ) return t ( n , i ) ; } function r ( r , a , i ) { function s ( t , n ) { for ( var r = n ; e . isNodeDescendentOf ( r , n ) ; r = r . nextContainer ) if ( r . locals && e . hasProperty ( r . locals , t ) && 9544639 & r . locals [ t ] . flags ) return ! 1 ; return ! 0 ; } function c ( e , t , n , r ) { t ? ( e . labeledNonLocalBreaks || ( e . labeledNonLocalBreaks = { } ) , e . labeledNonLocalBreaks [ n ] = r ) : ( e . labeledNonLocalContinues || ( e . labeledNonLocalContinues = { } ) , e . labeledNonLocalContinues [ n ] = r ) ; } function _ ( e , t ) { function n ( t ) { if ( 69 === t . kind ) e . hoistedLocalVariables . push ( t ) ; else for ( var r = 0 , a = t . elements ; r < a . length ; r ++ ) { var i = a [ r ] ; n ( i . name ) ; } } e . hoistedLocalVariables || ( e . hoistedLocalVariables = [ ] ) , n ( t . name ) ; } function u ( ) { function i ( t , n , r , a ) { ci . initialize ( t , n , r , a ) , Ma = { } , Ba = [ ] , Ka = [ ] , ti = ! a , a && k && e . forEach ( r , na ) , e . forEach ( r , u ) , ii ( ) ; var i = ci . getSourceMappingURL ( ) ; i && ri ( "//# sourceMappingURL=" + i ) , O ( ni . getText ( ) , t , n , h . emitBOM ) , ci . reset ( ) , ni . reset ( ) , wa = void 0 , Aa = void 0 , Pa = void 0 , Fa = void 0 , La = void 0 , Ma = void 0 , Ba = void 0 , Ka = void 0 , za = void 0 , ja = void 0 , Ja = ! 1 , qa = ! 1 , Wa = ! 1 , Va = ! 1 , Ua = ! 1 , pi = 0 , Ha = void 0 , Ga = void 0 , Xa = void 0 , Qa = void 0 , Ya = void 0 , $a = void 0 , Za = void 0 , ei = void 0 , Ra = ! 1 , Oa = void 0 , Ia = ! 1 ; } function u ( t ) { wa = t , Aa = t . text , Pa = e . getLineStarts ( t ) , Fa = void 0 , La = void 0 , Ra = t . symbol && t . symbol . exports && ! ! t . symbol . exports . ___esModule , Oa = t . renamedDependencies , Na = t . identifiers , Ia = e . isExternalModule ( t ) , _i ( t ) , ia ( t ) ; } function l ( t ) { return ! r . hasGlobalName ( t ) && ! e . hasProperty ( Na , t ) && ! e . hasProperty ( Ma , t ) ; } function C ( e ) { if ( e && ! ( pi & e ) ) { var t = 268435456 === e ? "_i" : "_n" ; if ( l ( t ) ) return pi |= e , t ; } for ( ; ; ) { var n = 268435455 & pi ; if ( pi ++ , 8 !== n && 13 !== n ) { var r = 26 > n ? "_" + String . fromCharCode ( 97 + n ) : "_" + ( n - 26 ) ; if ( l ( r ) ) return r ; } } } function S ( e ) { 95 !== e . charCodeAt ( e . length - 1 ) && ( e += "_" ) ; for ( var t = 1 ; ; ) { var n = e + t ; if ( l ( n ) ) return Ma [ n ] = n ; t ++ ; } } function T ( e ) { var t = e . name . text ; return s ( t , e ) ? t : S ( t ) ; } function E ( t ) { var n = e . getExternalModuleName ( t ) , r = 9 === n . kind ? e . escapeIdentifier ( e . makeIdentifierFromModuleName ( n . text ) ) : "module" ; return S ( r ) ; } function w ( ) { return S ( "default" ) ; } function A ( ) { return S ( "class" ) ; } function P ( e ) { switch ( e . kind ) { case 69 : return S ( e . text ) ; case 221 : case 220 : return T ( e ) ; case 225 : case 231 : return E ( e ) ; case 216 : case 217 : case 230 : return w ( ) ; case 189 : return A ( ) ; } } function N ( t ) { var n = e . getNodeId ( t ) ; return Ba [ n ] || ( Ba [ n ] = e . unescapeIdentifier ( P ( t ) ) ) ; } function O ( t , n , r , i ) { h . sourceMap && ! h . inlineSourceMap && e . writeFile ( a , x , r , ci . getText ( ) , ! 1 ) , b && b . push ( ci . getSourceMapData ( ) ) , e . writeFile ( a , x , n , t , i ) ; } function R ( t ) { var n = e . createSynthesizedNode ( 69 ) ; return n . text = C ( t ) , n ; } function I ( e ) { Ha || ( Ha = [ ] ) , Ha . push ( e ) ; } function F ( e ) { var t = R ( e ) ; return I ( t ) , t ; } function L ( e ) { Ha && ( e ? ii ( ) : ri ( " " ) , ri ( "var " ) , J ( Ha ) , ri ( ";" ) ) ; } function M ( t , n , r ) { var a = e . skipTrivia ( Aa , n ) ; di ( a ) ; var i = e . tokenToString ( t ) ; r ? r ( ) : ri ( i ) ; var o = a + i . length ; return di ( o ) , o ; } function B ( e , t ) { t && ( ri ( e ) , aa ( t ) ) ; } function z ( e , t ) { t && ri ( "(" ) , aa ( e ) , t && ri ( ")" ) ; } function K ( t , n , r , a ) { e . Debug . assert ( n . length > 0 ) , oi ( ) , Lt ( t , n [ 0 ] ) ? a && ri ( " " ) : ii ( ) ; for ( var i = 0 , o = n . length ; o > i ; i ++ ) i && ( Bt ( n [ i - 1 ] , n [ i ] ) ? ri ( ", " ) : ( ri ( "," ) , ii ( ) ) ) , aa ( n [ i ] ) ; n . hasTrailingComma && r && ri ( "," ) , si ( ) , Mt ( t , e . lastOrUndefined ( n ) ) ? a && ri ( " " ) : ii ( ) ; } function j ( e , t , n , r , a , i , o , s ) { s || ( s = aa ) ; for ( var c = 0 ; n > c ; c ++ ) { r ? ( ( c || i ) && ri ( "," ) , ii ( ) ) : ( c || i ) && ri ( ", " ) ; var _ = e [ t + c ] ; Ca ( _ . pos ) , s ( _ ) , i = ! 0 ; } return a && ri ( "," ) , r && ! o && ii ( ) , n ; } function J ( e ) { e && j ( e , 0 , e . length , ! 1 , ! 1 ) ; } function U ( e ) { q ( e , 0 ) ; } function q ( e , t ) { for ( var n = t ; n < e . length ; n ++ ) ii ( ) , aa ( e [ n ] ) ; } function W ( e , t ) { if ( 8 === e . kind && t . length > 1 ) switch ( t . charCodeAt ( 1 ) ) { case 98 : case 66 : case 111 : case 79 : return ! 0 ; } return ! 1 ; } function V ( t ) { var n = H ( t ) ; ! h . sourceMap && ! h . inlineSourceMap || 9 !== t . kind && ! e . isTemplateLiteralKind ( t . kind ) ? ri ( 2 > v && W ( t , n ) ? t . text : n ) : ni . writeLiteral ( n ) ; } function H ( t ) { if ( 2 > v && ( e . isTemplateLiteralKind ( t . kind ) || t . hasExtendedUnicodeEscape ) ) return G ( '"' , t . text , '"' ) ; if ( t . parent ) return e . getTextOfNodeFromSourceText ( Aa , t ) ; switch ( t . kind ) { case 9 : return G ( '"' , t . text , '"' ) ; case 11 : return G ( "`" , t . text , "`" ) ; case 12 : return G ( "`" , t . text , "${" ) ; case 13 : return G ( "}" , t . text , "${" ) ; case 14 : return G ( "}" , t . text , "`" ) ; case 8 : return t . text ; } e . Debug . fail ( "Literal kind '" + t . kind + "' not accounted for." ) ; } function G ( t , n , r ) { return t + e . escapeNonAsciiCharacters ( e . escapeString ( n ) ) + r ; } function X ( t ) { var n = e . getTextOfNodeFromSourceText ( Aa , t ) , r = 11 === t . kind || 14 === t . kind ; n = n . substring ( 1 , n . length - ( r ? 1 : 2 ) ) , n = n . replace ( /\r\n?/g , "\n" ) , n = e . escapeString ( n ) , ri ( '"' + n + '"' ) ; } function Q ( t , n ) { ri ( "[" ) , 11 === t . template . kind ? n ( t . template ) : ( n ( t . template . head ) , e . forEach ( t . template . templateSpans , function ( e ) { ri ( ", " ) , n ( e . literal ) ; } ) ) , ri ( "]" ) ; } function Y ( t ) { var n = F ( 0 ) ; ri ( "(" ) , aa ( n ) , ri ( " = " ) , Q ( t , aa ) , ri ( ", " ) , aa ( n ) , ri ( ".raw = " ) , Q ( t , X ) , ri ( ", " ) , z ( t . tag , ge ( t . tag ) ) , ri ( "(" ) , aa ( n ) , 186 === t . template . kind && e . forEach ( t . template . templateSpans , function ( e ) { ri ( ", " ) ; var t = 184 === e . expression . kind && 24 === e . expression . operatorToken . kind ; z ( e . expression , t ) ; } ) , ri ( "))" ) ; } function $ ( t ) { function n ( ) { return e . Debug . assert ( 0 !== t . templateSpans . length ) , 0 !== t . head . text . length || 0 === t . templateSpans [ 0 ] . literal . text . length ; } function r ( e , t ) { switch ( t . kind ) { case 171 : case 172 : return t . expression === e ; case 173 : case 175 : return ! 1 ; default : return - 1 !== a ( t ) ; } } function a ( e ) { switch ( e . kind ) { case 184 : switch ( e . operatorToken . kind ) { case 37 : case 39 : case 40 : return 1 ; case 35 : case 36 : return 0 ; default : return - 1 ; } case 187 : case 185 : return - 1 ; default : return 1 ; } } if ( v >= 2 ) return void e . forEachChild ( t , aa ) ; var i = e . isExpression ( t . parent ) && r ( t , t . parent ) ; i && ri ( "(" ) ; var o = ! 1 ; n ( ) && ( V ( t . head ) , o = ! 0 ) ; for ( var s = 0 , c = t . templateSpans . length ; c > s ; s ++ ) { var _ = t . templateSpans [ s ] , u = 175 !== _ . expression . kind && 1 !== a ( _ . expression ) ; ( s > 0 || o ) && ri ( " + " ) , z ( _ . expression , u ) , 0 !== _ . literal . text . length && ( ri ( " + " ) , V ( _ . literal ) ) ; } i && ri ( ")" ) ; } function Z ( e ) { aa ( e . expression ) , aa ( e . literal ) ; } function ee ( t ) { function n ( t ) { 69 === t . kind && e . isIntrinsicJsxName ( t . text ) ? ( ri ( '"' ) , aa ( t ) , ri ( '"' ) ) : aa ( t ) ; } function r ( e ) { /^[A-Za-z_]\w*$/ . test ( e . text ) ? aa ( e ) : ( ri ( '"' ) , aa ( e ) , ri ( '"' ) ) ; } function a ( e ) { r ( e . name ) , ri ( ": " ) , e . initializer ? aa ( e . initializer ) : ri ( "true" ) ; } function i ( t , r ) { var i = e . createSynthesizedNode ( 69 ) ; if ( i . text = h . reactNamespace ? h . reactNamespace : "React" , i . parent = t , ka ( t ) , ae ( i ) , ri ( ".createElement(" ) , n ( t . tagName ) , ri ( ", " ) , 0 === t . attributes . length ) ri ( "null" ) ; else { var o = t . attributes ; if ( e . forEach ( o , function ( e ) { return 242 === e . kind ; } ) ) { ri ( "__assign(" ) ; for ( var s = ! 1 , c = 0 ; c < o . length ; c ++ ) 242 === o [ c ] . kind ? ( 0 === c && ri ( "{}, " ) , s && ( ri ( "}" ) , s = ! 1 ) , c > 0 && ri ( ", " ) , aa ( o [ c ] . expression ) ) : ( e . Debug . assert ( 241 === o [ c ] . kind ) , s ? ri ( ", " ) : ( s = ! 0 , c > 0 && ri ( ", " ) , ri ( "{" ) ) , a ( o [ c ] ) ) ; s && ri ( "}" ) , ri ( ")" ) ; } else { ri ( "{" ) ; for ( var c = 0 , _ = o . length ; _ > c ; c ++ ) c > 0 && ri ( ", " ) , a ( o [ c ] ) ; ri ( "}" ) ; } } if ( r ) for ( var c = 0 ; c < r . length ; c ++ ) if ( 243 !== r [ c ] . kind || r [ c ] . expression ) if ( 239 === r [ c ] . kind ) { var u = Xr ( r [ c ] ) ; void 0 !== u && ( ri ( ', "' ) , ri ( u ) , ri ( '"' ) ) ; } else ri ( ", " ) , aa ( r [ c ] ) ; ri ( ")" ) , xa ( t ) ; } 236 === t . kind ? i ( t . openingElement , t . children ) : ( e . Debug . assert ( 237 === t . kind ) , i ( t ) ) ; } function te ( t ) { function n ( e ) { aa ( e . name ) , e . initializer && ( ri ( "=" ) , aa ( e . initializer ) ) ; } function r ( e ) { ri ( "{..." ) , aa ( e . expression ) , ri ( "}" ) ; } function a ( t ) { for ( var a = 0 , i = t . length ; i > a ; a ++ ) a > 0 && ri ( " " ) , 242 === t [ a ] . kind ? r ( t [ a ] ) : ( e . Debug . assert ( 241 === t [ a ] . kind ) , n ( t [ a ] ) ) ; } function i ( e ) { ri ( "<" ) , aa ( e . tagName ) , ( e . attributes . length > 0 || 237 === e . kind ) && ri ( " " ) , a ( e . attributes ) , ri ( 237 === e . kind ? "/>" : ">" ) ; } function o ( e ) { ri ( "</" ) , aa ( e . tagName ) , ri ( ">" ) ; } function s ( e ) { i ( e . openingElement ) ; for ( var t = 0 , n = e . children . length ; n > t ; t ++ ) aa ( e . children [ t ] ) ; o ( e . closingElement ) ; } 236 === t . kind ? s ( t ) : ( e . Debug . assert ( 237 === t . kind ) , i ( t ) ) ; } function ne ( t ) { if ( e . Debug . assert ( 166 !== t . kind ) , 9 === t . kind ) V ( t ) ; else if ( 137 === t . kind ) { if ( e . nodeIsDecorated ( t . parent ) ) { za || ( za = [ ] ) ; var n = za [ e . getNodeId ( t ) ] ; if ( n ) return void ri ( n ) ; n = F ( 0 ) . text , za [ e . getNodeId ( t ) ] = n , ri ( n ) , ri ( " = " ) ; } aa ( t . expression ) ; } else ri ( '"' ) , 8 === t . kind ? ri ( t . text ) : ai ( Aa , t ) , ri ( '"' ) ; } function re ( e ) { var t = e . parent ; switch ( t . kind ) { case 167 : case 192 : case 184 : case 171 : case 244 : case 137 : case 185 : case 140 : case 178 : case 200 : case 170 : case 230 : case 198 : case 191 : case 202 : case 203 : case 204 : case 199 : case 240 : case 237 : case 238 : case 242 : case 243 : case 172 : case 175 : case 183 : case 182 : case 207 : case 249 : case 188 : case 209 : case 173 : case 193 : case 211 : case 174 : case 179 : case 180 : case 201 : case 208 : case 187 : return ! 0 ; case 166 : case 250 : case 139 : case 248 : case 142 : case 214 : return t . initializer === e ; case 169 : return t . expression === e ; case 177 : case 176 : return t . body === e ; case 224 : return t . moduleReference === e ; case 136 : return t . left === e ; } return ! 1 ; } function ae ( t ) { var n = r . getReferencedExportContainer ( t ) ; if ( n ) 251 === n . kind ? 5 !== k && 4 !== k && ri ( "exports." ) : ( ri ( N ( n ) ) , ri ( "." ) ) ; else { if ( 5 !== k ) { var a = r . getReferencedImportDeclaration ( t ) ; if ( a ) { if ( 226 === a . kind ) return ri ( N ( a . parent ) ) , void ri ( 0 === v ? '["default"]' : ".default" ) ; if ( 229 === a . kind ) { ri ( N ( a . parent . parent . parent ) ) ; var i = a . propertyName || a . name , o = e . getTextOfNodeFromSourceText ( Aa , i ) ; return void ( 0 === v && "default" === o ? ri ( '["default"]' ) : ( ri ( "." ) , ri ( o ) ) ) ; } } } if ( 2 > v ) { var a = r . getReferencedDeclarationWithCollidingName ( t ) ; if ( a ) return void ri ( N ( a . name ) ) ; } else if ( 1048576 & r . getNodeCheckFlags ( t ) ) { var a = r . getReferencedValueDeclaration ( t ) ; if ( a ) { var s = Ka [ e . getNodeId ( a ) ] ; if ( void 0 !== s ) return void ri ( s ) ; } } } e . nodeIsSynthesized ( t ) ? ri ( t . text ) : ai ( Aa , t ) ; } function ie ( e ) { if ( 2 > v ) { var t = e . parent ; switch ( t . kind ) { case 166 : case 217 : case 220 : case 214 : return t . name === e && r . isDeclarationWithCollidingName ( t ) ; } } return ! 1 ; } function oe ( t ) { if ( ja && "arguments" == t . text && r . isArgumentsLocalBinding ( t ) ) { var n = ja . argumentsName || ( ja . argumentsName = S ( "arguments" ) ) ; return void ri ( n ) ; } t . parent ? re ( t ) ? ae ( t ) : ie ( t ) ? ri ( N ( t ) ) : e . nodeIsSynthesized ( t ) ? ri ( t . text ) : ai ( Aa , t ) : ri ( t . text ) ; } function se ( e ) { ri ( 2 & r . getNodeCheckFlags ( e ) ? "_this" : ja ? ja . thisName || ( ja . thisName = S ( "this" ) ) : "this" ) ; } function ce ( e ) { if ( v >= 2 ) ri ( "super" ) ; else { var t = r . getNodeCheckFlags ( e ) ; ri ( 256 & t ? "_super.prototype" : "_super" ) ; } } function _e ( e ) { ri ( "{ " ) ; var t = e . elements ; j ( t , 0 , t . length , ! 1 , t . hasTrailingComma ) , ri ( " }" ) ; } function ue ( e ) { ri ( "[" ) ; var t = e . elements ; j ( t , 0 , t . length , ! 1 , t . hasTrailingComma ) , ri ( "]" ) ; } function le ( t ) { t . propertyName && ( aa ( t . propertyName ) , ri ( ": " ) ) , t . dotDotDotToken && ri ( "..." ) , e . isBindingPattern ( t . name ) ? aa ( t . name ) : Gt ( t ) , B ( " = " , t . initializer ) ; } function de ( e ) { ri ( "..." ) , aa ( e . expression ) ; } function pe ( t ) { ri ( e . tokenToString ( 114 ) ) , t . asteriskToken && ri ( "*" ) , t . expression && ( ri ( " " ) , aa ( t . expression ) ) ; } function fe ( t ) { var n = me ( t ) ; n && ri ( "(" ) , ri ( e . tokenToString ( 114 ) ) , ri ( " " ) , aa ( t . expression ) , n && ri ( ")" ) ; } function me ( t ) { return 184 !== t . parent . kind || e . isAssignmentOperator ( t . parent . operatorToken . kind ) ? 185 === t . parent . kind && t . parent . condition === t : ! 0 ; } function ge ( e ) { switch ( e . kind ) { case 69 : case 167 : case 169 : case 170 : case 171 : case 175 : return ! 1 ; } return ! 0 ; } function ye ( e , t , n , r , a ) { for ( var i = 0 , o = 0 , s = e . length ; s > i ; ) { 1 === o && a ? ri ( ".concat(" ) : o > 0 && ri ( ", " ) ; var c = e [ i ] ; if ( 188 === c . kind ) c = c . expression , z ( c , 0 === o && ge ( c ) ) , i ++ , i === s && 0 === o && t && 167 !== c . kind && ri ( ".slice()" ) ; else { for ( var _ = i ; s > _ && 188 !== e [ _ ] . kind ; ) _ ++ ; ri ( "[" ) , n && oi ( ) , j ( e , i , _ - i , n , r && _ === s ) , n && si ( ) , ri ( "]" ) , i = _ ; } o ++ ; } o > 1 && a && ri ( ")" ) ; } function he ( e ) { return 188 === e . kind ; } function ve ( t ) { var n = t . elements ; 0 === n . length ? ri ( "[]" ) : v >= 2 || ! e . forEach ( n , he ) ? ( ri ( "[" ) , K ( t , t . elements , n . hasTrailingComma , ! 1 ) , ri ( "]" ) ) : ye ( n , ! 0 , 0 !== ( 1024 & t . flags ) , n . hasTrailingComma , ! 0 ) ; } function ke ( e , t ) { if ( 0 === t ) return void ri ( "{}" ) ; if ( ri ( "{" ) , t > 0 ) { var n = e . properties ; if ( t === n . length ) K ( e , n , v >= 1 , ! 0 ) ; else { var r = 0 !== ( 1024 & e . flags ) ; r ? oi ( ) : ri ( " " ) , j ( n , 0 , t , r , ! 1 ) , r ? si ( ) : ri ( " " ) ; } } ri ( "}" ) ; } function be ( t , n ) { function r ( ) { a ? ( ri ( "," ) , ii ( ) ) : ri ( ", " ) ; } var a = 0 !== ( 1024 & t . flags ) , i = t . properties ; ri ( "(" ) , a && oi ( ) ; var o = F ( 0 ) ; aa ( o ) , ri ( " = " ) , ke ( t , n ) ; for ( var s = n , c = i . length ; c > s ; s ++ ) { r ( ) ; var _ = i [ s ] ; if ( ui ( _ ) , 146 === _ . kind || 147 === _ . kind ) { var u = e . getAllAccessorDeclarations ( t . properties , _ ) ; if ( _ !== u . firstAccessor ) continue ; ri ( "Object.defineProperty(" ) , aa ( o ) , ri ( ", " ) , ui ( t . name ) , ne ( _ . name ) , li ( _ . name ) , ri ( ", {" ) , oi ( ) , u . getAccessor && ( ii ( ) , ka ( u . getAccessor ) , ri ( "get: " ) , ui ( u . getAccessor ) , ri ( "function " ) , Cn ( u . getAccessor ) , li ( u . getAccessor ) , xa ( u . getAccessor ) , ri ( "," ) ) , u . setAccessor && ( ii ( ) , ka ( u . setAccessor ) , ri ( "set: " ) , ui ( u . setAccessor ) , ri ( "function " ) , Cn ( u . setAccessor ) , li ( u . setAccessor ) , xa ( u . setAccessor ) , ri ( "," ) ) , ii ( ) , ri ( "enumerable: true," ) , ii ( ) , ri ( "configurable: true" ) , si ( ) , ii ( ) , ri ( "})" ) , li ( _ ) ; } else ka ( _ ) , ui ( _ . name ) , aa ( o ) , Pn ( _ . name ) , li ( _ . name ) , ri ( " = " ) , 248 === _ . kind ? aa ( _ . initializer ) : 249 === _ . kind ? ae ( _ . name ) : 144 === _ . kind ? yn ( _ ) : e . Debug . fail ( "ObjectLiteralElement type not accounted for: " + _ . kind ) ; li ( _ ) ; } r ( ) , aa ( o ) , a && ( si ( ) , ii ( ) ) , ri ( ")" ) ; } function xe ( e ) { var t = e . properties ; if ( 2 > v ) { for ( var n = t . length , r = n , a = 0 , i = t . length ; i > a ; a ++ ) if ( 137 === t [ a ] . name . kind ) { r = a ; break ; } var o = r !== t . length ; if ( o ) return void be ( e , r ) ; } ke ( e , t . length ) ; } function Ce ( t , n , r , a ) { var i = e . createSynthesizedNode ( 184 , a ) ; return i . operatorToken = e . createSynthesizedNode ( n ) , i . left = t , i . right = r , i ; } function De ( t , n ) { var r = e . createSynthesizedNode ( 169 ) ; return r . expression = Te ( t ) , r . dotToken = e . createSynthesizedNode ( 21 ) , r . name = n , r ; } function Se ( t , n ) { var r = e . createSynthesizedNode ( 170 ) ; return r . expression = Te ( t ) , r . argumentExpression = n , r ; } function Te ( t ) { for ( ; 174 === t . kind || 192 === t . kind ; ) t = t . expression ; if ( e . isLeftHandSideExpression ( t ) && 172 !== t . kind && 8 !== t . kind ) return t ; var n = e . createSynthesizedNode ( 175 ) ; return n . expression = t , n ; } function Ee ( e ) { ri ( "[" ) , ne ( e ) , ri ( "]" ) ; } function we ( e ) { v >= 2 && e . asteriskToken && ri ( "*" ) , aa ( e . name ) , 2 > v && ri ( ": function " ) , Cn ( e ) ; } function Ae ( e ) { aa ( e . name ) , ri ( ": " ) , Ca ( e . initializer . pos ) , aa ( e . initializer ) ; } function Pe ( e ) { var t = r . getReferencedExportContainer ( e ) ; return t && 251 !== t . kind ; } function Ne ( e ) { ai ( Aa , e . name ) , ( 5 !== k || Pe ( e . name ) ) && ( ri ( ": " ) , aa ( e . name ) ) , v >= 2 && e . objectAssignmentInitializer && ( ri ( " = " ) , aa ( e . objectAssignmentInitializer ) ) ; } function Oe ( t ) { var n = Re ( t ) ; if ( void 0 !== n ) { if ( ri ( n . toString ( ) ) , ! h . removeComments ) { var r = 169 === t . kind ? e . declarationNameToString ( t . name ) : e . getTextOfNode ( t . argumentExpression ) ; ri ( " /* " + r + " */" ) ; } return ! 0 ; } return ! 1 ; } function Re ( e ) { return h . isolatedModules ? void 0 : 169 === e . kind || 170 === e . kind ? r . getConstantValue ( e ) : void 0 ; } function Ie ( t , n , r , a ) { var i = ! e . nodeIsSynthesized ( t ) && ! Bt ( n , r ) , o = ot ( r ) ; return i || o ? ( oi ( ) , ii ( ) , ! 0 ) : ( a && ri ( a ) , ! 1 ) ; } function Fe ( t ) { if ( ! Oe ( t ) ) { if ( 2 === v && 95 === t . expression . kind && qe ( t ) ) { var n = e . createSynthesizedNode ( 9 ) ; return n . text = t . name . text , void We ( t . expression , n ) ; } aa ( t . expression ) ; var r = Ie ( t , t . expression , t . dotToken ) , a = ! 1 ; if ( ! r ) if ( 8 === t . expression . kind ) { var i = e . getTextOfNodeFromSourceText ( Aa , t . expression ) ; a = i . indexOf ( e . tokenToString ( 21 ) ) < 0 ; } else { var o = Re ( t . expression ) ; a = isFinite ( o ) && Math . floor ( o ) === o ; } ri ( a ? " ." : "." ) ; var s = Ie ( t , t . dotToken , t . name ) ; aa ( t . name ) , ct ( r , s ) ; } } function Le ( e ) { aa ( e . left ) , ri ( "." ) , aa ( e . right ) ; } function Me ( e , t ) { if ( 69 === e . left . kind ) Be ( e . left , t ) ; else if ( t ) { var n = F ( 0 ) ; ri ( "(" ) , ca ( n ) , ri ( " = " ) , Be ( e . left , ! 0 ) , ri ( ") && " ) , ca ( n ) ; } else Be ( e . left , ! 1 ) ; ri ( "." ) , aa ( e . right ) ; } function Be ( e , t ) { switch ( e . kind ) { case 69 : t && ( ri ( "typeof " ) , ae ( e ) , ri ( " !== 'undefined' && " ) ) , ae ( e ) ; break ; case 136 : Me ( e , t ) ; break ; default : ca ( e ) ; } } function ze ( e ) { if ( ! Oe ( e ) ) { if ( 2 === v && 95 === e . expression . kind && qe ( e ) ) return void We ( e . expression , e . argumentExpression ) ; aa ( e . expression ) , ri ( "[" ) , aa ( e . argumentExpression ) , ri ( "]" ) ; } } function Ke ( t ) { return e . forEach ( t , function ( e ) { return 188 === e . kind ; } ) ; } function je ( e ) { for ( ; 175 === e . kind || 174 === e . kind || 192 === e . kind ; ) e = e . expression ; return e ; } function Je ( e ) { if ( 69 === e . kind || 97 === e . kind || 95 === e . kind ) return aa ( e ) , e ; var t = F ( 0 ) ; return ri ( "(" ) , aa ( t ) , ri ( " = " ) , aa ( e ) , ri ( ")" ) , t ; } function Ue ( e ) { var t , n = je ( e . expression ) ; 169 === n . kind ? ( t = Je ( n . expression ) , ri ( "." ) , aa ( n . name ) ) : 170 === n . kind ? ( t = Je ( n . expression ) , ri ( "[" ) , aa ( n . argumentExpression ) , ri ( "]" ) ) : 95 === n . kind ? ( t = n , ri ( "_super" ) ) : aa ( e . expression ) , ri ( ".apply(" ) , t ? 95 === t . kind ? se ( t ) : aa ( t ) : ri ( "void 0" ) , ri ( ", " ) , ye ( e . arguments , ! 1 , ! 1 , ! 1 , ! 0 ) , ri ( ")" ) ; } function qe ( t ) { if ( 2 === v ) { var n = e . getSuperContainer ( t , ! 1 ) ; if ( n && 6144 & r . getNodeCheckFlags ( n ) ) return ! 0 ; } return ! 1 ; } function We ( t , n ) { var a = e . getSuperContainer ( t , ! 1 ) , i = 4096 & r . getNodeCheckFlags ( a ) ; ri ( "_super(" ) , aa ( n ) , ri ( i ? ").value" : ")" ) ; } function Ve ( t ) { if ( 2 > v && Ke ( t . arguments ) ) return void Ue ( t ) ; var n = t . expression , r = ! 1 , a = ! 1 ; 95 === n . kind ? ( ce ( n ) , r = ! 0 ) : ( r = e . isSuperPropertyOrElementAccess ( n ) , a = r && qe ( t ) , aa ( n ) ) , r && ( 2 > v || a ) ? ( ri ( ".call(" ) , se ( n ) , t . arguments . length && ( ri ( ", " ) , J ( t . arguments ) ) , ri ( ")" ) ) : ( ri ( "(" ) , J ( t . arguments ) , ri ( ")" ) ) ; } function He ( e ) { if ( ri ( "new " ) , 1 === v && e . arguments && Ke ( e . arguments ) ) { ri ( "(" ) ; var t = Je ( e . expression ) ; ri ( ".bind.apply(" ) , aa ( t ) , ri ( ", [void 0].concat(" ) , ye ( e . arguments , ! 1 , ! 1 , ! 1 , ! 1 ) , ri ( ")))" ) , ri ( "()" ) ; } else aa ( e . expression ) , e . arguments && ( ri ( "(" ) , J ( e . arguments ) , ri ( ")" ) ) ; } function Ge ( e ) { v >= 2 ? ( aa ( e . tag ) , ri ( " " ) , aa ( e . template ) ) : Y ( e ) ; } function Xe ( t ) { if ( ! e . nodeIsSynthesized ( t ) && 177 !== t . parent . kind && ( 174 === t . expression . kind || 192 === t . expression . kind ) ) { for ( var n = t . expression . expression ; 174 === n . kind || 192 === n . kind ; ) n = n . expression ; if ( ! ( 182 === n . kind || 180 === n . kind || 179 === n . kind || 178 === n . kind || 183 === n . kind || 172 === n . kind || 171 === n . kind && 172 === t . parent . kind || 176 === n . kind && 171 === t . parent . kind || 8 === n . kind && 169 === t . parent . kind ) ) return void aa ( n ) ; } ri ( "(" ) , aa ( t . expression ) , ri ( ")" ) ; } function Qe ( t ) { ri ( e . tokenToString ( 78 ) ) , ri ( " " ) , aa ( t . expression ) ; } function Ye ( t ) { ri ( e . tokenToString ( 103 ) ) , ri ( " " ) , aa ( t . expression ) ; } function $e ( t ) { ri ( e . tokenToString ( 101 ) ) , ri ( " " ) , aa ( t . expression ) ; } function Ze ( t ) { if ( ! Or ( ) || 69 !== t . kind || e . nodeIsSynthesized ( t ) ) return ! 1 ; var n = t . parent && ( 214 === t . parent . kind || 166 === t . parent . kind ) , a = n ? t . parent : r . getReferencedValueDeclaration ( t ) ; return rt ( a , ! 0 ) ; } function et ( t ) { var n = ( 41 === t . operator || 42 === t . operator ) && Ze ( t . operand ) ; if ( n && ( ri ( Fa + '("' ) , ca ( t . operand ) , ri ( '", ' ) ) , ri ( e . tokenToString ( t . operator ) ) , 182 === t . operand . kind ) { var r = t . operand ; 35 !== t . operator || 35 !== r . operator && 41 !== r . operator ? 36 !== t . operator || 36 !== r . operator && 42 !== r . operator || ri ( " " ) : ri ( " " ) ; } aa ( t . operand ) , n && ri ( ")" ) ; } function tt ( t ) { var n = Ze ( t . operand ) ; n ? ( ri ( "(" + Fa + '("' ) , ca ( t . operand ) , ri ( '", ' ) , ri ( e . tokenToString ( t . operator ) ) , aa ( t . operand ) , ri ( 41 === t . operator ? ") - 1)" : ") + 1)" ) ) : ( aa ( t . operand ) , ri ( e . tokenToString ( t . operator ) ) ) ; } function nt ( e ) { return rt ( e , ! 1 ) ; } function rt ( t , n ) { if ( ! t || ! Or ( ) ) return ! 1 ; for ( var r = e . getRootDeclaration ( t ) . parent ; r ; ) { if ( 251 === r . kind ) return ! n || 0 !== ( 2 & e . getCombinedNodeFlags ( t ) ) ; if ( e . isDeclaration ( r ) ) return ! 1 ; r = r . parent ; } } function at ( t ) { var n = t . left ; if ( 60 === t . operatorToken . kind ) { var r = void 0 , a = ! 1 ; if ( e . isElementAccessExpression ( n ) ) { a = ! 0 , ri ( "(" ) , r = e . createSynthesizedNode ( 170 , ! 1 ) ; var i = tn ( n . expression , ! 1 , ! 1 ) ; if ( r . expression = i , 8 !== n . argumentExpression . kind && 9 !== n . argumentExpression . kind ) { var o = F ( 268435456 ) ; r . argumentExpression = o , en ( o , n . argumentExpression , ! 0 , n . expression ) ; } else r . argumentExpression = n . argumentExpression ; ri ( ", " ) ; } else if ( e . isPropertyAccessExpression ( n ) ) { a = ! 0 , ri ( "(" ) , r = e . createSynthesizedNode ( 169 , ! 1 ) ; var i = tn ( n . expression , ! 1 , ! 1 ) ; r . expression = i , r . dotToken = n . dotToken , r . name = n . name , ri ( ", " ) ; } aa ( r || n ) , ri ( " = " ) , ri ( "Math.pow(" ) , aa ( r || n ) , ri ( ", " ) , aa ( t . right ) , ri ( ")" ) , a && ri ( ")" ) ; } else ri ( "Math.pow(" ) , aa ( n ) , ri ( ", " ) , aa ( t . right ) , ri ( ")" ) ; } function it ( t ) { if ( 2 > v && 56 === t . operatorToken . kind && ( 168 === t . left . kind || 167 === t . left . kind ) ) rn ( t , 198 === t . parent . kind ) ; else { var n = t . operatorToken . kind >= 56 && t . operatorToken . kind <= 68 && Ze ( t . left ) ; if ( n && ( ri ( Fa + '("' ) , ca ( t . left ) , ri ( '", ' ) ) , 38 === t . operatorToken . kind || 60 === t . operatorToken . kind ) at ( t ) ; else { aa ( t . left ) ; var r = Ie ( t , t . left , t . operatorToken , 24 !== t . operatorToken . kind ? " " : void 0 ) ; ri ( e . tokenToString ( t . operatorToken . kind ) ) ; var a = Ie ( t , t . operatorToken , t . right , " " ) ; aa ( t . right ) , ct ( r , a ) ; } n && ri ( ")" ) ; } } function ot ( t ) { return e . nodeIsSynthesized ( t ) && t . startsOnNewLine ; } function st ( e ) { aa ( e . condition ) ; var t = Ie ( e , e . condition , e . questionToken , " " ) ; ri ( "?" ) ; var n = Ie ( e , e . questionToken , e . whenTrue , " " ) ; aa ( e . whenTrue ) , ct ( t , n ) ; var r = Ie ( e , e . whenTrue , e . colonToken , " " ) ; ri ( ":" ) ; var a = Ie ( e , e . colonToken , e . whenFalse , " " ) ; aa ( e . whenFalse ) , ct ( r , a ) ; } function ct ( e , t ) { e && si ( ) , t && si ( ) ; } function _t ( e ) { if ( e && 195 === e . kind ) { var t = e ; return 0 === t . statements . length && Bt ( t , t ) ; } } function ut ( t ) { return _t ( t ) ? ( M ( 15 , t . pos ) , ri ( " " ) , void M ( 16 , t . statements . end ) ) : ( M ( 15 , t . pos ) , oi ( ) , 222 === t . kind && ( e . Debug . assert ( 221 === t . parent . kind ) , hn ( t . parent ) ) , U ( t . statements ) , 222 === t . kind && L ( ! 0 ) , si ( ) , ii ( ) , void M ( 16 , t . statements . end ) ) ; } function lt ( e ) { 195 === e . kind ? ( ri ( " " ) , aa ( e ) ) : ( oi ( ) , ii ( ) , aa ( e ) , si ( ) ) ; } function dt ( e ) { z ( e . expression , 177 === e . expression . kind ) , ri ( ";" ) ; } function pt ( e ) { var t = M ( 88 , e . pos ) ; ri ( " " ) , t = M ( 17 , t ) , aa ( e . expression ) , M ( 18 , e . expression . end ) , lt ( e . thenStatement ) , e . elseStatement && ( ii ( ) , M ( 80 , e . thenStatement . end ) , 199 === e . elseStatement . kind ? ( ri ( " " ) , aa ( e . elseStatement ) ) : lt ( e . elseStatement ) ) ; } function ft ( e ) { bt ( e , mt ) ; } function mt ( e , t ) { ri ( "do" ) , t ? St ( t , ! 0 ) : Ct ( e , ! 0 ) , 195 === e . statement . kind ? ri ( " " ) : ii ( ) , ri ( "while (" ) , aa ( e . expression ) , ri ( ");" ) ; } function gt ( e ) { bt ( e , yt ) ; } function yt ( e , t ) { ri ( "while (" ) , aa ( e . expression ) , ri ( ")" ) , t ? St ( t , ! 0 ) : Ct ( e , ! 0 ) ; } function ht ( t ) { if ( Nr ( t , ! 0 ) ) return ! 1 ; if ( ja && 0 === ( 24576 & e . getCombinedNodeFlags ( t ) ) ) { for ( var n = 0 , r = t . declarations ; n < r . length ; n ++ ) { var a = r [ n ] ; _ ( ja , a ) ; } return ! 1 ; } return ui ( t ) , ri ( t && v >= 2 ? e . isLet ( t ) ? "let " : e . isConst ( t ) ? "const " : "var " : "var " ) , ! 0 ; } function vt ( e ) { for ( var t = ! 1 , n = 0 , r = e . declarations ; n < r . length ; n ++ ) { var a = r [ n ] ; a . initializer && ( t ? ri ( ", " ) : t = ! 0 , aa ( a ) ) ; } return t ; } function kt ( e ) { return 2 > v && 0 !== ( 65536 & r . getNodeCheckFlags ( e ) ) ; } function bt ( e , t ) { var n = kt ( e ) ; if ( n ) { var r = xt ( e ) ; 210 === e . parent . kind && qt ( e . parent ) , t ( e , r ) ; } else t ( e , void 0 ) ; } function xt ( t ) { function n ( e ) { if ( 69 === e . kind ) { var t = ie ( e ) ? N ( e ) : e . text ; if ( s . push ( t ) , 2097152 & r . getNodeCheckFlags ( e . parent ) ) { var a = { originalName : e , outParamName : S ( "out_" + t ) } ; ( c || ( c = [ ] ) ) . push ( a ) ; } } else for ( var i = 0 , o = e . elements ; i < o . length ; i ++ ) { var _ = o [ i ] ; n ( _ . name ) ; } } var a , i = S ( "_loop" ) ; switch ( t . kind ) { case 202 : case 203 : case 204 : var o = t . initializer ; o && 215 === o . kind && ( a = t . initializer ) ; } var s , c ; if ( a && 24576 & e . getCombinedNodeFlags ( a ) ) { s = [ ] ; for ( var _ = 0 , u = a . declarations ; _ < u . length ; _ ++ ) { var l = u [ _ ] ; n ( l . name ) ; } } var d = 195 === t . statement . kind , p = s ? s . join ( ", " ) : "" ; ii ( ) , ri ( "var " + i + " = function(" + p + ")" ) ; var f = ja ; if ( ja = { loopOutParameters : c } , f && ( f . argumentsName && ( ja . argumentsName = f . argumentsName ) , f . thisName && ( ja . thisName = f . thisName ) , f . hoistedLocalVariables && ( ja . hoistedLocalVariables = f . hoistedLocalVariables ) ) , ri ( " {" ) , ii ( ) , oi ( ) , d ? U ( t . statement . statements ) : aa ( t . statement ) , ii ( ) , Dt ( ja , 1 , ! 0 ) , si ( ) , ii ( ) , ri ( "};" ) , ii ( ) , c ) { ri ( "var " ) ; for ( var m = 0 ; m < c . length ; m ++ ) 0 !== m && ri ( ", " ) , ri ( c [ m ] . outParamName ) ; ri ( ";" ) , ii ( ) ; } if ( ja . argumentsName && ( f ? f . argumentsName = ja . argumentsName : ( ri ( "var " + ja . argumentsName + " = arguments;" ) , ii ( ) ) ) , ja . thisName && ( f ? f . thisName = ja . thisName : ( ri ( "var " + ja . thisName + " = this;" ) , ii ( ) ) ) , ja . hoistedLocalVariables ) if ( f ) f . hoistedLocalVariables = ja . hoistedLocalVariables ; else { ri ( "var " ) ; for ( var g = void 0 , y = 0 , h = ja . hoistedLocalVariables ; y < h . length ; y ++ ) { var v = h [ y ] ; g ? ri ( ", " ) : g = { } , e . hasProperty ( g , v . text ) || ( aa ( v ) , g [ v . text ] = v . text ) ; } ri ( ";" ) , ii ( ) ; } var k = ja ; return ja = f , { functionName : i , paramList : p , state : k } ; } function Ct ( e , t ) { var n ; ja && ( n = ja . allowedNonLabeledJumps , ja . allowedNonLabeledJumps = 6 ) , t ? lt ( e . statement ) : 195 === e . statement . kind ? U ( e . statement . statements ) : ( ii ( ) , aa ( e . statement ) ) , ja && ( ja . allowedNonLabeledJumps = n ) ; } function Dt ( e , t , n ) { if ( e . loopOutParameters ) for ( var r = 0 , a = e . loopOutParameters ; r < a . length ; r ++ ) { var i = a [ r ] ; 0 === t ? ( oe ( i . originalName ) , ri ( " = " + i . outParamName ) ) : ( ri ( i . outParamName + " = " ) , oe ( i . originalName ) ) , n ? ( ri ( ";" ) , ii ( ) ) : ri ( ", " ) ; } } function St ( e , t ) { function n ( e , t , n ) { ( t . labeledNonLocalBreaks || t . labeledNonLocalContinues ) && ( ri ( "switch(" + e + ") {" ) , oi ( ) , r ( t . labeledNonLocalBreaks , ! 0 , e , n ) , r ( t . labeledNonLocalContinues , ! 1 , e , n ) , si ( ) , ii ( ) , ri ( "}" ) ) ; } function r ( e , t , n , r ) { if ( e ) for ( var a in e ) { var i = e [ a ] ; ii ( ) , ri ( 'case "' + i + '": ' ) , ! r || r . labels && r . labels [ a ] ? ( ri ( t ? "break " : "continue " ) , ri ( a + ";" ) ) : ( c ( r , t , a , i ) , ri ( "return " + n + ";" ) ) ; } } t && ( ri ( " {" ) , ii ( ) , oi ( ) ) ; var a = ! e . state . nonLocalJumps && ! e . state . labeledNonLocalBreaks && ! e . state . labeledNonLocalContinues , i = S ( "state" ) ; a || ri ( "var " + i + " = " ) , ri ( e . functionName + "(" + e . paramList + ");" ) , ii ( ) , Dt ( e . state , 0 , ! 0 ) , a || ( ii ( ) , 8 & e . state . nonLocalJumps && ( ri ( "if (typeof " + i + ' === "object") ' ) , ja ? ( ri ( "return " + i + ";" ) , ja . nonLocalJumps |= 8 ) : ri ( "return " + i + ".value;" ) , ii ( ) ) , 2 & e . state . nonLocalJumps && ( ri ( "if (" + i + ' === "break") break;' ) , ii ( ) ) , 4 & e . state . nonLocalJumps && ( ri ( "if (" + i + ' === "continue") continue;' ) , ii ( ) ) , n ( i , e . state , ja ) ) , t && ( ii ( ) , si ( ) , ri ( "}" ) ) ; } function Tt ( e ) { bt ( e , Et ) ; } function Et ( e , t ) { var n = M ( 86 , e . pos ) ; if ( ri ( " " ) , n = M ( 17 , n ) , e . initializer && 215 === e . initializer . kind ) { var r = e . initializer , a = ht ( r ) ; a ? J ( r . declarations ) : vt ( r ) ; } else e . initializer && aa ( e . initializer ) ; ri ( ";" ) , B ( " " , e . condition ) , ri ( ";" ) , B ( " " , e . incrementor ) , ri ( ")" ) , t ? St ( t , ! 0 ) : Ct ( e , ! 0 ) ; } function wt ( e ) { 2 > v && 204 === e . kind ? bt ( e , Pt ) : bt ( e , At ) ; } function At ( e , t ) { var n = M ( 86 , e . pos ) ; if ( ri ( " " ) , n = M ( 17 , n ) , 215 === e . initializer . kind ) { var r = e . initializer ; r . declarations . length >= 1 && ( ht ( r ) , aa ( r . declarations [ 0 ] ) ) ; } else aa ( e . initializer ) ; ri ( 203 === e . kind ? " in " : " of " ) , aa ( e . expression ) , M ( 18 , e . expression . end ) , t ? St ( t , ! 0 ) : Ct ( e , ! 0 ) ; } function Pt ( t , n ) { var r = M ( 86 , t . pos ) ; ri ( " " ) , r = M ( 17 , r ) ; var a = R ( 268435456 ) , i = e . createSynthesizedNode ( 69 ) ; i . text = 69 === t . expression . kind ? S ( t . expression . text ) : C ( 0 ) , ui ( t . expression ) , ri ( "var " ) , ca ( a ) , ri ( " = 0" ) , li ( t . expression ) , ri ( ", " ) , ui ( t . expression ) , ca ( i ) , ri ( " = " ) , ca ( t . expression ) , li ( t . expression ) , ri ( "; " ) , ui ( t . expression ) , ca ( a ) , ri ( " < " ) , ia ( i ) , ri ( ".length" ) , li ( t . expression ) , ri ( "; " ) , ui ( t . expression ) , ca ( a ) , ri ( "++" ) , li ( t . expression ) , M ( 18 , t . expression . end ) , ri ( " {" ) , ii ( ) , oi ( ) ; var o = Se ( i , a ) ; if ( ui ( t . initializer ) , 215 === t . initializer . kind ) { ri ( "var " ) ; var s = t . initializer ; if ( s . declarations . length > 0 ) { var c = s . declarations [ 0 ] ; e . isBindingPattern ( c . name ) ? rn ( c , ! 1 , o ) : ( ia ( c ) , ri ( " = " ) , ca ( o ) ) ; } else ca ( R ( 0 ) ) , ri ( " = " ) , ca ( o ) ; } else { var _ = Ce ( t . initializer , 56 , o , ! 1 ) ; 167 === t . initializer . kind || 168 === t . initializer . kind ? rn ( _ , ! 0 , void 0 ) : ia ( _ ) ; } li ( t . initializer ) , ri ( ";" ) , n ? ( ii ( ) , St ( n , ! 1 ) ) : Ct ( t , ! 1 ) , ii ( ) , si ( ) , ri ( "}" ) ; } function Nt ( e ) { if ( ja ) { var t = 206 === e . kind ? 2 : 4 , n = e . label && ja . labels && ja . labels [ e . label . text ] || ! e . label && ja . allowedNonLabeledJumps & t ; if ( ! n ) { if ( ri ( "return " ) , Dt ( ja , 1 , ! 1 ) , e . label ) { var r = void 0 ; 206 === e . kind ? ( r = "break-" + e . label . text , c ( ja , ! 0 , e . label . text , r ) ) : ( r = "continue-" + e . label . text , c ( ja , ! 1 , e . label . text , r ) ) , ri ( '"' + r + '";' ) ; } else 206 === e . kind ? ( ja . nonLocalJumps |= 2 , ri ( '"break";' ) ) : ( ja . nonLocalJumps |= 4 , ri ( '"continue";' ) ) ; return ; } } M ( 206 === e . kind ? 70 : 75 , e . pos ) , B ( " " , e . label ) , ri ( ";" ) ; } function Ot ( e ) { return ja ? ( ja . nonLocalJumps |= 8 , ri ( "return { value: " ) , e . expression ? aa ( e . expression ) : ri ( "void 0" ) , void ri ( " };" ) ) : ( M ( 94 , e . pos ) , B ( " " , e . expression ) , void ri ( ";" ) ) ; } function Rt ( e ) { ri ( "with (" ) , aa ( e . expression ) , ri ( ")" ) , lt ( e . statement ) ; } function It ( e ) { var t = M ( 96 , e . pos ) ; ri ( " " ) , M ( 17 , t ) , aa ( e . expression ) , t = M ( 18 , e . expression . end ) , ri ( " " ) ; var n ; ja && ( n = ja . allowedNonLabeledJumps , ja . allowedNonLabeledJumps |= 2 ) , Ft ( e . caseBlock , t ) , ja && ( ja . allowedNonLabeledJumps = n ) ; } function Ft ( e , t ) { M ( 15 , t ) , oi ( ) , U ( e . clauses ) , si ( ) , ii ( ) , M ( 16 , e . clauses . end ) ; } function Lt ( t , n ) { return e . getLineOfLocalPositionFromLineMap ( Pa , e . skipTrivia ( Aa , t . pos ) ) === e . getLineOfLocalPositionFromLineMap ( Pa , e . skipTrivia ( Aa , n . pos ) ) ; } function Mt ( t , n ) { return e . getLineOfLocalPositionFromLineMap ( Pa , t . end ) === e . getLineOfLocalPositionFromLineMap ( Pa , n . end ) ; } function Bt ( t , n ) { return e . getLineOfLocalPositionFromLineMap ( Pa , t . end ) === e . getLineOfLocalPositionFromLineMap ( Pa , e . skipTrivia ( Aa , n . pos ) ) ; } function zt ( e ) { 244 === e . kind ? ( ri ( "case " ) , aa ( e . expression ) , ri ( ":" ) ) : ri ( "default:" ) , 1 === e . statements . length && Lt ( e , e . statements [ 0 ] ) ? ( ri ( " " ) , aa ( e . statements [ 0 ] ) ) : ( oi ( ) , U ( e . statements ) , si ( ) ) ; } function Kt ( e ) { ri ( "throw " ) , aa ( e . expression ) , ri ( ";" ) ; } function jt ( e ) { ri ( "try " ) , aa ( e . tryBlock ) , aa ( e . catchClause ) , e . finallyBlock && ( ii ( ) , ri ( "finally " ) , aa ( e . finallyBlock ) ) ; } function Jt ( e ) { ii ( ) ; var t = M ( 72 , e . pos ) ; ri ( " " ) , M ( 17 , t ) , aa ( e . variableDeclaration ) , M ( 18 , e . variableDeclaration ? e . variableDeclaration . end : t ) , ri ( " " ) , ut ( e . block ) ; } function Ut ( e ) { M ( 76 , e . pos ) , ri ( ";" ) ; } function qt ( e ) { aa ( e . label ) , ri ( ": " ) ; } function Wt ( t ) { e . isIterationStatement ( t . statement , ! 1 ) && kt ( t . statement ) || qt ( t ) , ja && ( ja . labels || ( ja . labels = { } ) , ja . labels [ t . label . text ] = t . label . text ) , aa ( t . statement ) , ja && ( ja . labels [ t . label . text ] = void 0 ) ; } function Vt ( e ) { do e = e . parent ; while ( e && 221 !== e . kind ) ; return e ; } function Ht ( e ) { var t = Vt ( e ) ; ri ( t ? N ( t ) : "exports" ) ; } function Gt ( t ) { if ( ui ( t . name ) , 2 & e . getCombinedNodeFlags ( t ) ) { var n = Vt ( t ) ; n ? ( ri ( N ( n ) ) , ri ( "." ) ) : 5 !== k && 4 !== k && ri ( "exports." ) ; } ia ( t . name ) , li ( t . name ) ; } function Xt ( ) { var t = e . createSynthesizedNode ( 8 ) ; t . text = "0" ; var n = e . createSynthesizedNode ( 180 ) ; return n . expression = t , n ; } function Qt ( t ) { 251 === t . parent . kind && ( e . Debug . assert ( ! ! ( 512 & t . flags ) || 230 === t . kind ) , 1 !== k && 2 !== k && 3 !== k || Ra || ( 0 !== v ? ( ri ( 'Object.defineProperty(exports, "__esModule", { value: true });' ) , ii ( ) ) : ( ri ( "exports.__esModule = true;" ) , ii ( ) ) ) ) ; } function Yt ( e ) { 2 & e . flags && ( ii ( ) , ui ( e ) , 4 === k && e . parent === wa ? ( ri ( Fa + '("' ) , 512 & e . flags ? ri ( "default" ) : ia ( e . name ) , ri ( '", ' ) , mn ( e ) , ri ( ")" ) ) : ( 512 & e . flags ? ( Qt ( e ) , ri ( 0 === v ? 'exports["default"]' : "exports.default" ) ) : Gt ( e ) , ri ( " = " ) , mn ( e ) ) , li ( e ) , ri ( ";" ) ) ; } function $t ( t ) { if ( 4 !== k && ! Ya && Qa && e . hasProperty ( Qa , t . text ) ) for ( var n = 0 , r = Qa [ t . text ] ; n < r . length ; n ++ ) { var a = r [ n ] ; ii ( ) , ui ( a . name ) , Ht ( a ) , ri ( "." ) , ia ( a . name ) , li ( a . name ) , ri ( " = " ) , ae ( t ) , ri ( ";" ) ; } } function Zt ( t ) { e . Debug . assert ( 4 === k ) , ( r . getReferencedValueDeclaration ( t . propertyName || t . name ) || r . isValueAliasDeclaration ( t ) ) && ( ii ( ) , ui ( t . name ) , ri ( Fa + '("' ) , ia ( t . name ) , ri ( '", ' ) , ae ( t . propertyName || t . name ) , ri ( ")" ) , li ( t . name ) , ri ( ";" ) ) ; } function en ( e , t , n , r ) { n && ri ( ", " ) ; var a = Ze ( e ) ; a && ( ri ( Fa + '("' ) , ia ( e ) , ri ( '", ' ) ) ; var i = e . parent && ( 214 === e . parent . kind || 166 === e . parent . kind ) ; ui ( nn ( r ) ? r . parent : r ) , ua ( function ( ) { i ? Gt ( e . parent ) : aa ( e ) , ri ( " = " ) , aa ( t ) ; } ) , li ( r , ! 0 ) , a && ri ( ")" ) ; } function tn ( e , t , n , r ) { var a = R ( 0 ) ; return t || I ( a ) , en ( a , e , n , r || e . parent ) , a ; } function nn ( e ) { return 214 === e . kind && 215 === e . parent . kind && e . parent . declarations [ 0 ] === e ; } function rn ( t , n , r ) { function a ( e , t , n ) { if ( 69 === e . kind && t ) return e ; var r = tn ( e , g , m > 0 , n ) ; return m ++ , r ; } function i ( t , n , r ) { t = a ( t , ! 0 , r ) ; var i = e . createSynthesizedNode ( 184 ) ; return i . left = t , i . operatorToken = e . createSynthesizedNode ( 32 ) , i . right = Xt ( ) , o ( i , n , t ) ; } function o ( t , n , r ) { var a = e . createSynthesizedNode ( 185 ) ; return a . condition = t , a . questionToken = e . createSynthesizedNode ( 53 ) , a . whenTrue = n , a . colonToken = e . createSynthesizedNode ( 54 ) , a . whenFalse = r , a ; } function s ( t ) { var n = e . createSynthesizedNode ( 8 ) ; return n . text = "" + t , n ; } function c ( t , n ) { var r , i = 137 === n . kind ; return i ? r = a ( n . expression , ! 1 , n ) : ( r = e . createSynthesizedNode ( n . kind ) , r . text = e . unescapeIdentifier ( n . text ) ) , i || 69 !== r . kind ? Se ( t , r ) : De ( t , r ) ; } function _ ( t , n ) { var r = e . createSynthesizedNode ( 171 ) , a = e . createSynthesizedNode ( 69 ) ; return a . text = "slice" , r . expression = De ( t , a ) , r . arguments = e . createSynthesizedNodeArray ( ) , r . arguments [ 0 ] = s ( n ) , r ; } function u ( e , t , n ) { var r = e . properties ; 1 !== r . length && ( t = a ( t , ! 0 , n ) ) ; for ( var i = 0 , o = r ; i < o . length ; i ++ ) { var s = o [ i ] ; if ( 248 === s . kind || 249 === s . kind ) { var _ = s . name , u = 249 === s . kind ? s : s . initializer || _ ; d ( u , c ( t , _ ) , s ) ; } } } function l ( e , t , n ) { var r = e . elements ; 1 !== r . length && ( t = a ( t , ! 0 , n ) ) ; for ( var i = 0 ; i < r . length ; i ++ ) { var o = r [ i ] ; 190 !== o . kind && ( 188 !== o . kind ? d ( o , Se ( t , s ( i ) ) , o ) : i === r . length - 1 && d ( o . expression , _ ( t , i ) , o ) ) ; } } function d ( e , t , n ) { 249 === e . kind ? ( e . objectAssignmentInitializer && ( t = i ( t , e . objectAssignmentInitializer , n ) ) , e = e . name ) : 184 === e . kind && 56 === e . operatorToken . kind && ( t = i ( t , e . right , n ) , e = e . left ) , 168 === e . kind ? u ( e , t , n ) : 167 === e . kind ? l ( e , t , n ) : ( en ( e , t , m > 0 , n ) , m ++ ) ; } function p ( t ) { var r = t . left , i = t . right ; e . isEmptyObjectLiteralOrArrayLiteral ( r ) ? aa ( i ) : n ? d ( r , i , e . nodeIsSynthesized ( t ) ? r : t ) : ( 175 !== t . parent . kind && ri ( "(" ) , i = a ( i , ! 0 , t ) , d ( r , i , t ) , ri ( ", " ) , aa ( i ) , 175 !== t . parent . kind && ri ( ")" ) ) ; } function f ( t , n ) { if ( t . initializer ? n = n ? i ( n , t . initializer , t ) : t . initializer : n || ( n = Xt ( ) ) , e . isBindingPattern ( t . name ) ) { var r = t . name , o = r . elements , u = o . length ; 1 !== u && ( n = a ( n , 0 !== u , t ) ) ; for ( var l = 0 ; u > l ; l ++ ) { var d = o [ l ] ; if ( 164 === r . kind ) { var p = d . propertyName || d . name ; f ( d , c ( n , p ) ) ; } else 190 !== d . kind && ( d . dotDotDotToken ? l === u - 1 && f ( d , _ ( n , l ) ) : f ( d , Se ( n , s ( l ) ) ) ) ; } } else en ( t . name , n , m > 0 , t ) , m ++ ; } var m = 0 , g = ! 1 ; if ( 214 === t . kind ) { var y = 2 & e . getCombinedNodeFlags ( t ) , h = nt ( t ) ; g = ! y && ! h ; } else 139 === t . kind && ( g = ! 0 ) ; 184 === t . kind ? p ( t ) : ( e . Debug . assert ( ! n ) , nn ( t ) && ci . changeEmitSourcePos ( ) , f ( t , r ) ) ; } function an ( t ) { if ( e . isBindingPattern ( t . name ) ) 2 > v ? rn ( t , ! 1 ) : ( aa ( t . name ) , B ( " = " , t . initializer ) ) ; else { var n = t . initializer ; if ( ! n && 2 > v && 69 === t . name . kind ) { var a = e . getEnclosingBlockScopeContainer ( t ) , i = r . getNodeCheckFlags ( t ) , o = 131072 & i , s = 262144 & i , c = e . isBlockScopedContainerTopLevel ( a ) || o && s && 195 === a . kind && e . isIterationStatement ( a . parent , ! 1 ) , _ = 8192 & e . getCombinedNodeFlags ( t ) && ! c , u = _ && 203 !== a . kind && 204 !== a . kind && ( ! r . isDeclarationWithCollidingName ( t ) || s && ! o && ! e . isIterationStatement ( a , ! 1 ) ) ; u && ( n = Xt ( ) ) ; } var l = Ze ( t . name ) ; l && ( ri ( Fa + '("' ) , ia ( t . name ) , ri ( '", ' ) ) , Gt ( t ) , B ( " = " , n ) , l && ri ( ")" ) ; } } function on ( t ) { if ( 190 !== t . kind ) { var n = t . name ; 69 === n . kind ? $t ( n ) : e . isBindingPattern ( n ) && e . forEach ( n . elements , on ) ; } } function sn ( e ) { return ! ! ( 2 & e . flags ) && 5 === k && 251 === e . parent . kind ; } function cn ( t ) { var n = ! 1 ; if ( 2 & t . flags ? sn ( t ) && ( ri ( "export " ) , n = ht ( t . declarationList ) ) : n = ht ( t . declarationList ) , n ) J ( t . declarationList . declarations ) , ri ( ";" ) ; else { var r = vt ( t . declarationList ) ; r && ri ( ";" ) ; } 5 !== k && t . parent === wa && e . forEach ( t . declarationList . declarations , on ) ; } function _n ( e ) { if ( ! ( 2 & e . flags ) ) return ! 0 ; if ( sn ( e ) ) return ! 0 ; for ( var t = 0 , n = e . declarationList . declarations ; t < n . length ; t ++ ) { var r = n [ t ] ; if ( r . initializer ) return ! 0 ; } return ! 1 ; } function un ( t ) { if ( 2 > v ) if ( e . isBindingPattern ( t . name ) ) { var n = R ( 0 ) ; Ga || ( Ga = [ ] ) , Ga . push ( n ) , aa ( n ) ; } else aa ( t . name ) ; else t . dotDotDotToken && ri ( "..." ) , aa ( t . name ) , B ( " = " , t . initializer ) ; } function ln ( t ) { if ( 2 > v ) { var n = 0 ; e . forEach ( t . parameters , function ( t ) { if ( ! t . dotDotDotToken ) { var r = t . name , a = t . initializer ; if ( e . isBindingPattern ( r ) ) { var i = r . elements . length > 0 ; ( i || a ) && ( ii ( ) , ri ( "var " ) , i ? rn ( t , ! 1 , Ga [ n ] ) : ( aa ( Ga [ n ] ) , ri ( " = " ) , aa ( a ) ) , ri ( ";" ) , n ++ ) ; } else a && ( ii ( ) , ui ( t ) , ri ( "if (" ) , ca ( r ) , ri ( " === void 0)" ) , li ( t ) , ri ( " { " ) , ui ( t ) , ia ( r ) , ri ( " = " ) , ia ( a ) , li ( t ) , ri ( "; }" ) ) ; } } ) ; } } function dn ( t ) { if ( 2 > v && e . hasRestParameter ( t ) ) { var n = t . parameters . length - 1 , r = t . parameters [ n ] ; if ( e . isBindingPattern ( r . name ) ) return ; var a = R ( 268435456 ) . text ; ii ( ) , ka ( r ) , ui ( r ) , ri ( "var " ) , ia ( r . name ) , ri ( " = [];" ) , li ( r ) , xa ( r ) , ii ( ) , ri ( "for (" ) , ui ( r ) , ri ( "var " + a + " = " + n + ";" ) , li ( r ) , ri ( " " ) , ui ( r ) , ri ( a + " < arguments.length;" ) , li ( r ) , ri ( " " ) , ui ( r ) , ri ( a + "++" ) , li ( r ) , ri ( ") {" ) , oi ( ) , ii ( ) , ui ( r ) , ia ( r . name ) , ri ( "[" + a + " - " + n + "] = arguments[" + a + "];" ) , li ( r ) , si ( ) , ii ( ) , ri ( "}" ) ; } } function pn ( e ) { ri ( 146 === e . kind ? "get " : "set " ) , aa ( e . name ) , Cn ( e ) ; } function fn ( e ) { return 177 === e . kind && v >= 2 ; } function mn ( e ) { e . name ? ia ( e . name ) : ri ( N ( e ) ) ; } function gn ( e ) { return 176 === e . kind ? ! ! e . name : 216 === e . kind ? ! ! e . name || 5 !== k : void 0 ; } function yn ( t ) { if ( e . nodeIsMissing ( t . body ) ) return va ( t ) ; var n = t . kind , r = t . parent ; 144 !== n && 143 !== n && r && 248 !== r . kind && 171 !== r . kind && 167 !== r . kind && ka ( t ) , ui ( t ) , fn ( t ) || ( sn ( t ) && ( ri ( "export " ) , 512 & t . flags && ri ( "default " ) ) , ri ( "function" ) , v >= 2 && t . asteriskToken && ri ( "*" ) , ri ( " " ) ) , gn ( t ) && mn ( t ) , Cn ( t ) , 5 !== k && 216 === n && r === wa && t . name && $t ( t . name ) , li ( t ) , 144 !== n && 143 !== n && xa ( t ) ; } function hn ( e ) { 4 & r . getNodeCheckFlags ( e ) && ( ii ( ) , ui ( e ) , ri ( "var _this = this;" ) , li ( e ) ) ; } function vn ( t ) { if ( oi ( ) , ri ( "(" ) , t ) { var n = t . parameters , r = 2 > v && e . hasRestParameter ( t ) ? 1 : 0 ; j ( n , 0 , n . length - r , ! 1 , ! 1 ) ; } ri ( ")" ) , si ( ) ; } function kn ( e ) { return 1 === e . parameters . length && e . pos === e . parameters [ 0 ] . pos ? void aa ( e . parameters [ 0 ] ) : void vn ( e ) ; } function bn ( t ) { var n = e . getEntityNameFromTypeNode ( t . type ) , a = 177 === t . kind , i = 0 !== ( 8192 & r . getNodeCheckFlags ( t ) ) ; a || ( ri ( " {" ) , oi ( ) , ii ( ) , 4096 & r . getNodeCheckFlags ( t ) ? ( ta ( "\nconst _super = (function (geti, seti) {\n    const cache = Object.create(null);\n    return name => cache[name] || (cache[name] = { get value() { return geti(name); }, set value(v) { seti(name, v); } });\n})(name => super[name], (name, value) => super[name] = value);" ) , ii ( ) ) : 2048 & r . getNodeCheckFlags ( t ) && ( ri ( "const _super = name => super[name];" ) , ii ( ) ) , ri ( "return" ) ) , ri ( " __awaiter(this" ) , ri ( i ? ", arguments, " : ", void 0, " ) , ! n || h . noCustomAsyncPromise && v >= 2 ? ri ( "void 0" ) : Be ( n , ! 1 ) , ri ( ", function* ()" ) , xn ( t ) , ri ( ")" ) , a || ( ri ( ";" ) , si ( ) , ii ( ) , ri ( "}" ) ) ; } function xn ( e ) { e . body ? 195 === e . body . kind ? En ( e , e . body ) : Sn ( e , e . body ) : ri ( " { }" ) ; } function Cn ( t ) { var n = ja , r = pi , a = Ha , i = Ga ; ja = void 0 , pi = 0 , Ha = void 0 , Ga = void 0 , fn ( t ) ? ( kn ( t ) , ri ( " =>" ) ) : vn ( t ) ; var o = e . isAsyncFunctionLike ( t ) ; o ? bn ( t ) : xn ( t ) , sn ( t ) || Yt ( t ) , e . Debug . assert ( void 0 === ja ) , ja = n , pi = r , Ha = a , Ga = i ; } function Dn ( e ) { hn ( e ) , ln ( e ) , dn ( e ) ; } function Sn ( e , t ) { if ( 2 > v || 256 & e . flags ) return void Tn ( e , t ) ; ri ( " " ) ; for ( var n = t ; 174 === n . kind ; ) n = n . expression ; z ( t , 168 === n . kind ) ; } function Tn ( e , t ) { ri ( " {" ) , oi ( ) ; var n = ni . getTextPos ( ) ; Sa ( e . body ) , Dn ( e ) ; var r = ni . getTextPos ( ) !== n ; si ( ) , ! r && Lt ( e , t ) ? ( ri ( " " ) , ui ( t ) , ri ( "return " ) , aa ( t ) , li ( t ) , ri ( ";" ) , L ( ! 1 ) , ri ( " " ) ) : ( oi ( ) , ii ( ) , ka ( e . body ) , ui ( t ) , ri ( "return " ) , aa ( t ) , li ( t ) , ri ( ";" ) , xa ( e . body ) , L ( ! 0 ) , si ( ) , ii ( ) ) , ui ( e . body ) , ri ( "}" ) , li ( e . body ) ; } function En ( e , t ) { ri ( " {" ) ; var n = ni . getTextPos ( ) ; oi ( ) , Sa ( t . statements ) ; var r = ea ( t . statements , ! 0 ) ; Dn ( e ) , si ( ) ; var a = ni . getTextPos ( ) !== n ; if ( ! a && Bt ( t , t ) ) { for ( var i = 0 , o = t . statements ; i < o . length ; i ++ ) { var s = o [ i ] ; ri ( " " ) , aa ( s ) ; } L ( ! 1 ) , ri ( " " ) , fi ( t . statements . end ) ; } else oi ( ) , q ( t . statements , r ) , L ( ! 0 ) , ii ( ) , fi ( t . statements . end ) , si ( ) ; M ( 16 , t . statements . end ) ; } function wn ( t , n ) { if ( t . body ) { var r = t . body . statements ; if ( r && ! ( n >= r . length ) ) { var a = r [ n ] ; return 198 === a . kind && e . isSuperCallExpression ( a . expression ) ? a : void 0 ; } } } function An ( t ) { e . forEach ( t . parameters , function ( e ) { 56 & e . flags && ( ii ( ) , ui ( e ) , ui ( e . name ) , ri ( "this." ) , ca ( e . name ) , li ( e . name ) , ri ( " = " ) , aa ( e . name ) , ri ( ";" ) , li ( e ) ) ; } ) ; } function Pn ( e ) { 9 === e . kind || 8 === e . kind ? ( ri ( "[" ) , ia ( e ) , ri ( "]" ) ) : 137 === e . kind ? Ee ( e ) : ( ri ( "." ) , ia ( e ) ) ; } function Nn ( e , t ) { for ( var n = [ ] , r = 0 , a = e . members ; r < a . length ; r ++ ) { var i = a [ r ] ; 142 === i . kind && t === ( 0 !== ( 64 & i . flags ) ) && i . initializer && n . push ( i ) ; } return n ; } function On ( e , t ) { for ( var n = 0 , r = t ; n < r . length ; n ++ ) { var a = r [ n ] ; Rn ( e , a ) ; } } function Rn ( e , t , n , r ) { ii ( ) , ka ( t ) , ui ( t ) , ui ( t . name ) , n ? aa ( n ) : 64 & t . flags ? mn ( e ) : ri ( "this" ) , Pn ( t . name ) , li ( t . name ) , ri ( " = " ) , aa ( t . initializer ) , r || ri ( ";" ) , li ( t ) , xa ( t ) ; } function In ( t ) { e . forEach ( t . members , function ( n ) { if ( 194 === n . kind ) ii ( ) , ri ( ";" ) ; else if ( 144 === n . kind || 143 === t . kind ) { if ( ! n . body ) return va ( n ) ; ii ( ) , ka ( n ) , ui ( n ) , ui ( n . name ) , Un ( t , n ) , Pn ( n . name ) , li ( n . name ) , ri ( " = " ) , yn ( n ) , li ( n ) , ri ( ";" ) , xa ( n ) ; } else if ( 146 === n . kind || 147 === n . kind ) { var r = e . getAllAccessorDeclarations ( t . members , n ) ; n === r . firstAccessor && ( ii ( ) , ui ( n ) , ri ( "Object.defineProperty(" ) , ui ( n . name ) , Un ( t , n ) , ri ( ", " ) , ne ( n . name ) , li ( n . name ) , ri ( ", {" ) , oi ( ) , r . getAccessor && ( ii ( ) , ka ( r . getAccessor ) , ri ( "get: " ) , ui ( r . getAccessor ) , ri ( "function " ) , Cn ( r . getAccessor ) , li ( r . getAccessor ) , xa ( r . getAccessor ) , ri ( "," ) ) , r . setAccessor && ( ii ( ) , ka ( r . setAccessor ) , ri ( "set: " ) , ui ( r . setAccessor ) , ri ( "function " ) , Cn ( r . setAccessor ) , li ( r . setAccessor ) , xa ( r . setAccessor ) , ri ( "," ) ) , ii ( ) , ri ( "enumerable: true," ) , ii ( ) , ri ( "configurable: true" ) , si ( ) , ii ( ) , ri ( "});" ) , li ( n ) ) ; } } ) ; } function Fn ( e ) { for ( var t = 0 , n = e . members ; t < n . length ; t ++ ) { var r = n [ t ] ; 144 !== r . kind && 143 !== e . kind || r . body ? 144 === r . kind || 146 === r . kind || 147 === r . kind ? ( ii ( ) , ka ( r ) , ui ( r ) , 64 & r . flags && ri ( "static " ) , 146 === r . kind ? ri ( "get " ) : 147 === r . kind && ri ( "set " ) , r . asteriskToken && ri ( "*" ) , aa ( r . name ) , Cn ( r ) , li ( r ) , xa ( r ) ) : 194 === r . kind && ( ii ( ) , ri ( ";" ) ) : va ( r ) ; } } function Ln ( t , n ) { var r = ja , a = pi , i = Ha , o = Ga ; ja = void 0 , pi = 0 , Ha = void 0 , Ga = void 0 , Mn ( t , n ) , e . Debug . assert ( void 0 === ja ) , ja = r , pi = a , Ha = i , Ga = o ; } function Mn ( t , n ) { var r = ! 1 ; e . forEach ( t . members , function ( e ) { 145 !== e . kind || e . body || va ( e ) , 142 === e . kind && e . initializer && 0 === ( 64 & e . flags ) && ( r = ! 0 ) ; } ) ; var a = e . getFirstConstructorWithBody ( t ) ; if ( ! ( v >= 2 ) || a || r ) { a && ka ( a ) , ui ( a || t ) , 2 > v ? ( ri ( "function " ) , mn ( t ) , vn ( a ) ) : ( ri ( "constructor" ) , a ? vn ( a ) : ri ( n ? "(...args)" : "()" ) ) ; var i = 0 ; ri ( " {" ) , oi ( ) , a && ( i = ea ( a . body . statements , ! 0 ) , Sa ( a . body . statements ) ) , hn ( t ) ; var o ; if ( a ? ( ln ( a ) , dn ( a ) , n && ( o = wn ( a , i ) , o && ( ii ( ) , aa ( o ) ) ) , An ( a ) ) : n && ( ii ( ) , ui ( n ) , ri ( 2 > v ? "_super.apply(this, arguments);" : "super(...args);" ) , li ( n ) ) , On ( t , Nn ( t , ! 1 ) ) , a ) { var s = a . body . statements ; o && ( s = s . slice ( 1 ) ) , q ( s , i ) ; } L ( ! 0 ) , ii ( ) , a && fi ( a . body . statements . end ) , si ( ) , M ( 16 , a ? a . body . statements . end : t . members . end ) , li ( a || t ) , a && xa ( a ) ; } } function Bn ( e ) { return Kn ( e ) ; } function zn ( e ) { return Kn ( e ) ; } function Kn ( e ) { 2 > v ? Jn ( e ) : jn ( e ) , 5 !== k && e . parent === wa && e . name && $t ( e . name ) ; } function jn ( t ) { var n , a = e . nodeIsDecorated ( t ) ; 217 === t . kind && ( a ? ( 524288 & r . getNodeCheckFlags ( t ) && ( n = e . unescapeIdentifier ( S ( t . name ? t . name . text : "default" ) ) , Ka [ e . getNodeId ( t ) ] = n , ri ( "let " + n + ";" ) , ii ( ) ) , ! sn ( t ) || 512 & t . flags || ri ( "export " ) , ri ( "let " ) , mn ( t ) , void 0 !== n && ri ( " = " + n ) , ri ( " = " ) ) : sn ( t ) && ( ri ( "export " ) , 512 & t . flags && ri ( "default " ) ) ) ; var i , o = Nn ( t , ! 0 ) , s = o . length > 0 && 189 === t . kind ; s && ( i = F ( 0 ) , ri ( "(" ) , oi ( ) , aa ( i ) , ri ( " = " ) ) , ri ( "class" ) , ( t . name || 512 & t . flags && ( o . length > 0 || 5 !== k ) && ! a ) && ( ri ( " " ) , mn ( t ) ) ; var c = e . getClassExtendsHeritageClauseElement ( t ) ; if ( c && ( ri ( " extends " ) , aa ( c . expression ) ) , ri ( " {" ) , oi ( ) , ii ( ) , Ln ( t , c ) , Fn ( t ) , si ( ) , ii ( ) , M ( 16 , t . members . end ) , a && ( Ka [ e . getNodeId ( t ) ] = void 0 , ri ( ";" ) ) , s ) { for ( var _ = 0 , u = o ; _ < u . length ; _ ++ ) { var l = u [ _ ] ; ri ( "," ) , ii ( ) , Rn ( t , l , i , ! 0 ) ; } ri ( "," ) , ii ( ) , aa ( i ) , si ( ) , ri ( ")" ) ; } else ii ( ) , On ( t , o ) , qn ( t , n ) ; 2 & t . flags && ( 5 !== k ? Yt ( t ) : 512 & t . flags ? a && ( ii ( ) , ri ( "export default " ) , mn ( t ) , ri ( ";" ) ) : 251 !== t . parent . kind && ( ii ( ) , ui ( t ) , Gt ( t ) , ri ( " = " ) , mn ( t ) , li ( t ) , ri ( ";" ) ) ) ; } function Jn ( t ) { 217 === t . kind && ( nt ( t ) || ri ( "var " ) , mn ( t ) , ri ( " = " ) ) , ri ( "(function (" ) ; var n = e . getClassExtendsHeritageClauseElement ( t ) ; n && ri ( "_super" ) , ri ( ") {" ) ; var r = pi , a = Ha , i = Ga , o = za , s = ja ; ja = void 0 , pi = 0 , Ha = void 0 , Ga = void 0 , za = void 0 , oi ( ) , n && ( ii ( ) , ui ( n ) , ri ( "__extends(" ) , mn ( t ) , ri ( ", _super);" ) , li ( n ) ) , ii ( ) , Ln ( t , n ) , In ( t ) , On ( t , Nn ( t , ! 0 ) ) , ii ( ) , qn ( t , void 0 ) , ii ( ) , M ( 16 , t . members . end , function ( ) { ri ( "return " ) , mn ( t ) ; } ) , ri ( ";" ) , L ( ! 0 ) , e . Debug . assert ( void 0 === ja ) , ja = s , pi = r , Ha = a , Ga = i , za = o , si ( ) , ii ( ) , M ( 16 , t . members . end ) , ui ( t ) , ri ( "(" ) , n && aa ( n . expression ) , ri ( "))" ) , 217 === t . kind && ri ( ";" ) , li ( t ) , 217 === t . kind && Yt ( t ) ; } function Un ( e , t ) { mn ( e ) , 64 & t . flags || ri ( ".prototype" ) ; } function qn ( e , t ) { Vn ( e , 0 ) , Vn ( e , 64 ) , Wn ( e , t ) ; } function Wn ( t , n ) { var r = t . decorators , a = e . getFirstConstructorWithBody ( t ) , i = a && e . forEach ( a . parameters , function ( e ) { return e . decorators ; } ) ; if ( r || i ) { ii ( ) , ui ( t . decorators || i ) , mn ( t ) , void 0 !== n && ri ( " = " + n ) , ri ( " = __decorate([" ) , oi ( ) , ii ( ) ; var o = r ? r . length : 0 , s = j ( r , 0 , o , ! 0 , ! 1 , ! 1 , ! 0 , function ( e ) { return aa ( e . expression ) ; } ) ; i && ( s += Hn ( a , s > 0 ) ) , nr ( t , s >= 0 ) , si ( ) , ii ( ) , ri ( "], " ) , mn ( t ) , ri ( ")" ) , li ( t . decorators || i ) , ri ( ";" ) , ii ( ) ; } } function Vn ( t , n ) { for ( var r = 0 , a = t . members ; r < a . length ; r ++ ) { var i = a [ r ] ; if ( ( 64 & i . flags ) === n && e . nodeCanBeDecorated ( i ) ) { var o = void 0 , s = void 0 ; if ( e . isAccessor ( i ) ) { var c = e . getAllAccessorDeclarations ( t . members , i ) ; if ( i !== c . firstAccessor ) continue ; o = c . firstAccessor . decorators , ! o && c . secondAccessor && ( o = c . secondAccessor . decorators ) , s = c . setAccessor ; } else o = i . decorators , 144 === i . kind && ( s = i ) ; var _ = s && e . forEach ( s . parameters , function ( e ) { return e . decorators ; } ) ; if ( o || _ ) { ii ( ) , ui ( o || _ ) , ri ( "__decorate([" ) , oi ( ) , ii ( ) ; var u = o ? o . length : 0 , l = j ( o , 0 , u , ! 0 , ! 1 , ! 1 , ! 0 , function ( e ) { return aa ( e . expression ) ; } ) ; _ && ( l += Hn ( s , l > 0 ) ) , nr ( i , l > 0 ) , si ( ) , ii ( ) , ri ( "], " ) , Un ( t , i ) , ri ( ", " ) , ne ( i . name ) , v > 0 && ri ( 142 !== i . kind ? ", null" : ", void 0" ) , ri ( ")" ) , li ( o || _ ) , ri ( ";" ) , ii ( ) ; } } } } function Hn ( t , n ) { var r = 0 ; if ( t ) for ( var a = 0 , i = 0 , o = t . parameters ; i < o . length ; i ++ ) { var s = o [ i ] ; if ( e . nodeIsDecorated ( s ) ) { var c = s . decorators ; r += j ( c , 0 , c . length , ! 0 , ! 1 , n , ! 0 , function ( e ) { ri ( "__param(" + a + ", " ) , aa ( e . expression ) , ri ( ")" ) ; } ) , n = ! 0 ; } a ++ ; } return r ; } function Gn ( e ) { switch ( e . kind ) { case 144 : case 146 : case 147 : case 142 : return ! 0 ; } return ! 1 ; } function Xn ( e ) { switch ( e . kind ) { case 144 : return ! 0 ; } return ! 1 ; } function Qn ( e ) { switch ( e . kind ) { case 217 : case 144 : case 147 : return ! 0 ; } return ! 1 ; } function Yn ( t ) { switch ( t . kind ) { case 217 : return void ri ( "Function" ) ; case 142 : return void $n ( t . type ) ; case 139 : return void $n ( t . type ) ; case 146 : return void $n ( t . type ) ; case 147 : return void $n ( e . getSetAccessorTypeAnnotationNode ( t ) ) ; } return e . isFunctionLike ( t ) ? void ri ( "Function" ) : void ri ( "void 0" ) ; } function $n ( t ) { if ( t ) switch ( t . kind ) { case 103 : return void ri ( "void 0" ) ; case 161 : return void $n ( t . type ) ; case 153 : case 154 : return void ri ( "Function" ) ; case 157 : case 158 : return void ri ( "Array" ) ; case 151 : case 120 : return void ri ( "Boolean" ) ; case 130 : case 163 : return void ri ( "String" ) ; case 128 : return void ri ( "Number" ) ; case 131 : return void ri ( "Symbol" ) ; case 152 : return void Zn ( t ) ; case 155 : case 156 : case 159 : case 160 : case 117 : case 162 : break ; default : e . Debug . fail ( "Cannot serialize unexpected type node." ) ; } ri ( "Object" ) ; } function Zn ( t ) { for ( var n = t . parent ; e . isDeclaration ( n ) || e . isTypeNode ( n ) ; ) n = n . parent ; var a = e . cloneEntityName ( t . typeName , n ) , i = r . getTypeReferenceSerializationKind ( a ) ; switch ( i ) { case e . TypeReferenceSerializationKind . Unknown : var o = F ( 0 ) ; ri ( "(typeof (" ) , ca ( o ) , ri ( " = " ) , Be ( a , ! 0 ) , ri ( ") === 'function' && " ) , ca ( o ) , ri ( ") || Object" ) ; break ; case e . TypeReferenceSerializationKind . TypeWithConstructSignatureAndValue : Be ( a , ! 1 ) ; break ; case e . TypeReferenceSerializationKind . VoidType : ri ( "void 0" ) ; break ; case e . TypeReferenceSerializationKind . BooleanType : ri ( "Boolean" ) ; break ; case e . TypeReferenceSerializationKind . NumberLikeType : ri ( "Number" ) ; break ; case e . TypeReferenceSerializationKind . StringLikeType : ri ( "String" ) ; break ; case e . TypeReferenceSerializationKind . ArrayLikeType : ri ( "Array" ) ; break ; case e . TypeReferenceSerializationKind . ESSymbolType : ri ( 2 > v ? "typeof Symbol === 'function' ? Symbol : Object" : "Symbol" ) ; break ; case e . TypeReferenceSerializationKind . TypeWithCallSignature : ri ( "Function" ) ; break ; case e . TypeReferenceSerializationKind . ObjectType : ri ( "Object" ) ; } } function er ( t ) { if ( t ) { var n = void 0 ; if ( 217 === t . kind ? n = e . getFirstConstructorWithBody ( t ) : e . isFunctionLike ( t ) && e . nodeIsPresent ( t . body ) && ( n = t ) , n ) { var r = n . parameters , a = r . length ; if ( a > 0 ) for ( var i = 0 ; a > i ; i ++ ) if ( i > 0 && ri ( ", " ) , r [ i ] . dotDotDotToken ) { var o = r [ i ] . type ; o = 157 === o . kind ? o . elementType : 152 === o . kind && o . typeArguments && 1 === o . typeArguments . length ? o . typeArguments [ 0 ] : void 0 , $n ( o ) ; } else Yn ( r [ i ] ) ; } } } function tr ( t ) { return t && e . isFunctionLike ( t ) && t . type ? void $n ( t . type ) : void ri ( "void 0" ) ; } function nr ( e , t ) { var n = 0 ; return h . emitDecoratorMetadata && ( Gn ( e ) && ( t && ri ( ", " ) , ii ( ) , ri ( "__metadata('design:type', " ) , Yn ( e ) , ri ( ")" ) , n ++ ) , Qn ( e ) && ( ( t || n ) && ri ( ", " ) , ii ( ) , ri ( "__metadata('design:paramtypes', [" ) , er ( e ) , ri ( "])" ) , n ++ ) , Xn ( e ) && ( ( t || n ) && ri ( ", " ) , ii ( ) , ri ( "__metadata('design:returntype', " ) , tr ( e ) , ri ( ")" ) , n ++ ) ) , n ; } function rr ( e ) { va ( e ) ; } function ar ( t ) { var n = e . isConst ( t ) ; return ! n || h . preserveConstEnums || h . isolatedModules ; } function ir ( e ) { if ( ar ( e ) ) { if ( ! nt ( e ) ) { var t = sn ( e ) ; ( ! ( 2 & e . flags ) || t && lr ( e , e . symbol && e . symbol . declarations , 220 ) ) && ( ui ( e ) , t && ri ( "export " ) , ri ( "var " ) , aa ( e . name ) , li ( e ) , ri ( ";" ) ) ; } ii ( ) , ui ( e ) , ri ( "(function (" ) , ui ( e . name ) , ri ( N ( e ) ) , li ( e . name ) , ri ( ") {" ) , oi ( ) , U ( e . members ) , si ( ) , ii ( ) , M ( 16 , e . members . end ) , ri ( ")(" ) , Gt ( e ) , ri ( " || (" ) , Gt ( e ) , ri ( " = {}));" ) , li ( e ) , ! sn ( e ) && 2 & e . flags && ! nt ( e ) && ( ii ( ) , ui ( e ) , ri ( "var " ) , aa ( e . name ) , ri ( " = " ) , Gt ( e ) , li ( e ) , ri ( ";" ) ) , 5 !== k && e . parent === wa && ( 4 === k && 2 & e . flags && ( ii ( ) , ri ( Fa + '("' ) , mn ( e ) , ri ( '", ' ) , mn ( e ) , ri ( ");" ) ) , $t ( e . name ) ) ; } } function or ( e ) { var t = e . parent ; ui ( e ) , ri ( N ( t ) ) , ri ( "[" ) , ri ( N ( t ) ) , ri ( "[" ) , ne ( e . name ) , ri ( "] = " ) , sr ( e ) , ri ( "] = " ) , ne ( e . name ) , li ( e ) , ri ( ";" ) ; } function sr ( e ) { var t = r . getConstantValue ( e ) ; return void 0 !== t ? void ri ( t . toString ( ) ) : void ( e . initializer ? aa ( e . initializer ) : ri ( "undefined" ) ) ; } function cr ( e ) { if ( 221 === e . body . kind ) { var t = cr ( e . body ) ; return t || e . body ; } } function _r ( t ) { return e . isInstantiatedModule ( t , h . preserveConstEnums || h . isolatedModules ) ; } function ur ( e ) { return 2 === v && ! ! ( 32768 & r . getNodeCheckFlags ( e ) ) ; } function lr ( t , n , r ) { return ! e . forEach ( n , function ( e ) { return e . kind === r && e . pos < t . pos ; } ) ; } function dr ( t ) { var n = _r ( t ) ; if ( ! n ) return va ( t ) ; var r = nt ( t ) , a = ! r && ! ur ( t ) ; if ( a ) { var i = sn ( t ) ; i && ! lr ( t , t . symbol && t . symbol . declarations , 221 ) || ( ui ( t ) , i && ri ( "export " ) , ri ( "var " ) , aa ( t . name ) , ri ( ";" ) , li ( t ) , ii ( ) ) ; } if ( ui ( t ) , ri ( "(function (" ) , ui ( t . name ) , ri ( N ( t ) ) , li ( t . name ) , ri ( ") " ) , 222 === t . body . kind ) { var o = ja , s = pi , c = Ha ; ja = void 0 , pi = 0 , Ha = void 0 , aa ( t . body ) , e . Debug . assert ( void 0 === ja ) , ja = o , pi = s , Ha = c ; } else { ri ( "{" ) , oi ( ) , hn ( t ) , ii ( ) , aa ( t . body ) , si ( ) , ii ( ) ; var _ = cr ( t ) . body ; M ( 16 , _ . statements . end ) ; } ri ( ")(" ) , 2 & t . flags && ! sn ( t ) && ( aa ( t . name ) , ri ( " = " ) ) , Gt ( t ) , ri ( " || (" ) , Gt ( t ) , ri ( " = {}));" ) , li ( t ) , sn ( t ) || 69 !== t . name . kind || t . parent !== wa || ( 4 === k && 2 & t . flags && ( ii ( ) , ri ( Fa + '("' ) , mn ( t ) , ri ( '", ' ) , mn ( t ) , ri ( ");" ) ) , $t ( t . name ) ) ; } function pr ( t ) { return Oa && e . hasProperty ( Oa , t . text ) ? '"' + Oa [ t . text ] + '"' : void 0 ; } function fr ( e ) { if ( 9 === e . kind ) { ri ( "require(" ) ; var t = pr ( e ) ; t ? ri ( t ) : ( ui ( e ) , V ( e ) , li ( e ) ) , M ( 18 , e . end ) ; } else ri ( "require()" ) ; } function mr ( e ) { if ( 224 === e . kind ) return e ; var t = e . importClause ; return t && t . namedBindings && 227 === t . namedBindings . kind ? t . namedBindings : void 0 ; } function gr ( e ) { return 225 === e . kind && e . importClause && ! ! e . importClause . name ; } function yr ( t ) { e . isAliasSymbolDeclaration ( t ) && r . isValueAliasDeclaration ( t ) && $t ( t . name ) , e . forEachChild ( t , yr ) ; } function hr ( e ) { if ( 5 !== k ) return vr ( e ) ; if ( e . importClause ) { var t = r . isReferencedAliasDeclaration ( e . importClause ) , n = e . importClause . namedBindings && r . isReferencedAliasDeclaration ( e . importClause . namedBindings , ! 0 ) ; ( t || n ) && ( ri ( "import " ) , ui ( e . importClause ) , t && ( aa ( e . importClause . name ) , n && ri ( ", " ) ) , n && ( ka ( e . importClause . namedBindings ) , ui ( e . importClause . namedBindings ) , 227 === e . importClause . namedBindings . kind ? ( ri ( "* as " ) , aa ( e . importClause . namedBindings . name ) ) : ( ri ( "{ " ) , xr ( e . importClause . namedBindings . elements , r . isReferencedAliasDeclaration ) , ri ( " }" ) ) , li ( e . importClause . namedBindings ) , xa ( e . importClause . namedBindings ) ) , li ( e . importClause ) , ri ( " from " ) , aa ( e . moduleSpecifier ) , ri ( ";" ) ) ; } else ri ( "import " ) , aa ( e . moduleSpecifier ) , ri ( ";" ) ; } function vr ( t ) { if ( e . contains ( Xa , t ) ) { var n = 224 === t . kind && 0 !== ( 2 & t . flags ) , r = mr ( t ) , a = 1 >= v ? "var " : "const " ; if ( 2 !== k ) { if ( ka ( t ) , ui ( t ) , r && ! gr ( t ) ) n || ri ( a ) , Gt ( r ) , ri ( " = " ) ; else { var i = ! t . importClause ; i || ( ri ( a ) , ri ( N ( t ) ) , ri ( " = " ) ) ; } fr ( e . getExternalModuleName ( t ) ) , r && gr ( t ) && ( ri ( ", " ) , Gt ( r ) , ri ( " = " ) , ri ( N ( t ) ) ) , ri ( ";" ) , li ( t ) , yr ( t ) , xa ( t ) ; } else n ? ( Gt ( r ) , ri ( " = " ) , aa ( r . name ) , ri ( ";" ) ) : r && gr ( t ) && ( ri ( a ) , Gt ( r ) , ri ( " = " ) , ri ( N ( t ) ) , ri ( ";" ) ) , yr ( t ) ; } } function kr ( t ) { if ( e . isExternalModuleImportEqualsDeclaration ( t ) ) return void vr ( t ) ; if ( r . isReferencedAliasDeclaration ( t ) || ! Ia && r . isTopLevelValueImportEqualsWithEntityName ( t ) ) { ka ( t ) , ui ( t ) ; var n = Nr ( t , ! 0 ) , a = rt ( t , ! 0 ) ; n || ( e . Debug . assert ( ! a ) , sn ( t ) ? ( ri ( "export " ) , ri ( "var " ) ) : 2 & t . flags || ri ( "var " ) ) , a && ( ri ( Fa + '("' ) , ca ( t . name ) , ri ( '", ' ) ) , Gt ( t ) , ri ( " = " ) , aa ( t . moduleReference ) , a && ri ( ")" ) , ri ( ";" ) , li ( t ) , yr ( t ) , xa ( t ) ; } } function br ( t ) { if ( e . Debug . assert ( 4 !== k ) , 5 !== k ) { if ( t . moduleSpecifier && ( ! t . exportClause || r . isValueAliasDeclaration ( t ) ) ) { ui ( t ) ; var n = N ( t ) ; if ( t . exportClause ) { 2 !== k && ( ri ( "var " ) , ri ( n ) , ri ( " = " ) , fr ( e . getExternalModuleName ( t ) ) , ri ( ";" ) ) ; for ( var a = 0 , i = t . exportClause . elements ; a < i . length ; a ++ ) { var o = i [ a ] ; r . isValueAliasDeclaration ( o ) && ( ii ( ) , ui ( o ) , Ht ( o ) , ri ( "." ) , ia ( o . name ) , ri ( " = " ) , ri ( n ) , ri ( "." ) , ia ( o . propertyName || o . name ) , ri ( ";" ) , li ( o ) ) ; } } else $a && r . moduleExportsSomeValue ( t . moduleSpecifier ) && ( ii ( ) , ri ( "__export(" ) , 2 !== k ? fr ( e . getExternalModuleName ( t ) ) : ri ( n ) , ri ( ");" ) ) ; li ( t ) ; } } else t . exportClause && ! r . isValueAliasDeclaration ( t ) || ( ri ( "export " ) , t . exportClause ? ( ri ( "{ " ) , xr ( t . exportClause . elements , r . isValueAliasDeclaration ) , ri ( " }" ) ) : ri ( "*" ) , t . moduleSpecifier && ( ri ( " from " ) , aa ( t . moduleSpecifier ) ) , ri ( ";" ) ) ; } function xr ( t , n ) { e . Debug . assert ( 5 === k ) ; for ( var r = ! 1 , a = 0 , i = t ; a < i . length ; a ++ ) { var o = i [ a ] ; n ( o ) && ( r && ri ( ", " ) , o . propertyName && ( aa ( o . propertyName ) , ri ( " as " ) ) , aa ( o . name ) , r = ! 0 ) ; } } function Cr ( e ) { if ( ! e . isExportEquals && r . isValueAliasDeclaration ( e ) ) if ( 5 === k ) { ii ( ) , ui ( e ) , ri ( "export default " ) ; var t = e . expression ; aa ( t ) , 216 !== t . kind && 217 !== t . kind && ri ( ";" ) , li ( e ) ; } else ii ( ) , ui ( e ) , 4 === k ? ( ri ( Fa + '("default",' ) , aa ( e . expression ) , ri ( ")" ) ) : ( Qt ( e ) , Ht ( e ) , ri ( 0 === v ? '["default"] = ' : ".default = " ) , aa ( e . expression ) ) , ri ( ";" ) , li ( e ) ; } function Dr ( e ) { Xa = [ ] , Qa = { } , Ya = void 0 , $a = ! 1 ; for ( var t = 0 , n = e . statements ; t < n . length ; t ++ ) { var a = n [ t ] ; switch ( a . kind ) { case 225 : a . importClause && ! r . isReferencedAliasDeclaration ( a . importClause , ! 0 ) || Xa . push ( a ) ; break ; case 224 : 235 === a . moduleReference . kind && r . isReferencedAliasDeclaration ( a ) && Xa . push ( a ) ; break ; case 231 : if ( a . moduleSpecifier ) a . exportClause ? r . isValueAliasDeclaration ( a ) && Xa . push ( a ) : r . moduleExportsSomeValue ( a . moduleSpecifier ) && ( Xa . push ( a ) , $a = ! 0 ) ; else for ( var i = 0 , o = a . exportClause . elements ; i < o . length ; i ++ ) { var s = o [ i ] , c = ( s . propertyName || s . name ) . text ; ( Qa [ c ] || ( Qa [ c ] = [ ] ) ) . push ( s ) ; } break ; case 230 : a . isExportEquals && ! Ya && ( Ya = a ) ; } } } function Sr ( ) { $a && ( ii ( ) , ri ( "function __export(m) {" ) , oi ( ) , ii ( ) , ri ( "for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];" ) , si ( ) , ii ( ) , ri ( "}" ) ) ; } function Tr ( t ) { var n = mr ( t ) ; return n && ! gr ( t ) ? e . getTextOfNodeFromSourceText ( Aa , n . name ) : 225 === t . kind && t . importClause ? N ( t ) : 231 === t . kind && t . moduleSpecifier ? N ( t ) : void 0 ; } function Er ( t , i ) { if ( i ) { var o = n ( a , r , t ) ; if ( o ) return '"' + o + '"' ; } var s = e . getExternalModuleName ( t ) ; return 9 === s . kind ? pr ( s ) || H ( s ) : void 0 ; } function wr ( ) { if ( 0 !== Xa . length ) { ii ( ) ; for ( var e = ! 1 , t = 0 , n = Xa ; t < n . length ; t ++ ) { var r = n [ t ] , a = 231 === r . kind || 225 === r . kind && ! r . importClause ; a || ( e ? ri ( ", " ) : ( ri ( "var " ) , e = ! 0 ) , ri ( Tr ( r ) ) ) ; } e && ri ( ";" ) ; } } function Ar ( t ) { function n ( e ) { var t = S ( "exportStar" ) ; return ii ( ) , ri ( "function " + t + "(m) {" ) , oi ( ) , ii ( ) , ri ( "var exports = {};" ) , ii ( ) , ri ( "for(var n in m) {" ) , oi ( ) , ii ( ) , ri ( 'if (n !== "default"' ) , e && ri ( "&& !" + e + ".hasOwnProperty(n)" ) , ri ( ") exports[n] = m[n];" ) , si ( ) , ii ( ) , ri ( "}" ) , ii ( ) , ri ( Fa + "(exports);" ) , si ( ) , ii ( ) , ri ( "}" ) , t ; } function r ( e ) { 69 !== e . kind && 512 & e . flags || ( _ ? ri ( "," ) : _ = ! 0 , ii ( ) , ri ( "'" ) , 69 === e . kind ? ia ( e ) : mn ( e ) , ri ( "': true" ) ) ; } if ( $a ) { if ( ! t && e . isEmpty ( Qa ) ) { for ( var a = ! 1 , i = 0 , o = Xa ; i < o . length ; i ++ ) { var s = o [ i ] ; if ( 231 === s . kind && s . exportClause ) { a = ! 0 ; break ; } } if ( ! a ) return n ( void 0 ) ; } var c = S ( "exportedNames" ) ; ii ( ) , ri ( "var " + c + " = {" ) , oi ( ) ; var _ = ! 1 ; if ( t ) for ( var u = 0 ; u < t . length ; u ++ ) r ( t [ u ] ) ; if ( Qa ) for ( var l in Qa ) for ( var d = 0 , p = Qa [ l ] ; d < p . length ; d ++ ) { var f = p [ d ] ; r ( f . name ) ; } for ( var m = 0 , g = Xa ; m < g . length ; m ++ ) { var s = g [ m ] ; if ( 231 === s . kind ) { var y = s ; if ( y . exportClause ) for ( var h = 0 , v = y . exportClause . elements ; h < v . length ; h ++ ) { var k = v [ h ] ; r ( k . name || k . propertyName ) ; } } } return si ( ) , ii ( ) , ri ( "};" ) , n ( c ) ; } } function Pr ( t ) { function n ( t ) { if ( ! ( 4 & t . flags ) ) { if ( 216 === t . kind ) return i || ( i = [ ] ) , void i . push ( t ) ; if ( 217 === t . kind ) return a || ( a = [ ] ) , void a . push ( t ) ; if ( 220 === t . kind ) return void ( ar ( t ) && ( a || ( a = [ ] ) , a . push ( t ) ) ) ; if ( 221 === t . kind ) return void ( _r ( t ) && ( a || ( a = [ ] ) , a . push ( t ) ) ) ; if ( 214 !== t . kind && 166 !== t . kind ) return e . isInternalModuleImportEqualsDeclaration ( t ) && r . isValueAliasDeclaration ( t ) ? ( a || ( a = [ ] ) , void a . push ( t . name ) ) : e . isBindingPattern ( t ) ? void e . forEach ( t . elements , n ) : void ( e . isDeclaration ( t ) || e . forEachChild ( t , n ) ) ; if ( Nr ( t , ! 1 ) ) { var o = t . name ; 69 === o . kind ? ( a || ( a = [ ] ) , a . push ( o ) ) : e . forEachChild ( o , n ) ; } } } var a , i , o ; if ( n ( t ) , a ) { ii ( ) , ri ( "var " ) ; for ( var s = { } , c = 0 ; c < a . length ; c ++ ) { var _ = a [ c ] , u = 69 === _ . kind ? _ : _ . name ; if ( u ) { var l = e . unescapeIdentifier ( u . text ) ; if ( e . hasProperty ( s , l ) ) continue ; s [ l ] = l ; } 0 !== c && ri ( ", " ) , 217 === _ . kind || 221 === _ . kind || 220 === _ . kind ? mn ( _ ) : aa ( _ ) ; var d = e . getCombinedNodeFlags ( 69 === _ . kind ? _ . parent : _ ) ; 2 & d && ( o || ( o = [ ] ) , o . push ( _ ) ) ; } ri ( ";" ) ; } if ( i ) for ( var p = 0 , f = i ; p < f . length ; p ++ ) { var m = f [ p ] ; ii ( ) , aa ( m ) , 2 & m . flags && ( o || ( o = [ ] ) , o . push ( m ) ) ; } return o ; } function Nr ( t , n ) { return n && ! nt ( t ) ? ! 1 : 0 === ( 24576 & e . getCombinedNodeFlags ( t ) ) || 251 === e . getEnclosingBlockScopeContainer ( t ) . kind ; } function Or ( ) { return 4 === k && Ia ; } function Rr ( e , t , n ) { wr ( ) , ii ( ) ; var r = Pr ( e ) , a = Ar ( r ) ; ii ( ) , ri ( "return {" ) , oi ( ) , ii ( ) , Ir ( a , t ) , ii ( ) , Fr ( e , n ) , si ( ) , ii ( ) , ri ( "}" ) , L ( ! 0 ) ; } function Ir ( t , n ) { ri ( "setters:[" ) ; for ( var r = 0 ; r < n . length ; r ++ ) { 0 !== r && ri ( "," ) , ii ( ) , oi ( ) ; var a = n [ r ] , i = S ( e . forEach ( a , Tr ) || "" ) ; ri ( "function (" + i + ") {" ) , oi ( ) ; for ( var o = 0 , s = a ; o < s . length ; o ++ ) { var c = s [ o ] , _ = Tr ( c ) || "" ; switch ( c . kind ) { case 225 : if ( ! c . importClause ) break ; case 224 : e . Debug . assert ( "" !== _ ) , ii ( ) , ri ( _ + " = " + i + ";" ) , ii ( ) ; break ; case 231 : if ( e . Debug . assert ( "" !== _ ) , c . exportClause ) { ii ( ) , ri ( Fa + "({" ) , ii ( ) , oi ( ) ; for ( var u = 0 , l = c . exportClause . elements . length ; l > u ; u ++ ) { 0 !== u && ( ri ( "," ) , ii ( ) ) ; var d = c . exportClause . elements [ u ] ; ri ( '"' ) , ia ( d . name ) , ri ( '": ' + i + '["' ) , ia ( d . propertyName || d . name ) , ri ( '"]' ) ; } si ( ) , ii ( ) , ri ( "});" ) ; } else ii ( ) , ri ( t + "(" + i + ");" ) ; ii ( ) ; } } si ( ) , ri ( "}" ) , si ( ) ; } ri ( "]," ) ; } function Fr ( t , n ) { ri ( "execute: function() {" ) , oi ( ) , ii ( ) ; for ( var r = n ; r < t . statements . length ; r ++ ) { var a = t . statements [ r ] ; switch ( a . kind ) { case 216 : case 225 : continue ; case 231 : if ( ! a . moduleSpecifier ) for ( var i = 0 , o = a . exportClause . elements ; i < o . length ; i ++ ) { var s = o [ i ] ; Zt ( s ) ; } continue ; case 224 : if ( ! e . isInternalModuleImportEqualsDeclaration ( a ) ) continue ; default : ii ( ) , aa ( a ) ; } } si ( ) , ii ( ) , ri ( "}" ) ; } function Lr ( e , n ) { var r = e . moduleName ; ( r || n && ( r = t ( a , e ) ) ) && ri ( '"' + r + '", ' ) ; } function Mr ( t , n ) { Dr ( t ) , e . Debug . assert ( ! Fa ) , Fa = S ( "exports" ) , La = S ( "context" ) , ii ( ) , ri ( "System.register(" ) , Lr ( t , n ) , ri ( "[" ) ; for ( var r = { } , a = [ ] , i = 0 ; i < Xa . length ; i ++ ) { var o = Er ( Xa [ i ] , n ) ; if ( void 0 !== o ) { var s = o . substr ( 1 , o . length - 2 ) ; if ( e . hasProperty ( r , s ) ) { var c = r [ s ] ; a [ c ] . push ( Xa [ i ] ) ; } else r [ s ] = a . length , a . push ( [ Xa [ i ] ] ) , 0 !== i && ri ( ", " ) , ri ( o ) ; } } ri ( "], function(" + Fa + ", " + La + ") {" ) , ii ( ) , oi ( ) ; var _ = ea ( t . statements , ! 0 , ! h . noImplicitUseStrict ) ; ii ( ) , ri ( "var __moduleName = " + La + " && " + La + ".id;" ) , ii ( ) , na ( t ) , hn ( t ) , Rr ( t , a , _ ) , si ( ) , ii ( ) , ri ( "});" ) ; } function Br ( e , t , n ) { for ( var r = [ ] , a = [ ] , i = [ ] , o = 0 , s = e . amdDependencies ; o < s . length ; o ++ ) { var c = s [ o ] ; c . name ? ( r . push ( '"' + c . path + '"' ) , i . push ( c . name ) ) : a . push ( '"' + c . path + '"' ) ; } for ( var _ = 0 , u = Xa ; _ < u . length ; _ ++ ) { var l = u [ _ ] , d = Er ( l , n ) , p = Tr ( l ) ; t && p ? ( r . push ( d ) , i . push ( p ) ) : a . push ( d ) ; } return { aliasedModuleNames : r , unaliasedModuleNames : a , importAliasNames : i } ; } function zr ( e , t , n ) { var r = Br ( e , t , n ) ; Kr ( r ) , ri ( ", " ) , jr ( r ) ; } function Kr ( e ) { var t = e . aliasedModuleNames , n = e . unaliasedModuleNames ; ri ( '["require", "exports"' ) , t . length && ( ri ( ", " ) , ri ( t . join ( ", " ) ) ) , n . length && ( ri ( ", " ) , ri ( n . join ( ", " ) ) ) , ri ( "]" ) ; } function jr ( e ) { var t = e . importAliasNames ; ri ( "function (require, exports" ) , t . length && ( ri ( ", " ) , ri ( t . join ( ", " ) ) ) , ri ( ") {" ) ; } function Jr ( e , t ) { na ( e ) , Dr ( e ) , ii ( ) , ri ( "define(" ) , Lr ( e , t ) , zr ( e , ! 0 , t ) , oi ( ) ; var n = ea ( e . statements , ! 0 , ! h . noImplicitUseStrict ) ; Sr ( ) , hn ( e ) , q ( e . statements , n ) , L ( ! 0 ) , Vr ( ! 0 ) , si ( ) , ii ( ) , ri ( "});" ) ; } function Ur ( e ) { var t = ea ( e . statements , ! 1 , ! h . noImplicitUseStrict ) ; na ( e ) , Dr ( e ) , Sr ( ) , hn ( e ) , q ( e . statements , t ) , L ( ! 0 ) , Vr ( ! 1 ) ; } function qr ( e ) { na ( e ) , Dr ( e ) ; var t = Br ( e , ! 1 ) ; ta ( "(function (factory) {\n    if (typeof module === 'object' && typeof module.exports === 'object') {\n        var v = factory(require, exports); if (v !== undefined) module.exports = v;\n    }\n    else if (typeof define === 'function' && define.amd) {\n        define(" ) , Kr ( t ) , ri ( ", factory);" ) , ta ( "    }\n})(" ) , jr ( t ) , oi ( ) ; var n = ea ( e . statements , ! 0 , ! h . noImplicitUseStrict ) ; Sr ( ) , hn ( e ) , q ( e . statements , n ) , L ( ! 0 ) , Vr ( ! 0 ) , si ( ) , ii ( ) , ri ( "});" ) ; } function Wr ( e ) { Xa = void 0 , Qa = void 0 , Ya = void 0 , $a = ! 1 ; var t = ea ( e . statements , ! 1 ) ; na ( e ) , hn ( e ) , q ( e . statements , t ) , L ( ! 0 ) ; } function Vr ( e ) { Ya && r . isValueAliasDeclaration ( Ya ) && ( ii ( ) , ui ( Ya ) , ri ( e ? "return " : "module.exports = " ) , aa ( Ya . expression ) , ri ( ";" ) , li ( Ya ) ) ; } function Hr ( e ) { switch ( h . jsx ) { case 2 : ee ( e ) ; break ; case 1 : default : te ( e ) ; } } function Gr ( t ) { for ( var n = void 0 , r = e . getTextOfNode ( t , ! 0 ) , a = 0 , i = - 1 , s = 0 ; s < r . length ; s ++ ) { var c = r . charCodeAt ( s ) ; if ( e . isLineBreak ( c ) ) { if ( - 1 !== a && i - a + 1 > 0 ) { var _ = r . substr ( a , i - a + 1 ) ; n = ( n ? n + "\" + ' ' + \"" : "" ) + e . escapeString ( _ ) ; } a = - 1 ; } else e . isWhiteSpace ( c ) || ( i = s , - 1 === a && ( a = s ) ) ; } if ( - 1 !== a ) { var _ = r . substr ( a ) ; n = ( n ? n + "\" + ' ' + \"" : "" ) + e . escapeString ( _ ) ; } return n && ( n = n . replace ( /&(\w+);/g , function ( e , t ) { if ( void 0 !== o [ t ] ) { var n = String . fromCharCode ( o [ t ] ) ; return '"' === n ? '\\"' : n ; } return e ; } ) ) , n ; } function Xr ( t ) { switch ( h . jsx ) { case 2 : var n = Gr ( t ) ; return void 0 === n || 0 === n . length ? void 0 : n ; case 1 : default : return e . getTextOfNode ( t , ! 0 ) ; } } function Qr ( t ) { switch ( h . jsx ) { case 2 : ri ( '"' ) , ri ( Gr ( t ) ) , ri ( '"' ) ; break ; case 1 : default : ni . writeLiteral ( e . getTextOfNode ( t , ! 0 ) ) ; } } function Yr ( e ) { if ( e . expression ) switch ( h . jsx ) { case 1 : default : ri ( "{" ) , aa ( e . expression ) , ri ( "}" ) ; break ; case 2 : aa ( e . expression ) ; } } function $r ( e ) { return ! ! e . expression . text . match ( /use strict/ ) ; } function Zr ( e , t ) { t && ( e && ii ( ) , ri ( '"use strict";' ) ) ; } function ea ( t , n , r ) { for ( var a = ! 1 , i = 0 ; i < t . length ; i ++ ) { if ( ! e . isPrologueDirective ( t [ i ] ) ) return Zr ( n || i > 0 , ! a && r ) , i ; $r ( t [ i ] ) && ( a = ! 0 ) , ( n || i > 0 ) && ii ( ) , aa ( t [ i ] ) ; } return Zr ( n , ! a && r ) , t . length ; } function ta ( e ) { for ( var t = e . split ( /\r\n|\r|\n/g ) , n = 0 ; n < t . length ; n ++ ) { var r = t [ n ] ; r . length && ( ii ( ) , ri ( r ) ) ; } } function na ( e ) { h . noEmitHelpers || ( 2 > v && ! Ja && 4194304 & e . flags && ( ta ( d ) , Ja = ! 0 ) , 1 !== h . jsx && ! Ua && 1073741824 & e . flags && ( ta ( p ) , Ua = ! 0 ) , ! qa && 8388608 & e . flags && ( ta ( f ) , h . emitDecoratorMetadata && ta ( m ) , qa = ! 0 ) , ! Wa && 16777216 & e . flags && ( ta ( g ) , Wa = ! 0 ) , ! Va && 33554432 & e . flags && ( ta ( y ) , Va = ! 0 ) ) ; } function ra ( t ) { if ( ii ( ) , Ea ( ) , Sa ( t ) , e . isExternalModule ( t ) || h . isolatedModules ) if ( ti || ! e . isExternalModule ( t ) && h . isolatedModules ) { var n = gi [ k ] || gi [ 1 ] ; n ( t ) ; } else yi [ k ] ( t , ! 0 ) ; else { var r = ea ( t . statements , ! 1 ) ; Xa = void 0 , Qa = void 0 , Ya = void 0 , $a = ! 1 , na ( t ) , hn ( t ) , q ( t . statements , r ) , L ( ! 0 ) ; } ka ( t . endOfFileToken ) ; } function aa ( e ) { oa ( e , sa ) ; } function ia ( e ) { oa ( e , ca ) ; } function oa ( e , t ) { if ( e ) { if ( 4 & e . flags ) return va ( e ) ; if ( la ( e ) ) return ca ( e ) ; var n = da ( e ) ; n && ka ( e ) , t ( e ) , n && xa ( e ) ; } } function sa ( e ) { e && ( ui ( e ) , ca ( e ) , li ( e ) ) ; } function ca ( e ) { e && pa ( e ) ; } function _a ( e ) { ci = e , ui = e . emitStart , li = e . emitEnd , di = e . emitPos , _i = e . setSourceFile ; } function ua ( t ) { var n = ci ; mi ( e . getNullSourceMapWriter ( ) ) , t ( ) , mi ( n ) ; } function la ( e ) { switch ( e . kind ) { case 218 : case 216 : case 225 : case 224 : case 219 : case 230 : return ! 0 ; } } function da ( t ) { switch ( t . kind ) { case 196 : return _n ( t ) ; case 221 : return _r ( t ) ; case 220 : return ar ( t ) ; } return e . Debug . assert ( ! la ( t ) ) , ! ( 195 !== t . kind && t . parent && 177 === t . parent . kind && t . parent . body === t && h . target <= 1 ) ; } function pa ( e ) { switch ( e . kind ) { case 69 : return oe ( e ) ; case 139 : return un ( e ) ; case 144 : case 143 : return we ( e ) ; case 146 : case 147 : return pn ( e ) ; case 97 : return se ( e ) ; case 95 : return ce ( e ) ; case 93 : return ri ( "null" ) ; case 99 : return ri ( "true" ) ; case 84 : return ri ( "false" ) ; case 8 : case 9 : case 10 : case 11 : case 12 : case 13 : case 14 : return V ( e ) ; case 186 : return $ ( e ) ; case 193 : return Z ( e ) ; case 236 : case 237 : return Hr ( e ) ; case 239 : return Qr ( e ) ; case 243 : return Yr ( e ) ; case 136 : return Le ( e ) ; case 164 : return _e ( e ) ; case 165 : return ue ( e ) ; case 166 : return le ( e ) ; case 167 : return ve ( e ) ; case 168 : return xe ( e ) ; case 248 : return Ae ( e ) ; case 249 : return Ne ( e ) ; case 137 : return Ee ( e ) ; case 169 : return Fe ( e ) ; case 170 : return ze ( e ) ; case 171 : return Ve ( e ) ; case 172 : return He ( e ) ; case 173 : return Ge ( e ) ; case 174 : return aa ( e . expression ) ; case 192 : return aa ( e . expression ) ; case 175 : return Xe ( e ) ; case 216 : case 176 : case 177 : return yn ( e ) ; case 178 : return Qe ( e ) ; case 179 : return $e ( e ) ; case 180 : return Ye ( e ) ; case 181 : return fe ( e ) ; case 182 : return et ( e ) ; case 183 : return tt ( e ) ; case 184 : return it ( e ) ; case 185 : return st ( e ) ; case 188 : return de ( e ) ; case 187 : return pe ( e ) ; case 190 : return ; case 195 : case 222 : return ut ( e ) ; case 196 : return cn ( e ) ; case 197 : return ri ( ";" ) ; case 198 : return dt ( e ) ; case 199 : return pt ( e ) ; case 200 : return ft ( e ) ; case 201 : return gt ( e ) ; case 202 : return Tt ( e ) ; case 204 : case 203 : return wt ( e ) ; case 205 : case 206 : return Nt ( e ) ; case 207 : return Ot ( e ) ; case 208 : return Rt ( e ) ; case 209 : return It ( e ) ; case 244 : case 245 : return zt ( e ) ; case 210 : return Wt ( e ) ; case 211 : return Kt ( e ) ; case 212 : return jt ( e ) ; case 247 : return Jt ( e ) ; case 213 : return Ut ( e ) ; case 214 : return an ( e ) ; case 189 : return Bn ( e ) ; case 217 : return zn ( e ) ; case 218 : return rr ( e ) ; case 220 : return ir ( e ) ; case 250 : return or ( e ) ; case 221 : return dr ( e ) ; case 225 : return hr ( e ) ; case 224 : return kr ( e ) ; case 231 : return br ( e ) ; case 230 : return Cr ( e ) ; case 251 : return ra ( e ) ; } } function fa ( t ) { return void 0 !== Za && e . lastOrUndefined ( Za ) . nodePos === t ; } function ma ( ) { var t = e . getLeadingCommentRanges ( Aa , e . lastOrUndefined ( Za ) . detachedCommentEndPos ) ; return Za . length - 1 ? Za . pop ( ) : Za = void 0 , t ; } function ga ( t ) { if ( 47 === Aa . charCodeAt ( t . pos + 1 ) && t . pos + 2 < t . end && 47 === Aa . charCodeAt ( t . pos + 2 ) ) { var n = Aa . substring ( t . pos , t . end ) ; return ! ( ! n . match ( e . fullTripleSlashReferencePathRegEx ) && ! n . match ( e . fullTripleSlashAMDReferencePathRegEx ) ) ; } return ! 1 ; } function ya ( t ) { return ! t . parent || 251 !== t . parent . kind && t . pos === t . parent . pos ? void 0 : fa ( t . pos ) ? ma ( ) : e . getLeadingCommentRangesOfNodeFromText ( t , Aa ) ; } function ha ( t ) { return ! t . parent || 251 !== t . parent . kind && t . end === t . parent . end ? void 0 : e . getTrailingCommentRanges ( Aa , t . end ) ; } function va ( e ) { ba ( e , ! 1 ) ; } function ka ( e ) { return ba ( e , ! 0 ) ; } function ba ( t , n ) { if ( ! h . removeComments ) { var r ; n ? r = ya ( t ) : 0 === t . pos && ( r = e . filter ( ya ( t ) , ga ) ) , e . emitNewLineBeforeLeadingComments ( Pa , ni , t , r ) , e . emitComments ( Aa , Pa , ni , r , ! 0 , D , Ta ) ; } } function xa ( t ) { if ( ! h . removeComments ) { var n = ha ( t ) ; e . emitComments ( Aa , Pa , ni , n , ! 1 , D , Ta ) ; } } function Ca ( t ) { if ( ! h . removeComments ) { var n = e . getTrailingCommentRanges ( Aa , t ) ; e . emitComments ( Aa , Pa , ni , n , ! 0 , D , Ta ) ; } } function Da ( t ) { if ( ! h . removeComments ) { var n ; n = fa ( t ) ? ma ( ) : e . getLeadingCommentRanges ( Aa , t ) , e . emitNewLineBeforeLeadingComments ( Pa , ni , { pos : t , end : t } , n ) , e . emitComments ( Aa , Pa , ni , n , ! 0 , D , Ta ) ; } } function Sa ( t ) { var n = e . emitDetachedComments ( Aa , Pa , ni , Ta , t , D , h . removeComments ) ; n && ( Za ? Za . push ( n ) : Za = [ n ] ) ; } function Ta ( t , n , r , a , i ) { di ( a . pos ) , e . writeCommentRange ( t , n , r , a , i ) , di ( a . end ) ; } function Ea ( ) { var t = e . getShebang ( Aa ) ; t && ( ri ( t ) , ii ( ) ) ; } var wa , Aa , Pa , Na , Oa , Ra , Ia , Fa , La , Ma , Ba , za , Ka , ja , Ja , Ua , qa , Wa , Va , Ha , Ga , Xa , Qa , Ya , $a , Za , ei , ti , ni = e . createTextWriter ( D ) , ri = ni . write , ai = ni . writeTextOfNode , ii = ni . writeLine , oi = ni . increaseIndent , si = ni . decreaseIndent , ci = h . sourceMap || h . inlineSourceMap ? e . createSourceMapWriter ( a , ni ) : e . getNullSourceMapWriter ( ) , _i = ci . setSourceFile , ui = ci . emitStart , li = ci . emitEnd , di = ci . emitPos , pi = 0 , fi = h . removeComments ? function ( e ) { } : Da , mi = h . sourceMap || h . inlineSourceMap ? _a : function ( e ) { } , gi = ( hi = { } , hi [ 5 ] = Wr , hi [ 2 ] = Jr , hi [ 4 ] = Mr , hi [ 3 ] = qr , hi [ 1 ] = Ur , hi ) , yi = ( vi = { } , vi [ 5 ] = function ( ) { } , vi [ 2 ] = Jr , vi [ 4 ] = Mr , vi [ 3 ] = function ( ) { } , vi [ 1 ] = function ( ) { } , vi ) ; return i ; var hi , vi ; } function l ( t , n , i ) { var o = t . jsFilePath , s = t . sourceMapFilePath , c = t . declarationFilePath ; a . isEmitBlocked ( o ) || h . noEmit ? C = ! 0 : S ( o , s , n , i ) , c && ( C = e . writeDeclarationFile ( c , n , i , a , r , x ) || C ) ; } var d = "\nvar __extends = (this && this.__extends) || function (d, b) {\n    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n    function __() { this.constructor = d; }\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};" , p = "\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\n        s = arguments[i];\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n            t[p] = s[p];\n    }\n    return t;\n};" , f = '\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\n};' , m = '\nvar __metadata = (this && this.__metadata) || function (k, v) {\n    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);\n};' , g = "\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n    return function (target, key) { decorator(target, key, paramIndex); }\n};" , y = "\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n    return new (P || (P = Promise))(function (resolve, reject) {\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n        function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } }\n        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\n        step((generator = generator.apply(thisArg, _arguments)).next());\n    });\n};" , h = a . getCompilerOptions ( ) , v = e . getEmitScriptTarget ( h ) , k = e . getEmitModuleKind ( h ) , b = h . sourceMap || h . inlineSourceMap ? [ ] : void 0 , x = e . createDiagnosticCollection ( ) , C = ! 1 , D = a . getNewLine ( ) , S = u ( ) ; return e . forEachExpectedEmitFile ( a , l , i ) , { emitSkipped : C , diagnostics : x . getDiagnostics ( ) , sourceMaps : b } ; } e . getResolvedExternalModuleName = t , e . getExternalModuleNameFromDeclaration = n ; var a ; ! function ( e ) { e [ e . Break = 2 ] = "Break" , e [ e . Continue = 4 ] = "Continue" , e [ e . Return = 8 ] = "Return" ; } ( a || ( a = { } ) ) ; var i , o = { quot : 34 , amp : 38 , apos : 39 , lt : 60 , gt : 62 , nbsp : 160 , iexcl : 161 , cent : 162 , pound : 163 , curren : 164 , yen : 165 , brvbar : 166 , sect : 167 , uml : 168 , copy : 169 , ordf : 170 , laquo : 171 , not : 172 , shy : 173 , reg : 174 , macr : 175 , deg : 176 , plusmn : 177 , sup2 : 178 , sup3 : 179 , acute : 180 , micro : 181 , para : 182 , middot : 183 , cedil : 184 , sup1 : 185 , ordm : 186 , raquo : 187 , frac14 : 188 , frac12 : 189 , frac34 : 190 , iquest : 191 , Agrave : 192 , Aacute : 193 , Acirc : 194 , Atilde : 195 , Auml : 196 , Aring : 197 , AElig : 198 , Ccedil : 199 , Egrave : 200 , Eacute : 201 , Ecirc : 202 , Euml : 203 , Igrave : 204 , Iacute : 205 , Icirc : 206 , Iuml : 207 , ETH : 208 , Ntilde : 209 , Ograve : 210 , Oacute : 211 , Ocirc : 212 , Otilde : 213 , Ouml : 214 , times : 215 , Oslash : 216 , Ugrave : 217 , Uacute : 218 , Ucirc : 219 , Uuml : 220 , Yacute : 221 , THORN : 222 , szlig : 223 , agrave : 224 , aacute : 225 , acirc : 226 , atilde : 227 , auml : 228 , aring : 229 , aelig : 230 , ccedil : 231 , egrave : 232 , eacute : 233 , ecirc : 234 , euml : 235 , igrave : 236 , iacute : 237 , icirc : 238 , iuml : 239 , eth : 240 , ntilde : 241 , ograve : 242 , oacute : 243 , ocirc : 244 , otilde : 245 , ouml : 246 , divide : 247 , oslash : 248 , ugrave : 249 , uacute : 250 , ucirc : 251 , uuml : 252 , yacute : 253 , thorn : 254 , yuml : 255 , OElig : 338 , oelig : 339 , Scaron : 352 , scaron : 353 , Yuml : 376 , fnof : 402 , circ : 710 , tilde : 732 , Alpha : 913 , Beta : 914 , Gamma : 915 , Delta : 916 , Epsilon : 917 , Zeta : 918 , Eta : 919 , Theta : 920 , Iota : 921 , Kappa : 922 , Lambda : 923 , Mu : 924 , Nu : 925 , Xi : 926 , Omicron : 927 , Pi : 928 , Rho : 929 , Sigma : 931 , Tau : 932 , Upsilon : 933 , Phi : 934 , Chi : 935 , Psi : 936 , Omega : 937 , alpha : 945 , beta : 946 , gamma : 947 , delta : 948 , epsilon : 949 , zeta : 950 , eta : 951 , theta : 952 , iota : 953 , kappa : 954 , lambda : 955 , mu : 956 , nu : 957 , xi : 958 , omicron : 959 , pi : 960 , rho : 961 , sigmaf : 962 , sigma : 963 , tau : 964 , upsilon : 965 , phi : 966 , chi : 967 , psi : 968 , omega : 969 , thetasym : 977 , upsih : 978 , piv : 982 , ensp : 8194 , emsp : 8195 , thinsp : 8201 , zwnj : 8204 , zwj : 8205 , lrm : 8206 , rlm : 8207 , ndash : 8211 , mdash : 8212 , lsquo : 8216 , rsquo : 8217 , sbquo : 8218 , ldquo : 8220 , rdquo : 8221 , bdquo : 8222 , dagger : 8224 , Dagger : 8225 , bull : 8226 , hellip : 8230 , permil : 8240 , prime : 8242 , Prime : 8243 , lsaquo : 8249 , rsaquo : 8250 , oline : 8254 , frasl : 8260 , euro : 8364 , image : 8465 , weierp : 8472 , real : 8476 , trade : 8482 , alefsym : 8501 , larr : 8592 , uarr : 8593 , rarr : 8594 , darr : 8595 , harr : 8596 , crarr : 8629 , lArr : 8656 , uArr : 8657 , rArr : 8658 , dArr : 8659 , hArr : 8660 , forall : 8704 , part : 8706 , exist : 8707 , empty : 8709 , nabla : 8711 , isin : 8712 , notin : 8713 , ni : 8715 , prod : 8719 , sum : 8721 , minus : 8722 , lowast : 8727 , radic : 8730 , prop : 8733 , infin : 8734 , ang : 8736 , and : 8743 , or : 8744 , cap : 8745 , cup : 8746 , "int" : 8747 , there4 : 8756 , sim : 8764 , cong : 8773 , asymp : 8776 , ne : 8800 , equiv : 8801 , le : 8804 , ge : 8805 , sub : 8834 , sup : 8835 , nsub : 8836 , sube : 8838 , supe : 8839 , oplus : 8853 , otimes : 8855 , perp : 8869 , sdot : 8901 , lceil : 8968 , rceil : 8969 , lfloor : 8970 , rfloor : 8971 , lang : 9001 , rang : 9002 , loz : 9674 , spades : 9824 , clubs : 9827 , hearts : 9829 , diams : 9830 } ; ! function ( e ) { e [ e . Auto = 0 ] = "Auto" , e [ e . CountMask = 268435455 ] = "CountMask" , e [ e . _i = 268435456 ] = "_i" ; } ( i || ( i = { } ) ) ; var s ; ! function ( e ) { e [ e . ToOriginal = 0 ] = "ToOriginal" , e [ e . ToOutParameter = 1 ] = "ToOutParameter" ; } ( s || ( s = { } ) ) , e . emitFiles = r ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { function t ( t , n ) { for ( var r = "tsconfig.json" ; ; ) { if ( n ( r ) ) return r ; var a = e . getDirectoryPath ( t ) ; if ( a === t ) break ; t = a , r = "../" + r ; } } function n ( t , n ) { var r = e . getDirectoryPath ( n ) , a = e . isRootedDiskPath ( t ) ? t : e . combinePaths ( r , t ) ; return e . normalizePath ( a ) ; } function r ( t , n , r , i ) { var o = void 0 !== r . moduleResolution ? r . moduleResolution : 1 === e . getEmitModuleKind ( r ) ? 2 : 1 ; switch ( o ) { case 2 : return a ( t , n , r , i ) ; case 1 : return u ( t , n , r , i ) ; } } function a ( t , n , r , a ) { var i = e . getDirectoryPath ( n ) , u = e . getSupportedExtensions ( r ) ; if ( 0 !== e . getRootLength ( t ) || _ ( t ) ) { var l = [ ] , d = e . normalizePath ( e . combinePaths ( i , t ) ) , p = o ( u , d , l , ! 1 , a ) ; return p ? { resolvedModule : { resolvedFileName : p } , failedLookupLocations : l } : ( p = s ( u , d , l , ! 1 , a ) , p ? { resolvedModule : { resolvedFileName : p } , failedLookupLocations : l } : { resolvedModule : void 0 , failedLookupLocations : l } ) ; } return c ( t , i , a ) ; } function i ( e , t ) { return ! t . directoryExists || t . directoryExists ( e ) ; } function o ( t , n , r , a , i ) { function o ( t ) { var o = e . fileExtensionIs ( n , t ) ? n : n + t ; return ! a && i . fileExists ( o ) ? o : void r . push ( o ) ; } return e . forEach ( t , o ) ; } function s ( t , n , r , a , s ) { var c = e . combinePaths ( n , "package.json" ) , _ = ! a && i ( n , s ) ; if ( _ && s . fileExists ( c ) ) { var u = void 0 ; try { var l = s . readFile ( c ) ; u = l ? JSON . parse ( l ) : { typings : void 0 } ; } catch ( d ) { u = { typings : void 0 } ; } if ( "string" == typeof u . typings ) { var p = e . normalizePath ( e . combinePaths ( n , u . typings ) ) , f = o ( t , p , r , ! i ( e . getDirectoryPath ( p ) , s ) , s ) ; if ( f ) return f ; } } else r . push ( c ) ; return o ( t , e . combinePaths ( n , "index" ) , r , ! _ , s ) ; } function c ( t , n , r ) { var a = [ ] ; for ( n = e . normalizeSlashes ( n ) ; ; ) { var c = e . getBaseFileName ( n ) ; if ( "node_modules" !== c ) { var _ = e . combinePaths ( n , "node_modules" ) , u = i ( _ , r ) , l = e . normalizePath ( e . combinePaths ( _ , t ) ) , d = o ( e . supportedTypeScriptExtensions , l , a , ! u , r ) ; if ( d ) return { resolvedModule : { resolvedFileName : d , isExternalLibraryImport : ! 0 } , failedLookupLocations : a } ; if ( d = s ( e . supportedTypeScriptExtensions , l , a , ! u , r ) ) return { resolvedModule : { resolvedFileName : d , isExternalLibraryImport : ! 0 } , failedLookupLocations : a } ; } var p = e . getDirectoryPath ( n ) ; if ( p === n ) break ; n = p ; } return { resolvedModule : void 0 , failedLookupLocations : a } ; } function _ ( e ) { var t = e . lastIndexOf ( "./" , 1 ) ; return 0 === t || 1 === t && 46 === e . charCodeAt ( 0 ) ; } function u ( t , n , r , a ) { if ( - 1 != t . indexOf ( "!" ) ) return { resolvedModule : void 0 , failedLookupLocations : [ ] } ; for ( var i , o , s = e . getDirectoryPath ( n ) , c = [ ] , _ = e . getSupportedExtensions ( r ) ; ; ) { if ( i = e . normalizePath ( e . combinePaths ( s , t ) ) , o = e . forEach ( _ , function ( e ) { if ( ".tsx" !== e || r . jsx ) { var t = i + e ; return a . fileExists ( t ) ? t : void c . push ( t ) ; } } ) ) break ; var u = e . getDirectoryPath ( s ) ; if ( u === s ) break ; s = u ; } return o ? { resolvedModule : { resolvedFileName : o } , failedLookupLocations : c } : { resolvedModule : void 0 , failedLookupLocations : c } ; } function l ( t , n ) { function r ( t ) { return e . sys . useCaseSensitiveFileNames ? t : t . toLowerCase ( ) ; } function a ( r , a , i ) { var o ; try { var s = ( new Date ) . getTime ( ) ; o = e . sys . readFile ( r , t . charset ) , e . ioReadTime += ( new Date ) . getTime ( ) - s ; } catch ( c ) { i && i ( c . number === _ ? e . createCompilerDiagnostic ( e . Diagnostics . Unsupported_file_encoding ) . messageText : c . message ) , o = "" ; } return void 0 !== o ? e . createSourceFile ( r , o , a , n ) : void 0 ; } function i ( t ) { return e . hasProperty ( c , t ) ? ! 0 : e . sys . directoryExists ( t ) ? ( c [ t ] = ! 0 , ! 0 ) : ! 1 ; } function o ( t ) { if ( t . length > e . getRootLength ( t ) && ! i ( t ) ) { var n = e . getDirectoryPath ( t ) ; o ( n ) , e . sys . createDirectory ( t ) ; } } function s ( t , n , r , a ) { try { var i = ( new Date ) . getTime ( ) ; o ( e . getDirectoryPath ( e . normalizePath ( t ) ) ) , e . sys . writeFile ( t , n , r ) , e . ioWriteTime += ( new Date ) . getTime ( ) - i ; } catch ( s ) { a && a ( s . message ) ; } } var c = { } , _ = - 2147024809 , u = e . getNewLineCharacter ( t ) ; return { getSourceFile : a , getDefaultLibFileName : function ( t ) { return e . combinePaths ( e . getDirectoryPath ( e . normalizePath ( e . sys . getExecutingFilePath ( ) ) ) , e . getDefaultLibFileName ( t ) ) ; } , writeFile : s , getCurrentDirectory : e . memoize ( function ( ) { return e . sys . getCurrentDirectory ( ) ; } ) , useCaseSensitiveFileNames : function ( ) { return e . sys . useCaseSensitiveFileNames ; } , getCanonicalFileName : r , getNewLine : function ( ) { return u ; } , fileExists : function ( t ) { return e . sys . fileExists ( t ) ; } , readFile : function ( t ) { return e . sys . readFile ( t ) ; } , directoryExists : function ( t ) { return e . sys . directoryExists ( t ) ; } } ; } function d ( t , n , r ) { var a = t . getOptionsDiagnostics ( r ) . concat ( t . getSyntacticDiagnostics ( n , r ) , t . getGlobalDiagnostics ( r ) , t . getSemanticDiagnostics ( n , r ) ) ; return t . getCompilerOptions ( ) . declaration && ( a = a . concat ( t . getDeclarationDiagnostics ( n , r ) ) ) , e . sortAndDeduplicateDiagnostics ( a ) ; } function p ( e , t ) { if ( "string" == typeof e ) return e ; for ( var n = e , r = "" , a = 0 ; n ; ) { if ( a ) { r += t ; for ( var i = 0 ; a > i ; i ++ ) r += "  " ; } r += n . messageText , a ++ , n = n . next ; } return r ; } function f ( t , a , i , o ) { function s ( ) { return ! a . disableSizeLimit && re === ne ; } function c ( ) { return "undefined" == typeof X && ( X = a . rootDir && W ( Z , a . rootDir ) ? e . getNormalizedAbsolutePath ( a . rootDir , ce ) : q ( Z ) , X && X [ X . length - 1 ] !== e . directorySeparator && ( X += e . directorySeparator ) ) , X ; } function _ ( ) { if ( ! $ ) { f ( ) , $ = { } ; for ( var t = 0 , n = Z ; t < n . length ; t ++ ) { var r = n [ t ] ; e . copyMap ( r . classifiableNames , $ ) ; } } return $ ; } function u ( ) { if ( ! o ) return ! 1 ; e . Debug . assert ( ! o . structureIsReused ) ; var n = o . getRootFileNames ( ) ; if ( ! e . arrayIsEqualTo ( n , t ) ) return ! 1 ; for ( var r = [ ] , s = [ ] , c = [ ] , _ = 0 , u = o . getSourceFiles ( ) ; _ < u . length ; _ ++ ) { var l = u [ _ ] , d = i . getSourceFile ( l . fileName , a . target ) ; if ( ! d ) return ! 1 ; if ( d . path = l . path , s . push ( d . path ) , l !== d ) { if ( l . hasNoDefaultLib !== d . hasNoDefaultLib ) return ! 1 ; if ( ! e . arrayIsEqualTo ( l . referencedFiles , d . referencedFiles , I ) ) return ! 1 ; if ( M ( d ) , ! e . arrayIsEqualTo ( l . imports , d . imports , F ) ) return ! 1 ; if ( ! e . arrayIsEqualTo ( l . moduleAugmentations , d . moduleAugmentations , F ) ) return ! 1 ; if ( _e ) for ( var p = e . map ( e . concatenate ( d . imports , d . moduleAugmentations ) , L ) , f = _e ( p , e . getNormalizedAbsolutePath ( d . fileName , ce ) ) , m = 0 ; m < p . length ; m ++ ) { var g = f [ m ] , y = e . getResolvedModule ( l , p [ m ] ) , h = y ? ! g || y . resolvedFileName !== g . resolvedFileName || ! ! y . isExternalLibraryImport != ! ! g . isExternalLibraryImport : g ; if ( h ) return ! 1 ; } d . resolvedModules = l . resolvedModules , c . push ( d ) ; } else d = l ; r . push ( d ) ; } for ( var m = 0 , v = r . length ; v > m ; m ++ ) ue . set ( s [ m ] , r [ m ] ) ; Z = r , ee = o . getFileProcessingDiagnostics ( ) ; for ( var k = 0 , b = c ; k < b . length ; k ++ ) { var x = b [ k ] ; ee . reattachFileDiagnostics ( x ) ; } return o . structureIsReused = ! 0 , ! 0 ; } function d ( e ) { return { getCanonicalFileName : J , getCommonSourceDirectory : G . getCommonSourceDirectory , getCompilerOptions : G . getCompilerOptions , getCurrentDirectory : function ( ) { return ce ; } , getNewLine : function ( ) { return i . getNewLine ( ) ; } , getSourceFile : G . getSourceFile , getSourceFiles : G . getSourceFiles , writeFile : e || function ( e , t , n , r ) { return i . writeFile ( e , t , n , r ) ; } , isEmitBlocked : y } ; } function p ( ) { return Q || ( Q = e . createTypeChecker ( G , ! 0 ) ) ; } function f ( ) { return Y || ( Y = e . createTypeChecker ( G , ! 1 ) ) ; } function g ( e , t , n ) { var r = this ; return S ( function ( ) { return h ( r , e , t , n ) ; } ) ; } function y ( t ) { return se . contains ( e . toPath ( t , ce , J ) ) ; } function h ( t , n , r , i ) { if ( a . noEmitOnError ) { var o = t . getOptionsDiagnostics ( i ) . concat ( t . getSyntacticDiagnostics ( n , i ) , t . getGlobalDiagnostics ( i ) , t . getSemanticDiagnostics ( n , i ) ) , s = [ ] ; if ( 0 === o . length && t . getCompilerOptions ( ) . declaration && ( s = t . getDeclarationDiagnostics ( void 0 , i ) ) , o . length > 0 || s . length > 0 ) return { diagnostics : s , sourceMaps : void 0 , emitSkipped : ! 0 } ; } var c = p ( ) . getEmitResolver ( a . outFile || a . out ? void 0 : n ) , _ = ( new Date ) . getTime ( ) , u = e . emitFiles ( c , d ( r ) , n ) ; return e . emitTime += ( new Date ) . getTime ( ) - _ , u ; } function v ( t ) { return ue . get ( e . toPath ( t , ce , J ) ) ; } function k ( t , n , r ) { if ( t ) return n ( t , r ) ; var a = [ ] ; return e . forEach ( G . getSourceFiles ( ) , function ( t ) { r && r . throwIfCancellationRequested ( ) , e . addRange ( a , n ( t , r ) ) ; } ) , e . sortAndDeduplicateDiagnostics ( a ) ; } function b ( e , t ) { return k ( e , D , t ) ; } function x ( e , t ) { return k ( e , T , t ) ; } function C ( e , t ) { var n = G . getCompilerOptions ( ) ; return ! e || n . out || n . outFile ? w ( e , t ) : k ( e , A , t ) ; } function D ( e , t ) { return e . parseDiagnostics ; } function S ( t ) { try { return t ( ) ; } catch ( n ) { throw n instanceof e . OperationCanceledException && ( Y = void 0 , Q = void 0 ) , n ; } } function T ( t , n ) { return S ( function ( ) { var r = p ( ) ; e . Debug . assert ( ! ! t . bindDiagnostics ) ; var a = t . bindDiagnostics , i = e . isSourceFileJavaScript ( t ) ? E ( t , n ) : r . getDiagnostics ( t , n ) , o = ee . getDiagnostics ( t . fileName ) , s = te . getDiagnostics ( t . fileName ) ; return a . concat ( i ) . concat ( o ) . concat ( s ) ; } ) ; } function E ( t , n ) { return S ( function ( ) { function n ( c ) { if ( ! c ) return ! 1 ; switch ( c . kind ) { case 224 : return s . push ( e . createDiagnosticForNode ( c , e . Diagnostics . import_can_only_be_used_in_a_ts_file ) ) , ! 0 ; case 230 : if ( c . isExportEquals ) return s . push ( e . createDiagnosticForNode ( c , e . Diagnostics . export_can_only_be_used_in_a_ts_file ) ) , ! 0 ; break ; case 217 : var _ = c ; if ( o ( _ . modifiers ) || r ( _ . typeParameters ) ) return ! 0 ; break ; case 246 : var u = c ; if ( 106 === u . token ) return s . push ( e . createDiagnosticForNode ( c , e . Diagnostics . implements_clauses_can_only_be_used_in_a_ts_file ) ) , ! 0 ; break ; case 218 : return s . push ( e . createDiagnosticForNode ( c , e . Diagnostics . interface_declarations_can_only_be_used_in_a_ts_file ) ) , ! 0 ; case 221 : return s . push ( e . createDiagnosticForNode ( c , e . Diagnostics . module_declarations_can_only_be_used_in_a_ts_file ) ) , ! 0 ; case 219 : return s . push ( e . createDiagnosticForNode ( c , e . Diagnostics . type_aliases_can_only_be_used_in_a_ts_file ) ) , ! 0 ; case 144 : case 143 : case 145 : case 146 : case 147 : case 176 : case 216 : case 177 : case 216 : var l = c ; if ( o ( l . modifiers ) || r ( l . typeParameters ) || i ( l . type ) ) return ! 0 ; break ; case 196 : var d = c ; if ( o ( d . modifiers ) ) return ! 0 ; break ; case 214 : var p = c ; if ( i ( p . type ) ) return ! 0 ; break ; case 171 : case 172 : var f = c ; if ( f . typeArguments && f . typeArguments . length > 0 ) { var m = f . typeArguments . pos ; return s . push ( e . createFileDiagnostic ( t , m , f . typeArguments . end - m , e . Diagnostics . type_arguments_can_only_be_used_in_a_ts_file ) ) , ! 0 ; } break ; case 139 : var g = c ; if ( g . modifiers ) { var y = g . modifiers . pos ; return s . push ( e . createFileDiagnostic ( t , y , g . modifiers . end - y , e . Diagnostics . parameter_modifiers_can_only_be_used_in_a_ts_file ) ) , ! 0 ; } if ( g . questionToken ) return s . push ( e . createDiagnosticForNode ( g . questionToken , e . Diagnostics . _0_can_only_be_used_in_a_ts_file , "?" ) ) , ! 0 ; if ( g . type ) return s . push ( e . createDiagnosticForNode ( g . type , e . Diagnostics . types_can_only_be_used_in_a_ts_file ) ) , ! 0 ; break ; case 142 : return s . push ( e . createDiagnosticForNode ( c , e . Diagnostics . property_declarations_can_only_be_used_in_a_ts_file ) ) , ! 0 ; case 220 : return s . push ( e . createDiagnosticForNode ( c , e . Diagnostics . enum_declarations_can_only_be_used_in_a_ts_file ) ) , ! 0 ; case 174 : var h = c ; return s . push ( e . createDiagnosticForNode ( h . type , e . Diagnostics . type_assertion_expressions_can_only_be_used_in_a_ts_file ) ) , ! 0 ; case 140 : return a . experimentalDecorators || s . push ( e . createDiagnosticForNode ( c , e . Diagnostics . Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_the_experimentalDecorators_option_to_remove_this_warning ) ) , ! 0 ; } return e . forEachChild ( c , n ) ; } function r ( n ) { if ( n ) { var r = n . pos ; return s . push ( e . createFileDiagnostic ( t , r , n . end - r , e . Diagnostics . type_parameter_declarations_can_only_be_used_in_a_ts_file ) ) , ! 0 ; } return ! 1 ; } function i ( t ) { return t ? ( s . push ( e . createDiagnosticForNode ( t , e . Diagnostics . types_can_only_be_used_in_a_ts_file ) ) , ! 0 ) : ! 1 ; } function o ( t ) { if ( t ) for ( var n = 0 , r = t ; n < r . length ; n ++ ) { var a = r [ n ] ; switch ( a . kind ) { case 112 : case 110 : case 111 : case 122 : return s . push ( e . createDiagnosticForNode ( a , e . Diagnostics . _0_can_only_be_used_in_a_ts_file , e . tokenToString ( a . kind ) ) ) , ! 0 ; case 113 : case 82 : case 74 : case 77 : case 115 : } } return ! 1 ; } var s = [ ] ; return n ( t ) , s ; } ) ; } function w ( t , n ) { return S ( function ( ) { var r = p ( ) . getEmitResolver ( t , n ) , a = function ( ) { } ; return e . getDeclarationDiagnostics ( d ( a ) , r , t ) ; } ) ; } function A ( t , n ) { return e . isDeclarationFile ( t ) ? [ ] : w ( t , n ) ; } function P ( ) { var t = [ ] ; return e . addRange ( t , ee . getGlobalDiagnostics ( ) ) , e . addRange ( t , te . getGlobalDiagnostics ( ) ) , e . sortAndDeduplicateDiagnostics ( t ) ; } function N ( ) { var t = [ ] ; return e . addRange ( t , p ( ) . getGlobalDiagnostics ( ) ) , e . sortAndDeduplicateDiagnostics ( t ) ; } function O ( t ) { return e . getBaseFileName ( t ) . indexOf ( "." ) >= 0 ; } function R ( t , n ) { B ( e . normalizePath ( t ) , n ) ; } function I ( e , t ) { return e . fileName === t . fileName ; } function F ( e , t ) { return e . text === t . text ; } function L ( e ) { return e . text ; } function M ( t ) { function n ( r , o ) { switch ( r . kind ) { case 225 : case 224 : case 231 : var c = e . getExternalModuleName ( r ) ; if ( ! c || 9 !== c . kind ) break ; if ( ! c . text ) break ; o && e . isExternalModuleNameRelative ( c . text ) || ( a || ( a = [ ] ) ) . push ( c ) ; break ; case 221 : if ( e . isAmbientModule ( r ) && ( o || 4 & r . flags || e . isDeclarationFile ( t ) ) ) { var _ = r . name ; if ( s || o && ! e . isExternalModuleNameRelative ( _ . text ) ) ( i || ( i = [ ] ) ) . push ( _ ) ; else if ( ! o ) for ( var u = 0 , l = r . body . statements ; u < l . length ; u ++ ) { var d = l [ u ] ; n ( d , ! 0 ) ; } } } } function r ( t ) { e . isRequireCall ( t , ! 0 ) ? ( a || ( a = [ ] ) ) . push ( t . arguments [ 0 ] ) : e . forEachChild ( t , r ) ; } if ( ! t . imports ) { for ( var a , i , o = e . isSourceFileJavaScript ( t ) , s = e . isExternalModule ( t ) , c = 0 , _ = t . statements ; c < _ . length ; c ++ ) { var u = _ [ c ] ; n ( u , ! 1 ) , o && r ( u ) ; } t . imports = a || m , t . moduleAugmentations = i || m ; } } function B ( t , n , r , o , c ) { var _ , u ; if ( O ( t ) ) a . allowNonTsExtensions || e . forEach ( ie , function ( n ) { return e . fileExtensionIs ( i . getCanonicalFileName ( t ) , n ) ; } ) ? K ( t , e . toPath ( t , ce , J ) , n , r , o , c ) ? r && i . getCanonicalFileName ( t ) === i . getCanonicalFileName ( r . fileName ) && ( u = e . Diagnostics . A_file_cannot_have_a_reference_to_itself , _ = [ t ] ) : ( u = e . Diagnostics . File_0_not_found , _ = [ t ] ) : ( u = e . Diagnostics . File_0_has_unsupported_extension_The_only_supported_extensions_are_1 , _ = [ t , "'" + ie . join ( "', '" ) + "'" ] ) ; else { var l = a . allowNonTsExtensions && K ( t , e . toPath ( t , ce , J ) , n , r , o , c ) ; l || ( a . allowNonTsExtensions ? ( u = e . Diagnostics . File_0_not_found , _ = [ t ] ) : e . forEach ( ie , function ( a ) { return K ( t + a , e . toPath ( t + a , ce , J ) , n , r , o , c ) ; } ) || ( u = e . Diagnostics . File_0_not_found , t += ".ts" , _ = [ t ] ) ) ; } u && ! s ( ) && ( void 0 !== r && void 0 !== c && void 0 !== o ? ee . add ( e . createFileDiagnostic . apply ( void 0 , [ r , o , c - o , u ] . concat ( _ ) ) ) : ee . add ( e . createCompilerDiagnostic . apply ( void 0 , [ u ] . concat ( _ ) ) ) ) ; } function z ( t , n , r , a , i ) { void 0 !== r && void 0 !== a && void 0 !== i ? ee . add ( e . createFileDiagnostic ( r , a , i - a , e . Diagnostics . File_name_0_differs_from_already_included_file_name_1_only_in_casing , t , n ) ) : ee . add ( e . createCompilerDiagnostic ( e . Diagnostics . File_name_0_differs_from_already_included_file_name_1_only_in_casing , t , n ) ) ; } function K ( t , n , r , o , _ , u ) { if ( ue . contains ( n ) ) { var l = ue . get ( n ) ; return l && a . forceConsistentCasingInFileNames && e . getNormalizedAbsolutePath ( l . fileName , ce ) !== e . getNormalizedAbsolutePath ( t , ce ) && z ( t , l . fileName , o , _ , u ) , l ; } var d = ! e . hasTypeScriptFileExtension ( t ) ; if ( ! d || ! s ( ) ) { var p = i . getSourceFile ( t , a . target , function ( n ) { void 0 !== o && void 0 !== _ && void 0 !== u ? ee . add ( e . createFileDiagnostic ( o , _ , u - _ , e . Diagnostics . Cannot_read_file_0_Colon_1 , t , n ) ) : ee . add ( e . createCompilerDiagnostic ( e . Diagnostics . Cannot_read_file_0_Colon_1 , t , n ) ) ; } ) ; if ( d && ! a . disableSizeLimit && p && p . text && ( re += p . text . length , re > e . maxProgramSizeForNonTsFiles ) ) { var f = c ( ) , m = n . substring ( 0 , Math . max ( f . length , n . indexOf ( e . directorySeparator , f . length ) ) ) ; return m [ m . length - 1 ] !== e . directorySeparator && ( m += e . directorySeparator ) , te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Too_many_JavaScript_files_in_the_project_Consider_specifying_the_exclude_setting_in_project_configuration_to_limit_included_source_folders_The_likely_folder_to_exclude_is_0_To_disable_the_project_size_limit_set_the_disableSizeLimit_compiler_option_to_true , m ) ) , void ( re = ne ) ; } if ( ue . set ( n , p ) , p ) { if ( p . path = n , i . useCaseSensitiveFileNames ( ) ) { var g = le . get ( n ) ; g ? z ( t , g . fileName , o , _ , u ) : le . set ( n , p ) ; } ae = ae || p . hasNoDefaultLib ; var y = e . getDirectoryPath ( t ) ; a . noResolve || j ( p , y ) , U ( p , y ) , r ? Z . unshift ( p ) : Z . push ( p ) ; } return p ; } } function j ( t , r ) { e . forEach ( t . referencedFiles , function ( e ) { var r = n ( e . fileName , t . fileName ) ; B ( r , ! 1 , t , e . pos , e . end ) ; } ) ; } function J ( e ) { return i . getCanonicalFileName ( e ) ; } function U ( t , n ) { if ( M ( t ) , t . imports . length || t . moduleAugmentations . length ) { t . resolvedModules = { } ; for ( var r = e . map ( e . concatenate ( t . imports , t . moduleAugmentations ) , L ) , i = _e ( r , e . getNormalizedAbsolutePath ( t . fileName , ce ) ) , o = 0 ; o < r . length ; o ++ ) { var s = i [ o ] ; e . setResolvedModule ( t , r [ o ] , s ) ; var c = s && ! a . noResolve && o < t . imports . length ; if ( c ) { var _ = K ( s . resolvedFileName , e . toPath ( s . resolvedFileName , ce , J ) , ! 1 , t , e . skipTrivia ( t . text , t . imports [ o ] . pos ) , t . imports [ o ] . end ) ; if ( _ && s . isExternalLibraryImport ) if ( ! e . isExternalModule ( _ ) && _ . statements . length ) { var u = e . getTokenPosOfNode ( t . imports [ o ] , t ) ; ee . add ( e . createFileDiagnostic ( t , u , t . imports [ o ] . end - u , e . Diagnostics . Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_the_package_definition , _ . fileName ) ) ; } else if ( _ . referencedFiles . length ) { var l = _ . referencedFiles [ 0 ] ; ee . add ( e . createFileDiagnostic ( _ , l . pos , l . end - l . pos , e . Diagnostics . Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_package_author_to_update_the_package_definition ) ) ; } } } } else t . resolvedModules = void 0 ; } function q ( t ) { var n , r = e . forEach ( Z , function ( t ) { if ( ! e . isDeclarationFile ( t ) ) { var r = e . getNormalizedPathComponents ( t . fileName , ce ) ; if ( r . pop ( ) , ! n ) return void ( n = r ) ; for ( var a = 0 , i = Math . min ( n . length , r . length ) ; i > a ; a ++ ) if ( J ( n [ a ] ) !== J ( r [ a ] ) ) { if ( 0 === a ) return ! 0 ; n . length = a ; break ; } r . length < n . length && ( n . length = r . length ) ; } } ) ; return r ? "" : n ? e . getNormalizedPathFromPathComponents ( n ) : ce ; } function W ( t , n ) { var r = ! 0 ; if ( t ) for ( var o = i . getCanonicalFileName ( e . getNormalizedAbsolutePath ( n , ce ) ) , s = 0 , c = t ; s < c . length ; s ++ ) { var _ = c [ s ] ; if ( ! e . isDeclarationFile ( _ ) ) { var u = i . getCanonicalFileName ( e . getNormalizedAbsolutePath ( _ . fileName , ce ) ) ; 0 !== u . indexOf ( o ) && ( te . add ( e . createCompilerDiagnostic ( e . Diagnostics . File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files , _ . fileName , a . rootDir ) ) , r = ! 1 ) ; } } return r ; } function V ( ) { function t ( t , n ) { if ( t ) { var r = e . toPath ( t , ce , J ) ; ue . contains ( r ) && H ( t , r , e . Diagnostics . Cannot_write_file_0_because_it_would_overwrite_input_file ) , n . contains ( r ) ? H ( t , r , e . Diagnostics . Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files ) : n . set ( r , ! 0 ) ; } } a . isolatedModules && ( a . declaration && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Option_0_cannot_be_specified_with_option_1 , "declaration" , "isolatedModules" ) ) , a . noEmitOnError && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Option_0_cannot_be_specified_with_option_1 , "noEmitOnError" , "isolatedModules" ) ) , a . out && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Option_0_cannot_be_specified_with_option_1 , "out" , "isolatedModules" ) ) , a . outFile && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Option_0_cannot_be_specified_with_option_1 , "outFile" , "isolatedModules" ) ) ) , a . inlineSourceMap && ( a . sourceMap && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Option_0_cannot_be_specified_with_option_1 , "sourceMap" , "inlineSourceMap" ) ) , a . mapRoot && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Option_0_cannot_be_specified_with_option_1 , "mapRoot" , "inlineSourceMap" ) ) ) , a . inlineSources && ( a . sourceMap || a . inlineSourceMap || te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Option_inlineSources_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided ) ) , a . sourceRoot && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Option_0_cannot_be_specified_with_option_1 , "sourceRoot" , "inlineSources" ) ) ) , a . out && a . outFile && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Option_0_cannot_be_specified_with_option_1 , "out" , "outFile" ) ) , a . sourceMap || ! a . mapRoot && ! a . sourceRoot || ( a . mapRoot && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Option_0_cannot_be_specified_without_specifying_option_1 , "mapRoot" , "sourceMap" ) ) , a . sourceRoot && ! a . inlineSourceMap && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Option_0_cannot_be_specified_without_specifying_option_1 , "sourceRoot" , "sourceMap" ) ) ) ; var n = a . target || 0 , r = a . outFile || a . out , o = e . forEach ( Z , function ( t ) { return e . isExternalModule ( t ) ? t : void 0 ; } ) ; if ( a . isolatedModules ) { 0 === a . module && 2 > n && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher ) ) ; var s = e . forEach ( Z , function ( t ) { return e . isExternalModule ( t ) || e . isDeclarationFile ( t ) ? void 0 : t ; } ) ; if ( s ) { var _ = e . getErrorSpanForNode ( s , s ) ; te . add ( e . createFileDiagnostic ( s , _ . start , _ . length , e . Diagnostics . Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided ) ) ; } } else if ( o && 2 > n && 0 === a . module ) { var _ = e . getErrorSpanForNode ( o , o . externalModuleIndicator ) ; te . add ( e . createFileDiagnostic ( o , _ . start , _ . length , e . Diagnostics . Cannot_compile_modules_unless_the_module_flag_is_provided_with_a_valid_module_type_Consider_setting_the_module_compiler_option_in_a_tsconfig_json_file ) ) ; } if ( 5 === a . module && 2 > n && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Cannot_compile_modules_into_es2015_when_targeting_ES5_or_lower ) ) , r && a . module && 2 !== a . module && 4 !== a . module && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Only_amd_and_system_modules_are_supported_alongside_0 , a . out ? "out" : "outFile" ) ) , a . outDir || a . sourceRoot || a . mapRoot ) { var u = c ( ) ; a . outDir && "" === u && e . forEach ( Z , function ( t ) { return e . getRootLength ( t . fileName ) > 1 ; } ) && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Cannot_find_the_common_subdirectory_path_for_the_input_files ) ) ; } if ( a . noEmit ? ( a . out && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Option_0_cannot_be_specified_with_option_1 , "noEmit" , "out" ) ) , a . outFile && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Option_0_cannot_be_specified_with_option_1 , "noEmit" , "outFile" ) ) , a . outDir && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Option_0_cannot_be_specified_with_option_1 , "noEmit" , "outDir" ) ) , a . declaration && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Option_0_cannot_be_specified_with_option_1 , "noEmit" , "declaration" ) ) ) : a . allowJs && a . declaration && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Option_0_cannot_be_specified_with_option_1 , "allowJs" , "declaration" ) ) , a . emitDecoratorMetadata && ! a . experimentalDecorators && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Option_0_cannot_be_specified_without_specifying_option_1 , "emitDecoratorMetadata" , "experimentalDecorators" ) ) , a . reactNamespace && ! e . isIdentifier ( a . reactNamespace , n ) && te . add ( e . createCompilerDiagnostic ( e . Diagnostics . Invalide_value_for_reactNamespace_0_is_not_a_valid_identifier , a . reactNamespace ) ) , ! a . noEmit && ! a . suppressOutputPathCheck ) { var l = d ( ) , p = e . createFileMap ( i . useCaseSensitiveFileNames ( ) ? void 0 : function ( e ) { return e . toLocaleLowerCase ( ) ; } ) ; e . forEachExpectedEmitFile ( l , function ( e , n , r ) { t ( e . jsFilePath , p ) , t ( e . declarationFilePath , p ) ; } ) ; } } function H ( t , n , r ) { se . set ( e . toPath ( t , ce , J ) , ! 0 ) , te . add ( e . createCompilerDiagnostic ( r , t ) ) ; } var G , X , Q , Y , $ , Z = [ ] , ee = e . createDiagnosticCollection ( ) , te = e . createDiagnosticCollection ( ) , ne = - 1 , re = 0 , ae = a . noLib , ie = e . getSupportedExtensions ( a ) , oe = ( new Date ) . getTime ( ) ; i = i || l ( a ) ; var se = e . createFileMap ( J ) , ce = i . getCurrentDirectory ( ) , _e = i . resolveModuleNames ? function ( e , t ) { return i . resolveModuleNames ( e , t ) ; } : function ( t , n ) { for ( var o = [ ] , s = { } , c = 0 , _ = t ; c < _ . length ; c ++ ) { var u = _ [ c ] , l = void 0 ; e . hasProperty ( s , u ) ? l = s [ u ] : ( l = r ( u , n , a , i ) . resolvedModule , s [ u ] = l ) , o . push ( l ) ; } return o ; } , ue = e . createFileMap ( ) , le = i . useCaseSensitiveFileNames ( ) ? e . createFileMap ( function ( e ) { return e . toLowerCase ( ) ; } ) : void 0 ; if ( o ) { var de = o . getCompilerOptions ( ) ; de . module === a . module && de . noResolve === a . noResolve && de . target === a . target && de . noLib === a . noLib && de . jsx === a . jsx && de . allowJs === a . allowJs && de . disableSizeLimit === a . disableSizeLimit || ( o = void 0 ) ; } return u ( ) || ( e . forEach ( t , function ( e ) { return R ( e , ! 1 ) ; } ) , ae || R ( i . getDefaultLibFileName ( a ) , ! 0 ) ) , o = void 0 , G = { getRootFileNames : function ( ) { return t ; } , getSourceFile : v , getSourceFiles : function ( ) { return Z ; } , getCompilerOptions : function ( ) { return a ; } , getSyntacticDiagnostics : b , getOptionsDiagnostics : P , getGlobalDiagnostics : N , getSemanticDiagnostics : x , getDeclarationDiagnostics : C , getTypeChecker : f , getClassifiableNames : _ , getDiagnosticsProducingTypeChecker : p , getCommonSourceDirectory : c , emit : g , getCurrentDirectory : function ( ) { return ce ; } , getNodeCount : function ( ) { return p ( ) . getNodeCount ( ) ; } , getIdentifierCount : function ( ) { return p ( ) . getIdentifierCount ( ) ; } , getSymbolCount : function ( ) { return p ( ) . getSymbolCount ( ) ; } , getTypeCount : function ( ) { return p ( ) . getTypeCount ( ) ; } , getFileProcessingDiagnostics : function ( ) { return ee ; } } , V ( ) , e . programTime += ( new Date ) . getTime ( ) - oe , G ; } e . programTime = 0 , e . emitTime = 0 , e . ioReadTime = 0 , e . ioWriteTime = 0 , e . maxProgramSizeForNonTsFiles = 20971520 ; var m = [ ] ; e . version = "1.8.10" , e . findConfigFile = t , e . resolveTripleslashReference = n , e . resolveModuleName = r , e . nodeModuleNameResolver = a , e . directoryProbablyExists = i , e . classicNameResolver = u , e . defaultInitCompilerOptions = { module : 1 , target : 1 , noImplicitAny : ! 1 , sourceMap : ! 1 } , e . createCompilerHost = l , e . getPreEmitDiagnostics = d , e . flattenDiagnosticMessageText = p , e . createProgram = f ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { function t ( ) { if ( _ ) return _ ; var t = { } , n = { } ; return e . forEach ( e . optionDeclarations , function ( e ) { t [ e . name . toLowerCase ( ) ] = e , e . shortName && ( n [ e . shortName ] = e . name ) ; } ) , _ = { optionNameMap : t , shortOptionNames : n } ; } function n ( n , r ) { function a ( t ) { for ( var n = 0 ; n < t . length ; ) { var r = t [ n ] ; if ( n ++ , 64 === r . charCodeAt ( 0 ) ) i ( r . slice ( 1 ) ) ; else if ( 45 === r . charCodeAt ( 0 ) ) if ( r = r . slice ( 45 === r . charCodeAt ( 1 ) ? 2 : 1 ) . toLowerCase ( ) , e . hasProperty ( l , r ) && ( r = l [ r ] ) , e . hasProperty ( u , r ) ) { var a = u [ r ] ; switch ( t [ n ] || "boolean" === a . type || c . push ( e . createCompilerDiagnostic ( e . Diagnostics . Compiler_option_0_expects_an_argument , a . name ) ) , a . type ) { case "number" : o [ a . name ] = parseInt ( t [ n ] ) , n ++ ; break ; case "boolean" : o [ a . name ] = ! 0 ; break ; case "string" : o [ a . name ] = t [ n ] || "" , n ++ ; break ; default : var _ = a . type , d = ( t [ n ] || "" ) . toLowerCase ( ) ; n ++ , e . hasProperty ( _ , d ) ? o [ a . name ] = _ [ d ] : c . push ( e . createCompilerDiagnostic ( a . error ) ) ; } } else c . push ( e . createCompilerDiagnostic ( e . Diagnostics . Unknown_compiler_option_0 , r ) ) ; else s . push ( r ) ; } } function i ( t ) { var n = r ? r ( t ) : e . sys . readFile ( t ) ; if ( ! n ) return void c . push ( e . createCompilerDiagnostic ( e . Diagnostics . File_0_not_found , t ) ) ; for ( var i = [ ] , o = 0 ; ; ) { for ( ; o < n . length && n . charCodeAt ( o ) <= 32 ; ) o ++ ; if ( o >= n . length ) break ; var s = o ; if ( 34 === n . charCodeAt ( s ) ) { for ( o ++ ; o < n . length && 34 !== n . charCodeAt ( o ) ; ) o ++ ; o < n . length ? ( i . push ( n . substring ( s + 1 , o ) ) , o ++ ) : c . push ( e . createCompilerDiagnostic ( e . Diagnostics . Unterminated_quoted_string_in_response_file_0 , t ) ) ; } else { for ( ; n . charCodeAt ( o ) > 32 ; ) o ++ ; i . push ( n . substring ( s , o ) ) ; } } a ( i ) ; } var o = { } , s = [ ] , c = [ ] , _ = t ( ) , u = _ . optionNameMap , l = _ . shortOptionNames ; return a ( n ) , { options : o , fileNames : s , errors : c } ; } function r ( t , n ) { var r = "" ; try { r = n ( t ) ; } catch ( i ) { return { error : e . createCompilerDiagnostic ( e . Diagnostics . Cannot_read_file_0_Colon_1 , t , i . message ) } ; } return a ( t , r ) ; } function a ( t , n ) { try { var r = i ( n ) ; return { config : /\S/ . test ( r ) ? JSON . parse ( r ) : { } } ; } catch ( a ) { return { error : e . createCompilerDiagnostic ( e . Diagnostics . Failed_to_parse_file_0_Colon_1 , t , a . message ) } ; } } function i ( t ) { for ( var n , r = "" , a = e . createScanner ( 1 , ! 1 , 0 , t ) ; 1 !== ( n = a . scan ( ) ) ; ) switch ( n ) { case 2 : case 3 : r += a . getTokenText ( ) . replace ( /\S/g , " " ) ; break ; default : r += a . getTokenText ( ) ; } return r ; } function o ( t , n , r , a , i ) { function o ( ) { var a = [ ] ; if ( e . hasProperty ( t , "files" ) ) t . files instanceof Array ? a = e . map ( t . files , function ( t ) { return e . combinePaths ( r , t ) ; } ) : d . push ( e . createCompilerDiagnostic ( e . Diagnostics . Compiler_option_0_requires_a_value_of_type_1 , "files" , "Array" ) ) ; else { var i = { } , o = [ ] ; if ( t . exclude instanceof Array ) o = t . exclude ; else { o = [ "node_modules" , "bower_components" ] ; var s = t . compilerOptions && t . compilerOptions . outDir ; s && o . push ( s ) ; } o = e . map ( o , e . normalizeSlashes ) ; var c = e . getSupportedExtensions ( p ) ; e . Debug . assert ( e . indexOf ( c , ".ts" ) < e . indexOf ( c , ".d.ts" ) , "Changed priority of extensions to pick" ) ; for ( var _ = 0 , u = c ; _ < u . length ; _ ++ ) for ( var l = u [ _ ] , f = n . readDirectory ( r , l , o ) , m = 0 , g = f ; m < g . length ; m ++ ) { var y = g [ m ] ; if ( ! ( ".ts" === l && e . fileExtensionIs ( y , ".d.ts" ) || /\.min\.js$/ . test ( y ) ) ) { if ( ".d.ts" === l || p . allowJs && e . contains ( e . supportedJavascriptExtensions , l ) ) { var h = y . substr ( 0 , y . length - l . length ) ; if ( e . hasProperty ( i , h + ".ts" ) || e . hasProperty ( i , h + ".tsx" ) ) continue ; } i [ y ] = ! 0 , a . push ( y ) ; } } } return a ; } function _ ( ) { var n = "jsconfig.json" === e . getBaseFileName ( i ) ? { enableAutoDiscovery : ! 0 , include : [ ] , exclude : [ ] } : { enableAutoDiscovery : ! 1 , include : [ ] , exclude : [ ] } , r = t . typingOptions ; if ( r ) for ( var a in r ) "enableAutoDiscovery" === a ? "boolean" == typeof r [ a ] ? n . enableAutoDiscovery = r [ a ] : d . push ( e . createCompilerDiagnostic ( e . Diagnostics . Unknown_typing_option_0 , a ) ) : "include" === a ? n . include = c ( a , r [ a ] , d ) : "exclude" === a ? n . exclude = c ( a , r [ a ] , d ) : d . push ( e . createCompilerDiagnostic ( e . Diagnostics . Unknown_typing_option_0 , a ) ) ; return n ; } void 0 === a && ( a = { } ) ; var u = s ( t . compilerOptions , r , i ) , l = u . options , d = u . errors , p = e . extend ( a , l ) ; return { options : p , fileNames : o ( ) , typingOptions : _ ( ) , errors : d } ; } function s ( t , n , r ) { var a = { } , i = [ ] ; if ( r && "jsconfig.json" === e . getBaseFileName ( r ) && ( a . allowJs = ! 0 ) , ! t ) return { options : a , errors : i } ; var o = e . arrayToMap ( e . optionDeclarations , function ( e ) { return e . name ; } ) ; for ( var s in t ) if ( e . hasProperty ( o , s ) ) { var c = o [ s ] , _ = c . type , u = t [ s ] , l = "string" == typeof _ ? _ : "string" ; if ( typeof u === l ) { if ( "string" != typeof _ ) { var d = u . toLowerCase ( ) ; e . hasProperty ( _ , d ) ? u = _ [ d ] : ( i . push ( e . createCompilerDiagnostic ( c . error ) ) , u = 0 ) ; } c . isFilePath && ( u = e . normalizePath ( e . combinePaths ( n , u ) ) , "" === u && ( u = "." ) ) , a [ c . name ] = u ; } else i . push ( e . createCompilerDiagnostic ( e . Diagnostics . Compiler_option_0_requires_a_value_of_type_1 , s , l ) ) ; } else i . push ( e . createCompilerDiagnostic ( e . Diagnostics . Unknown_compiler_option_0 , s ) ) ; return { options : a , errors : i } ; } function c ( t , n , r , a ) { var i = [ ] , o = ! 1 ; if ( e . isArray ( n ) ) for ( var s = 0 , c = n ; s < c . length ; s ++ ) { var _ = c [ s ] ; if ( "string" != typeof _ ) { o = ! 0 ; break ; } var u = a ? a ( _ ) : _ ; i . push ( u ) ; } else o = ! 0 ; return o && r . push ( e . createCompilerDiagnostic ( e . Diagnostics . Option_0_should_have_array_of_strings_as_a_value , t ) ) , i ; } e . optionDeclarations = [ { name : "charset" , type : "string" } , { name : "declaration" , shortName : "d" , type : "boolean" , description : e . Diagnostics . Generates_corresponding_d_ts_file } , { name : "diagnostics" , type : "boolean" } , { name : "emitBOM" , type : "boolean" } , { name : "help" , shortName : "h" , type : "boolean" , description : e . Diagnostics . Print_this_message } , { name : "init" , type : "boolean" , description : e . Diagnostics . Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file } , { name : "inlineSourceMap" , type : "boolean" } , { name : "inlineSources" , type : "boolean" } , { name : "jsx" , type : { preserve : 1 , react : 2 } , paramType : e . Diagnostics . KIND , description : e . Diagnostics . Specify_JSX_code_generation_Colon_preserve_or_react , error : e . Diagnostics . Argument_for_jsx_must_be_preserve_or_react } , { name : "reactNamespace" , type : "string" , description : e . Diagnostics . Specifies_the_object_invoked_for_createElement_and_spread_when_targeting_react_JSX_emit } , { name : "listFiles" , type : "boolean" } , { name : "locale" , type : "string" } , { name : "mapRoot" , type : "string" , isFilePath : ! 0 , description : e . Diagnostics . Specifies_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations , paramType : e . Diagnostics . LOCATION } , { name : "module" , shortName : "m" , type : { none : 0 , commonjs : 1 , amd : 2 , system : 4 , umd : 3 , es6 : 5 , es2015 : 5 } , description : e . Diagnostics . Specify_module_code_generation_Colon_commonjs_amd_system_umd_or_es2015 , paramType : e . Diagnostics . KIND , error : e . Diagnostics . Argument_for_module_option_must_be_commonjs_amd_system_umd_es2015_or_none } , { name : "newLine" , type : { crlf : 0 , lf : 1 } , description : e . Diagnostics . Specifies_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix , paramType : e . Diagnostics . NEWLINE , error : e . Diagnostics . Argument_for_newLine_option_must_be_CRLF_or_LF } , { name : "noEmit" , type : "boolean" , description : e . Diagnostics . Do_not_emit_outputs } , { name : "noEmitHelpers" , type : "boolean" } , { name : "noEmitOnError" , type : "boolean" , description : e . Diagnostics . Do_not_emit_outputs_if_any_errors_were_reported } , { name : "noImplicitAny" , type : "boolean" , description : e . Diagnostics . Raise_error_on_expressions_and_declarations_with_an_implied_any_type } , { name : "noLib" , type : "boolean" } , { name : "noResolve" , type : "boolean" } , { name : "skipDefaultLibCheck" , type : "boolean" } , { name : "out" , type : "string" , isFilePath : ! 1 , paramType : e . Diagnostics . FILE } , { name : "outFile" , type : "string" , isFilePath : ! 0 , description : e . Diagnostics . Concatenate_and_emit_output_to_single_file , paramType : e . Diagnostics . FILE } , { name : "outDir" , type : "string" , isFilePath : ! 0 , description : e . Diagnostics . Redirect_output_structure_to_the_directory , paramType : e . Diagnostics . DIRECTORY } , { name : "preserveConstEnums" , type : "boolean" , description : e . Diagnostics . Do_not_erase_const_enum_declarations_in_generated_code } , { name : "pretty" , paramType : e . Diagnostics . KIND , description : e . Diagnostics . Stylize_errors_and_messages_using_color_and_context_experimental , type : "boolean" } , { name : "project" , shortName : "p" , type : "string" , isFilePath : ! 0 , description : e . Diagnostics . Compile_the_project_in_the_given_directory , paramType : e . Diagnostics . DIRECTORY } , { name : "removeComments" , type : "boolean" , description : e . Diagnostics . Do_not_emit_comments_to_output } , { name : "rootDir" , type : "string" , isFilePath : ! 0 , description : e . Diagnostics . Specifies_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir , paramType : e . Diagnostics . LOCATION } , { name : "isolatedModules" , type : "boolean" } , { name : "sourceMap" , type : "boolean" , description : e . Diagnostics . Generates_corresponding_map_file } , { name : "sourceRoot" , type : "string" , isFilePath : ! 0 , description : e . Diagnostics . Specifies_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations , paramType : e . Diagnostics . LOCATION } , { name : "suppressExcessPropertyErrors" , type : "boolean" , description : e . Diagnostics . Suppress_excess_property_checks_for_object_literals , experimental : ! 0 } , { name : "suppressImplicitAnyIndexErrors" , type : "boolean" , description : e . Diagnostics . Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures } , { name : "stripInternal" , type : "boolean" , description : e . Diagnostics . Do_not_emit_declarations_for_code_that_has_an_internal_annotation , experimental : ! 0 } , { name : "target" , shortName : "t" , type : { es3 : 0 , es5 : 1 , es6 : 2 , es2015 : 2 } , description : e . Diagnostics . Specify_ECMAScript_target_version_Colon_ES3_default_ES5_or_ES2015_experimental , paramType : e . Diagnostics . VERSION , error : e . Diagnostics . Argument_for_target_option_must_be_ES3_ES5_or_ES2015 } , { name : "version" , shortName : "v" , type : "boolean" , description : e . Diagnostics . Print_the_compiler_s_version } , { name : "watch" , shortName : "w" , type : "boolean" , description : e . Diagnostics . Watch_input_files } , { name : "experimentalDecorators" , type : "boolean" , description : e . Diagnostics . Enables_experimental_support_for_ES7_decorators } , { name : "emitDecoratorMetadata" , type : "boolean" , experimental : ! 0 , description : e . Diagnostics . Enables_experimental_support_for_emitting_type_metadata_for_decorators } , { name : "moduleResolution" , type : { node : 2 , classic : 1 } , description : e . Diagnostics . Specifies_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6 , error : e . Diagnostics . Argument_for_moduleResolution_option_must_be_node_or_classic } , { name : "allowUnusedLabels" , type : "boolean" , description : e . Diagnostics . Do_not_report_errors_on_unused_labels } , { name : "noImplicitReturns" , type : "boolean" , description : e . Diagnostics . Report_error_when_not_all_code_paths_in_function_return_a_value } , { name : "noFallthroughCasesInSwitch" , type : "boolean" , description : e . Diagnostics . Report_errors_for_fallthrough_cases_in_switch_statement } , { name : "allowUnreachableCode" , type : "boolean" , description : e . Diagnostics . Do_not_report_errors_on_unreachable_code } , { name : "forceConsistentCasingInFileNames" , type : "boolean" , description : e . Diagnostics . Disallow_inconsistently_cased_references_to_the_same_file } , { name : "allowSyntheticDefaultImports" , type : "boolean" , description : e . Diagnostics . Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking } , { name : "allowJs" , type : "boolean" , description : e . Diagnostics . Allow_javascript_files_to_be_compiled } , { name : "noImplicitUseStrict" , type : "boolean" , description : e . Diagnostics . Do_not_emit_use_strict_directives_in_module_output } , { name : "noCustomAsyncPromise" , type : "boolean" , experimental : ! 0 } , { name : "disableSizeLimit" , type : "boolean" } ] ; var _ ; e . getOptionNameMap = t , e . parseCommandLine = n , e . readConfigFile = r , e . parseConfigFileTextToJson = a , e . parseJsonConfigFileContent = o , e . convertCompilerOptionsFromJson = s ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( t ) { function n ( t ) { function n ( t , n , r , a ) { if ( t && n && r ) { var i = { textSpan : e . createTextSpanFromBounds ( n . pos , r . end ) , hintSpan : e . createTextSpanFromBounds ( t . getStart ( ) , t . end ) , bannerText : _ , autoCollapse : a } ; c . push ( i ) ; } } function r ( t , n ) { if ( t ) { var r = { textSpan : e . createTextSpanFromBounds ( t . pos , t . end ) , hintSpan : e . createTextSpanFromBounds ( t . pos , t . end ) , bannerText : _ , autoCollapse : n } ; c . push ( r ) ; } } function a ( n ) { var a = e . getLeadingCommentRangesOfNode ( n , t ) ; if ( a ) { for ( var o = - 1 , s = - 1 , c = ! 0 , _ = 0 , u = 0 , l = a ; u < l . length ; u ++ ) { var d = l [ u ] ; 2 === d . kind ? ( c && ( o = d . pos ) , c = ! 1 , s = d . end , _ ++ ) : 3 === d . kind && ( i ( _ , o , s ) , r ( d , ! 1 ) , _ = 0 , s = - 1 , c = ! 0 ) ; } i ( _ , o , s ) ; } } function i ( e , t , n ) { if ( e > 1 ) { var a = { pos : t , end : n , kind : 2 } ; r ( a , ! 1 ) ; } } function o ( t ) { return e . isFunctionBlock ( t ) && 177 !== t . parent . kind ; } function s ( r ) { if ( ! ( u > l ) ) { switch ( e . isDeclaration ( r ) && a ( r ) , r . kind ) { case 195 : if ( ! e . isFunctionBlock ( r ) ) { var i = r . parent , d = e . findChildOfKind ( r , 15 , t ) , p = e . findChildOfKind ( r , 16 , t ) ; if ( 200 === i . kind || 203 === i . kind || 204 === i . kind || 202 === i . kind || 199 === i . kind || 201 === i . kind || 208 === i . kind || 247 === i . kind ) { n ( i , d , p , o ( r ) ) ; break ; } if ( 212 === i . kind ) { var f = i ; if ( f . tryBlock === r ) { n ( i , d , p , o ( r ) ) ; break ; } if ( f . finallyBlock === r ) { var m = e . findChildOfKind ( f , 85 , t ) ; if ( m ) { n ( m , d , p , o ( r ) ) ; break ; } } } var g = e . createTextSpanFromBounds ( r . getStart ( ) , r . end ) ; c . push ( { textSpan : g , hintSpan : g , bannerText : _ , autoCollapse : o ( r ) } ) ; break ; } case 222 : var d = e . findChildOfKind ( r , 15 , t ) , p = e . findChildOfKind ( r , 16 , t ) ; n ( r . parent , d , p , o ( r ) ) ; break ; case 217 : case 218 : case 220 : case 168 : case 223 : var d = e . findChildOfKind ( r , 15 , t ) , p = e . findChildOfKind ( r , 16 , t ) ; n ( r , d , p , o ( r ) ) ; break ; case 167 : var y = e . findChildOfKind ( r , 19 , t ) , h = e . findChildOfKind ( r , 20 , t ) ; n ( r , y , h , o ( r ) ) ; } u ++ , e . forEachChild ( r , s ) , u -- ; } } var c = [ ] , _ = "..." , u = 0 , l = 20 ; return s ( t ) , c ; } t . collectElements = n ; } ( t = e . OutliningElementsCollector || ( e . OutliningElementsCollector = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( t ) { function n ( t , n , r , a ) { function i ( t ) { e . Debug . assert ( t . length > 0 ) ; for ( var n = 0 , r = t ; n < r . length ; n ++ ) { var a = r [ n ] ; if ( ! a . isCaseSensitive ) return ! 1 ; } return ! 0 ; } function o ( e ) { return ! e || 69 !== e . kind && 9 !== e . kind && 8 !== e . kind ? void 0 : e . text ; } function s ( e , t ) { if ( e && e . name ) { var n = o ( e . name ) ; if ( void 0 === n ) return 137 === e . name . kind ? c ( e . name . expression , t , ! 0 ) : ! 1 ; t . unshift ( n ) ; } return ! 0 ; } function c ( e , t , n ) { var r = o ( e ) ; if ( void 0 !== r ) return n && t . unshift ( r ) , ! 0 ; if ( 169 === e . kind ) { var a = e ; return n && t . unshift ( a . name . text ) , c ( a . expression , t , ! 0 ) ; } return ! 1 ; } function _ ( t ) { var n = [ ] ; if ( 137 !== t . name . kind || c ( t . name . expression , n , ! 1 ) ) { for ( t = e . getContainerNode ( t ) ; t ; ) { if ( ! s ( t , n ) ) return ; t = e . getContainerNode ( t ) ; } return n ; } } function u ( t ) { e . Debug . assert ( t . length > 0 ) ; for ( var n = e . PatternMatchKind . camelCase , r = 0 , a = t ; r < a . length ; r ++ ) { var i = a [ r ] , o = i . kind ; n > o && ( n = o ) ; } return n ; } function l ( e , t ) { return e . matchKind - t . matchKind || e . name . localeCompare ( t . name , void 0 , m ) || e . name . localeCompare ( t . name ) ; } function d ( t ) { var n = t . declaration , r = e . getContainerNode ( n ) ; return { name : t . name , kind : e . getNodeKind ( n ) , kindModifiers : e . getNodeModifiers ( n ) , matchKind : e . PatternMatchKind [ t . matchKind ] , isCaseSensitive : t . isCaseSensitive , fileName : t . fileName , textSpan : e . createTextSpanFromBounds ( n . getStart ( ) , n . getEnd ( ) ) , containerName : r && r . name ? r . name . text : "" , containerKind : r && r . name ? e . getNodeKind ( r ) : "" } ; } var p = e . createPatternMatcher ( r ) , f = [ ] , m = { sensitivity : "base" } ; e . forEach ( t . getSourceFiles ( ) , function ( t ) { n . throwIfCancellationRequested ( ) ; var r = t . getNamedDeclarations ( ) ; for ( var a in r ) { var o = e . getProperty ( r , a ) ; if ( o ) { var s = p . getMatchesForLastSegmentOfPattern ( a ) ; if ( ! s ) continue ; for ( var c = 0 , l = o ; c < l . length ; c ++ ) { var d = l [ c ] ; if ( p . patternContainsDots ) { var m = _ ( d ) ; if ( ! m ) return ; if ( s = p . getMatches ( m , a ) , ! s ) continue ; } var g = t . fileName , y = u ( s ) ; f . push ( { name : a , fileName : g , matchKind : y , isCaseSensitive : i ( s ) , declaration : d } ) ; } } } } ) , f . sort ( l ) , void 0 !== a && ( f = f . slice ( 0 , a ) ) ; var g = e . map ( f , d ) ; return g ; } t . getNavigateToItems = n ; } ( t = e . NavigateTo || ( e . NavigateTo = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( t ) { function n ( t , n ) { function a ( e ) { for ( var t = b ? 1 : 0 , n = e . parent ; n ; ) { switch ( n . kind ) { case 221 : do n = n . parent ; while ( 221 === n . kind ) ; case 217 : case 220 : case 218 : case 216 : t ++ ; } n = n . parent ; } return t ; } function i ( t ) { function n ( t ) { switch ( t . kind ) { case 196 : e . forEach ( t . declarationList . declarations , n ) ; break ; case 164 : case 165 : e . forEach ( t . elements , n ) ; break ; case 231 : t . exportClause && e . forEach ( t . exportClause . elements , n ) ; break ; case 225 : var a = t . importClause ; a && ( a . name && r . push ( a ) , a . namedBindings && ( 227 === a . namedBindings . kind ? r . push ( a . namedBindings ) : e . forEach ( a . namedBindings . elements , n ) ) ) ; break ; case 166 : case 214 : if ( e . isBindingPattern ( t . name ) ) { n ( t . name ) ; break ; } case 217 : case 220 : case 218 : case 221 : case 216 : case 224 : case 229 : case 233 : r . push ( t ) ; } } var r = [ ] ; return e . forEach ( t , n ) , s ( r ) ; } function o ( e ) { var t = [ ] ; return t . push ( e ) , c ( e . statements , t ) , t ; } function s ( t ) { return t . slice ( 0 ) . sort ( function ( t , n ) { return t . name && n . name ? e . getPropertyNameForPropertyNameNode ( t . name ) . localeCompare ( e . getPropertyNameForPropertyNameNode ( n . name ) ) : t . name ? 1 : n . name ? - 1 : t . kind - n . kind ; } ) ; } function c ( e , t ) { e = s ( e ) ; for ( var n = 0 , r = e ; n < r . length ; n ++ ) { var a = r [ n ] ; switch ( a . kind ) { case 217 : case 220 : case 218 : t . push ( a ) ; break ; case 221 : var i = a ; t . push ( a ) , c ( h ( i ) . body . statements , t ) ; break ; case 216 : var o = a ; _ ( o ) && ( t . push ( a ) , c ( o . body . statements , t ) ) ; } } } function _ ( t ) { if ( 216 === t . kind && t . body && 195 === t . body . kind ) { if ( e . forEach ( t . body . statements , function ( e ) { return 216 === e . kind && ! p ( e . name . text ) ; } ) ) return ! 0 ; if ( ! e . isFunctionBlock ( t . parent ) ) return ! 0 ; } return ! 1 ; } function u ( e , t ) { for ( var n = [ ] , r = { } , a = 0 , i = e ; a < i . length ; a ++ ) { var o = i [ a ] , s = t ( o ) ; if ( void 0 !== s && s . text . length > 0 ) { var c = s . text + "-" + s . kind + "-" + s . indent , _ = r [ c ] ; _ ? l ( _ , s ) : ( r [ c ] = s , n . push ( s ) ) ; } } return n ; } function l ( t , n ) { if ( e . addRange ( t . spans , n . spans ) , n . childItems ) { t . childItems || ( t . childItems = [ ] ) ; e : for ( var r = 0 , a = n . childItems ; r < a . length ; r ++ ) { for ( var i = a [ r ] , o = 0 , s = t . childItems ; o < s . length ; o ++ ) { var c = s [ o ] ; if ( c . text === i . text && c . kind === i . kind ) { l ( c , i ) ; continue e ; } } t . childItems . push ( i ) ; } } } function d ( t ) { function n ( t , n , r ) { return f ( n , r , e . getNodeModifiers ( t ) , [ v ( t ) ] ) ; } switch ( t . kind ) { case 139 : if ( e . isBindingPattern ( t . name ) ) break ; if ( 0 === ( 1022 & t . flags ) ) return ; return n ( t , k ( t . name ) , e . ScriptElementKind . memberVariableElement ) ; case 144 : case 143 : return n ( t , k ( t . name ) , e . ScriptElementKind . memberFunctionElement ) ; case 146 : return n ( t , k ( t . name ) , e . ScriptElementKind . memberGetAccessorElement ) ; case 147 : return n ( t , k ( t . name ) , e . ScriptElementKind . memberSetAccessorElement ) ; case 150 : return n ( t , "[]" , e . ScriptElementKind . indexSignatureElement ) ; case 250 : return n ( t , k ( t . name ) , e . ScriptElementKind . memberVariableElement ) ; case 148 : return n ( t , "()" , e . ScriptElementKind . callSignatureElement ) ; case 149 : return n ( t , "new()" , e . ScriptElementKind . constructSignatureElement ) ; case 142 : case 141 : return n ( t , k ( t . name ) , e . ScriptElementKind . memberVariableElement ) ; case 216 : return n ( t , k ( t . name ) , e . ScriptElementKind . functionElement ) ; case 214 : case 166 : var r , a = void 0 ; if ( 166 === t . kind ) { for ( r = t . name , a = t ; a && 214 !== a . kind ; ) a = a . parent ; e . Debug . assert ( void 0 !== a ) ; } else e . Debug . assert ( ! e . isBindingPattern ( t . name ) ) , a = t , r = t . name ; return e . isConst ( a ) ? n ( t , k ( r ) , e . ScriptElementKind . constElement ) : e . isLet ( a ) ? n ( t , k ( r ) , e . ScriptElementKind . letElement ) : n ( t , k ( r ) , e . ScriptElementKind . variableElement ) ; case 145 : return n ( t , "constructor" , e . ScriptElementKind . constructorImplementationElement ) ; case 233 : case 229 : case 224 : case 226 : case 227 : return n ( t , k ( t . name ) , e . ScriptElementKind . alias ) ; } } function p ( e ) { return ! e || "" === e . trim ( ) ; } function f ( e , t , n , r , a , i ) { return void 0 === a && ( a = [ ] ) , void 0 === i && ( i = 0 ) , p ( e ) ? void 0 : { text : e , kind : t , kindModifiers : n , spans : r , childItems : a , indent : i , bolded : ! 1 , grayed : ! 1 } ; } function m ( t ) { function n ( t ) { if ( e . isAmbientModule ( t ) ) return k ( t . name ) ; var n = [ ] ; for ( n . push ( t . name . text ) ; t . body && 221 === t . body . kind ; ) t = t . body , n . push ( t . name . text ) ; return n . join ( "." ) ; } function r ( t ) { var r = n ( t ) , o = u ( i ( h ( t ) . body . statements ) , d ) ; return f ( r , e . ScriptElementKind . moduleElement , e . getNodeModifiers ( t ) , [ v ( t ) ] , o , a ( t ) ) ; } function o ( t ) { if ( t . body && 195 === t . body . kind ) { var n = u ( s ( t . body . statements ) , d ) ; return f ( t . name ? t . name . text : "default" , e . ScriptElementKind . functionElement , e . getNodeModifiers ( t ) , [ v ( t ) ] , n , a ( t ) ) ; } } function c ( t ) { var n = u ( i ( t . statements ) , d ) ; if ( void 0 !== n && 0 !== n . length ) { b = ! 0 ; var r = e . isExternalModule ( t ) ? '"' + e . escapeString ( e . getBaseFileName ( e . removeFileExtension ( e . normalizePath ( t . fileName ) ) ) ) + '"' : "<global>" ; return f ( r , e . ScriptElementKind . moduleElement , e . ScriptElementKindModifier . none , [ v ( t ) ] , n ) ; } } function _ ( t ) { var n ; if ( t . members ) { var r = e . forEach ( t . members , function ( e ) { return 145 === e . kind && e ; } ) , i = y ( t ) ; r && e . addRange ( i , e . filter ( r . parameters , function ( t ) { return ! e . isBindingPattern ( t . name ) ; } ) ) , n = u ( s ( i ) , d ) ; } var o = t . name ? t . name . text : "default" ; return f ( o , e . ScriptElementKind . classElement , e . getNodeModifiers ( t ) , [ v ( t ) ] , n , a ( t ) ) ; } function l ( t ) { var n = u ( s ( g ( t ) ) , d ) ; return f ( t . name . text , e . ScriptElementKind . enumElement , e . getNodeModifiers ( t ) , [ v ( t ) ] , n , a ( t ) ) ; } function p ( t ) { var n = u ( s ( y ( t ) ) , d ) ; return f ( t . name . text , e . ScriptElementKind . interfaceElement , e . getNodeModifiers ( t ) , [ v ( t ) ] , n , a ( t ) ) ; } switch ( t . kind ) { case 251 : return c ( t ) ; case 217 : return _ ( t ) ; case 220 : return l ( t ) ; case 218 : return p ( t ) ; case 221 : return r ( t ) ; case 216 : return o ( t ) ; } } function g ( t ) { return e . filter ( t . members , function ( e ) { return void 0 === e . name || 137 !== e . name . kind ; } ) ; } function y ( t ) { return e . filter ( t . members , function ( t ) { return ! e . hasDynamicName ( t ) ; } ) ; } function h ( e ) { for ( ; 221 === e . body . kind ; ) e = e . body ; return e ; } function v ( t ) { return 251 === t . kind ? e . createTextSpanFromBounds ( t . getFullStart ( ) , t . getEnd ( ) ) : e . createTextSpanFromBounds ( t . getStart ( ) , t . getEnd ( ) ) ; } function k ( n ) { return e . getTextOfNodeFromSourceText ( t . text , n ) ; } if ( e . isSourceFileJavaScript ( t ) ) return r ( t , n ) ; var b = ! 1 ; return u ( o ( t ) , m ) ; } function r ( t , n ) { function r ( t ) { var n = a ( t ) ; if ( n && m . childItems . push ( n ) , n && ( e . isFunctionLike ( t ) || e . isClassLike ( t ) ) ) { var i = m ; d ++ , m = n , e . forEachChild ( t , r ) , m = i , d -- , n && n . text === u && 0 === n . childItems . length && m . childItems . pop ( ) ; } else e . forEachChild ( t , r ) ; } function a ( t ) { switch ( t . kind ) { case 214 : if ( 251 !== t . parent . parent . parent . kind ) return ; var n = t ; if ( n . initializer && ( 176 === n . initializer . kind || 177 === n . initializer . kind || 189 === n . initializer . kind ) ) return ; case 216 : case 217 : case 145 : case 146 : case 147 : var r = t . flags && 512 & t . flags && ! t . name ? "default" : 145 === t . kind ? "constructor" : e . declarationNameToString ( t . name ) ; return i ( r , _ ( t . kind ) , [ c ( t ) ] ) ; case 176 : case 177 : case 189 : return o ( t ) || s ( t ) ; case 144 : var a = t ; return i ( e . declarationNameToString ( a . name ) , e . ScriptElementKind . memberFunctionElement , [ c ( t ) ] ) ; case 230 : return i ( "default" , e . ScriptElementKind . variableElement , [ c ( t ) ] ) ; case 226 : if ( ! t . name ) return ; case 229 : case 227 : case 233 : if ( 233 === t . kind && ! t . parent . parent . moduleSpecifier && ! t . propertyName ) return ; var u = t ; if ( ! u . name ) return ; var l = e . declarationNameToString ( u . name ) ; return i ( l , e . ScriptElementKind . constElement , [ c ( t ) ] ) ; default : return ; } } function i ( t , n , r , a ) { return void 0 === a && ( a = e . ScriptElementKindModifier . none ) , { text : t , kind : n , kindModifiers : a , spans : r , childItems : [ ] , indent : d , bolded : ! 1 , grayed : ! 1 } ; } function o ( t ) { if ( ( 176 === t . kind || 177 === t . kind ) && 171 === t . parent . kind ) { var n = t . parent ; if ( 69 === n . expression . kind && "define" === n . expression . getText ( ) ) { var r = t . getSourceFile ( ) . fileName ; return 9 === n . arguments [ 0 ] . kind && ( r = n . arguments [ 0 ] . text ) , i ( r , e . ScriptElementKind . moduleElement , [ c ( t . parent ) ] ) ; } } } function s ( t ) { if ( 176 === t . kind || 177 === t . kind || 189 === t . kind ) { var n , r = t ; r . name && e . getFullWidth ( r . name ) > 0 ? n = e . declarationNameToString ( r . name ) : 214 === r . parent . kind ? n = e . declarationNameToString ( r . parent . name ) : 184 === r . parent . kind && 56 === r . parent . operatorToken . kind ? ( n = r . parent . left . getText ( ) , n . length > 20 && ( n = n . substring ( 0 , 17 ) + "..." ) ) : n = 248 === r . parent . kind && r . parent . name ? r . parent . name . getText ( ) : 189 === t . kind ? l : u ; var a = 189 === t . kind ? e . ScriptElementKind . classElement : e . ScriptElementKind . functionElement ; return i ( n , a , [ c ( t ) ] ) ; } } function c ( t ) { return 251 === t . kind ? e . createTextSpanFromBounds ( t . getFullStart ( ) , t . getEnd ( ) ) : e . createTextSpanFromBounds ( t . getStart ( ) , t . getEnd ( ) ) ; } function _ ( t ) { switch ( t ) { case 214 : return e . ScriptElementKind . variableElement ; case 216 : return e . ScriptElementKind . functionElement ; case 217 : return e . ScriptElementKind . classElement ; case 145 : return e . ScriptElementKind . constructorImplementationElement ; case 146 : return e . ScriptElementKind . memberGetAccessorElement ; case 147 : return e . ScriptElementKind . memberSetAccessorElement ; default : return "unknown" ; } } var u = "<function>" , l = "<class>" , d = 0 , p = e . isExternalModule ( t ) ? '"' + e . escapeString ( e . getBaseFileName ( e . removeFileExtension ( e . normalizePath ( t . fileName ) ) ) ) + '"' : "<global>" , f = i ( p , e . ScriptElementKind . moduleElement , [ c ( t ) ] ) , m = f ; return e . forEachChild ( t , r ) , f . childItems ; } t . getNavigationBarItems = n , t . getJsNavigationBarItems = r ; } ( t = e . NavigationBar || ( e . NavigationBar = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { function t ( e , t , n , r ) { return { kind : e , punctuationStripped : t , isCaseSensitive : n , camelCaseWeight : r } ; } function n ( n ) { function o ( e ) { return b || ! e ; } function _ ( t ) { return o ( t ) ? void 0 : m ( t , e . lastOrUndefined ( k ) ) ; } function l ( t , n ) { if ( ! o ( n ) ) { var r = m ( n , e . lastOrUndefined ( k ) ) ; if ( r && ( t = t || [ ] , ! ( k . length - 1 > t . length ) ) ) { for ( var a = r , i = k . length - 2 , s = t . length - 1 ; i >= 0 ; i -= 1 , s -= 1 ) { var c = k [ i ] , _ = t [ s ] , u = m ( _ , c ) ; if ( ! u ) return ; e . addRange ( a , u ) ; } return a ; } } } function d ( t ) { return e . hasProperty ( v , t ) || ( v [ t ] = g ( t ) ) , v [ t ] ; } function p ( e , n , r ) { var a = c ( e , n . textLowerCase ) ; if ( 0 === a ) return n . text . length === e . length ? t ( x . exact , r , e === n . text ) : t ( x . prefix , r , s ( e , n . text ) ) ; var o = n . isLowerCase ; if ( o ) { if ( a > 0 ) for ( var _ = d ( e ) , u = 0 , l = _ ; u < l . length ; u ++ ) { var p = l [ u ] ; if ( y ( e , p , n . text , ! 0 ) ) return t ( x . substring , r , y ( e , p , n . text , ! 1 ) ) ; } } else if ( e . indexOf ( n . text ) > 0 ) return t ( x . substring , r , ! 0 ) ; if ( ! o && n . characterSpans . length > 0 ) { var f = d ( e ) , m = h ( e , f , n , ! 1 ) ; if ( void 0 !== m ) return t ( x . camelCase , r , ! 0 , m ) ; if ( m = h ( e , f , n , ! 0 ) , void 0 !== m ) return t ( x . camelCase , r , ! 1 , m ) ; } return o && n . text . length < e . length && a > 0 && i ( e . charCodeAt ( a ) ) ? t ( x . substring , r , ! 1 ) : void 0 ; } function f ( e ) { for ( var t = 0 ; t < e . length ; t ++ ) { var n = e . charCodeAt ( t ) ; if ( 32 === n || 42 === n ) return ! 0 ; } return ! 1 ; } function m ( e , t ) { if ( ! f ( t . totalTextChunk . text ) ) { var n = p ( e , t . totalTextChunk , ! 1 ) ; if ( n ) return [ n ] ; } for ( var r = t . subWordTextChunks , a = void 0 , i = 0 , o = r ; i < o . length ; i ++ ) { var s = o [ i ] , c = p ( e , s , ! 0 ) ; if ( ! c ) return ; a = a || [ ] , a . push ( c ) ; } return a ; } function y ( e , t , n , r , a ) { var i = a ? a . start : 0 , o = a ? a . length : n . length ; if ( o > t . length ) return ! 1 ; if ( r ) for ( var s = 0 ; o > s ; s ++ ) { var c = n . charCodeAt ( i + s ) , _ = e . charCodeAt ( t . start + s ) ; if ( u ( c ) !== u ( _ ) ) return ! 1 ; } else for ( var s = 0 ; o > s ; s ++ ) { var c = n . charCodeAt ( i + s ) , _ = e . charCodeAt ( t . start + s ) ; if ( c !== _ ) return ! 1 ; } return ! 0 ; } function h ( t , n , r , a ) { for ( var o = r . characterSpans , s = 0 , c = 0 , _ = void 0 , u = void 0 ; ; ) { if ( c === o . length ) { var l = 0 ; return u && ( l += 1 ) , 0 === _ && ( l += 2 ) , l ; } if ( s === n . length ) return ; for ( var d = n [ s ] , p = ! 1 ; c < o . length ; c ++ ) { var f = o [ c ] ; if ( p && ( ! i ( r . text . charCodeAt ( o [ c - 1 ] . start ) ) || ! i ( r . text . charCodeAt ( o [ c ] . start ) ) ) ) break ; if ( ! y ( t , d , r . text , a , f ) ) break ; p = ! 0 , _ = void 0 === _ ? s : _ , u = void 0 === u ? ! 0 : u , d = e . createTextSpan ( d . start + f . length , d . length - f . length ) ; } p || void 0 === u || ( u = ! 1 ) , s ++ ; } } var v = { } ; n = n . trim ( ) ; var k = n . split ( "." ) . map ( function ( e ) { return r ( e . trim ( ) ) ; } ) , b = 0 === k . length || e . forEach ( k , a ) ; return { getMatches : l , getMatchesForLastSegmentOfPattern : _ , patternContainsDots : k . length > 1 } ; } function r ( e ) { return { totalTextChunk : f ( e ) , subWordTextChunks : p ( e ) } ; } function a ( e ) { return 0 === e . subWordTextChunks . length ; } function i ( t ) { if ( t >= 65 && 90 >= t ) return ! 0 ; if ( 127 > t || ! e . isUnicodeIdentifierStart ( t , 2 ) ) return ! 1 ; var n = String . fromCharCode ( t ) ; return n === n . toUpperCase ( ) ; } function o ( t ) { if ( t >= 97 && 122 >= t ) return ! 0 ; if ( 127 > t || ! e . isUnicodeIdentifierStart ( t , 2 ) ) return ! 1 ; var n = String . fromCharCode ( t ) ; return n === n . toLowerCase ( ) ; } function s ( e , t ) { for ( var n = 0 , r = t . length ; r > n ; n ++ ) if ( e . charCodeAt ( n ) !== t . charCodeAt ( n ) ) return ! 1 ; return ! 0 ; } function c ( e , t ) { for ( var n = 0 , r = e . length - t . length ; r >= n ; n ++ ) if ( _ ( e , t , n ) ) return n ; return - 1 ; } function _ ( e , t , n ) { for ( var r = 0 , a = t . length ; a > r ; r ++ ) { var i = u ( e . charCodeAt ( r + n ) ) , o = t . charCodeAt ( r ) ; if ( i !== o ) return ! 1 ; } return ! 0 ; } function u ( e ) { return e >= 65 && 90 >= e ? 97 + ( e - 65 ) : 127 > e ? e : String . fromCharCode ( e ) . toLowerCase ( ) . charCodeAt ( 0 ) ; } function l ( e ) { return e >= 48 && 57 >= e ; } function d ( e ) { return i ( e ) || o ( e ) || l ( e ) || 95 === e || 36 === e ; } function p ( e ) { for ( var t = [ ] , n = 0 , r = 0 , a = 0 ; a < e . length ; a ++ ) { var i = e . charCodeAt ( a ) ; d ( i ) ? ( 0 === r && ( n = a ) , r ++ ) : r > 0 && ( t . push ( f ( e . substr ( n , r ) ) ) , r = 0 ) ; } return r > 0 && t . push ( f ( e . substr ( n , r ) ) ) , t ; } function f ( e ) { var t = e . toLowerCase ( ) ; return { text : e , textLowerCase : t , isLowerCase : e === t , characterSpans : m ( e ) } ; } function m ( e ) { return y ( e , ! 1 ) ; } function g ( e ) { return y ( e , ! 0 ) ; } function y ( t , n ) { for ( var r = [ ] , a = 0 , i = 1 , o = t . length ; o > i ; i ++ ) { var s = l ( t . charCodeAt ( i - 1 ) ) , c = l ( t . charCodeAt ( i ) ) , _ = b ( t , n , i ) , u = k ( t , n , i , a ) ; ( h ( t . charCodeAt ( i - 1 ) ) || h ( t . charCodeAt ( i ) ) || s !== c || _ || u ) && ( v ( t , a , i ) || r . push ( e . createTextSpan ( a , i - a ) ) , a = i ) ; } return v ( t , a , t . length ) || r . push ( e . createTextSpan ( a , t . length - a ) ) , r ; } function h ( e ) { switch ( e ) { case 33 : case 34 : case 35 : case 37 : case 38 : case 39 : case 40 : case 41 : case 42 : case 44 : case 45 : case 46 : case 47 : case 58 : case 59 : case 63 : case 64 : case 91 : case 92 : case 93 : case 95 : case 123 : case 125 : return ! 0 ; } return ! 1 ; } function v ( e , t , n ) { for ( var r = t ; n > r ; r ++ ) { var a = e . charCodeAt ( r ) ; if ( ! h ( a ) || 95 === a || 36 === a ) return ! 1 ; } return ! 0 ; } function k ( e , t , n , r ) { if ( t && n !== r && n + 1 < e . length ) { var a = i ( e . charCodeAt ( n ) ) , s = o ( e . charCodeAt ( n + 1 ) ) ; if ( a && s ) { for ( var c = r ; n > c ; c ++ ) if ( ! i ( e . charCodeAt ( c ) ) ) return ! 1 ; return ! 0 ; } } return ! 1 ; } function b ( e , t , n ) { var r = i ( e . charCodeAt ( n - 1 ) ) , a = i ( e . charCodeAt ( n ) ) , o = t ? a && ! r : a ; return o ; } ! function ( e ) { e [ e . exact = 0 ] = "exact" , e [ e . prefix = 1 ] = "prefix" , e [ e . substring = 2 ] = "substring" , e [ e . camelCase = 3 ] = "camelCase" ; } ( e . PatternMatchKind || ( e . PatternMatchKind = { } ) ) ; var x = e . PatternMatchKind ; e . createPatternMatcher = n , e . breakIntoCharacterSpans = m , e . breakIntoWordSpans = g ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( t ) { function n ( t , n , r , i ) { function o ( n ) { if ( 171 === n . invocation . kind ) { var r = n . invocation , a = r . expression , i = 69 === a . kind ? a : 169 === a . kind ? a . name : void 0 ; if ( i && i . text ) for ( var o = t . getTypeChecker ( ) , s = 0 , c = t . getSourceFiles ( ) ; s < c . length ; s ++ ) { var _ = c [ s ] , u = _ . getNamedDeclarations ( ) , l = e . getProperty ( u , i . text ) ; if ( l ) for ( var d = 0 , p = l ; d < p . length ; d ++ ) { var f = p [ d ] , m = f . symbol ; if ( m ) { var g = o . getTypeOfSymbolAtLocation ( m , f ) ; if ( g ) { var h = g . getCallSignatures ( ) ; if ( h && h . length ) return y ( h , h [ 0 ] , n ) ; } } } } } } function s ( t ) { if ( 171 === t . parent . kind || 172 === t . parent . kind ) { var a = t . parent ; if ( 25 === t . kind || 17 === t . kind ) { var i = m ( a , t , n ) , o = a . typeArguments && a . typeArguments . pos === i . pos ; return e . Debug . assert ( void 0 !== i ) , { kind : o ? 0 : 1 , invocation : a , argumentsSpan : d ( i ) , argumentIndex : 0 , argumentCount : _ ( i ) } ; } var s = e . findListItemInfo ( t ) ; if ( s ) { var i = s . list , o = a . typeArguments && a . typeArguments . pos === i . pos , p = c ( i , t ) , f = _ ( i ) ; return e . Debug . assert ( 0 === p || f > p , "argumentCount < argumentIndex, " + f + " < " + p ) , { kind : o ? 0 : 1 , invocation : a , argumentsSpan : d ( i ) , argumentIndex : p , argumentCount : f } ; } } else if ( 11 === t . kind && 173 === t . parent . kind ) { if ( e . isInsideTemplateLiteral ( t , r ) ) return l ( t . parent , 0 ) ; } else { if ( 12 === t . kind && 173 === t . parent . parent . kind ) { var g = t . parent , y = g . parent ; e . Debug . assert ( 186 === g . kind ) ; var p = e . isInsideTemplateLiteral ( t , r ) ? 0 : 1 ; return l ( y , p ) ; } if ( 193 === t . parent . kind && 173 === t . parent . parent . parent . kind ) { var h = t . parent , g = h . parent , y = g . parent ; if ( e . Debug . assert ( 186 === g . kind ) , 14 === t . kind && ! e . isInsideTemplateLiteral ( t , r ) ) return ; var v = g . templateSpans . indexOf ( h ) , p = u ( v , t ) ; return l ( y , p ) ; } } } function c ( e , t ) { for ( var n = 0 , r = e . getChildren ( ) , a = 0 , i = r ; a < i . length ; a ++ ) { var o = i [ a ] ; if ( o === t ) break ; 24 !== o . kind && n ++ ; } return n ; } function _ ( t ) { var n = t . getChildren ( ) , r = e . countWhere ( n , function ( e ) { return 24 !== e . kind ; } ) ; return n . length > 0 && 24 === e . lastOrUndefined ( n ) . kind && r ++ , r ; } function u ( t , n ) { return e . Debug . assert ( r >= n . getStart ( ) , "Assumed 'position' could not occur before node." ) , e . isTemplateLiteralKind ( n . kind ) ? e . isInsideTemplateLiteral ( n , r ) ? 0 : t + 2 : t + 1 ; } function l ( t , n ) { var r = 11 === t . template . kind ? 1 : t . template . templateSpans . length + 1 ; return e . Debug . assert ( 0 === n || r > n , "argumentCount < argumentIndex, " + r + " < " + n ) , { kind : 2 , invocation : t , argumentsSpan : p ( t ) , argumentIndex : n , argumentCount : r } ; } function d ( t ) { var r = t . getFullStart ( ) , a = e . skipTrivia ( n . text , t . getEnd ( ) , ! 1 ) ; return e . createTextSpan ( r , a - r ) ; } function p ( t ) { var r = t . template , a = r . getStart ( ) , i = r . getEnd ( ) ; if ( 186 === r . kind ) { var o = e . lastOrUndefined ( r . templateSpans ) ; 0 === o . literal . getFullWidth ( ) && ( i = e . skipTrivia ( n . text , i , ! 1 ) ) ; } return e . createTextSpan ( a , i - a ) ; } function f ( t ) { for ( var n = t ; 251 !== n . kind ; n = n . parent ) { if ( e . isFunctionBlock ( n ) ) return ; ( n . pos < n . parent . pos || n . end > n . parent . end ) && e . Debug . fail ( "Node of kind " + n . kind + " is not a subspan of its parent of kind " + n . parent . kind ) ; var r = s ( n ) ; if ( r ) return r ; } } function m ( t , n , r ) { var a = t . getChildren ( r ) , i = a . indexOf ( n ) ; return e . Debug . assert ( i >= 0 && a . length > i + 1 ) , a [ i + 1 ] ; } function g ( e , t ) { for ( var n = - 1 , r = - 1 , a = 0 ; a < e . length ; a ++ ) { var i = e [ a ] ; if ( i . hasRestParameter || i . parameters . length >= t ) return a ; i . parameters . length > r && ( r = i . parameters . length , n = a ) ; } return n ; } function y ( t , n , r ) { function i ( t ) { var n = e . mapToDisplayParts ( function ( e ) { return h . getSymbolDisplayBuilder ( ) . buildParameterDisplay ( t , e , _ ) ; } ) ; return { name : t . name , documentation : t . getDocumentationComment ( ) , displayParts : n , isOptional : h . isOptionalParameter ( t . valueDeclaration ) } ; } function o ( t ) { var n = e . mapToDisplayParts ( function ( e ) { return h . getSymbolDisplayBuilder ( ) . buildTypeParameterDisplay ( t , e , _ ) ; } ) ; return { name : t . symbol . name , documentation : a , displayParts : n , isOptional : ! 1 } ; } var s = r . argumentsSpan , c = 0 === r . kind , _ = r . invocation , u = e . getInvokedExpression ( _ ) , l = h . getSymbolAtLocation ( u ) , d = l && e . symbolToDisplayParts ( h , l , void 0 , void 0 ) , p = e . map ( t , function ( t ) { var n , r = [ ] , s = [ ] ; if ( d && e . addRange ( r , d ) , c ) { r . push ( e . punctuationPart ( 25 ) ) ; var u = t . typeParameters ; n = u && u . length > 0 ? e . map ( u , o ) : a , s . push ( e . punctuationPart ( 27 ) ) ; var l = e . mapToDisplayParts ( function ( e ) { return h . getSymbolDisplayBuilder ( ) . buildDisplayForParametersAndDelimiters ( t . parameters , e , _ ) ; } ) ; e . addRange ( s , l ) ; } else { var p = e . mapToDisplayParts ( function ( e ) { return h . getSymbolDisplayBuilder ( ) . buildDisplayForTypeParametersAndDelimiters ( t . typeParameters , e , _ ) ; } ) ; e . addRange ( r , p ) , r . push ( e . punctuationPart ( 17 ) ) ; var f = t . parameters ; n = f . length > 0 ? e . map ( f , i ) : a , s . push ( e . punctuationPart ( 18 ) ) ; } var m = e . mapToDisplayParts ( function ( e ) { return h . getSymbolDisplayBuilder ( ) . buildReturnTypeDisplay ( t , e , _ ) ; } ) ; return e . addRange ( s , m ) , { isVariadic : t . hasRestParameter , prefixDisplayParts : r , suffixDisplayParts : s , separatorDisplayParts : [ e . punctuationPart ( 24 ) , e . spacePart ( ) ] , parameters : n , documentation : t . getDocumentationComment ( ) } ; } ) , f = r . argumentIndex , m = r . argumentCount , y = t . indexOf ( n ) ; return 0 > y && ( y = g ( t , m ) ) , e . Debug . assert ( 0 === f || m > f , "argumentCount < argumentIndex, " + m + " < " + f ) , { items : p , applicableSpan : s , selectedItemIndex : y , argumentIndex : f , argumentCount : m } ; } var h = t . getTypeChecker ( ) , v = e . findTokenOnLeftOfPosition ( n , r ) ; if ( v ) { var k = f ( v ) ; if ( i . throwIfCancellationRequested ( ) , k ) { var b = k . invocation , x = [ ] , C = h . getResolvedSignature ( b , x ) ; if ( i . throwIfCancellationRequested ( ) , x . length ) return y ( x , C , k ) ; if ( e . isSourceFileJavaScript ( n ) ) return o ( k ) ; } } } var r , a = [ ] ; ! function ( e ) { e [ e . TypeArguments = 0 ] = "TypeArguments" , e [ e . CallArguments = 1 ] = "CallArguments" , e [ e . TaggedTemplateArguments = 2 ] = "TaggedTemplateArguments" ; } ( r || ( r = { } ) ) , t . getSignatureHelpItems = n ; } ( t = e . SignatureHelp || ( e . SignatureHelp = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { function t ( t , n ) { e . Debug . assert ( t >= 0 ) ; var r = n . getLineStarts ( ) , a = t ; if ( a + 1 === r . length ) return n . text . length - 1 ; var i = r [ a ] , o = r [ a + 1 ] - 1 ; for ( e . Debug . assert ( e . isLineBreak ( n . text . charCodeAt ( o ) ) ) ; o >= i && e . isLineBreak ( n . text . charCodeAt ( o ) ) ; ) o -- ; return o ; } function n ( e , t ) { var n = t . getLineStarts ( ) , r = t . getLineAndCharacterOfPosition ( e ) . line ; return n [ r ] ; } function r ( e , t ) { return a ( e . pos , e . end , t ) ; } function a ( e , t , n ) { return e <= n . pos && t >= n . end ; } function i ( e , t , n ) { return e . pos <= t && e . end >= n ; } function o ( e , t , n ) { return s ( e . pos , e . end , t , n ) ; } function s ( e , t , n , r ) { var a = Math . max ( e , n ) , i = Math . min ( t , r ) ; return i > a ; } function c ( e , t , n ) { return e . end > t || ! _ ( e , n ) ; } function _ ( t , n ) { if ( e . nodeIsMissing ( t ) ) return ! 1 ; switch ( t . kind ) { case 217 : case 218 : case 220 : case 168 : case 164 : case 156 : case 195 : case 222 : case 223 : return u ( t , 16 , n ) ; case 247 : return _ ( t . block , n ) ; case 172 : if ( ! t . arguments ) return ! 0 ; case 171 : case 175 : case 161 : return u ( t , 18 , n ) ; case 153 : case 154 : return _ ( t . type , n ) ; case 145 : case 146 : case 147 : case 216 : case 176 : case 144 : case 143 : case 149 : case 148 : case 177 : return t . body ? _ ( t . body , n ) : t . type ? _ ( t . type , n ) : d ( t , 18 , n ) ; case 221 : return t . body && _ ( t . body , n ) ; case 199 : return t . elseStatement ? _ ( t . elseStatement , n ) : _ ( t . thenStatement , n ) ; case 198 : return _ ( t . expression , n ) || d ( t , 23 ) ; case 167 : case 165 : case 170 : case 137 : case 158 : return u ( t , 20 , n ) ; case 150 : return t . type ? _ ( t . type , n ) : d ( t , 20 , n ) ; case 244 : case 245 : return ! 1 ; case 202 : case 203 : case 204 : case 201 : return _ ( t . statement , n ) ; case 200 : var r = p ( t , 104 , n ) ; return r ? u ( t , 18 , n ) : _ ( t . statement , n ) ; case 155 : return _ ( t . exprName , n ) ; case 179 : case 178 : case 180 : case 187 : case 188 : var a = t ; return _ ( a . expression , n ) ; case 173 : return _ ( t . template , n ) ; case 186 : var i = e . lastOrUndefined ( t . templateSpans ) ; return _ ( i , n ) ; case 193 : return e . nodeIsPresent ( t . literal ) ; case 182 : return _ ( t . operand , n ) ; case 184 : return _ ( t . right , n ) ; case 185 : return _ ( t . whenFalse , n ) ; default : return ! 0 ; } } function u ( t , n , r ) { var a = t . getChildren ( r ) ; if ( a . length ) { var i = e . lastOrUndefined ( a ) ; if ( i . kind === n ) return ! 0 ; if ( 23 === i . kind && 1 !== a . length ) return a [ a . length - 2 ] . kind === n ; } return ! 1 ; } function l ( t ) { var n = f ( t ) ; if ( n ) { var r = n . getChildren ( ) , a = e . indexOf ( r , t ) ; return { listItemIndex : a , list : n } ; } } function d ( e , t , n ) { return ! ! p ( e , t , n ) ; } function p ( t , n , r ) { return e . forEach ( t . getChildren ( r ) , function ( e ) { return e . kind === n && e ; } ) ; } function f ( t ) { var n = e . forEach ( t . parent . getChildren ( ) , function ( e ) { return 274 === e . kind && e . pos <= t . pos && e . end >= t . end ? e : void 0 ; } ) ; return e . Debug . assert ( ! n || e . contains ( n . getChildren ( ) , t ) ) , n ; } function m ( e , t ) { return y ( e , t , function ( e ) { return O ( e . kind ) ; } ) ; } function g ( e , t ) { return y ( e , t , function ( e ) { return R ( e . kind ) ; } ) ; } function y ( e , t , n ) { return v ( e , t , ! 1 , n ) ; } function h ( e , t ) { return v ( e , t , ! 0 , void 0 ) ; } function v ( e , t , n , r ) { var a = e ; e : for ( ; ; ) { if ( N ( a ) ) return a ; for ( var i = 0 , o = a . getChildCount ( e ) ; o > i ; i ++ ) { var s = a . getChildAt ( i ) , c = n ? s . getFullStart ( ) : s . getStart ( e ) ; if ( t >= c ) { var _ = s . getEnd ( ) ; if ( _ > t || t === _ && 1 === s . kind ) { a = s ; continue e ; } if ( r && _ === t ) { var u = x ( t , e , s ) ; if ( u && r ( u ) ) return u ; } } } return a ; } } function k ( e , t ) { var n = h ( e , t ) ; return N ( n ) && t > n . getStart ( e ) && t < n . getEnd ( ) ? n : x ( t , e ) ; } function b ( e , t ) { function n ( t ) { if ( N ( t ) && t . pos === e . end ) return t ; for ( var r = t . getChildren ( ) , a = 0 , i = r ; a < i . length ; a ++ ) { var o = i [ a ] , s = o . pos <= e . pos && o . end > e . end || o . pos === e . end ; if ( s && w ( o ) ) return n ( o ) ; } } return n ( t ) ; } function x ( t , n , r ) { function a ( e ) { if ( N ( e ) || 239 === e . kind ) return e ; var t = e . getChildren ( ) , n = o ( t , t . length ) ; return n && a ( n ) ; } function i ( s ) { if ( N ( s ) || 239 === s . kind ) return s ; for ( var c = s . getChildren ( ) , _ = 0 , u = c . length ; u > _ ; _ ++ ) { var l = c [ _ ] ; if ( t < l . end && ( w ( l ) || 239 === l . kind ) ) { var d = l . getStart ( n ) , p = d >= t || 239 === l . kind && d === l . end ; if ( p ) { var f = o ( c , _ ) ; return f && a ( f ) ; } return i ( l ) ; } } if ( e . Debug . assert ( void 0 !== r || 251 === s . kind ) , c . length ) { var f = o ( c , c . length ) ; return f && a ( f ) ; } } function o ( e , t ) { for ( var n = t - 1 ; n >= 0 ; -- n ) if ( w ( e [ n ] ) ) return e [ n ] ; } return i ( r || n ) ; } function C ( e , t ) { var n = h ( e , t ) ; return n && ( 9 === n . kind || 163 === n . kind ) && t > n . getStart ( ) ; } function D ( e , t ) { return S ( e , t , void 0 ) ; } function S ( t , n , r ) { var a = h ( t , n ) ; if ( a && n <= a . getStart ( ) ) { var i = e . getLeadingCommentRanges ( t . text , a . pos ) ; return r ? e . forEach ( i , function ( e ) { return e . pos < n && ( 2 == e . kind ? n <= e . end : n < e . end ) && r ( e ) ; } ) : e . forEach ( i , function ( e ) { return e . pos < n && ( 2 == e . kind ? n <= e . end : n < e . end ) ; } ) ; } return ! 1 ; } function T ( t , n ) { function r ( e ) { var n = t . text ; return n . length >= e . pos + 3 && "/" === n [ e . pos ] && "*" === n [ e . pos + 1 ] && "*" === n [ e . pos + 2 ] ; } var a = h ( t , n ) , i = e . getLeadingCommentRanges ( t . text , a . pos ) ; return e . forEach ( i , r ) ; } function E ( t , n ) { var r = e . getTokenAtPosition ( t , n ) ; if ( N ( r ) ) switch ( r . kind ) { case 102 : case 108 : case 74 : r = void 0 === r . parent ? void 0 : r . parent . parent ; break ; default : r = r . parent ; } if ( r ) { var a = r . jsDocComment ; if ( a ) for ( var i = 0 , o = a . tags ; i < o . length ; i ++ ) { var s = o [ i ] ; if ( s . pos <= n && n <= s . end ) return s ; } } } function w ( e ) { return 0 !== e . getWidth ( ) ; } function A ( t ) { var n = e . getCombinedNodeFlags ( t ) , r = [ ] ; return 16 & n && r . push ( e . ScriptElementKindModifier . privateMemberModifier ) , 32 & n && r . push ( e . ScriptElementKindModifier . protectedMemberModifier ) , 8 & n && r . push ( e . ScriptElementKindModifier . publicMemberModifier ) , 64 & n && r . push ( e . ScriptElementKindModifier . staticModifier ) , 128 & n && r . push ( e . ScriptElementKindModifier . abstractModifier ) , 2 & n && r . push ( e . ScriptElementKindModifier . exportedModifier ) , e . isInAmbientContext ( t ) && r . push ( e . ScriptElementKindModifier . ambientModifier ) , r . length > 0 ? r . join ( "," ) : e . ScriptElementKindModifier . none ; } function P ( t ) { return 152 === t . kind || 171 === t . kind ? t . typeArguments : e . isFunctionLike ( t ) || 217 === t . kind || 218 === t . kind ? t . typeParameters : void 0 ; } function N ( e ) { return e . kind >= 0 && e . kind <= 135 ; } function O ( t ) { return 69 === t || e . isKeyword ( t ) ; } function R ( e ) { return 9 === e || 8 === e || O ( e ) ; } function I ( e ) { return 2 === e || 3 === e ; } function F ( t ) { return ! ( 9 !== t && 163 !== t && 10 !== t && ! e . isTemplateLiteralKind ( t ) ) ; } function L ( e ) { return e >= 15 && 68 >= e ; } function M ( t , n ) { return e . isTemplateLiteralKind ( t . kind ) && t . getStart ( ) < n && n < t . getEnd ( ) || ! ! t . isUnterminated && n === t . getEnd ( ) ; } function B ( e ) { switch ( e ) { case 112 : case 110 : case 111 : return ! 0 ; } return ! 1 ; } function z ( e , t ) { for ( var n in e ) if ( "object" == typeof e [ n ] ) { if ( ! z ( e [ n ] , t [ n ] ) ) return ! 1 ; } else if ( "function" != typeof e [ n ] && e [ n ] !== t [ n ] ) return ! 1 ; return ! 0 ; } function K ( e ) { if ( 167 === e . kind || 168 === e . kind ) { if ( 184 === e . parent . kind && e . parent . left === e && 56 === e . parent . operatorToken . kind ) return ! 0 ; if ( 204 === e . parent . kind && e . parent . initializer === e ) return ! 0 ; if ( K ( 248 === e . parent . kind ? e . parent . parent : e . parent ) ) return ! 0 ; } return ! 1 ; } e . getEndLinePosition = t , e . getLineStartPositionForPosition = n , e . rangeContainsRange = r , e . startEndContainsRange = a , e . rangeContainsStartEnd = i , e . rangeOverlapsWithStartEnd = o , e . startEndOverlapsWithStartEnd = s , e . positionBelongsToNode = c , e . isCompletedNode = _ , e . findListItemInfo = l , e . hasChildOfKind = d , e . findChildOfKind = p , e . findContainingList = f , e . getTouchingWord = m , e . getTouchingPropertyName = g , e . getTouchingToken = y , e . getTokenAtPosition = h , e . findTokenOnLeftOfPosition = k , e . findNextToken = b , e . findPrecedingToken = x , e . isInString = C , e . isInComment = D , e . isInCommentHelper = S , e . hasDocComment = T , e . getJsDocTagAtPosition = E , e . getNodeModifiers = A , e . getTypeArgumentOrTypeParameterList = P , e . isToken = N , e . isWord = O , e . isComment = I , e . isStringOrRegularExpressionOrTemplateLiteral = F , e . isPunctuation = L , e . isInsideTemplateLiteral = M , e . isAccessibilityModifier = B , e . compareDataObjects = z , e . isArrayLiteralOrObjectLiteralDestructuringPattern = K ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { function t ( e ) { return e . declarations && e . declarations . length > 0 && 139 === e . declarations [ 0 ] . kind ; } function n ( ) { function t ( ) { if ( _ ) { var t = e . getIndentString ( u ) ; t && c . push ( a ( t , e . SymbolDisplayPartKind . space ) ) , _ = ! 1 ; } } function n ( e , n ) { t ( ) , c . push ( a ( e , n ) ) ; } function i ( e , n ) { t ( ) , c . push ( r ( e , n ) ) ; } function o ( ) { c . push ( d ( ) ) , _ = ! 0 ; } function s ( ) { c = [ ] , _ = ! 0 , u = 0 ; } var c , _ , u ; return s ( ) , { displayParts : function ( ) { return c ; } , writeKeyword : function ( t ) { return n ( t , e . SymbolDisplayPartKind . keyword ) ; } , writeOperator : function ( t ) { return n ( t , e . SymbolDisplayPartKind . operator ) ; } , writePunctuation : function ( t ) { return n ( t , e . SymbolDisplayPartKind . punctuation ) ; } , writeSpace : function ( t ) { return n ( t , e . SymbolDisplayPartKind . space ) ; } , writeStringLiteral : function ( t ) { return n ( t , e . SymbolDisplayPartKind . stringLiteral ) ; } , writeParameter : function ( t ) { return n ( t , e . SymbolDisplayPartKind . parameterName ) ; } , writeSymbol : i , writeLine : o , increaseIndent : function ( ) { u ++ ; } , decreaseIndent : function ( ) { u -- ; } , clear : s , trackSymbol : function ( ) { } , reportInaccessibleThisError : function ( ) { } } ; } function r ( n , r ) { function i ( n ) { var r = n . flags ; return 3 & r ? t ( n ) ? e . SymbolDisplayPartKind . parameterName : e . SymbolDisplayPartKind . localName : 4 & r ? e . SymbolDisplayPartKind . propertyName : 32768 & r ? e . SymbolDisplayPartKind . propertyName : 65536 & r ? e . SymbolDisplayPartKind . propertyName : 8 & r ? e . SymbolDisplayPartKind . enumMemberName : 16 & r ? e . SymbolDisplayPartKind . functionName : 32 & r ? e . SymbolDisplayPartKind . className : 64 & r ? e . SymbolDisplayPartKind . interfaceName : 384 & r ? e . SymbolDisplayPartKind . enumName : 1536 & r ? e . SymbolDisplayPartKind . moduleName : 8192 & r ? e . SymbolDisplayPartKind . methodName : 262144 & r ? e . SymbolDisplayPartKind . typeParameterName : 524288 & r ? e . SymbolDisplayPartKind . aliasName : 8388608 & r ? e . SymbolDisplayPartKind . aliasName : e . SymbolDisplayPartKind . text ; } return a ( n , i ( r ) , r ) ; } function a ( t , n , r ) { return { text : t , kind : e . SymbolDisplayPartKind [ n ] } ; } function i ( ) { return a ( " " , e . SymbolDisplayPartKind . space ) ; } function o ( t ) { return a ( e . tokenToString ( t ) , e . SymbolDisplayPartKind . keyword ) ; } function s ( t ) { return a ( e . tokenToString ( t ) , e . SymbolDisplayPartKind . punctuation ) ; } function c ( t ) { return a ( e . tokenToString ( t ) , e . SymbolDisplayPartKind . operator ) ; } function _ ( t ) { var n = e . stringToToken ( t ) ; return void 0 === n ? u ( t ) : o ( n ) ; } function u ( t ) { return a ( t , e . SymbolDisplayPartKind . text ) ; } function l ( e ) { return e . getNewLine ? e . getNewLine ( ) : C ; } function d ( ) { return a ( "\n" , e . SymbolDisplayPartKind . lineBreak ) ; } function p ( e ) { e ( x ) ; var t = x . displayParts ( ) ; return x . clear ( ) , t ; } function f ( e , t , n , r ) { return p ( function ( a ) { e . getSymbolDisplayBuilder ( ) . buildTypeDisplay ( t , a , n , r ) ; } ) ; } function m ( e , t , n , r , a ) { return p ( function ( i ) { e . getSymbolDisplayBuilder ( ) . buildSymbolDisplay ( t , i , n , r , a ) ; } ) ; } function g ( e , t , n , r ) { return p ( function ( a ) { e . getSymbolDisplayBuilder ( ) . buildSignatureDisplay ( t , a , n , r ) ; } ) ; } function y ( t , n , r ) { if ( h ( r ) ) return r . getText ( ) ; var a = e . getLocalSymbolForExportDefault ( n ) , i = t . symbolToString ( a || n ) ; return i ; } function h ( e ) { return e . parent && ( 229 === e . parent . kind || 233 === e . parent . kind ) && e . parent . propertyName === e ; } function v ( e ) { var t = e . length ; return t >= 2 && e . charCodeAt ( 0 ) === e . charCodeAt ( t - 1 ) && ( 34 === e . charCodeAt ( 0 ) || 39 === e . charCodeAt ( 0 ) ) ? e . substring ( 1 , t - 1 ) : e ; } function k ( t , n ) { for ( var r = [ ] , a = 2 ; a < arguments . length ; a ++ ) r [ a - 2 ] = arguments [ a ] ; var i = b ( t , n ) ; return e . forEach ( r , function ( e ) { return e === i ; } ) ; } function b ( t , n ) { var r = e . getScriptKindFromFileName ( t ) ; return 0 === r && n && n . getScriptKind && ( r = n . getScriptKind ( t ) ) , e . ensureScriptKind ( t , r ) ; } e . isFirstDeclarationOfSymbolParameter = t ; var x = n ( ) ; e . symbolPart = r , e . displayPart = a , e . spacePart = i , e . keywordPart = o , e . punctuationPart = s , e . operatorPart = c , e . textOrKeywordPart = _ , e . textPart = u ; var C = "\r\n" ; e . getNewLineOrDefaultFromHost = l , e . lineBreakPart = d , e . mapToDisplayParts = p , e . typeToDisplayParts = f , e . symbolToDisplayParts = m , e . signatureToDisplayParts = g , e . getDeclaredName = y , e . isImportOrExportSpecifierName = h , e . stripQuotes = v , e . scriptKindIs = k , e . getScriptKind = b ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( t ) { function n ( t , n , a , i , o , s , c ) { function _ ( t ) { if ( t ) for ( var n = 0 , r = t ; n < r . length ; n ++ ) { var a = r [ n ] ; e . hasProperty ( p , a ) || ( p [ a ] = void 0 ) ; } } function u ( n , r ) { var a = e . readConfigFile ( n , function ( e ) { return t . readFile ( e ) ; } ) ; if ( a . config ) { var i = a . config ; r . push ( n ) , i . dependencies && _ ( e . getKeys ( i . dependencies ) ) , i . devDependencies && _ ( e . getKeys ( i . devDependencies ) ) , i . optionalDependencies && _ ( e . getKeys ( i . optionalDependencies ) ) , i . peerDependencies && _ ( e . getKeys ( i . peerDependencies ) ) ; } } function l ( t ) { var n = e . filter ( t , e . hasJavaScriptFileExtension ) , a = e . map ( n , function ( t ) { return e . removeFileExtension ( e . getBaseFileName ( t . toLowerCase ( ) ) ) ; } ) , i = e . map ( a , function ( e ) { return e . replace ( /((?:\.|-)min(?=\.|$))|((?:-|\.)\d+)/g , "" ) ; } ) ; _ ( void 0 === r ? i : e . filter ( i , function ( t ) { return e . hasProperty ( r , t ) ; } ) ) ; var o = e . forEach ( t , function ( t ) { return e . scriptKindIs ( t , void 0 , 2 ) ; } ) ; o && _ ( [ "react" ] ) ; } function d ( n ) { if ( t . directoryExists ( n ) ) { for ( var r = [ ] , a = t . readDirectory ( n , "*.json" , void 0 , 2 ) , i = 0 , o = a ; i < o . length ; i ++ ) { var s = o [ i ] , c = e . normalizePath ( s ) ; if ( "package.json" === e . getBaseFileName ( c ) ) { var u = e . readConfigFile ( c , function ( e ) { return t . readFile ( e ) ; } ) ; if ( u . config ) { var l = u . config ; if ( ( ! l . _requiredBy || 0 !== e . filter ( l . _requiredBy , function ( e ) { return "#" === e [ 0 ] || "/" === e ; } ) . length ) && l . name ) if ( l . typings ) { var d = e . getNormalizedAbsolutePath ( l . typings , e . getDirectoryPath ( c ) ) ; p [ l . name ] = d ; } else r . push ( l . name ) ; } } } _ ( r ) ; } } var p = { } ; if ( ! s || ! s . enableAutoDiscovery ) return { cachedTypingPaths : [ ] , newTypingNames : [ ] , filesToWatch : [ ] } ; if ( n = e . filter ( e . map ( n , e . normalizePath ) , function ( t ) { return e . scriptKindIs ( t , void 0 , 1 , 2 ) ; } ) , ! r ) { var f = e . readConfigFile ( i , function ( e ) { return t . readFile ( e ) ; } ) ; r = f . config ? f . config : { } ; } var m = [ ] , g = [ ] , y = [ ] ; _ ( s . include ) , y = s . exclude || [ ] ; var h = e . map ( n , e . getDirectoryPath ) ; void 0 !== a && h . push ( a ) , g = e . deduplicate ( h ) ; for ( var v = 0 , k = g ; v < k . length ; v ++ ) { var b = k [ v ] , x = e . combinePaths ( b , "package.json" ) ; u ( x , m ) ; var C = e . combinePaths ( b , "bower.json" ) ; u ( C , m ) ; var D = e . combinePaths ( b , "node_modules" ) ; d ( D ) ; } l ( n ) ; for ( var S in o ) e . hasProperty ( p , S ) && ! p [ S ] && ( p [ S ] = o [ S ] ) ; for ( var T = 0 , E = y ; T < E . length ; T ++ ) { var w = E [ T ] ; delete p [ w ] ; } var A = [ ] , P = [ ] ; for ( var N in p ) void 0 !== p [ N ] ? P . push ( p [ N ] ) : A . push ( N ) ; return { cachedTypingPaths : P , newTypingNames : A , filesToWatch : m } ; } var r ; t . discoverTypings = n ; } ( t = e . JsTyping || ( e . JsTyping = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( t ) { function n ( t , n , a ) { function s ( ) { e . Debug . assert ( void 0 !== r ) , k = void 0 ; var t = r . getStartPos ( ) !== n ; t && ( y ? ( e . Debug . assert ( 0 !== y . length ) , b = 4 === e . lastOrUndefined ( y ) . kind ) : b = ! 1 ) , g = void 0 , y = void 0 , t || r . scan ( ) ; for ( var i = r . getStartPos ( ) ; a > i ; ) { var o = r . getToken ( ) ; if ( ! e . isTrivia ( o ) ) break ; r . scan ( ) ; var s = { pos : i , end : r . getStartPos ( ) , kind : o } ; i = r . getStartPos ( ) , g || ( g = [ ] ) , g . push ( s ) ; } h = r . getStartPos ( ) ; } function c ( e ) { if ( e ) switch ( e . kind ) { case 29 : case 64 : case 65 : case 45 : case 44 : return ! 0 ; } return ! 1 ; } function _ ( e ) { if ( e . parent ) switch ( e . parent . kind ) { case 241 : case 238 : case 240 : case 237 : return 69 === e . kind ; } return ! 1 ; } function u ( e ) { return 10 === e . kind ; } function l ( e ) { return 13 === e . kind || 14 === e . kind ; } function d ( e ) { return 39 === e || 61 === e ; } function p ( t ) { if ( e . Debug . assert ( void 0 !== r ) , ! f ( ) ) return { leadingTrivia : g , trailingTrivia : void 0 , token : void 0 } ; var n = c ( t ) ? 1 : u ( t ) ? 2 : l ( t ) ? 3 : _ ( t ) ? 4 : 0 ; if ( k && n === v ) return m ( k , t ) ; r . getStartPos ( ) !== h && ( e . Debug . assert ( void 0 !== k ) , r . setTextPos ( h ) , r . scan ( ) ) ; var i = r . getToken ( ) ; 1 === n && 27 === i ? ( i = r . reScanGreaterToken ( ) , e . Debug . assert ( t . kind === i ) , v = 1 ) : 2 === n && d ( i ) ? ( i = r . reScanSlashToken ( ) , e . Debug . assert ( t . kind === i ) , v = 2 ) : 3 === n && 16 === i ? ( i = r . reScanTemplateToken ( ) , v = 3 ) : 4 === n && 69 === i ? ( i = r . scanJsxIdentifier ( ) , v = 4 ) : v = 0 ; var o = { pos : r . getStartPos ( ) , end : r . getTextPos ( ) , kind : i } ; for ( y && ( y = void 0 ) ; r . getStartPos ( ) < a && ( i = r . scan ( ) , e . isTrivia ( i ) ) ; ) { var s = { pos : r . getStartPos ( ) , end : r . getTextPos ( ) , kind : i } ; if ( y || ( y = [ ] ) , y . push ( s ) , 4 === i ) { r . scan ( ) ; break ; } } return k = { leadingTrivia : g , trailingTrivia : y , token : o } , m ( k , t ) ; } function f ( ) { e . Debug . assert ( void 0 !== r ) ; var t = k && k . token . kind || r . getToken ( ) , n = k && k . token . pos || r . getStartPos ( ) ; return a > n && 1 !== t && ! e . isTrivia ( t ) ; } function m ( t , n ) { return e . isToken ( n ) && t . token . kind !== n . kind && ( t . token . kind = n . kind ) , t ; } e . Debug . assert ( void 0 === r ) , r = 1 === t . languageVariant ? o : i , r . setText ( t . text ) , r . setTextPos ( n ) ; var g , y , h , v , k , b = ! 0 ; return { advance : s , readTokenInfo : p , isOnToken : f , getCurrentLeadingTrivia : function ( ) { return g ; } , lastTrailingTriviaWasNewLine : function ( ) { return b ; } , close : function ( ) { e . Debug . assert ( void 0 !== r ) , k = void 0 , r . setText ( void 0 ) , r = void 0 ; } } ; } var r , a , i = e . createScanner ( 2 , ! 1 , 0 ) , o = e . createScanner ( 2 , ! 1 , 1 ) ; ! function ( e ) { e [ e . Scan = 0 ] = "Scan" , e [ e . RescanGreaterThanToken = 1 ] = "RescanGreaterThanToken" , e [ e . RescanSlashToken = 2 ] = "RescanSlashToken" , e [ e . RescanTemplateToken = 3 ] = "RescanTemplateToken" , e [ e . RescanJsxIdentifier = 4 ] = "RescanJsxIdentifier" ; } ( a || ( a = { } ) ) , t . getFormattingScanner = n ; } ( t = e . formatting || ( e . formatting = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( t ) { var n = function ( ) { function t ( e , t ) { this . sourceFile = e , this . formattingRequestKind = t ; } return t . prototype . updateContext = function ( t , n , r , a , i ) { e . Debug . assert ( void 0 !== t , "currentTokenSpan is null" ) , e . Debug . assert ( void 0 !== n , "currentTokenParent is null" ) , e . Debug . assert ( void 0 !== r , "nextTokenSpan is null" ) , e . Debug . assert ( void 0 !== a , "nextTokenParent is null" ) , e . Debug . assert ( void 0 !== i , "commonParent is null" ) , this . currentTokenSpan = t , this . currentTokenParent = n , this . nextTokenSpan = r , this . nextTokenParent = a , this . contextNode = i , this . contextNodeAllOnSameLine = void 0 , this . nextNodeAllOnSameLine = void 0 , this . tokensAreOnSameLine = void 0 , this . contextNodeBlockIsOnOneLine = void 0 , this . nextNodeBlockIsOnOneLine = void 0 ; } , t . prototype . ContextNodeAllOnSameLine = function ( ) { return void 0 === this . contextNodeAllOnSameLine && ( this . contextNodeAllOnSameLine = this . NodeIsOnOneLine ( this . contextNode ) ) , this . contextNodeAllOnSameLine ; } , t . prototype . NextNodeAllOnSameLine = function ( ) { return void 0 === this . nextNodeAllOnSameLine && ( this . nextNodeAllOnSameLine = this . NodeIsOnOneLine ( this . nextTokenParent ) ) , this . nextNodeAllOnSameLine ; } , t . prototype . TokensAreOnSameLine = function ( ) { if ( void 0 === this . tokensAreOnSameLine ) { var e = this . sourceFile . getLineAndCharacterOfPosition ( this . currentTokenSpan . pos ) . line , t = this . sourceFile . getLineAndCharacterOfPosition ( this . nextTokenSpan . pos ) . line ; this . tokensAreOnSameLine = e === t ; } return this . tokensAreOnSameLine ; } , t . prototype . ContextNodeBlockIsOnOneLine = function ( ) { return void 0 === this . contextNodeBlockIsOnOneLine && ( this . contextNodeBlockIsOnOneLine = this . BlockIsOnOneLine ( this . contextNode ) ) , this . contextNodeBlockIsOnOneLine ; } , t . prototype . NextNodeBlockIsOnOneLine = function ( ) { return void 0 === this . nextNodeBlockIsOnOneLine && ( this . nextNodeBlockIsOnOneLine = this . BlockIsOnOneLine ( this . nextTokenParent ) ) , this . nextNodeBlockIsOnOneLine ; } , t . prototype . NodeIsOnOneLine = function ( e ) { var t = this . sourceFile . getLineAndCharacterOfPosition ( e . getStart ( this . sourceFile ) ) . line , n = this . sourceFile . getLineAndCharacterOfPosition ( e . getEnd ( ) ) . line ; return t === n ; } , t . prototype . BlockIsOnOneLine = function ( t ) { var n = e . findChildOfKind ( t , 15 , this . sourceFile ) , r = e . findChildOfKind ( t , 16 , this . sourceFile ) ; if ( n && r ) { var a = this . sourceFile . getLineAndCharacterOfPosition ( n . getEnd ( ) ) . line , i = this . sourceFile . getLineAndCharacterOfPosition ( r . getStart ( this . sourceFile ) ) . line ; return a === i ; } return ! 1 ; } , t ; } ( ) ; t . FormattingContext = n ; } ( t = e . formatting || ( e . formatting = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( e ) { ! function ( e ) { e [ e . FormatDocument = 0 ] = "FormatDocument" , e [ e . FormatSelection = 1 ] = "FormatSelection" , e [ e . FormatOnEnter = 2 ] = "FormatOnEnter" , e [ e . FormatOnSemicolon = 3 ] = "FormatOnSemicolon" , e [ e . FormatOnClosingCurlyBrace = 4 ] = "FormatOnClosingCurlyBrace" ; } ( e . FormattingRequestKind || ( e . FormattingRequestKind = { } ) ) ; e . FormattingRequestKind ; } ( t = e . formatting || ( e . formatting = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( e ) { var t = function ( ) { function e ( e , t , n ) { void 0 === n && ( n = 0 ) , this . Descriptor = e , this . Operation = t , this . Flag = n ; } return e . prototype . toString = function ( ) { return "[desc=" + this . Descriptor + ",operation=" + this . Operation + ",flag=" + this . Flag + "]" ; } , e ; } ( ) ; e . Rule = t ; } ( t = e . formatting || ( e . formatting = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( e ) { ! function ( e ) { e [ e . Ignore = 1 ] = "Ignore" , e [ e . Space = 2 ] = "Space" , e [ e . NewLine = 4 ] = "NewLine" , e [ e . Delete = 8 ] = "Delete" ; } ( e . RuleAction || ( e . RuleAction = { } ) ) ; e . RuleAction ; } ( t = e . formatting || ( e . formatting = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( e ) { var t = function ( ) { function t ( e , t ) { this . LeftTokenRange = e , this . RightTokenRange = t ; } return t . prototype . toString = function ( ) { return "[leftRange=" + this . LeftTokenRange + ",rightRange=" + this . RightTokenRange + "]" ; } , t . create1 = function ( n , r ) { return t . create4 ( e . Shared . TokenRange . FromToken ( n ) , e . Shared . TokenRange . FromToken ( r ) ) ; } , t . create2 = function ( n , r ) { return t . create4 ( n , e . Shared . TokenRange . FromToken ( r ) ) ; } , t . create3 = function ( n , r ) { return t . create4 ( e . Shared . TokenRange . FromToken ( n ) , r ) ; } , t . create4 = function ( e , n ) { return new t ( e , n ) ; } , t ; } ( ) ; e . RuleDescriptor = t ; } ( t = e . formatting || ( e . formatting = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( e ) { ! function ( e ) { e [ e . None = 0 ] = "None" , e [ e . CanDeleteNewLines = 1 ] = "CanDeleteNewLines" ; } ( e . RuleFlags || ( e . RuleFlags = { } ) ) ; e . RuleFlags ; } ( t = e . formatting || ( e . formatting = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( e ) { var t = function ( ) { function t ( ) { this . Context = null , this . Action = null ; } return t . prototype . toString = function ( ) { return "[context=" + this . Context + ",action=" + this . Action + "]" ; } , t . create1 = function ( n ) { return t . create2 ( e . RuleOperationContext . Any , n ) ; } , t . create2 = function ( e , n ) { var r = new t ; return r . Context = e , r . Action = n , r ; } , t ; } ( ) ; e . RuleOperation = t ; } ( t = e . formatting || ( e . formatting = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( e ) { var t = function ( ) { function e ( ) { for ( var e = [ ] , t = 0 ; t < arguments . length ; t ++ ) e [ t - 0 ] = arguments [ t ] ; this . customContextChecks = e ; } return e . prototype . IsAny = function ( ) { return this === e . Any ; } , e . prototype . InContext = function ( e ) { if ( this . IsAny ( ) ) return ! 0 ; for ( var t = 0 , n = this . customContextChecks ; t < n . length ; t ++ ) { var r = n [ t ] ; if ( ! r ( e ) ) return ! 1 ; } return ! 0 ; } , e . Any = new e , e ; } ( ) ; e . RuleOperationContext = t ; } ( t = e . formatting || ( e . formatting = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( t ) { var n = function ( ) { function n ( ) { this . IgnoreBeforeComment = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . Any , t . Shared . TokenRange . Comments ) , t . RuleOperation . create1 ( 1 ) ) , this . IgnoreAfterLineComment = new t . Rule ( t . RuleDescriptor . create3 ( 2 , t . Shared . TokenRange . Any ) , t . RuleOperation . create1 ( 1 ) ) , this . NoSpaceBeforeSemicolon = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . Any , 23 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . NoSpaceBeforeColon = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . Any , 54 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsNotBinaryOpContext ) , 8 ) ) , this . NoSpaceBeforeQuestionMark = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . Any , 53 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsNotBinaryOpContext ) , 8 ) ) , this . SpaceAfterColon = new t . Rule ( t . RuleDescriptor . create3 ( 54 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsNotBinaryOpContext ) , 2 ) ) , this . SpaceAfterQuestionMarkInConditionalOperator = new t . Rule ( t . RuleDescriptor . create3 ( 53 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsConditionalOperatorContext ) , 2 ) ) , this . NoSpaceAfterQuestionMark = new t . Rule ( t . RuleDescriptor . create3 ( 53 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . SpaceAfterSemicolon = new t . Rule ( t . RuleDescriptor . create3 ( 23 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 2 ) ) , this . SpaceAfterCloseBrace = new t . Rule ( t . RuleDescriptor . create3 ( 16 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsAfterCodeBlockContext ) , 2 ) ) , this . SpaceBetweenCloseBraceAndElse = new t . Rule ( t . RuleDescriptor . create1 ( 16 , 80 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 2 ) ) , this . SpaceBetweenCloseBraceAndWhile = new t . Rule ( t . RuleDescriptor . create1 ( 16 , 104 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 2 ) ) , this . NoSpaceAfterCloseBrace = new t . Rule ( t . RuleDescriptor . create3 ( 16 , t . Shared . TokenRange . FromTokens ( [ 18 , 20 , 24 , 23 ] ) ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . NoSpaceBeforeDot = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . Any , 21 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . NoSpaceAfterDot = new t . Rule ( t . RuleDescriptor . create3 ( 21 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . NoSpaceBeforeOpenBracket = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . Any , 19 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . NoSpaceAfterCloseBracket = new t . Rule ( t . RuleDescriptor . create3 ( 20 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsNotBeforeBlockInFunctionDeclarationContext ) , 8 ) ) , this . FunctionOpenBraceLeftTokenRange = t . Shared . TokenRange . AnyIncludingMultilineComments , this . SpaceBeforeOpenBraceInFunction = new t . Rule ( t . RuleDescriptor . create2 ( this . FunctionOpenBraceLeftTokenRange , 15 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsFunctionDeclContext , n . IsBeforeBlockContext , n . IsNotFormatOnEnter , n . IsSameLineTokenOrBeforeMultilineBlockContext ) , 2 ) , 1 ) , this . TypeScriptOpenBraceLeftTokenRange = t . Shared . TokenRange . FromTokens ( [ 69 , 3 , 73 ] ) , this . SpaceBeforeOpenBraceInTypeScriptDeclWithBlock = new t . Rule ( t . RuleDescriptor . create2 ( this . TypeScriptOpenBraceLeftTokenRange , 15 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsTypeScriptDeclWithBlockContext , n . IsNotFormatOnEnter , n . IsSameLineTokenOrBeforeMultilineBlockContext ) , 2 ) , 1 ) , this . ControlOpenBraceLeftTokenRange = t . Shared . TokenRange . FromTokens ( [ 18 , 3 , 79 , 100 , 85 , 80 ] ) , this . SpaceBeforeOpenBraceInControl = new t . Rule ( t . RuleDescriptor . create2 ( this . ControlOpenBraceLeftTokenRange , 15 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsControlDeclContext , n . IsNotFormatOnEnter , n . IsSameLineTokenOrBeforeMultilineBlockContext ) , 2 ) , 1 ) , this . SpaceAfterOpenBrace = new t . Rule ( t . RuleDescriptor . create3 ( 15 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSingleLineBlockContext ) , 2 ) ) , this . SpaceBeforeCloseBrace = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . Any , 16 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSingleLineBlockContext ) , 2 ) ) , this . NoSpaceBetweenEmptyBraceBrackets = new t . Rule ( t . RuleDescriptor . create1 ( 15 , 16 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsObjectContext ) , 8 ) ) , this . NewLineAfterOpenBraceInBlockContext = new t . Rule ( t . RuleDescriptor . create3 ( 15 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsMultilineBlockContext ) , 4 ) ) , this . NewLineBeforeCloseBraceInBlockContext = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . AnyIncludingMultilineComments , 16 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsMultilineBlockContext ) , 4 ) ) , this . NoSpaceAfterUnaryPrefixOperator = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . UnaryPrefixOperators , t . Shared . TokenRange . UnaryPrefixExpressions ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsNotBinaryOpContext ) , 8 ) ) , this . NoSpaceAfterUnaryPreincrementOperator = new t . Rule ( t . RuleDescriptor . create3 ( 41 , t . Shared . TokenRange . UnaryPreincrementExpressions ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . NoSpaceAfterUnaryPredecrementOperator = new t . Rule ( t . RuleDescriptor . create3 ( 42 , t . Shared . TokenRange . UnaryPredecrementExpressions ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . NoSpaceBeforeUnaryPostincrementOperator = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . UnaryPostincrementExpressions , 41 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . NoSpaceBeforeUnaryPostdecrementOperator = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . UnaryPostdecrementExpressions , 42 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . SpaceAfterPostincrementWhenFollowedByAdd = new t . Rule ( t . RuleDescriptor . create1 ( 41 , 35 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsBinaryOpContext ) , 2 ) ) , this . SpaceAfterAddWhenFollowedByUnaryPlus = new t . Rule ( t . RuleDescriptor . create1 ( 35 , 35 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsBinaryOpContext ) , 2 ) ) , this . SpaceAfterAddWhenFollowedByPreincrement = new t . Rule ( t . RuleDescriptor . create1 ( 35 , 41 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsBinaryOpContext ) , 2 ) ) , this . SpaceAfterPostdecrementWhenFollowedBySubtract = new t . Rule ( t . RuleDescriptor . create1 ( 42 , 36 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsBinaryOpContext ) , 2 ) ) , this . SpaceAfterSubtractWhenFollowedByUnaryMinus = new t . Rule ( t . RuleDescriptor . create1 ( 36 , 36 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsBinaryOpContext ) , 2 ) ) , this . SpaceAfterSubtractWhenFollowedByPredecrement = new t . Rule ( t . RuleDescriptor . create1 ( 36 , 42 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsBinaryOpContext ) , 2 ) ) , this . NoSpaceBeforeComma = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . Any , 24 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . SpaceAfterCertainKeywords = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . FromTokens ( [ 102 , 98 , 92 , 78 , 94 , 101 , 119 ] ) , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 2 ) ) , this . SpaceAfterLetConstInVariableDeclaration = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . FromTokens ( [ 108 , 74 ] ) , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsStartOfVariableDeclarationList ) , 2 ) ) , this . NoSpaceBeforeOpenParenInFuncCall = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . Any , 17 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsFunctionCallOrNewContext , n . IsPreviousTokenNotComma ) , 8 ) ) , this . SpaceAfterFunctionInFuncDecl = new t . Rule ( t . RuleDescriptor . create3 ( 87 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsFunctionDeclContext ) , 2 ) ) , this . NoSpaceBeforeOpenParenInFuncDecl = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . Any , 17 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsFunctionDeclContext ) , 8 ) ) , this . SpaceAfterVoidOperator = new t . Rule ( t . RuleDescriptor . create3 ( 103 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsVoidOpContext ) , 2 ) ) , this . NoSpaceBetweenReturnAndSemicolon = new t . Rule ( t . RuleDescriptor . create1 ( 94 , 23 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . SpaceBetweenStatements = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . FromTokens ( [ 18 , 79 , 80 , 71 ] ) , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsNotForContext ) , 2 ) ) , this . SpaceAfterTryFinally = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . FromTokens ( [ 100 , 85 ] ) , 15 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 2 ) ) , this . SpaceAfterGetSetInMember = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . FromTokens ( [ 123 , 129 ] ) , 69 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsFunctionDeclContext ) , 2 ) ) , this . SpaceBeforeBinaryKeywordOperator = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . Any , t . Shared . TokenRange . BinaryKeywordOperators ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsBinaryOpContext ) , 2 ) ) , this . SpaceAfterBinaryKeywordOperator = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . BinaryKeywordOperators , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsBinaryOpContext ) , 2 ) ) , this . NoSpaceAfterConstructor = new t . Rule ( t . RuleDescriptor . create1 ( 121 , 17 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . NoSpaceAfterModuleImport = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . FromTokens ( [ 125 , 127 ] ) , 17 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . SpaceAfterCertainTypeScriptKeywords = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . FromTokens ( [ 115 , 73 , 122 , 77 , 81 , 82 , 83 , 123 , 106 , 89 , 107 , 125 , 126 , 110 , 112 , 111 , 129 , 113 , 132 ] ) , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 2 ) ) , this . SpaceBeforeCertainTypeScriptKeywords = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . Any , t . Shared . TokenRange . FromTokens ( [ 83 , 106 ] ) ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 2 ) ) , this . SpaceAfterModuleName = new t . Rule ( t . RuleDescriptor . create1 ( 9 , 15 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsModuleDeclContext ) , 2 ) ) , this . SpaceBeforeArrow = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . Any , 34 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 2 ) ) , this . SpaceAfterArrow = new t . Rule ( t . RuleDescriptor . create3 ( 34 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 2 ) ) , this . NoSpaceAfterEllipsis = new t . Rule ( t . RuleDescriptor . create1 ( 22 , 69 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . NoSpaceAfterOptionalParameters = new t . Rule ( t . RuleDescriptor . create3 ( 53 , t . Shared . TokenRange . FromTokens ( [ 18 , 24 ] ) ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsNotBinaryOpContext ) , 8 ) ) , this . NoSpaceBeforeOpenAngularBracket = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . TypeNames , 25 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsTypeArgumentOrParameterOrAssertionContext ) , 8 ) ) , this . NoSpaceBetweenCloseParenAndAngularBracket = new t . Rule ( t . RuleDescriptor . create1 ( 18 , 25 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsTypeArgumentOrParameterOrAssertionContext ) , 8 ) ) , this . NoSpaceAfterOpenAngularBracket = new t . Rule ( t . RuleDescriptor . create3 ( 25 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsTypeArgumentOrParameterOrAssertionContext ) , 8 ) ) , this . NoSpaceBeforeCloseAngularBracket = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . Any , 27 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsTypeArgumentOrParameterOrAssertionContext ) , 8 ) ) , this . NoSpaceAfterCloseAngularBracket = new t . Rule ( t . RuleDescriptor . create3 ( 27 , t . Shared . TokenRange . FromTokens ( [ 17 , 19 , 27 , 24 ] ) ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsTypeArgumentOrParameterOrAssertionContext ) , 8 ) ) , this . NoSpaceAfterTypeAssertion = new t . Rule ( t . RuleDescriptor . create3 ( 27 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsTypeAssertionContext ) , 8 ) ) , this . NoSpaceBetweenEmptyInterfaceBraceBrackets = new t . Rule ( t . RuleDescriptor . create1 ( 15 , 16 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsObjectTypeContext ) , 8 ) ) , this . SpaceBeforeAt = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . Any , 55 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 2 ) ) , this . NoSpaceAfterAt = new t . Rule ( t . RuleDescriptor . create3 ( 55 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . SpaceAfterDecorator = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . Any , t . Shared . TokenRange . FromTokens ( [ 115 , 69 , 82 , 77 , 73 , 113 , 112 , 110 , 111 , 123 , 129 , 19 , 37 ] ) ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsEndOfDecoratorContextOnSameLine ) , 2 ) ) , this . NoSpaceBetweenFunctionKeywordAndStar = new t . Rule ( t . RuleDescriptor . create1 ( 87 , 37 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsFunctionDeclarationOrFunctionExpressionContext ) , 8 ) ) , this . SpaceAfterStarInGeneratorDeclaration = new t . Rule ( t . RuleDescriptor . create3 ( 37 , t . Shared . TokenRange . FromTokens ( [ 69 , 17 ] ) ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsFunctionDeclarationOrFunctionExpressionContext ) , 2 ) ) , this . NoSpaceBetweenYieldKeywordAndStar = new t . Rule ( t . RuleDescriptor . create1 ( 114 , 37 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsYieldOrYieldStarWithOperand ) , 8 ) ) , this . SpaceBetweenYieldOrYieldStarAndOperand = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . FromTokens ( [ 114 , 37 ] ) , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsYieldOrYieldStarWithOperand ) , 2 ) ) , this . SpaceBetweenAsyncAndOpenParen = new t . Rule ( t . RuleDescriptor . create1 ( 118 , 17 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsArrowFunctionContext , n . IsSameLineTokenContext ) , 2 ) ) , this . SpaceBetweenAsyncAndFunctionKeyword = new t . Rule ( t . RuleDescriptor . create1 ( 118 , 87 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 2 ) ) , this . NoSpaceBetweenTagAndTemplateString = new t . Rule ( t . RuleDescriptor . create3 ( 69 , t . Shared . TokenRange . FromTokens ( [ 11 , 12 ] ) ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . HighPriorityCommonRules = [ this . IgnoreBeforeComment , this . IgnoreAfterLineComment , this . NoSpaceBeforeColon , this . SpaceAfterColon , this . NoSpaceBeforeQuestionMark , this . SpaceAfterQuestionMarkInConditionalOperator , this . NoSpaceAfterQuestionMark , this . NoSpaceBeforeDot , this . NoSpaceAfterDot , this . NoSpaceAfterUnaryPrefixOperator , this . NoSpaceAfterUnaryPreincrementOperator , this . NoSpaceAfterUnaryPredecrementOperator , this . NoSpaceBeforeUnaryPostincrementOperator , this . NoSpaceBeforeUnaryPostdecrementOperator , this . SpaceAfterPostincrementWhenFollowedByAdd , this . SpaceAfterAddWhenFollowedByUnaryPlus , this . SpaceAfterAddWhenFollowedByPreincrement , this . SpaceAfterPostdecrementWhenFollowedBySubtract , this . SpaceAfterSubtractWhenFollowedByUnaryMinus , this . SpaceAfterSubtractWhenFollowedByPredecrement , this . NoSpaceAfterCloseBrace , this . SpaceAfterOpenBrace , this . SpaceBeforeCloseBrace , this . NewLineBeforeCloseBraceInBlockContext , this . SpaceAfterCloseBrace , this . SpaceBetweenCloseBraceAndElse , this . SpaceBetweenCloseBraceAndWhile , this . NoSpaceBetweenEmptyBraceBrackets , this . NoSpaceBetweenFunctionKeywordAndStar , this . SpaceAfterStarInGeneratorDeclaration , this . SpaceAfterFunctionInFuncDecl , this . NewLineAfterOpenBraceInBlockContext , this . SpaceAfterGetSetInMember , this . NoSpaceBetweenYieldKeywordAndStar , this . SpaceBetweenYieldOrYieldStarAndOperand , this . NoSpaceBetweenReturnAndSemicolon , this . SpaceAfterCertainKeywords , this . SpaceAfterLetConstInVariableDeclaration , this . NoSpaceBeforeOpenParenInFuncCall , this . SpaceBeforeBinaryKeywordOperator , this . SpaceAfterBinaryKeywordOperator , this . SpaceAfterVoidOperator , this . SpaceBetweenAsyncAndOpenParen , this . SpaceBetweenAsyncAndFunctionKeyword , this . NoSpaceBetweenTagAndTemplateString , this . NoSpaceAfterConstructor , this . NoSpaceAfterModuleImport , this . SpaceAfterCertainTypeScriptKeywords , this . SpaceBeforeCertainTypeScriptKeywords , this . SpaceAfterModuleName , this . SpaceBeforeArrow , this . SpaceAfterArrow , this . NoSpaceAfterEllipsis , this . NoSpaceAfterOptionalParameters , this . NoSpaceBetweenEmptyInterfaceBraceBrackets , this . NoSpaceBeforeOpenAngularBracket , this . NoSpaceBetweenCloseParenAndAngularBracket , this . NoSpaceAfterOpenAngularBracket , this . NoSpaceBeforeCloseAngularBracket , this . NoSpaceAfterCloseAngularBracket , this . NoSpaceAfterTypeAssertion , this . SpaceBeforeAt , this . NoSpaceAfterAt , this . SpaceAfterDecorator ] , this . LowPriorityCommonRules = [ this . NoSpaceBeforeSemicolon , this . SpaceBeforeOpenBraceInControl , this . SpaceBeforeOpenBraceInFunction , this . SpaceBeforeOpenBraceInTypeScriptDeclWithBlock , this . NoSpaceBeforeComma , this . NoSpaceBeforeOpenBracket , this . NoSpaceAfterCloseBracket , this . SpaceAfterSemicolon , this . NoSpaceBeforeOpenParenInFuncDecl , this . SpaceBetweenStatements , this . SpaceAfterTryFinally ] , this . SpaceAfterComma = new t . Rule ( t . RuleDescriptor . create3 ( 24 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsNextTokenNotCloseBracket ) , 2 ) ) , this . NoSpaceAfterComma = new t . Rule ( t . RuleDescriptor . create3 ( 24 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . SpaceBeforeBinaryOperator = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . Any , t . Shared . TokenRange . BinaryOperators ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsBinaryOpContext ) , 2 ) ) , this . SpaceAfterBinaryOperator = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . BinaryOperators , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsBinaryOpContext ) , 2 ) ) , this . NoSpaceBeforeBinaryOperator = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . Any , t . Shared . TokenRange . BinaryOperators ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsBinaryOpContext ) , 8 ) ) , this . NoSpaceAfterBinaryOperator = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . BinaryOperators , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsBinaryOpContext ) , 8 ) ) , this . SpaceAfterKeywordInControl = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . Keywords , 17 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsControlDeclContext ) , 2 ) ) , this . NoSpaceAfterKeywordInControl = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . Keywords , 17 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsControlDeclContext ) , 8 ) ) , this . NewLineBeforeOpenBraceInFunction = new t . Rule ( t . RuleDescriptor . create2 ( this . FunctionOpenBraceLeftTokenRange , 15 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsFunctionDeclContext , n . IsBeforeMultilineBlockContext ) , 4 ) , 1 ) , this . NewLineBeforeOpenBraceInTypeScriptDeclWithBlock = new t . Rule ( t . RuleDescriptor . create2 ( this . TypeScriptOpenBraceLeftTokenRange , 15 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsTypeScriptDeclWithBlockContext , n . IsBeforeMultilineBlockContext ) , 4 ) , 1 ) , this . NewLineBeforeOpenBraceInControl = new t . Rule ( t . RuleDescriptor . create2 ( this . ControlOpenBraceLeftTokenRange , 15 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsControlDeclContext , n . IsBeforeMultilineBlockContext ) , 4 ) , 1 ) , this . SpaceAfterSemicolonInFor = new t . Rule ( t . RuleDescriptor . create3 ( 23 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsForContext ) , 2 ) ) , this . NoSpaceAfterSemicolonInFor = new t . Rule ( t . RuleDescriptor . create3 ( 23 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext , n . IsForContext ) , 8 ) ) , this . SpaceAfterOpenParen = new t . Rule ( t . RuleDescriptor . create3 ( 17 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 2 ) ) , this . SpaceBeforeCloseParen = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . Any , 18 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 2 ) ) , this . NoSpaceBetweenParens = new t . Rule ( t . RuleDescriptor . create1 ( 17 , 18 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . NoSpaceAfterOpenParen = new t . Rule ( t . RuleDescriptor . create3 ( 17 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . NoSpaceBeforeCloseParen = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . Any , 18 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . SpaceAfterOpenBracket = new t . Rule ( t . RuleDescriptor . create3 ( 19 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 2 ) ) , this . SpaceBeforeCloseBracket = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . Any , 20 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 2 ) ) , this . NoSpaceBetweenBrackets = new t . Rule ( t . RuleDescriptor . create1 ( 19 , 20 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . NoSpaceAfterOpenBracket = new t . Rule ( t . RuleDescriptor . create3 ( 19 , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . NoSpaceBeforeCloseBracket = new t . Rule ( t . RuleDescriptor . create2 ( t . Shared . TokenRange . Any , 20 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . NoSpaceAfterTemplateHeadAndMiddle = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . FromTokens ( [ 12 , 13 ] ) , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . SpaceAfterTemplateHeadAndMiddle = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . FromTokens ( [ 12 , 13 ] ) , t . Shared . TokenRange . Any ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 2 ) ) , this . NoSpaceBeforeTemplateMiddleAndTail = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . Any , t . Shared . TokenRange . FromTokens ( [ 13 , 14 ] ) ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 8 ) ) , this . SpaceBeforeTemplateMiddleAndTail = new t . Rule ( t . RuleDescriptor . create4 ( t . Shared . TokenRange . Any , t . Shared . TokenRange . FromTokens ( [ 13 , 14 ] ) ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsSameLineTokenContext ) , 2 ) ) , this . SpaceAfterAnonymousFunctionKeyword = new t . Rule ( t . RuleDescriptor . create1 ( 87 , 17 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsFunctionDeclContext ) , 2 ) ) , this . NoSpaceAfterAnonymousFunctionKeyword = new t . Rule ( t . RuleDescriptor . create1 ( 87 , 17 ) , t . RuleOperation . create2 ( new t . RuleOperationContext ( n . IsFunctionDeclContext ) , 8 ) ) ; } return n . prototype . getRuleName = function ( e ) { var t = this ; for ( var n in t ) if ( t [ n ] === e ) return n ; throw new Error ( "Unknown rule" ) ; } , n . IsForContext = function ( e ) { return 202 === e . contextNode . kind ; } , n . IsNotForContext = function ( e ) { return ! n . IsForContext ( e ) ; } , n . IsBinaryOpContext = function ( e ) { switch ( e . contextNode . kind ) { case 184 : case 185 : case 192 : case 151 : case 159 : case 160 : return ! 0 ; case 166 : case 219 : case 224 : case 214 : case 139 : case 250 : case 142 : case 141 : return 56 === e . currentTokenSpan . kind || 56 === e . nextTokenSpan . kind ; case 203 : return 90 === e . currentTokenSpan . kind || 90 === e . nextTokenSpan . kind ; case 204 : return 135 === e . currentTokenSpan . kind || 135 === e . nextTokenSpan . kind ; } return ! 1 ; } , n . IsNotBinaryOpContext = function ( e ) { return ! n . IsBinaryOpContext ( e ) ; } , n . IsConditionalOperatorContext = function ( e ) { return 185 === e . contextNode . kind ; } , n . IsSameLineTokenOrBeforeMultilineBlockContext = function ( e ) { return e . TokensAreOnSameLine ( ) || n . IsBeforeMultilineBlockContext ( e ) ; } , n . IsBeforeMultilineBlockContext = function ( e ) { return n . IsBeforeBlockContext ( e ) && ! ( e . NextNodeAllOnSameLine ( ) || e . NextNodeBlockIsOnOneLine ( ) ) ; } , n . IsMultilineBlockContext = function ( e ) { return n . IsBlockContext ( e ) && ! ( e . ContextNodeAllOnSameLine ( ) || e . ContextNodeBlockIsOnOneLine ( ) ) ; } , n . IsSingleLineBlockContext = function ( e ) { return n . IsBlockContext ( e ) && ( e . ContextNodeAllOnSameLine ( ) || e . ContextNodeBlockIsOnOneLine ( ) ) ; } , n . IsBlockContext = function ( e ) { return n . NodeIsBlockContext ( e . contextNode ) ; } , n . IsBeforeBlockContext = function ( e ) { return n . NodeIsBlockContext ( e . nextTokenParent ) ; } , n . NodeIsBlockContext = function ( e ) { if ( n . NodeIsTypeScriptDeclWithBlockContext ( e ) ) return ! 0 ; switch ( e . kind ) { case 195 : case 223 : case 168 : case 222 : return ! 0 ; } return ! 1 ; } , n . IsFunctionDeclContext = function ( e ) { switch ( e . contextNode . kind ) { case 216 : case 144 : case 143 : case 146 : case 147 : case 148 : case 176 : case 145 : case 177 : case 218 : return ! 0 ; } return ! 1 ; } , n . IsFunctionDeclarationOrFunctionExpressionContext = function ( e ) { return 216 === e . contextNode . kind || 176 === e . contextNode . kind ; } , n . IsTypeScriptDeclWithBlockContext = function ( e ) { return n . NodeIsTypeScriptDeclWithBlockContext ( e . contextNode ) ; } , n . NodeIsTypeScriptDeclWithBlockContext = function ( e ) { switch ( e . kind ) { case 217 : case 189 : case 218 : case 220 : case 156 : case 221 : return ! 0 ; } return ! 1 ; } , n . IsAfterCodeBlockContext = function ( e ) { switch ( e . currentTokenParent . kind ) { case 217 : case 221 : case 220 : case 195 : case 247 : case 222 : case 209 : return ! 0 ; } return ! 1 ; } , n . IsControlDeclContext = function ( e ) { switch ( e . contextNode . kind ) { case 199 : case 209 : case 202 : case 203 : case 204 : case 201 : case 212 : case 200 : case 208 : case 247 : return ! 0 ; default : return ! 1 ; } } , n . IsObjectContext = function ( e ) { return 168 === e . contextNode . kind ; } , n . IsFunctionCallContext = function ( e ) { return 171 === e . contextNode . kind ; } , n . IsNewContext = function ( e ) { return 172 === e . contextNode . kind ; } , n . IsFunctionCallOrNewContext = function ( e ) { return n . IsFunctionCallContext ( e ) || n . IsNewContext ( e ) ; } , n . IsPreviousTokenNotComma = function ( e ) { return 24 !== e . currentTokenSpan . kind ; } , n . IsNextTokenNotCloseBracket = function ( e ) { return 20 !== e . nextTokenSpan . kind ; } , n . IsArrowFunctionContext = function ( e ) { return 177 === e . contextNode . kind ; } , n . IsSameLineTokenContext = function ( e ) { return e . TokensAreOnSameLine ( ) ; } , n . IsNotBeforeBlockInFunctionDeclarationContext = function ( e ) { return ! n . IsFunctionDeclContext ( e ) && ! n . IsBeforeBlockContext ( e ) ; } , n . IsEndOfDecoratorContextOnSameLine = function ( e ) { return e . TokensAreOnSameLine ( ) && e . contextNode . decorators && n . NodeIsInDecoratorContext ( e . currentTokenParent ) && ! n . NodeIsInDecoratorContext ( e . nextTokenParent ) ; } , n . NodeIsInDecoratorContext = function ( t ) { for ( ; e . isExpression ( t ) ; ) t = t . parent ; return 140 === t . kind ; } , n . IsStartOfVariableDeclarationList = function ( e ) { return 215 === e . currentTokenParent . kind && e . currentTokenParent . getStart ( e . sourceFile ) === e . currentTokenSpan . pos ; } , n . IsNotFormatOnEnter = function ( e ) { return 2 !== e . formattingRequestKind ; } , n . IsModuleDeclContext = function ( e ) { return 221 === e . contextNode . kind ; } , n . IsObjectTypeContext = function ( e ) { return 156 === e . contextNode . kind ; } , n . IsTypeArgumentOrParameterOrAssertion = function ( e , t ) { if ( 25 !== e . kind && 27 !== e . kind ) return ! 1 ; switch ( t . kind ) { case 152 : case 174 : case 217 : case 189 : case 218 : case 216 : case 176 : case 177 : case 144 : case 143 : case 148 : case 149 : case 171 : case 172 : case 191 : return ! 0 ; default : return ! 1 ; } } , n . IsTypeArgumentOrParameterOrAssertionContext = function ( e ) { return n . IsTypeArgumentOrParameterOrAssertion ( e . currentTokenSpan , e . currentTokenParent ) || n . IsTypeArgumentOrParameterOrAssertion ( e . nextTokenSpan , e . nextTokenParent ) ; } , n . IsTypeAssertionContext = function ( e ) { return 174 === e . contextNode . kind ; } , n . IsVoidOpContext = function ( e ) { return 103 === e . currentTokenSpan . kind && 180 === e . currentTokenParent . kind ; } , n . IsYieldOrYieldStarWithOperand = function ( e ) { return 187 === e . contextNode . kind && void 0 !== e . contextNode . expression ; } , n ; } ( ) ; t . Rules = n ; } ( t = e . formatting || ( e . formatting = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( t ) { var n = function ( ) { function e ( ) { this . map = [ ] , this . mapRowLength = 0 ; } return e . create = function ( t ) { var n = new e ; return n . Initialize ( t ) , n ; } , e . prototype . Initialize = function ( e ) { this . mapRowLength = 136 , this . map = new Array ( this . mapRowLength * this . mapRowLength ) ; var t = new Array ( this . map . length ) ; return this . FillRules ( e , t ) , this . map ; } , e . prototype . FillRules = function ( e , t ) { var n = this ; e . forEach ( function ( e ) { n . FillRule ( e , t ) ; } ) ; } , e . prototype . GetRuleBucketIndex = function ( e , t ) { var n = e * this . mapRowLength + t ; return n ; } , e . prototype . FillRule = function ( e , n ) { var r = this , a = e . Descriptor . LeftTokenRange !== t . Shared . TokenRange . Any && e . Descriptor . RightTokenRange !== t . Shared . TokenRange . Any ; e . Descriptor . LeftTokenRange . GetTokens ( ) . forEach ( function ( t ) { e . Descriptor . RightTokenRange . GetTokens ( ) . forEach ( function ( i ) { var o = r . GetRuleBucketIndex ( t , i ) , c = r . map [ o ] ; void 0 === c && ( c = r . map [ o ] = new s ) , c . AddRule ( e , a , n , o ) ; } ) ; } ) ; } , e . prototype . GetRule = function ( e ) { var t = this . GetRuleBucketIndex ( e . currentTokenSpan . kind , e . nextTokenSpan . kind ) , n = this . map [ t ] ; if ( null != n ) for ( var r = 0 , a = n . Rules ( ) ; r < a . length ; r ++ ) { var i = a [ r ] ; if ( i . Operation . Context . InContext ( e ) ) return i ; } return null ; } , e ; } ( ) ; t . RulesMap = n ; var r = 5 , a = 31 ; ! function ( e ) { e [ e . IgnoreRulesSpecific = 0 ] = "IgnoreRulesSpecific" , e [ e . IgnoreRulesAny = 1 * r ] = "IgnoreRulesAny" , e [ e . ContextRulesSpecific = 2 * r ] = "ContextRulesSpecific" , e [ e . ContextRulesAny = 3 * r ] = "ContextRulesAny" , e [ e . NoContextRulesSpecific = 4 * r ] = "NoContextRulesSpecific" , e [ e . NoContextRulesAny = 5 * r ] = "NoContextRulesAny" ; } ( t . RulesPosition || ( t . RulesPosition = { } ) ) ; var i = t . RulesPosition , o = function ( ) { function t ( ) { this . rulesInsertionIndexBitmap = 0 ; } return t . prototype . GetInsertionIndex = function ( e ) { for ( var t = 0 , n = 0 , i = this . rulesInsertionIndexBitmap ; e >= n ; ) t += i & a , i >>= r , n += r ; return t ; } , t . prototype . IncreaseInsertionIndex = function ( t ) { var n = this . rulesInsertionIndexBitmap >> t & a ; n ++ , e . Debug . assert ( ( n & a ) === n , "Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules." ) ; var r = this . rulesInsertionIndexBitmap & ~ ( a << t ) ; r |= n << t , this . rulesInsertionIndexBitmap = r ; } , t ; } ( ) ; t . RulesBucketConstructionState = o ; var s = function ( ) { function e ( ) { this . rules = [ ] ; } return e . prototype . Rules = function ( ) { return this . rules ; } , e . prototype . AddRule = function ( e , t , n , r ) { var a ; a = 1 === e . Operation . Action ? t ? i . IgnoreRulesSpecific : i . IgnoreRulesAny : e . Operation . Context . IsAny ( ) ? t ? i . NoContextRulesSpecific : i . NoContextRulesAny : t ? i . ContextRulesSpecific : i . ContextRulesAny ; var s = n [ r ] ; void 0 === s && ( s = n [ r ] = new o ) ; var c = s . GetInsertionIndex ( a ) ; this . rules . splice ( c , 0 , e ) , s . IncreaseInsertionIndex ( a ) ; } , e ; } ( ) ; t . RulesBucket = s ; } ( t = e . formatting || ( e . formatting = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( t ) { var n ; ! function ( t ) { var n = function ( ) { function t ( t , n , r ) { this . tokens = [ ] ; for ( var a = t ; n >= a ; a ++ ) e . indexOf ( r , a ) < 0 && this . tokens . push ( a ) ; } return t . prototype . GetTokens = function ( ) { return this . tokens ; } , t . prototype . Contains = function ( e ) { return this . tokens . indexOf ( e ) >= 0 ; } , t ; } ( ) ; t . TokenRangeAccess = n ; var r = function ( ) { function e ( e ) { this . tokens = e && e . length ? e : [ ] ; } return e . prototype . GetTokens = function ( ) { return this . tokens ; } , e . prototype . Contains = function ( e ) { return this . tokens . indexOf ( e ) >= 0 ; } , e ; } ( ) ; t . TokenValuesAccess = r ; var a = function ( ) { function e ( e ) { this . token = e ; } return e . prototype . GetTokens = function ( ) { return [ this . token ] ; } , e . prototype . Contains = function ( e ) { return e === this . token ; } , e ; } ( ) ; t . TokenSingleValueAccess = a ; var i = function ( ) { function e ( ) { } return e . prototype . GetTokens = function ( ) { for ( var e = [ ] , t = 0 ; 135 >= t ; t ++ ) e . push ( t ) ; return e ; } , e . prototype . Contains = function ( e ) { return ! 0 ; } , e . prototype . toString = function ( ) { return "[allTokens]" ; } , e ; } ( ) ; t . TokenAllAccess = i ; var o = function ( ) { function e ( e ) { this . tokenAccess = e ; } return e . FromToken = function ( t ) { return new e ( new a ( t ) ) ; } , e . FromTokens = function ( t ) { return new e ( new r ( t ) ) ; } , e . FromRange = function ( t , r , a ) { return void 0 === a && ( a = [ ] ) , new e ( new n ( t , r , a ) ) ; } , e . AllTokens = function ( ) { return new e ( new i ) ; } , e . prototype . GetTokens = function ( ) { return this . tokenAccess . GetTokens ( ) ; } , e . prototype . Contains = function ( e ) { return this . tokenAccess . Contains ( e ) ; } , e . prototype . toString = function ( ) { return this . tokenAccess . toString ( ) ; } , e . Any = e . AllTokens ( ) , e . AnyIncludingMultilineComments = e . FromTokens ( e . Any . GetTokens ( ) . concat ( [ 3 ] ) ) , e . Keywords = e . FromRange ( 70 , 135 ) , e . BinaryOperators = e . FromRange ( 25 , 68 ) , e . BinaryKeywordOperators = e . FromTokens ( [ 90 , 91 , 135 , 116 , 124 ] ) , e . UnaryPrefixOperators = e . FromTokens ( [ 41 , 42 , 50 , 49 ] ) , e . UnaryPrefixExpressions = e . FromTokens ( [ 8 , 69 , 17 , 19 , 15 , 97 , 92 ] ) , e . UnaryPreincrementExpressions = e . FromTokens ( [ 69 , 17 , 97 , 92 ] ) , e . UnaryPostincrementExpressions = e . FromTokens ( [ 69 , 18 , 20 , 92 ] ) , e . UnaryPredecrementExpressions = e . FromTokens ( [ 69 , 17 , 97 , 92 ] ) , e . UnaryPostdecrementExpressions = e . FromTokens ( [ 69 , 18 , 20 , 92 ] ) , e . Comments = e . FromTokens ( [ 2 , 3 ] ) , e . TypeNames = e . FromTokens ( [ 69 , 128 , 130 , 120 , 131 , 103 , 117 ] ) , e ; } ( ) ; t . TokenRange = o ; } ( n = t . Shared || ( t . Shared = { } ) ) ; } ( t = e . formatting || ( e . formatting = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( t ) { var n = function ( ) { function n ( ) { this . globalRules = new t . Rules ; } return n . prototype . getRuleName = function ( e ) { return this . globalRules . getRuleName ( e ) ; } , n . prototype . getRuleByName = function ( e ) { return this . globalRules [ e ] ; } , n . prototype . getRulesMap = function ( ) { return this . rulesMap ; } , n . prototype . ensureUpToDate = function ( n ) { if ( null == this . options || ! e . compareDataObjects ( this . options , n ) ) { var r = this . createActiveRules ( n ) , a = t . RulesMap . create ( r ) ; this . activeRules = r , this . rulesMap = a , this . options = e . clone ( n ) ; } } , n . prototype . createActiveRules = function ( e ) { var t = this . globalRules . HighPriorityCommonRules . slice ( 0 ) ; return e . InsertSpaceAfterCommaDelimiter ? t . push ( this . globalRules . SpaceAfterComma ) : t . push ( this . globalRules . NoSpaceAfterComma ) , e . InsertSpaceAfterFunctionKeywordForAnonymousFunctions ? t . push ( this . globalRules . SpaceAfterAnonymousFunctionKeyword ) : t . push ( this . globalRules . NoSpaceAfterAnonymousFunctionKeyword ) , e . InsertSpaceAfterKeywordsInControlFlowStatements ? t . push ( this . globalRules . SpaceAfterKeywordInControl ) : t . push ( this . globalRules . NoSpaceAfterKeywordInControl ) , e . InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis ? ( t . push ( this . globalRules . SpaceAfterOpenParen ) , t . push ( this . globalRules . SpaceBeforeCloseParen ) , t . push ( this . globalRules . NoSpaceBetweenParens ) ) : ( t . push ( this . globalRules . NoSpaceAfterOpenParen ) , t . push ( this . globalRules . NoSpaceBeforeCloseParen ) , t . push ( this . globalRules . NoSpaceBetweenParens ) ) , e . InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets ? ( t . push ( this . globalRules . SpaceAfterOpenBracket ) , t . push ( this . globalRules . SpaceBeforeCloseBracket ) , t . push ( this . globalRules . NoSpaceBetweenBrackets ) ) : ( t . push ( this . globalRules . NoSpaceAfterOpenBracket ) , t . push ( this . globalRules . NoSpaceBeforeCloseBracket ) , t . push ( this . globalRules . NoSpaceBetweenBrackets ) ) , e . InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces ? ( t . push ( this . globalRules . SpaceAfterTemplateHeadAndMiddle ) , t . push ( this . globalRules . SpaceBeforeTemplateMiddleAndTail ) ) : ( t . push ( this . globalRules . NoSpaceAfterTemplateHeadAndMiddle ) , t . push ( this . globalRules . NoSpaceBeforeTemplateMiddleAndTail ) ) , e . InsertSpaceAfterSemicolonInForStatements ? t . push ( this . globalRules . SpaceAfterSemicolonInFor ) : t . push ( this . globalRules . NoSpaceAfterSemicolonInFor ) , e . InsertSpaceBeforeAndAfterBinaryOperators ? ( t . push ( this . globalRules . SpaceBeforeBinaryOperator ) , t . push ( this . globalRules . SpaceAfterBinaryOperator ) ) : ( t . push ( this . globalRules . NoSpaceBeforeBinaryOperator ) , t . push ( this . globalRules . NoSpaceAfterBinaryOperator ) ) , e . PlaceOpenBraceOnNewLineForControlBlocks && t . push ( this . globalRules . NewLineBeforeOpenBraceInControl ) , e . PlaceOpenBraceOnNewLineForFunctions && ( t . push ( this . globalRules . NewLineBeforeOpenBraceInFunction ) , t . push ( this . globalRules . NewLineBeforeOpenBraceInTypeScriptDeclWithBlock ) ) , t = t . concat ( this . globalRules . LowPriorityCommonRules ) ; } , n ; } ( ) ; t . RulesProvider = n ; } ( t = e . formatting || ( e . formatting = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( t ) { function n ( t , n , r , a ) { var i = n . getLineAndCharacterOfPosition ( t ) . line ; if ( 0 === i ) return [ ] ; for ( var o = e . getEndLinePosition ( i , n ) ; e . isWhiteSpace ( n . text . charCodeAt ( o ) ) && ! e . isLineBreak ( n . text . charCodeAt ( o ) ) ; ) o -- ; var s = { pos : e . getStartPositionOfLine ( i - 1 , n ) , end : o + 1 } ; return f ( s , n , a , r , 2 ) ; } function r ( e , t , n , r ) { return s ( e , 23 , t , r , n , 3 ) ; } function a ( e , t , n , r ) { return s ( e , 16 , t , r , n , 4 ) ; } function i ( e , t , n ) { var r = { pos : 0 , end : e . text . length } ; return f ( r , e , n , t , 0 ) ; } function o ( t , n , r , a , i ) { var o = { pos : e . getLineStartPositionForPosition ( t , r ) , end : n } ; return f ( o , r , i , a , 1 ) ; } function s ( t , n , r , a , i , o ) { var s = c ( t , n , r ) ; if ( ! s ) return [ ] ; var _ = { pos : e . getLineStartPositionForPosition ( s . getStart ( r ) , r ) , end : s . end } ; return f ( _ , r , a , i , o ) ; } function c ( t , n , r ) { var a = e . findPrecedingToken ( t , r ) ; if ( a && a . kind === n && t === a . getEnd ( ) ) { for ( var i = a ; i && i . parent && i . parent . end === a . end && ! _ ( i . parent , i ) ; ) i = i . parent ; return i ; } } function _ ( t , n ) { switch ( t . kind ) { case 217 : case 218 : return e . rangeContainsRange ( t . members , n ) ; case 221 : var r = t . body ; return r && 195 === r . kind && e . rangeContainsRange ( r . statements , n ) ; case 251 : case 195 : case 222 : return e . rangeContainsRange ( t . statements , n ) ; case 247 : return e . rangeContainsRange ( t . block . statements , n ) ; } return ! 1 ; } function u ( t , n ) { function r ( a ) { var i = e . forEachChild ( a , function ( r ) { return e . startEndContainsRange ( r . getStart ( n ) , r . end , t ) && r ; } ) ; if ( i ) { var o = r ( i ) ; if ( o ) return o ; } return a ; } return r ( n ) ; } function l ( t , n ) { function r ( e ) { return ! 1 ; } if ( ! t . length ) return r ; var a = t . filter ( function ( t ) { return e . rangeOverlapsWithStartEnd ( n , t . start , t . start + t . length ) ; } ) . sort ( function ( e , t ) { return e . start - t . start ; } ) ; if ( ! a . length ) return r ; var i = 0 ; return function ( t ) { for ( ; ; ) { if ( i >= a . length ) return ! 1 ; var n = a [ i ] ; if ( t . end <= n . start ) return ! 1 ; if ( e . startEndOverlapsWithStartEnd ( t . pos , t . end , n . start , n . start + n . length ) ) return ! 0 ; i ++ ; } } ; } function d ( t , n , r ) { var a = t . getStart ( r ) ; if ( a === n . pos && t . end === n . end ) return a ; var i = e . findPrecedingToken ( n . pos , r ) ; return i ? i . end >= n . pos ? t . pos : i . end : t . pos ; } function p ( e , n , r ) { for ( var a , i = - 1 ; e ; ) { var o = r . getLineAndCharacterOfPosition ( e . getStart ( r ) ) . line ; if ( - 1 !== i && o !== i ) break ; if ( t . SmartIndenter . shouldIndentChildNode ( e , a ) ) return n . IndentSize ; i = o , a = e , e = e . parent ; } return 0 ; } function f ( n , r , a , i , o ) { function s ( n , i , o , s , c ) { if ( e . rangeOverlapsWithStartEnd ( s , n , i ) || e . rangeContainsStartEnd ( s , n , i ) ) { if ( - 1 !== c ) return c ; } else { var _ = r . getLineAndCharacterOfPosition ( n ) . line , u = e . getLineStartPositionForPosition ( n , r ) , l = t . SmartIndenter . findFirstNonWhitespaceColumn ( u , n , r , a ) ; if ( _ !== o || n === l ) return l ; } return - 1 ; } function c ( e , n , i , o , s , c ) { var _ = i , u = t . SmartIndenter . shouldIndentChildNode ( e ) ? a . IndentSize : 0 ; return c === n ? ( _ = n === F ? L : s . getIndentation ( ) , u = Math . min ( a . IndentSize , s . getDelta ( e ) + u ) ) : - 1 === _ && ( _ = t . SmartIndenter . childStartsOnTheSameLineWithElseInIfStatement ( o , e , n , r ) ? s . getIndentation ( ) : s . getIndentation ( ) + s . getDelta ( e ) ) , { indentation : _ , delta : u } ; } function _ ( e ) { if ( e . modifiers && e . modifiers . length ) return e . modifiers [ 0 ] . kind ; switch ( e . kind ) { case 217 : return 73 ; case 218 : return 107 ; case 216 : return 87 ; case 220 : return 220 ; case 146 : return 123 ; case 147 : return 129 ; case 144 : if ( e . asteriskToken ) return 37 ; case 142 : case 139 : return e . name . kind ; } } function f ( e , n , r , i ) { function o ( n , r ) { return t . SmartIndenter . nodeWillIndentChild ( e , r , ! 0 ) ? n : 0 ; } return { getIndentationForComment : function ( e , t , n ) { switch ( e ) { case 16 : case 20 : case 18 : return r + o ( i , n ) ; } return - 1 !== t ? t : r ; } , getIndentationForToken : function ( t , a , s ) { if ( n !== t && e . decorators && a === _ ( e ) ) return r ; switch ( a ) { case 15 : case 16 : case 19 : case 20 : case 17 : case 18 : case 80 : case 104 : case 55 : return r ; default : return n !== t ? r + o ( i , s ) : r ; } } , getIndentation : function ( ) { return r ; } , getDelta : function ( e ) { return o ( i , e ) ; } , recomputeIndentation : function ( n ) { e . parent && t . SmartIndenter . shouldIndentChildNode ( e . parent , e ) && ( n ? r += a . IndentSize : r -= a . IndentSize , i = t . SmartIndenter . shouldIndentChildNode ( e ) ? a . IndentSize : 0 ) ; } } ; } function h ( t , a , i , o , _ , u ) { function l ( a , i , o , _ , u , l , d ) { var f = a . getStart ( r ) , m = r . getLineAndCharacterOfPosition ( f ) . line , g = m ; a . decorators && ( g = r . getLineAndCharacterOfPosition ( e . getNonDecoratorTokenPosOfNode ( a , r ) ) . line ) ; var y = - 1 ; if ( d && ( y = s ( f , a . end , u , n , i ) , - 1 !== y && ( i = y ) ) , ! e . rangeOverlapsWithStartEnd ( n , a . pos , a . end ) ) return i ; if ( 0 === a . getFullWidth ( ) ) return i ; for ( ; K . isOnToken ( ) ; ) { var v = K . readTokenInfo ( t ) ; if ( v . token . end > f ) break ; p ( v , t , _ ) ; } if ( ! K . isOnToken ( ) ) return i ; if ( e . isToken ( a ) ) { var v = K . readTokenInfo ( a ) ; return e . Debug . assert ( v . token . end === a . end ) , p ( v , t , _ , a ) , i ; } var k = 140 === a . kind ? m : l , x = c ( a , m , y , t , _ , k ) ; return h ( a , b , m , g , x . indentation , x . delta ) , b = t , i ; } function d ( n , a , i , o ) { var s = m ( a , n ) , _ = g ( s ) , u = o , d = i ; if ( 0 !== s ) for ( ; K . isOnToken ( ) ; ) { var y = K . readTokenInfo ( a ) ; if ( y . token . end > n . pos ) break ; if ( y . token . kind === s ) { d = r . getLineAndCharacterOfPosition ( y . token . pos ) . line ; var h = c ( y . token , d , - 1 , a , o , i ) ; u = f ( a , i , h . indentation , h . delta ) , p ( y , a , u ) ; } else p ( y , a , o ) ; } for ( var v = - 1 , k = 0 , b = n ; k < b . length ; k ++ ) { var x = b [ k ] ; v = l ( x , v , t , u , d , d , ! 0 ) ; } if ( 0 !== _ && K . isOnToken ( ) ) { var y = K . readTokenInfo ( a ) ; y . token . kind === _ && e . rangeContainsRange ( a , y . token ) && p ( y , a , u ) ; } } function p ( t , a , i , o ) { e . Debug . assert ( e . rangeContainsRange ( a , t . token ) ) ; var s = K . lastTrailingTriviaWasNewLine ( ) , c = ! 1 ; t . leadingTrivia && v ( t . leadingTrivia , a , b , i ) ; var _ , u = e . rangeContainsRange ( n , t . token ) , l = r . getLineAndCharacterOfPosition ( t . token . pos ) ; if ( u ) { var d = M ( t . token ) , p = O ; if ( _ = k ( t . token , l , a , b , i ) , d ) c = ! 1 ; else if ( void 0 !== _ ) c = _ ; else { var f = p && r . getLineAndCharacterOfPosition ( p . end ) . line ; c = s && l . line !== f ; } } if ( t . trailingTrivia && v ( t . trailingTrivia , a , b , i ) , c ) { var m = u && ! M ( t . token ) ? i . getIndentationForToken ( l . line , t . token . kind , o ) : - 1 ; if ( t . leadingTrivia ) for ( var g = i . getIndentationForComment ( t . token . kind , m , o ) , y = ! 0 , h = 0 , D = t . leadingTrivia ; h < D . length ; h ++ ) { var S = D [ h ] ; if ( e . rangeContainsRange ( n , S ) ) switch ( S . kind ) { case 3 : C ( S , g , ! y ) , y = ! 1 ; break ; case 2 : y && ( x ( S . pos , g , ! 1 ) , y = ! 1 ) ; break ; case 4 : y = ! 0 ; } } - 1 !== m && ( x ( t . token . pos , m , _ ) , F = l . line , L = m ) ; } K . advance ( ) , b = a ; } if ( e . rangeOverlapsWithStartEnd ( n , t . getStart ( r ) , t . getEnd ( ) ) ) { var y = f ( t , i , _ , u ) , b = a ; for ( e . forEachChild ( t , function ( e ) { l ( e , - 1 , t , y , i , o , ! 1 ) ; } , function ( e ) { d ( e , t , i , y ) ; } ) ; K . isOnToken ( ) ; ) { var D = K . readTokenInfo ( t ) ; if ( D . token . end > t . end ) break ; p ( D , t , y ) ; } } } function v ( t , a , i , o ) { for ( var s = 0 , c = t ; s < c . length ; s ++ ) { var _ = c [ s ] ; if ( e . isComment ( _ . kind ) && e . rangeContainsRange ( n , _ ) ) { var u = r . getLineAndCharacterOfPosition ( _ . pos ) ; k ( _ , u , a , i , o ) ; } } } function k ( e , t , a , i , o ) { var s , c = M ( e ) ; if ( ! c && ! N ) if ( O ) s = b ( e , t . line , a , O , I , R , i , o ) ; else { var _ = r . getLineAndCharacterOfPosition ( n . pos ) ; D ( _ . line , t . line ) ; } return O = e , R = a , I = t . line , N = c , s ; } function b ( e , t , n , a , o , s , c , _ ) { B . updateContext ( a , s , e , n , c ) ; var u , l , d = i . getRulesMap ( ) . GetRule ( B ) ; return d ? ( P ( d , a , o , e , t ) , 10 & d . Operation . Action && t !== o ? ( l = ! 1 , n . getStart ( r ) === e . pos && _ . recomputeIndentation ( ! 1 ) ) : 4 & d . Operation . Action && t === o && ( l = ! 0 , n . getStart ( r ) === e . pos && _ . recomputeIndentation ( ! 0 ) ) , u = ! ( 8 & d . Operation . Action ) && 1 !== d . Flag ) : u = ! 0 , t !== o && u && D ( o , t , a ) , l ; } function x ( t , n , i ) { var o = y ( n , a ) ; if ( i ) A ( t , 0 , o ) ; else { var s = r . getLineAndCharacterOfPosition ( t ) ; if ( n !== s . character ) { var c = e . getStartPositionOfLine ( s . line , r ) ; A ( c , s . character , o ) ; } } } function C ( n , i , o ) { var s , c = r . getLineAndCharacterOfPosition ( n . pos ) . line , _ = r . getLineAndCharacterOfPosition ( n . end ) . line ; if ( c === _ ) return void ( o || x ( n . pos , i , ! 1 ) ) ; s = [ ] ; for ( var u = n . pos , l = c ; _ > l ; ++ l ) { var d = e . getEndLinePosition ( l , r ) ; s . push ( { pos : u , end : d } ) , u = e . getStartPositionOfLine ( l + 1 , r ) ; } s . push ( { pos : u , end : n . end } ) ; var p = e . getStartPositionOfLine ( c , r ) , f = t . SmartIndenter . findFirstNonWhitespaceCharacterAndColumn ( p , s [ 0 ] . pos , r , a ) ; if ( i !== f . column ) { var m = 0 ; o && ( m = 1 , c ++ ) ; for ( var g = i - f . column , h = m , v = s . length ; v > h ; ++ h , ++ c ) { var k = e . getStartPositionOfLine ( c , r ) , b = 0 === h ? f : t . SmartIndenter . findFirstNonWhitespaceCharacterAndColumn ( s [ h ] . pos , s [ h ] . end , r , a ) , C = b . column + g ; if ( C > 0 ) { var D = y ( C , a ) ; A ( k , b . character , D ) ; } else w ( k , b . character ) ; } } } function D ( t , n , a ) { for ( var i = t ; n > i ; ++ i ) { var o = e . getStartPositionOfLine ( i , r ) , s = e . getEndLinePosition ( i , r ) ; if ( ! ( a && ( e . isComment ( a . kind ) || e . isStringOrRegularExpressionOrTemplateLiteral ( a . kind ) ) && a . pos <= s && a . end > s ) ) { var c = S ( o , s ) ; - 1 !== c && ( e . Debug . assert ( c === o || ! e . isWhiteSpace ( r . text . charCodeAt ( c - 1 ) ) ) , w ( c , s + 1 - c ) ) ; } } } function S ( t , n ) { for ( var a = n ; a >= t && e . isWhiteSpace ( r . text . charCodeAt ( a ) ) ; ) a -- ; return a !== n ? a + 1 : - 1 ; } function T ( ) { var e = O ? O . end : n . pos , t = r . getLineAndCharacterOfPosition ( e ) . line , a = r . getLineAndCharacterOfPosition ( n . end ) . line ; D ( t , a + 1 , O ) ; } function E ( t , n , r ) { return { span : e . createTextSpan ( t , n ) , newText : r } ; } function w ( e , t ) { t && J . push ( E ( e , t , "" ) ) ; } function A ( e , t , n ) { ( t || n ) && J . push ( E ( e , t , n ) ) ; } function P ( e , t , n , i , o ) { switch ( e . Operation . Action ) { case 1 : return ; case 8 : t . end !== i . pos && w ( t . end , i . pos - t . end ) ; break ; case 4 : if ( 1 !== e . Flag && n !== o ) return ; var s = o - n ; 1 !== s && A ( t . end , i . pos - t . end , a . NewLineCharacter ) ; break ; case 2 : if ( 1 !== e . Flag && n !== o ) return ; var c = i . pos - t . end ; 1 === c && 32 === r . text . charCodeAt ( t . end ) || A ( t . end , i . pos - t . end , " " ) ; } } var N , O , R , I , F , L , M = l ( r . parseDiagnostics , n ) , B = new t . FormattingContext ( r , o ) , z = u ( n , r ) , K = t . getFormattingScanner ( r , d ( z , n , r ) , n . end ) , j = t . SmartIndenter . getIndentationForNode ( z , n , r , a ) , J = [ ] ; if ( K . advance ( ) , K . isOnToken ( ) ) { var U = r . getLineAndCharacterOfPosition ( z . getStart ( r ) ) . line , q = U ; z . decorators && ( q = r . getLineAndCharacterOfPosition ( e . getNonDecoratorTokenPosOfNode ( z , r ) ) . line ) ; var W = p ( z , a , r ) ; h ( z , z , U , q , j , W ) ; } if ( ! K . isOnToken ( ) ) { var V = K . getCurrentLeadingTrivia ( ) ; V && ( v ( V , z , z , void 0 ) , T ( ) ) ; } return K . close ( ) , J ; } function m ( e , t ) { switch ( e . kind ) { case 145 : case 216 : case 176 : case 144 : case 143 : case 177 : if ( e . typeParameters === t ) return 25 ; if ( e . parameters === t ) return 17 ; break ; case 171 : case 172 : if ( e . typeArguments === t ) return 25 ; if ( e . arguments === t ) return 17 ; break ; case 152 : if ( e . typeArguments === t ) return 25 ; } return 0 ; } function g ( e ) { switch ( e ) { case 17 : return 18 ; case 25 : return 27 ; } return 0 ; } function y ( e , t ) { function n ( e , t ) { for ( var n = "" , r = 0 ; t > r ; ++ r ) n += e ; return n ; } var r = ! v || v . tabSize !== t . TabSize || v . indentSize !== t . IndentSize ; if ( r && ( v = { tabSize : t . TabSize , indentSize : t . IndentSize } , k = b = void 0 ) , t . ConvertTabsToSpaces ) { var a = void 0 , i = Math . floor ( e / t . IndentSize ) , o = e % t . IndentSize ; return b || ( b = [ ] ) , void 0 === b [ i ] ? ( a = n ( " " , t . IndentSize * i ) , b [ i ] = a ) : a = b [ i ] , o ? a + n ( " " , o ) : a ; } var s = Math . floor ( e / t . TabSize ) , c = e - s * t . TabSize , _ = void 0 ; return k || ( k = [ ] ) , void 0 === k [ s ] ? k [ s ] = _ = n ( "	" , s ) : _ = k [ s ] , c ? _ + n ( " " , c ) : _ ; } var h ; ! function ( e ) { e [ e . Unknown = - 1 ] = "Unknown" ; } ( h || ( h = { } ) ) , t . formatOnEnter = n , t . formatOnSemicolon = r , t . formatOnClosingCurly = a , t . formatDocument = i , t . formatSelection = o ; var v , k , b ; t . getIndentationString = y ; } ( t = e . formatting || ( e . formatting = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( t ) { var n ; ! function ( t ) { function n ( n , r , i ) { if ( n > r . text . length ) return 0 ; if ( i . IndentStyle === e . IndentStyle . None ) return 0 ; var s = e . findPrecedingToken ( n , r ) ; if ( ! s ) return 0 ; var u = e . isStringOrRegularExpressionOrTemplateLiteral ( s . kind ) ; if ( u && s . getStart ( r ) <= n && s . end > n ) return 0 ; var l = r . getLineAndCharacterOfPosition ( n ) . line ; if ( i . IndentStyle === e . IndentStyle . Block ) { for ( var f = n ; f > 0 ; ) { var m = r . text . charCodeAt ( f ) ; if ( ! e . isWhiteSpace ( m ) && ! e . isLineBreak ( m ) ) break ; f -- ; } var g = e . getLineStartPositionForPosition ( f , r ) ; return t . findFirstNonWhitespaceColumn ( g , f , r , i ) ; } if ( 24 === s . kind && 184 !== s . parent . kind ) { var y = o ( s , r , i ) ; if ( - 1 !== y ) return y ; } for ( var h , v , b , x = s ; x ; ) { if ( e . positionBelongsToNode ( x , n , r ) && k ( x , h ) ) { v = _ ( x , r ) , b = c ( s , x , l , r ) ? 0 : l !== v . line ? i . IndentSize : 0 ; break ; } var y = d ( x , r , i ) ; if ( - 1 !== y ) return y ; if ( y = p ( x , r , i ) , - 1 !== y ) return y + i . IndentSize ; h = x , x = x . parent ; } return x ? a ( x , v , void 0 , b , r , i ) : 0 ; } function r ( e , t , n , r ) { var i = n . getLineAndCharacterOfPosition ( e . getStart ( n ) ) ; return a ( e , i , t , 0 , n , r ) ; } function a ( e , t , n , r , a , o ) { for ( var c , _ = e . parent ; _ ; ) { var l = ! 0 ; if ( n ) { var f = e . getStart ( a ) ; l = f < n . pos || f > n . end ; } if ( l ) { var m = d ( e , a , o ) ; if ( - 1 !== m ) return m + r ; } c = i ( _ , e , a ) ; var g = c . line === t . line || u ( _ , e , t . line , a ) ; if ( l ) { var m = s ( e , _ , t , g , a , o ) ; if ( - 1 !== m ) return m + r ; if ( m = p ( e , a , o ) , - 1 !== m ) return m + r ; } k ( _ , e ) && ! g && ( r += o . IndentSize ) , e = _ , t = c , _ = e . parent ; } return r ; } function i ( e , t , n ) { var r = l ( t , n ) ; return r ? n . getLineAndCharacterOfPosition ( r . pos ) : n . getLineAndCharacterOfPosition ( e . getStart ( n ) ) ; } function o ( t , n , r ) { var a = e . findListItemInfo ( t ) ; return a && a . listItemIndex > 0 ? f ( a . list . getChildren ( ) , a . listItemIndex - 1 , n , r ) : - 1 ; } function s ( t , n , r , a , i , o ) { var s = ( e . isDeclaration ( t ) || e . isStatement ( t ) ) && ( 251 === n . kind || ! a ) ; return s ? m ( r , i , o ) : - 1 ; } function c ( t , n , r , a ) { var i = e . findNextToken ( t , n ) ; if ( ! i ) return ! 1 ; if ( 15 === i . kind ) return ! 0 ; if ( 16 === i . kind ) { var o = _ ( i , a ) . line ; return r === o ; } return ! 1 ; } function _ ( e , t ) { return t . getLineAndCharacterOfPosition ( e . getStart ( t ) ) ; } function u ( t , n , r , a ) { if ( 199 === t . kind && t . elseStatement === n ) { var i = e . findChildOfKind ( t , 80 , a ) ; e . Debug . assert ( void 0 !== i ) ; var o = _ ( i , a ) . line ; return o === r ; } return ! 1 ; } function l ( t , n ) { if ( t . parent ) switch ( t . parent . kind ) { case 152 : if ( t . parent . typeArguments && e . rangeContainsStartEnd ( t . parent . typeArguments , t . getStart ( n ) , t . getEnd ( ) ) ) return t . parent . typeArguments ; break ; case 168 : return t . parent . properties ; case 167 : return t . parent . elements ; case 216 : case 176 : case 177 : case 144 : case 143 : case 148 : case 149 : var r = t . getStart ( n ) ; if ( t . parent . typeParameters && e . rangeContainsStartEnd ( t . parent . typeParameters , r , t . getEnd ( ) ) ) return t . parent . typeParameters ; if ( e . rangeContainsStartEnd ( t . parent . parameters , r , t . getEnd ( ) ) ) return t . parent . parameters ; break ; case 172 : case 171 : var r = t . getStart ( n ) ; if ( t . parent . typeArguments && e . rangeContainsStartEnd ( t . parent . typeArguments , r , t . getEnd ( ) ) ) return t . parent . typeArguments ; if ( t . parent . arguments && e . rangeContainsStartEnd ( t . parent . arguments , r , t . getEnd ( ) ) ) return t . parent . arguments ; } } function d ( t , n , r ) { function a ( a ) { var i = e . indexOf ( a , t ) ; return - 1 !== i ? f ( a , i , n , r ) : - 1 ; } var i = l ( t , n ) ; return i ? a ( i ) : - 1 ; } function p ( e , t , n ) { function r ( e ) { for ( ; ; ) switch ( e . kind ) { case 171 : case 172 : case 169 : case 170 : e = e . expression ; break ; default : return e ; } } if ( 18 === e . kind ) return - 1 ; if ( e . parent && ( 171 === e . parent . kind || 172 === e . parent . kind ) && e . parent . expression !== e ) { var a = e . parent . expression , i = r ( a ) ; if ( a === i ) return - 1 ; var o = t . getLineAndCharacterOfPosition ( a . end ) , s = t . getLineAndCharacterOfPosition ( i . end ) ; return o . line === s . line ? - 1 : m ( o , t , n ) ; } return - 1 ; } function f ( t , n , r , a ) { e . Debug . assert ( n >= 0 && n < t . length ) ; for ( var i = t [ n ] , o = _ ( i , r ) , s = n - 1 ; s >= 0 ; -- s ) if ( 24 !== t [ s ] . kind ) { var c = r . getLineAndCharacterOfPosition ( t [ s ] . end ) . line ; if ( c !== o . line ) return m ( o , r , a ) ; o = _ ( t [ s ] , r ) ; } return - 1 ; } function m ( e , t , n ) { var r = t . getPositionOfLineAndCharacter ( e . line , 0 ) ; return y ( r , r + e . character , t , n ) ; } function g ( t , n , r , a ) { for ( var i = 0 , o = 0 , s = t ; n > s ; ++ s ) { var c = r . text . charCodeAt ( s ) ; if ( ! e . isWhiteSpace ( c ) ) break ; 9 === c ? o += a . TabSize + o % a . TabSize : o ++ , i ++ ; } return { column : o , character : i } ; } function y ( e , t , n , r ) { return g ( e , t , n , r ) . column ; } function h ( e ) { switch ( e ) { case 198 : case 217 : case 189 : case 218 : case 220 : case 219 : case 167 : case 195 : case 222 : case 168 : case 156 : case 158 : case 223 : case 245 : case 244 : case 175 : case 169 : case 171 : case 172 : case 196 : case 214 : case 230 : case 207 : case 185 : case 165 : case 164 : case 238 : case 237 : case 243 : case 143 : case 148 : case 149 : case 139 : case 153 : case 154 : case 161 : case 173 : case 181 : case 228 : return ! 0 ; } return ! 1 ; } function v ( e , t , n ) { var r = t ? t . kind : 0 ; switch ( e . kind ) { case 200 : case 201 : case 203 : case 204 : case 202 : case 199 : case 216 : case 176 : case 144 : case 177 : case 145 : case 146 : case 147 : return 195 !== r ; case 236 : return 240 !== r ; } return n ; } function k ( e , t ) { return h ( e . kind ) || v ( e , t , ! 1 ) ; } var b ; ! function ( e ) { e [ e . Unknown = - 1 ] = "Unknown" ; } ( b || ( b = { } ) ) , t . getIndentation = n , t . getIndentationForNode = r , t . childStartsOnTheSameLineWithElseInIfStatement = u , t . findFirstNonWhitespaceCharacterAndColumn = g , t . findFirstNonWhitespaceColumn = y , t . nodeWillIndentChild = v , t . shouldIndentChildNode = k ; } ( n = t . SmartIndenter || ( t . SmartIndenter = { } ) ) ; } ( t = e . formatting || ( e . formatting = { } ) ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { function t ( e , t , n , r , a ) { var i = new J ( e , t , n ) ; return i . flags = r , i . parent = a , i ; } function n ( t , n , r ) { function a ( ) { function a ( t , n ) { return e . map ( e . getJsDocComments ( t , n ) , function ( e ) { return { pos : e . pos + "/*" . length , end : e . end - "*/" . length } ; } ) ; } function i ( t , n , r , a ) { for ( void 0 !== a && ( n = Math . min ( n , t + a ) ) ; n > t ; t ++ ) { var i = r . text . charCodeAt ( t ) ; if ( ! e . isWhiteSpace ( i ) || e . isLineBreak ( i ) ) return t ; } return n ; } function o ( t , n , r ) { for ( ; n > t && e . isLineBreak ( r . text . charCodeAt ( t ) ) ; ) t ++ ; return t ; } function s ( t , n , r , a ) { return t + a . length < n && r . text . substr ( t , a . length ) === a && ( e . isWhiteSpace ( r . text . charCodeAt ( t + a . length ) ) || e . isLineBreak ( r . text . charCodeAt ( t + a . length ) ) ) ; } function c ( e , t , n ) { return s ( e , t , n , d ) ; } function _ ( t , n , r ) { for ( ; r ; ) r -- , t . push ( e . textPart ( "" ) ) ; t . push ( e . textPart ( n ) ) ; } function u ( t , n , r ) { for ( var a , s = [ ] , u = 0 , l = ! 1 ; n > t ; ) { var p = "" ; if ( t = i ( t , n , r ) , n > t && 42 === r . text . charCodeAt ( t ) ) { var f = t + 1 ; t = i ( t + 1 , n , r , a ) , void 0 === a && n > t && ! e . isLineBreak ( r . text . charCodeAt ( t ) ) && ( a = t - f ) ; } else void 0 === a && ( a = 0 ) ; for ( ; n > t && ! e . isLineBreak ( r . text . charCodeAt ( t ) ) ; ) { var m = r . text . charAt ( t ) ; if ( "@" === m ) { if ( c ( t , n , r ) ) { l = ! 0 , t += d . length ; continue ; } l = ! 1 ; } l || ( p += m ) , t ++ ; } t = o ( t , n , r ) , p ? ( _ ( s , p , u ) , u = 0 ) : ! l && s . length && u ++ ; } return s ; } function l ( t , r , a ) { function u ( t ) { for ( ; r > t && e . isWhiteSpace ( a . text . charCodeAt ( t ) ) ; ) t ++ ; return t ; } function l ( e ) { if ( t = o ( t , r , a ) , ! ( t >= r ) ) { void 0 === p && ( p = a . getLineAndCharacterOfPosition ( e ) . character ) ; var n = t ; if ( t = i ( t , r , a , p ) , ! ( t >= r ) ) { var s = t - n ; if ( p > s ) { var c = a . text . charCodeAt ( t ) ; 42 === c && ( t = i ( t + 1 , r , a , p - s - 1 ) ) ; } } } } for ( var p , f = [ ] ; r > t ; ) { if ( c ( t , r , a ) ) { var m = 0 , g = ! 1 ; if ( t = u ( t + d . length ) , t >= r ) break ; if ( 123 === a . text . charCodeAt ( t ) ) { t ++ ; for ( var y = 1 ; r > t ; t ++ ) { var h = a . text . charCodeAt ( t ) ; if ( 123 !== h ) { if ( 125 !== h ) { if ( 64 === h ) break ; } else if ( y -- , 0 === y ) { t ++ ; break ; } } else y ++ ; } if ( t = u ( t ) , t >= r ) break ; } if ( s ( t , r , a , n ) ) { if ( t = u ( t + n . length ) , t >= r ) break ; for ( var v = "" , k = t ; r > t ; ) { var b = a . text . charCodeAt ( t ) ; if ( e . isLineBreak ( b ) ) v ? ( _ ( f , v , m ) , v = "" , m = 0 , g = ! 0 ) : g && m ++ , l ( k ) ; else { if ( 64 === b ) break ; v += a . text . charAt ( t ) , t ++ ; } } v && _ ( f , v , m ) , p = void 0 ; } if ( 64 === a . text . charCodeAt ( t ) ) continue ; } t ++ ; } return f ; } var d = "@param" , p = [ ] ; return e . forEach ( t , function ( n , i ) { if ( e . indexOf ( t , n ) === i ) { var o = e . getSourceFileOfNode ( n ) ; if ( r && 139 === n . kind && e . forEach ( a ( n . parent , o ) , function ( t ) { var n = l ( t . pos , t . end , o ) ; n && e . addRange ( p , n ) ; } ) , 221 === n . kind && 221 === n . body . kind ) return ; for ( ; 221 === n . kind && 221 === n . parent . kind ; ) n = n . parent ; e . forEach ( a ( 214 === n . kind ? n . parent . parent : n , o ) , function ( t ) { var n = u ( t . pos , t . end , o ) ; n && e . addRange ( p , n ) ; } ) ; } } ) , p ; } var i = [ ] , o = a ( ) ; return e . forEach ( o , function ( t ) { i . length && i . push ( e . lineBreakPart ( ) ) , i . push ( t ) ; } ) , i ; } function r ( t ) { return t ? e . map ( t , function ( e ) { return e . text ; } ) . join ( "" ) : "" ; } function a ( t ) { return t . parent ? ! 1 : e . forEach ( t . declarations , function ( t ) { if ( 176 === t . kind ) return ! 0 ; if ( 214 !== t . kind && 216 !== t . kind ) return ! 1 ; for ( var n = t . parent ; ! e . isFunctionBlock ( n ) ; n = n . parent ) if ( 251 === n . kind || 222 === n . kind ) return ! 1 ; return ! 0 ; } ) ; } function i ( ) { return { target : 1 , jsx : 1 } ; } function o ( e , t , n ) { e . version = n , e . scriptSnapshot = t ; } function s ( t , n ) { var r = n . compilerOptions ? e . clone ( n . compilerOptions ) : i ( ) ; r . isolatedModules = ! 0 , r . suppressOutputPathCheck = ! 0 , r . allowNonTsExtensions = ! 0 , r . noLib = ! 0 , r . noResolve = ! 0 ; var a = n . fileName || ( r . jsx ? "module.tsx" : "module.ts" ) , o = e . createSourceFile ( a , t , r . target ) ; n . moduleName && ( o . moduleName = n . moduleName ) , o . renamedDependencies = n . renamedDependencies ; var s , c , _ , u = e . getNewLineCharacter ( r ) , l = { getSourceFile : function ( t , n ) { return t === e . normalizeSlashes ( a ) ? o : void 0 ; } , writeFile : function ( t , n , r ) { e . fileExtensionIs ( t , ".map" ) ? ( e . Debug . assert ( void 0 === c , "Unexpected multiple source map outputs for the file '" + t + "'" ) , c = n ) : ( e . Debug . assert ( void 0 === s , "Unexpected multiple outputs for the file: '" + t + "'" ) , s = n ) ; } , getDefaultLibFileName : function ( ) { return "lib.d.ts" ; } , useCaseSensitiveFileNames : function ( ) { return ! 1 ; } , getCanonicalFileName : function ( e ) { return e ; } , getCurrentDirectory : function ( ) { return "" ; } , getNewLine : function ( ) { return u ; } , fileExists : function ( e ) { return e === a ; } , readFile : function ( e ) { return "" ; } , directoryExists : function ( e ) { return ! 0 ; } } , d = e . createProgram ( [ a ] , r , l ) ; return n . reportDiagnostics && ( _ = [ ] , e . addRange ( _ , d . getSyntacticDiagnostics ( o ) ) , e . addRange ( _ , d . getOptionsDiagnostics ( ) ) ) , d . emit ( ) , e . Debug . assert ( void 0 !== s , "Output generation failed" ) , { outputText : s , diagnostics : _ , sourceMapText : c } ; } function c ( t , n , r , a , i ) { var o = s ( t , { compilerOptions : n , fileName : r , reportDiagnostics : ! ! a , moduleName : i } ) ; return e . addRange ( a , o . diagnostics ) , o . outputText ; } function _ ( t , n , r , a , i , s ) { var c = n . getText ( 0 , n . getLength ( ) ) , _ = e . createSourceFile ( t , c , r , i , s ) ; return o ( _ , n , a ) , _ ; } function u ( t , n , r , a , i ) { if ( a && r !== t . version && ! e . disableIncrementalParsing ) { var s = void 0 , c = 0 !== a . span . start ? t . text . substr ( 0 , a . span . start ) : "" , u = e . textSpanEnd ( a . span ) !== t . text . length ? t . text . substr ( e . textSpanEnd ( a . span ) ) : "" ; if ( 0 === a . newLength ) s = c && u ? c + u : c || u ; else { var l = n . getText ( a . span . start , a . span . start + a . newLength ) ; s = c && u ? c + l + u : c ? c + l : l + u ; } var d = e . updateSourceFile ( t , s , a , i ) ; return o ( d , n , r ) , d . nameTable = void 0 , t !== d && t . scriptSnapshot && ( t . scriptSnapshot . dispose && t . scriptSnapshot . dispose ( ) , t . scriptSnapshot = void 0 ) , d ; } return _ ( t . fileName , n , t . languageVersion , r , ! 0 , t . scriptKind ) ; } function l ( t , n ) { function r ( e ) { return "_" + e . target + "|" + e . module + "|" + e . noResolve + "|" + e . jsx + NaN + e . allowJs ; } function a ( t , n ) { var a = r ( t ) , i = e . lookUp ( d , a ) ; return ! i && n && ( d [ a ] = i = e . createFileMap ( ) ) , i ; } function i ( ) { var t = Object . keys ( d ) . filter ( function ( e ) { return e && "_" === e . charAt ( 0 ) ; } ) . map ( function ( t ) { var n = e . lookUp ( d , t ) , r = [ ] ; return n . forEachValue ( function ( e , t ) { r . push ( { name : e , refCount : t . languageServiceRefCount , references : t . owners . slice ( 0 ) } ) ; } ) , r . sort ( function ( e , t ) { return t . refCount - e . refCount ; } ) , { bucket : t , sourceFiles : r } ; } ) ; return JSON . stringify ( t , void 0 , 2 ) ; } function o ( e , t , n , r , a ) { return c ( e , t , n , r , ! 0 , a ) ; } function s ( e , t , n , r , a ) { return c ( e , t , n , r , ! 1 , a ) ; } function c ( t , r , i , o , s , c ) { var l = a ( r , ! 0 ) , d = e . toPath ( t , n , p ) , f = l . get ( d ) ; if ( f ) f . sourceFile . version !== o && ( f . sourceFile = u ( f . sourceFile , i , o , i . getChangeRange ( f . sourceFile . scriptSnapshot ) ) ) ; else { e . Debug . assert ( s , "How could we be trying to update a document that the registry doesn't have?" ) ; var m = _ ( t , i , r . target , o , ! 1 , c ) ; f = { sourceFile : m , languageServiceRefCount : 0 , owners : [ ] } , l . set ( d , f ) ; } return s && f . languageServiceRefCount ++ , f . sourceFile ; } function l ( t , r ) { var i = a ( r , ! 1 ) ; e . Debug . assert ( void 0 !== i ) ; var o = e . toPath ( t , n , p ) , s = i . get ( o ) ; s . languageServiceRefCount -- , e . Debug . assert ( s . languageServiceRefCount >= 0 ) , 0 === s . languageServiceRefCount && i . remove ( o ) ; } void 0 === n && ( n = "" ) ; var d = { } , p = e . createGetCanonicalFileName ( ! ! t ) ; return { acquireDocument : o , updateDocument : s , releaseDocument : l , reportStats : i } ; } function d ( t , n , r ) { function a ( ) { var n = e . getLeadingCommentRanges ( t , 0 ) ; e . forEach ( n , function ( n ) { var r = t . substring ( n . pos , n . end ) , a = e . getFileReferenceFromReferencePath ( r , n ) ; if ( a ) { g = a . isNoDefaultLib ; var i = a . fileReference ; i && f . push ( i ) ; } } ) ; } function i ( ) { p || ( p = [ ] ) , p . push ( z . getTokenValue ( ) ) ; } function o ( ) { var e = z . getTokenValue ( ) , t = z . getTokenPos ( ) ; m . push ( { fileName : e , pos : t , end : t + e . length } ) ; } function s ( ) { var e = z . getToken ( ) ; return 122 === e ? ( e = z . scan ( ) , 125 === e && ( e = z . scan ( ) , 9 === e && i ( ) ) , ! 0 ) : ! 1 ; } function c ( ) { var t = z . getToken ( ) ; if ( 89 === t ) { if ( t = z . scan ( ) , 9 === t ) return o ( ) , ! 0 ; if ( 69 === t || e . isKeyword ( t ) ) if ( t = z . scan ( ) , 133 === t ) { if ( t = z . scan ( ) , 9 === t ) return o ( ) , ! 0 ; } else if ( 56 === t ) { if ( u ( ! 0 ) ) return ! 0 ; } else { if ( 24 !== t ) return ! 0 ; t = z . scan ( ) ; } if ( 15 === t ) { for ( t = z . scan ( ) ; 16 !== t && 1 !== t ; ) t = z . scan ( ) ; 16 === t && ( t = z . scan ( ) , 133 === t && ( t = z . scan ( ) , 9 === t && o ( ) ) ) ; } else 37 === t && ( t = z . scan ( ) , 116 === t && ( t = z . scan ( ) , ( 69 === t || e . isKeyword ( t ) ) && ( t = z . scan ( ) , 133 === t && ( t = z . scan ( ) , 9 === t && o ( ) ) ) ) ) ; return ! 0 ; } return ! 1 ; } function _ ( ) { var t = z . getToken ( ) ; if ( 82 === t ) { if ( t = z . scan ( ) , 15 === t ) { for ( t = z . scan ( ) ; 16 !== t && 1 !== t ; ) t = z . scan ( ) ; 16 === t && ( t = z . scan ( ) , 133 === t && ( t = z . scan ( ) , 9 === t && o ( ) ) ) ; } else if ( 37 === t ) t = z . scan ( ) , 133 === t && ( t = z . scan ( ) , 9 === t && o ( ) ) ; else if ( 89 === t && ( t = z . scan ( ) , ( 69 === t || e . isKeyword ( t ) ) && ( t = z . scan ( ) , 56 === t && u ( ! 0 ) ) ) ) return ! 0 ; return ! 0 ; } return ! 1 ; } function u ( e ) { var t = e ? z . scan ( ) : z . getToken ( ) ; return 127 === t ? ( t = z . scan ( ) , 17 === t && ( t = z . scan ( ) , 9 === t && o ( ) ) , ! 0 ) : ! 1 ; } function l ( ) { var e = z . getToken ( ) ; if ( 69 === e && "define" === z . getTokenValue ( ) ) { if ( e = z . scan ( ) , 17 !== e ) return ! 0 ; if ( e = z . scan ( ) , 9 === e ) { if ( e = z . scan ( ) , 24 !== e ) return ! 0 ; e = z . scan ( ) ; } if ( 19 !== e ) return ! 0 ; e = z . scan ( ) ; for ( var t = 0 ; 20 !== e && 1 !== e ; ) 9 === e && ( o ( ) , t ++ ) , e = z . scan ( ) ; return ! 0 ; } return ! 1 ; } function d ( ) { for ( z . setText ( t ) , z . scan ( ) ; ; ) { if ( 1 === z . getToken ( ) ) break ; s ( ) || c ( ) || _ ( ) || r && ( u ( ! 1 ) || l ( ) ) || z . scan ( ) ; } z . setText ( void 0 ) ; } void 0 === n && ( n = ! 0 ) , void 0 === r && ( r = ! 1 ) ; var p , f = [ ] , m = [ ] , g = ! 1 ; return n && d ( ) , a ( ) , { referencedFiles : f , importedFiles : m , isLibFile : g , ambientExternalModules : p } ; } function p ( e , t ) { for ( ; e ; ) { if ( 210 === e . kind && e . label . text === t ) return e . label ; e = e . parent ; } } function f ( e ) { return 69 === e . kind && ( 206 === e . parent . kind || 205 === e . parent . kind ) && e . parent . label === e ; } function m ( e ) { return 69 === e . kind && 210 === e . parent . kind && e . parent . label === e ; } function g ( e , t ) { for ( var n = e . parent ; 210 === n . kind ; n = n . parent ) if ( n . label . text === t ) return ! 0 ; return ! 1 ; } function y ( e ) { return m ( e ) || f ( e ) ; } function h ( e ) { return 136 === e . parent . kind && e . parent . right === e ; } function v ( e ) { return e && e . parent && 169 === e . parent . kind && e . parent . name === e ; } function k ( e ) { return v ( e ) && ( e = e . parent ) , e && e . parent && 171 === e . parent . kind && e . parent . expression === e ; } function b ( e ) { return v ( e ) && ( e = e . parent ) , e && e . parent && 172 === e . parent . kind && e . parent . expression === e ; } function x ( e ) { return 221 === e . parent . kind && e . parent . name === e ; } function C ( t ) { return 69 === t . kind && e . isFunctionLike ( t . parent ) && t . parent . name === t ; } function D ( e ) { return ! ( 69 !== e . kind && 9 !== e . kind && 8 !== e . kind || 248 !== e . parent . kind && 249 !== e . parent . kind || e . parent . name !== e ) ; } function S ( e ) { if ( 9 === e . kind || 8 === e . kind ) switch ( e . parent . kind ) { case 142 : case 141 : case 248 : case 250 : case 144 : case 143 : case 146 : case 147 : case 221 : return e . parent . name === e ; case 170 : return e . parent . argumentExpression === e ; } return ! 1 ; } function T ( t ) { return 9 === t . kind ? x ( t ) || e . isExternalModuleImportEqualsDeclaration ( t . parent . parent ) && e . getExternalModuleImportEqualsDeclarationExpression ( t . parent . parent ) === t : ! 1 ; } function E ( t , n , r ) { function a ( n ) { return e . forEach ( n , function ( e ) { if ( e . pos < r && r < e . end ) return ! 0 ; if ( r === e . end ) { var n = t . text , a = e . end - e . pos ; return 2 >= a || 47 === n . charCodeAt ( e . pos + 1 ) ? ! 0 : ! ( 47 === n . charCodeAt ( e . end - 1 ) && 42 === n . charCodeAt ( e . end - 2 ) ) ; } return ! 1 ; } ) ; } return r <= n . getStart ( t ) && ( a ( e . getTrailingCommentRanges ( t . text , n . getFullStart ( ) ) ) || a ( e . getLeadingCommentRanges ( t . text , n . getFullStart ( ) ) ) ) ; } function w ( e ) { for ( ; ; ) { if ( e = e . parent , ! e ) return ; switch ( e . kind ) { case 251 : case 144 : case 143 : case 216 : case 176 : case 146 : case 147 : case 217 : case 218 : case 220 : case 221 : return e ; } } } function A ( t ) { switch ( t . kind ) { case 221 : return Q . moduleElement ; case 217 : return Q . classElement ; case 218 : return Q . interfaceElement ; case 219 : return Q . typeElement ; case 220 : return Q . enumElement ; case 214 : return e . isConst ( t ) ? Q . constElement : e . isLet ( t ) ? Q . letElement : Q . variableElement ; case 216 : return Q . functionElement ; case 146 : return Q . memberGetAccessorElement ; case 147 : return Q . memberSetAccessorElement ; case 144 : case 143 : return Q . memberFunctionElement ; case 142 : case 141 : return Q . memberVariableElement ; case 150 : return Q . indexSignatureElement ; case 149 : return Q . constructSignatureElement ; case 148 : return Q . callSignatureElement ; case 145 : return Q . constructorImplementationElement ; case 138 : return Q . typeParameterElement ; case 250 : return Q . variableElement ; case 139 : return 56 & t . flags ? Q . memberVariableElement : Q . parameterElement ; case 224 : case 229 : case 226 : case 233 : case 227 : return Q . alias ; } return Q . unknown ; } function P ( t , n ) { function r ( e ) { t . log && t . log ( e ) ; } function i ( e ) { var t = Ge . getSourceFile ( e ) ; if ( ! t ) throw new Error ( "Could not find file: '" + e + "'." ) ; return t ; } function o ( t ) { return He || ( He = new e . formatting . RulesProvider ) , He . ensureUpToDate ( t ) , He ; } function s ( ) { function r ( t ) { e . Debug . assert ( void 0 !== s ) ; var r = s . getOrCreateEntry ( t ) ; if ( r ) { if ( ! u ) { var a = Ge && Ge . getSourceFile ( t ) ; if ( a ) return e . Debug . assert ( r . scriptKind === a . scriptKind , "Registered script kind (" + a . scriptKind + ") should match new script kind (" + r . scriptKind + ") for file: " + t ) , n . updateDocument ( t , _ , r . scriptSnapshot , r . version , r . scriptKind ) ; } return n . acquireDocument ( t , _ , r . scriptSnapshot , r . version , r . scriptKind ) ; } } function a ( t ) { if ( ! t ) return ! 1 ; var n = t . path || e . toPath ( t . fileName , Ze , et ) ; return t . version === s . getVersion ( n ) ; } function i ( ) { if ( ! Ge ) return ! 1 ; var t = s . getRootFileNames ( ) ; if ( Ge . getSourceFiles ( ) . length !== t . length ) return ! 1 ; for ( var n = 0 , r = t ; n < r . length ; n ++ ) { var i = r [ n ] ; if ( ! a ( Ge . getSourceFile ( i ) ) ) return ! 1 ; } return e . compareDataObjects ( Ge . getCompilerOptions ( ) , s . compilationSettings ( ) ) ; } if ( t . getProjectVersion ) { var o = t . getProjectVersion ( ) ; if ( o ) { if ( Xe === o ) return ; Xe = o ; } } var s = new ee ( t , et ) ; if ( ! i ( ) ) { var c = Ge && Ge . getCompilerOptions ( ) , _ = s . compilationSettings ( ) , u = c && ( c . target !== _ . target || c . module !== _ . module || c . noResolve !== _ . noResolve || c . jsx !== _ . jsx || c . allowJs !== _ . allowJs || c . disableSizeLimit !== c . disableSizeLimit ) , l = { getSourceFile : r , getCancellationToken : function ( ) { return $e ; } , getCanonicalFileName : et , useCaseSensitiveFileNames : function ( ) { return Ye ; } , getNewLine : function ( ) { return e . getNewLineOrDefaultFromHost ( t ) ; } , getDefaultLibFileName : function ( e ) { return t . getDefaultLibFileName ( e ) ; } , writeFile : function ( e , t , n ) { } , getCurrentDirectory : function ( ) { return Ze ; } , fileExists : function ( n ) { return e . Debug . assert ( ! t . resolveModuleNames ) , void 0 !== s . getOrCreateEntry ( n ) ; } , readFile : function ( e ) { var t = s . getOrCreateEntry ( e ) ; return t && t . scriptSnapshot . getText ( 0 , t . scriptSnapshot . getLength ( ) ) ; } , directoryExists : function ( n ) { return e . Debug . assert ( ! t . resolveModuleNames ) , e . directoryProbablyExists ( n , t ) ; } } ; t . resolveModuleNames && ( l . resolveModuleNames = function ( e , n ) { return t . resolveModuleNames ( e , n ) ; } ) ; var d = e . createProgram ( s . getRootFileNames ( ) , _ , l , Ge ) ; if ( Ge ) for ( var p = Ge . getSourceFiles ( ) , f = 0 , m = p ; f < m . length ; f ++ ) { var g = m [ f ] ; d . getSourceFile ( g . fileName ) && ! u || n . releaseDocument ( g . fileName , c ) ; } s = void 0 , Ge = d , Ge . getTypeChecker ( ) ; } } function c ( ) { return s ( ) , Ge ; } function _ ( ) { } function u ( ) { Ge && e . forEach ( Ge . getSourceFiles ( ) , function ( e ) { return n . releaseDocument ( e . fileName , Ge . getCompilerOptions ( ) ) ; } ) ; } function d ( e ) { return s ( ) , Ge . getSyntacticDiagnostics ( i ( e ) , $e ) ; } function m ( t ) { s ( ) ; var n = i ( t ) , r = Ge . getSemanticDiagnostics ( n , $e ) ; if ( ! Ge . getCompilerOptions ( ) . declaration ) return r ; var a = Ge . getDeclarationDiagnostics ( n , $e ) ; return e . concatenate ( r , a ) ; } function A ( ) { return s ( ) , Ge . getOptionsDiagnostics ( $e ) . concat ( Ge . getGlobalDiagnostics ( $e ) ) ; } function P ( t , n , r , a ) { var i = e . getDeclaredName ( Ge . getTypeChecker ( ) , t , a ) ; if ( i ) { var o = i . charCodeAt ( 0 ) ; if ( 1536 & t . flags && ( 39 === o || 34 === o ) ) return ; } return O ( i , n , r ) ; } function O ( t , n , r ) { return t && ( t = e . stripQuotes ( t ) , t && ( ! r || e . isIdentifier ( t , n ) ) ) ? t : void 0 ; } function R ( t , n ) { function a ( ) { if ( V = ! 0 , H = ! 1 , 69 === B . kind || 136 === B . kind || 169 === B . kind ) { var t = D . getSymbolAtLocation ( B ) ; if ( t && 8388608 & t . flags && ( t = D . getAliasedSymbol ( t ) ) , t && 1952 & t . flags ) { var n = D . getExportsOfModule ( t ) ; e . forEach ( n , function ( e ) { D . isValidPropertyAccess ( B . parent , e . name ) && X . push ( e ) ; } ) ; } } var r = D . getTypeAtLocation ( B ) ; o ( r ) ; } function o ( e ) { if ( e ) { for ( var t = 0 , n = e . getApparentProperties ( ) ; t < n . length ; t ++ ) { var r = n [ t ] ; D . isValidPropertyAccess ( B . parent , r . name ) && X . push ( r ) ; } if ( T && 16384 & e . flags ) for ( var a = e , i = 0 , s = a . types ; i < s . length ; i ++ ) { var c = s [ i ] ; o ( c ) ; } } } function s ( ) { var t , r , a ; if ( t = m ( L ) ) return p ( t ) ; if ( r = g ( L ) ) return f ( r ) ; if ( a = y ( L ) ) { var i = void 0 ; if ( ( 237 === a . kind || 238 === a . kind ) && ( i = D . getJsxElementAttributesType ( a ) ) ) return X = C ( D . getPropertiesOfType ( i ) , a . attributes ) , V = ! 0 , H = ! 1 , ! 0 ; } V = ! 1 , H = l ( L ) , F !== L && e . Debug . assert ( ! ! F , "Expected 'contextToken' to be defined when different from 'previousToken'." ) ; var o = F !== L ? F . getStart ( ) : n , s = c ( L , o , S ) || S , _ = 9289727 ; return X = D . getSymbolsInScope ( s , _ ) , ! 0 ; } function c ( t , n , r ) { for ( var a = t ; a && ! e . positionBelongsToNode ( a , n , r ) ; ) a = a . parent ; return a ; } function _ ( e ) { var t = ( new Date ) . getTime ( ) , n = d ( e ) || v ( e ) || k ( e ) || u ( e ) ; return r ( "getCompletionsAtPosition: isCompletionListBlocker: " + ( ( new Date ) . getTime ( ) - t ) ) , n ; } function u ( e ) { if ( 239 === e . kind ) return ! 0 ; if ( 27 === e . kind && e . parent ) { if ( 238 === e . parent . kind ) return ! 0 ; if ( 240 === e . parent . kind || 237 === e . parent . kind ) return e . parent . parent && 236 === e . parent . parent . kind ; } return ! 1 ; } function l ( e ) { if ( e ) { var t = e . parent . kind ; switch ( e . kind ) { case 24 : return 171 === t || 145 === t || 172 === t || 167 === t || 184 === t || 153 === t ; case 17 : return 171 === t || 145 === t || 172 === t || 175 === t || 161 === t ; case 19 : return 167 === t || 150 === t || 137 === t ; case 125 : case 126 : return ! 0 ; case 21 : return 221 === t ; case 15 : return 217 === t ; case 56 : return 214 === t || 184 === t ; case 12 : return 186 === t ; case 13 : return 193 === t ; case 112 : case 110 : case 111 : return 142 === t ; } switch ( e . getText ( ) ) { case "public" : case "protected" : case "private" : return ! 0 ; } } return ! 1 ; } function d ( t ) { if ( 9 === t . kind || 163 === t . kind || 10 === t . kind || e . isTemplateLiteralKind ( t . kind ) ) { var r = t . getStart ( ) , a = t . getEnd ( ) ; if ( n > r && a > n ) return ! 0 ; if ( n === a ) return ! ! t . isUnterminated || 10 === t . kind ; } return ! 1 ; } function p ( t ) { V = ! 0 ; var n , r ; if ( 168 === t . kind ) H = ! 0 , n = D . getContextualType ( t ) , r = t . properties ; else if ( 164 === t . kind ) { H = ! 1 ; var a = e . getRootDeclaration ( t . parent ) ; e . isVariableLike ( a ) ? ( a . initializer || a . type ) && ( n = D . getTypeAtLocation ( t ) , r = t . elements ) : e . Debug . fail ( "Root declaration is not variable-like." ) ; } else e . Debug . fail ( "Expected object literal or binding pattern, got " + t . kind ) ; if ( ! n ) return ! 1 ; var i = D . getPropertiesOfType ( n ) ; return i && i . length > 0 && ( X = x ( i , r ) ) , ! 0 ; } function f ( t ) { var n = 228 === t . kind ? 225 : 231 , r = e . getAncestor ( t , n ) , a = r . moduleSpecifier ; if ( ! a ) return ! 1 ; V = ! 0 , H = ! 1 ; var i , o = D . getSymbolAtLocation ( r . moduleSpecifier ) ; return o && ( i = D . getExportsOfModule ( o ) ) , X = i ? b ( i , t . elements ) : K , ! 0 ; } function m ( e ) { if ( e ) switch ( e . kind ) { case 15 : case 24 : var t = e . parent ; if ( t && ( 168 === t . kind || 164 === t . kind ) ) return t ; } } function g ( e ) { if ( e ) switch ( e . kind ) { case 15 : case 24 : switch ( e . parent . kind ) { case 228 : case 232 : return e . parent ; } } } function y ( e ) { if ( e ) { var t = e . parent ; switch ( e . kind ) { case 26 : case 39 : case 69 : case 241 : case 242 : if ( t && ( 237 === t . kind || 238 === t . kind ) ) return t ; if ( 241 === t . kind ) return t . parent ; break ; case 9 : if ( t && ( 241 === t . kind || 242 === t . kind ) ) return t . parent ; break ; case 16 : if ( t && 243 === t . kind && t . parent && 241 === t . parent . kind ) return t . parent . parent ; if ( t && 242 === t . kind ) return t . parent ; } } } function h ( e ) { switch ( e ) { case 176 : case 177 : case 216 : case 144 : case 143 : case 146 : case 147 : case 148 : case 149 : case 150 : return ! 0 ; } return ! 1 ; } function v ( e ) { var t = e . parent . kind ; switch ( e . kind ) { case 24 : return 214 === t || 215 === t || 196 === t || 220 === t || h ( t ) || 217 === t || 189 === t || 218 === t || 165 === t || 219 === t ; case 21 : return 165 === t ; case 54 : return 166 === t ; case 19 : return 165 === t ; case 17 : return 247 === t || h ( t ) ; case 15 : return 220 === t || 218 === t || 156 === t ; case 23 : return 141 === t && e . parent && e . parent . parent && ( 218 === e . parent . parent . kind || 156 === e . parent . parent . kind ) ; case 25 : return 217 === t || 189 === t || 218 === t || 219 === t || h ( t ) ; case 113 : return 142 === t ; case 22 : return 139 === t || e . parent && e . parent . parent && 165 === e . parent . parent . kind ; case 112 : case 110 : case 111 : return 139 === t ; case 116 : return 229 === t || 233 === t || 227 === t ; case 73 : case 81 : case 107 : case 87 : case 102 : case 123 : case 129 : case 89 : case 108 : case 74 : case 114 : case 132 : return ! 0 ; } switch ( e . getText ( ) ) { case "abstract" : case "async" : case "class" : case "const" : case "declare" : case "enum" : case "function" : case "interface" : case "let" : case "private" : case "protected" : case "public" : case "static" : case "var" : case "yield" : return ! 0 ; } return ! 1 ; } function k ( e ) { if ( 8 === e . kind ) { var t = e . getFullText ( ) ; return "." === t . charAt ( t . length - 1 ) ; } return ! 1 ; } function b ( t , r ) { for ( var a = { } , i = 0 , o = r ; i < o . length ; i ++ ) { var s = o [ i ] ; if ( ! ( s . getStart ( ) <= n && n <= s . getEnd ( ) ) ) { var c = s . propertyName || s . name ; a [ c . text ] = ! 0 ; } } return e . isEmpty ( a ) ? t : e . filter ( t , function ( t ) { return ! e . lookUp ( a , t . name ) ; } ) ; } function x ( t , r ) { if ( ! r || 0 === r . length ) return t ; for ( var a = { } , i = 0 , o = r ; i < o . length ; i ++ ) { var s = o [ i ] ; if ( ! ( 248 !== s . kind && 249 !== s . kind && 166 !== s . kind && 144 !== s . kind || s . getStart ( ) <= n && n <= s . getEnd ( ) ) ) { var c = void 0 ; 166 === s . kind && s . propertyName ? 69 === s . propertyName . kind && ( c = s . propertyName . text ) : c = s . name . text , a [ c ] = ! 0 ; } } return e . filter ( t , function ( t ) { return ! e . lookUp ( a , t . name ) ; } ) ; } function C ( t , r ) { for ( var a = { } , i = 0 , o = r ; i < o . length ; i ++ ) { var s = o [ i ] ; s . getStart ( ) <= n && n <= s . getEnd ( ) || 241 === s . kind && ( a [ s . name . text ] = ! 0 ) ; } return e . filter ( t , function ( t ) { return ! e . lookUp ( a , t . name ) ; } ) ; } var D = Ge . getTypeChecker ( ) , S = i ( t ) , T = e . isSourceFileJavaScript ( S ) , w = ! 1 , A = ( new Date ) . getTime ( ) , P = e . getTokenAtPosition ( S , n ) ; r ( "getCompletionData: Get current token: " + ( ( new Date ) . getTime ( ) - A ) ) , A = ( new Date ) . getTime ( ) ; var N = E ( S , P , n ) ; if ( r ( "getCompletionData: Is inside comment: " + ( ( new Date ) . getTime ( ) - A ) ) , N ) { e . hasDocComment ( S , n ) && 64 === S . text . charCodeAt ( n - 1 ) && ( w = ! 0 ) ; var O = ! 1 , R = e . getJsDocTagAtPosition ( S , n ) ; if ( R ) switch ( R . tagName . pos <= n && n <= R . tagName . end && ( w = ! 0 ) , R . kind ) { case 272 : case 270 : case 271 : var I = R ; I . typeExpression && ( O = I . typeExpression . pos < n && n < I . typeExpression . end ) ; } if ( w ) return { symbols : void 0 , isMemberCompletion : ! 1 , isNewIdentifierLocation : ! 1 , location : void 0 , isRightOfDot : ! 1 , isJsDocTagName : w } ; if ( ! O ) return void r ( "Returning an empty list because completion was inside a regular comment or plain text part of a JsDoc comment." ) ; } A = ( new Date ) . getTime ( ) ; var F = e . findPrecedingToken ( n , S ) ; r ( "getCompletionData: Get previous token 1: " + ( ( new Date ) . getTime ( ) - A ) ) ; var L = F ; if ( L && n <= L . end && e . isWord ( L . kind ) ) { var M = ( new Date ) . getTime ( ) ; L = e . findPrecedingToken ( L . getFullStart ( ) , S ) , r ( "getCompletionData: Get previous token 2: " + ( ( new Date ) . getTime ( ) - M ) ) ; } var B = P , z = ! 1 , j = ! 1 , J = ! 1 , U = e . getTouchingPropertyName ( S , n ) ; if ( L ) { if ( _ ( L ) ) return void r ( "Returning an empty list because completion was requested in an invalid position." ) ; var q = L . parent , W = L . kind ; if ( 21 === W ) if ( 169 === q . kind ) B = L . parent . expression , z = ! 0 ; else { if ( 136 !== q . kind ) return ; B = L . parent . left , z = ! 0 ; } else 1 === S . languageVariant && ( 25 === W ? ( j = ! 0 , U = L ) : 39 === W && 240 === L . parent . kind && ( J = ! 0 , U = L ) ) ; } var V , H , G = ( new Date ) . getTime ( ) , X = [ ] ; if ( z ) a ( ) ; else if ( j ) { var Q = D . getJsxIntrinsicTagNames ( ) ; X = s ( ) ? Q . concat ( X . filter ( function ( e ) { return ! ! ( 107455 & e . flags ) ; } ) ) : Q , V = ! 0 , H = ! 1 ; } else if ( J ) { var Y = L . parent . parent . openingElement . tagName , $ = D . getSymbolAtLocation ( Y ) ; D . isUnknownSymbol ( $ ) || ( X = [ $ ] ) , V = ! 0 , H = ! 1 ; } else if ( ! s ( ) ) return ; return r ( "getCompletionData: Semantic work: " + ( ( new Date ) . getTime ( ) - G ) ) , { symbols : X , isMemberCompletion : V , isNewIdentifierLocation : H , location : U , isRightOfDot : z || j , isJsDocTagName : w } ; } function I ( t , n ) { function a ( e , t , n ) { var r = [ ] , a = Ge . getCompilerOptions ( ) . target , i = N ( e ) ; for ( var o in i ) if ( i [ o ] !== t && ! n [ o ] ) { n [ o ] = o ; var s = O ( o , a , ! 0 ) ; if ( s ) { var c = { name : s , kind : Q . warning , kindModifiers : "" , sortText : "1" } ; r . push ( c ) ; } } return r ; } function o ( ) { return B || ( B = e . map ( j , function ( e ) { return { name : e , kind : Q . keyword , kindModifiers : "" , sortText : "0" } ; } ) ) ; } function c ( e , t ) { var n = P ( e , Ge . getCompilerOptions ( ) . target , ! 0 , t ) ; if ( n ) return { name : n , kind : L ( e , t ) , kindModifiers : z ( e ) , sortText : "0" } ; } function _ ( t , n ) { var a = ( new Date ) . getTime ( ) , i = { } ; if ( t ) for ( var o = 0 , s = t ; o < s . length ; o ++ ) { var _ = s [ o ] , u = c ( _ , f ) ; if ( u ) { var l = e . escapeIdentifier ( u . name ) ; e . lookUp ( i , l ) || ( n . push ( u ) , i [ l ] = l ) ; } } return r ( "getCompletionsAtPosition: getCompletionEntriesFromSymbols: " + ( ( new Date ) . getTime ( ) - a ) ) , i ; } s ( ) ; var u = R ( t , n ) ; if ( u ) { var l = u . symbols , d = u . isMemberCompletion , p = u . isNewIdentifierLocation , f = u . location , m = u . isJsDocTagName ; if ( m ) return { isMemberCompletion : ! 1 , isNewIdentifierLocation : ! 1 , entries : o ( ) } ; var g = i ( t ) , y = [ ] ; if ( e . isSourceFileJavaScript ( g ) ) { var h = _ ( l , y ) ; e . addRange ( y , a ( g , f . pos , h ) ) ; } else { if ( ! l || 0 === l . length ) { if ( 1 !== g . languageVariant || ! f . parent || 240 !== f . parent . kind ) return ; var v = f . parent . parent . openingElement . tagName ; y . push ( { name : v . text , kind : void 0 , kindModifiers : void 0 , sortText : "0" } ) ; } _ ( l , y ) ; } return d || m || e . addRange ( y , ae ) , { isMemberCompletion : d , isNewIdentifierLocation : p , entries : y } ; } } function F ( t , n , r ) { s ( ) ; var a = R ( t , n ) ; if ( a ) { var o = a . symbols , c = a . location , _ = Ge . getCompilerOptions ( ) . target , u = e . forEach ( o , function ( e ) { return P ( e , _ , ! 1 , c ) === r ? e : void 0 ; } ) ; if ( u ) { var l = J ( u , i ( t ) , c , c , 7 ) , d = l . displayParts , p = l . documentation , f = l . symbolKind ; return { name : r , kindModifiers : z ( u ) , kind : f , displayParts : d , documentation : p } ; } } var m = e . forEach ( ae , function ( e ) { return e . name === r ; } ) ; return m ? { name : r , kind : Q . keyword , kindModifiers : $ . none , displayParts : [ e . displayPart ( r , X . keyword ) ] , documentation : void 0 } : void 0 ; } function L ( t , n ) { var r = t . getFlags ( ) ; if ( 32 & r ) return e . getDeclarationOfKind ( t , 189 ) ? Q . localClassElement : Q . classElement ; if ( 384 & r ) return Q . enumElement ; if ( 524288 & r ) return Q . typeElement ; if ( 64 & r ) return Q . interfaceElement ; if ( 262144 & r ) return Q . typeParameterElement ; var a = M ( t , r , n ) ; if ( a === Q . unknown ) { if ( 262144 & r ) return Q . typeParameterElement ; if ( 8 & r ) return Q . variableElement ; if ( 8388608 & r ) return Q . alias ; if ( 1536 & r ) return Q . moduleElement ; } return a ; } function M ( t , n , r ) { var i = Ge . getTypeChecker ( ) ; if ( i . isUndefinedSymbol ( t ) ) return Q . variableElement ; if ( i . isArgumentsSymbol ( t ) ) return Q . localVariableElement ; if ( 3 & n ) return e . isFirstDeclarationOfSymbolParameter ( t ) ? Q . parameterElement : t . valueDeclaration && e . isConst ( t . valueDeclaration ) ? Q . constElement : e . forEach ( t . declarations , e . isLet ) ? Q . letElement : a ( t ) ? Q . localVariableElement : Q . variableElement ; if ( 16 & n ) return a ( t ) ? Q . localFunctionElement : Q . functionElement ; if ( 32768 & n ) return Q . memberGetAccessorElement ; if ( 65536 & n ) return Q . memberSetAccessorElement ; if ( 8192 & n ) return Q . memberFunctionElement ; if ( 16384 & n ) return Q . constructorImplementationElement ; if ( 4 & n ) { if ( 268435456 & n ) { var o = e . forEach ( i . getRootSymbols ( t ) , function ( t ) { var n = t . getFlags ( ) ; return 98311 & n ? Q . memberVariableElement : void e . Debug . assert ( ! ! ( 8192 & n ) ) ; } ) ; if ( ! o ) { var s = i . getTypeOfSymbolAtLocation ( t , r ) ; return s . getCallSignatures ( ) . length ? Q . memberFunctionElement : Q . memberVariableElement ; } return o ; } return Q . memberVariableElement ; } return Q . unknown ; } function z ( t ) { return t && t . declarations && t . declarations . length > 0 ? e . getNodeModifiers ( t . declarations [ 0 ] ) : $ . none ; } function J ( t , n , r , a , i ) { function o ( ) { g . length && g . push ( e . lineBreakPart ( ) ) ; } function s ( t , r ) { var a = e . symbolToDisplayParts ( m , t , r || n , void 0 , 3 ) ; e . addRange ( g , a ) ; } function c ( t , n ) { o ( ) , n && ( _ ( n ) , g . push ( e . spacePart ( ) ) , s ( t ) ) ; } function _ ( t ) { switch ( t ) { case Q . variableElement : case Q . functionElement : case Q . letElement : case Q . constElement : case Q . constructorImplementationElement : return void g . push ( e . textOrKeywordPart ( t ) ) ; default : return g . push ( e . punctuationPart ( 17 ) ) , g . push ( e . textOrKeywordPart ( t ) ) , void g . push ( e . punctuationPart ( 18 ) ) ; } } function u ( t , n , a ) { e . addRange ( g , e . signatureToDisplayParts ( m , t , r , 32 | a ) ) , n . length > 1 && ( g . push ( e . spacePart ( ) ) , g . push ( e . punctuationPart ( 17 ) ) , g . push ( e . operatorPart ( 35 ) ) , g . push ( e . displayPart ( ( n . length - 1 ) . toString ( ) , X . numericLiteral ) ) , g . push ( e . spacePart ( ) ) , g . push ( e . textPart ( 2 === n . length ? "overload" : "overloads" ) ) , g . push ( e . punctuationPart ( 18 ) ) ) , d = t . getDocumentationComment ( ) ; } function l ( t , n ) { var r = e . mapToDisplayParts ( function ( e ) { m . getSymbolDisplayBuilder ( ) . buildTypeParameterDisplayFromSymbol ( t , e , n ) ; } ) ; e . addRange ( g , r ) ; } void 0 === i && ( i = Ce ( a ) ) ; var d , p , f , m = Ge . getTypeChecker ( ) , g = [ ] , y = t . flags , h = M ( t , y , a ) ; if ( h !== Q . unknown || 32 & y || 8388608 & y ) { h !== Q . memberGetAccessorElement && h !== Q . memberSetAccessorElement || ( h = Q . memberVariableElement ) ; var v = void 0 ; if ( f = m . getTypeOfSymbolAtLocation ( t , a ) ) { if ( a . parent && 169 === a . parent . kind ) { var x = a . parent . name ; ( x === a || x && 0 === x . getFullWidth ( ) ) && ( a = a . parent ) ; } var D = void 0 ; if ( 171 === a . kind || 172 === a . kind ? D = a : ( k ( a ) || b ( a ) ) && ( D = a . parent ) , D ) { var S = [ ] ; v = m . getResolvedSignature ( D , S ) , ! v && S . length && ( v = S [ 0 ] ) ; var T = 172 === D . kind || 95 === D . expression . kind , E = T ? f . getConstructSignatures ( ) : f . getCallSignatures ( ) ; if ( e . contains ( E , v . target ) || e . contains ( E , v ) || ( v = E . length ? E [ 0 ] : void 0 ) , v ) { switch ( T && 32 & y ? ( h = Q . constructorImplementationElement , c ( f . symbol , h ) ) : 8388608 & y ? ( h = Q . alias , _ ( h ) , g . push ( e . spacePart ( ) ) , T && ( g . push ( e . keywordPart ( 92 ) ) , g . push ( e . spacePart ( ) ) ) , s ( t ) ) : c ( t , h ) , h ) { case Q . memberVariableElement : case Q . variableElement : case Q . constElement : case Q . letElement : case Q . parameterElement : case Q . localVariableElement : g . push ( e . punctuationPart ( 54 ) ) , g . push ( e . spacePart ( ) ) , T && ( g . push ( e . keywordPart ( 92 ) ) , g . push ( e . spacePart ( ) ) ) , 65536 & f . flags || e . addRange ( g , e . symbolToDisplayParts ( m , f . symbol , r , void 0 , 1 ) ) , u ( v , E , 8 ) ; break ; default : u ( v , E ) ; } p = ! 0 ; } } else if ( C ( a ) && ! ( 98304 & t . flags ) || 121 === a . kind && 145 === a . parent . kind ) { var w = a . parent , E = 145 === w . kind ? f . getConstructSignatures ( ) : f . getCallSignatures ( ) ; v = m . isImplementationOfOverload ( w ) ? E [ 0 ] : m . getSignatureFromDeclaration ( w ) , 145 === w . kind ? ( h = Q . constructorImplementationElement , c ( f . symbol , h ) ) : c ( 148 !== w . kind || 2048 & f . symbol . flags || 4096 & f . symbol . flags ? t : f . symbol , h ) , u ( v , E ) , p = ! 0 ; } } } if ( 32 & y && ! p && ( e . getDeclarationOfKind ( t , 189 ) ? _ ( Q . localClassElement ) : g . push ( e . keywordPart ( 73 ) ) , g . push ( e . spacePart ( ) ) , s ( t ) , l ( t , n ) ) , 64 & y && 2 & i && ( o ( ) , g . push ( e . keywordPart ( 107 ) ) , g . push ( e . spacePart ( ) ) , s ( t ) , l ( t , n ) ) , 524288 & y && ( o ( ) , g . push ( e . keywordPart ( 132 ) ) , g . push ( e . spacePart ( ) ) , s ( t ) , l ( t , n ) , g . push ( e . spacePart ( ) ) , g . push ( e . operatorPart ( 56 ) ) , g . push ( e . spacePart ( ) ) , e . addRange ( g , e . typeToDisplayParts ( m , m . getDeclaredTypeOfSymbol ( t ) , r ) ) ) , 384 & y && ( o ( ) , e . forEach ( t . declarations , e . isConstEnumDeclaration ) && ( g . push ( e . keywordPart ( 74 ) ) , g . push ( e . spacePart ( ) ) ) , g . push ( e . keywordPart ( 81 ) ) , g . push ( e . spacePart ( ) ) , s ( t ) ) , 1536 & y ) { o ( ) ; var A = e . getDeclarationOfKind ( t , 221 ) , P = A && A . name && 69 === A . name . kind ; g . push ( e . keywordPart ( P ? 126 : 125 ) ) , g . push ( e . spacePart ( ) ) , s ( t ) ; } if ( 262144 & y && 2 & i ) if ( o ( ) , g . push ( e . punctuationPart ( 17 ) ) , g . push ( e . textPart ( "type parameter" ) ) , g . push ( e . punctuationPart ( 18 ) ) , g . push ( e . spacePart ( ) ) , s ( t ) , g . push ( e . spacePart ( ) ) , g . push ( e . keywordPart ( 90 ) ) , g . push ( e . spacePart ( ) ) , t . parent ) s ( t . parent , r ) , l ( t . parent , r ) ; else { var A = e . getDeclarationOfKind ( t , 138 ) ; if ( e . Debug . assert ( void 0 !== A ) , A = A . parent ) if ( e . isFunctionLikeKind ( A . kind ) ) { var v = m . getSignatureFromDeclaration ( A ) ; 149 === A . kind ? ( g . push ( e . keywordPart ( 92 ) ) , g . push ( e . spacePart ( ) ) ) : 148 !== A . kind && A . name && s ( A . symbol ) , e . addRange ( g , e . signatureToDisplayParts ( m , v , n , 32 ) ) ; } else g . push ( e . keywordPart ( 132 ) ) , g . push ( e . spacePart ( ) ) , s ( A . symbol ) , l ( A . symbol , n ) ; } if ( 8 & y ) { c ( t , "enum member" ) ; var A = t . declarations [ 0 ] ; if ( 250 === A . kind ) { var N = m . getConstantValue ( A ) ; void 0 !== N && ( g . push ( e . spacePart ( ) ) , g . push ( e . operatorPart ( 56 ) ) , g . push ( e . spacePart ( ) ) , g . push ( e . displayPart ( N . toString ( ) , X . numericLiteral ) ) ) ; } } if ( 8388608 & y && ( o ( ) , g . push ( e . keywordPart ( 89 ) ) , g . push ( e . spacePart ( ) ) , s ( t ) , e . forEach ( t . declarations , function ( t ) { if ( 224 === t . kind ) { var n = t ; if ( e . isExternalModuleImportEqualsDeclaration ( n ) ) g . push ( e . spacePart ( ) ) , g . push ( e . operatorPart ( 56 ) ) , g . push ( e . spacePart ( ) ) , g . push ( e . keywordPart ( 127 ) ) , g . push ( e . punctuationPart ( 17 ) ) , g . push ( e . displayPart ( e . getTextOfNode ( e . getExternalModuleImportEqualsDeclarationExpression ( n ) ) , X . stringLiteral ) ) , g . push ( e . punctuationPart ( 18 ) ) ; else { var a = m . getSymbolAtLocation ( n . moduleReference ) ; a && ( g . push ( e . spacePart ( ) ) , g . push ( e . operatorPart ( 56 ) ) , g . push ( e . spacePart ( ) ) , s ( a , r ) ) ; } return ! 0 ; } } ) ) , ! p ) if ( h !== Q . unknown ) { if ( f ) if ( c ( t , h ) , h === Q . memberVariableElement || 3 & y || h === Q . localVariableElement ) if ( g . push ( e . punctuationPart ( 54 ) ) , g . push ( e . spacePart ( ) ) , f . symbol && 262144 & f . symbol . flags ) { var O = e . mapToDisplayParts ( function ( e ) { m . getSymbolDisplayBuilder ( ) . buildTypeParameterDisplay ( f , e , r ) ; } ) ; e . addRange ( g , O ) ; } else e . addRange ( g , e . typeToDisplayParts ( m , f , r ) ) ; else if ( 16 & y || 8192 & y || 16384 & y || 131072 & y || 98304 & y || h === Q . memberFunctionElement ) { var E = f . getCallSignatures ( ) ; u ( E [ 0 ] , E ) ; } } else h = L ( t , a ) ; return d || ( d = t . getDocumentationComment ( ) ) , { displayParts : g , documentation : d , symbolKind : h } ; } function U ( t , n ) { s ( ) ; var r = i ( t ) , a = e . getTouchingPropertyName ( r , n ) ; if ( a && ! y ( a ) ) { var o = Ge . getTypeChecker ( ) , c = o . getSymbolAtLocation ( a ) ; if ( c && ! o . isUnknownSymbol ( c ) ) { var _ = J ( c , r , w ( a ) , a ) ; return { kind : _ . symbolKind , kindModifiers : z ( c ) , textSpan : e . createTextSpan ( a . getStart ( ) , a . getWidth ( ) ) , displayParts : _ . displayParts , documentation : _ . documentation } ; } switch ( a . kind ) { case 69 : case 169 : case 136 : case 97 : case 162 : case 95 : var u = o . getTypeAtLocation ( a ) ; if ( u ) return { kind : Q . unknown , kindModifiers : $ . none , textSpan : e . createTextSpan ( a . getStart ( ) , a . getWidth ( ) ) , displayParts : e . typeToDisplayParts ( o , u , w ( a ) ) , documentation : u . symbol ? u . symbol . getDocumentationComment ( ) : void 0 } ; } } } function q ( t , n , r , a ) { return { fileName : t . getSourceFile ( ) . fileName , textSpan : e . createTextSpanFromBounds ( t . getStart ( ) , t . getEnd ( ) ) , kind : n , name : r , containerKind : void 0 , containerName : a } ; } function W ( t , n ) { function r ( t , n , r , a , o , s ) { if ( ( b ( n ) || 121 === n . kind ) && 32 & t . flags ) { for ( var c = 0 , _ = t . getDeclarations ( ) ; c < _ . length ; c ++ ) { var u = _ [ c ] ; if ( e . isClassLike ( u ) ) return i ( u . members , ! 0 , r , a , o , s ) ; } e . Debug . fail ( "Expected declaration to have at least one class-like declaration" ) ; } return ! 1 ; } function a ( e , t , n , r , a , o ) { return k ( t ) || b ( t ) || C ( t ) ? i ( e . declarations , ! 1 , n , r , a , o ) : ! 1 ; } function i ( t , n , r , a , i , o ) { var s , c = [ ] ; return e . forEach ( t , function ( e ) { ( n && 145 === e . kind || ! n && ( 216 === e . kind || 144 === e . kind || 143 === e . kind ) ) && ( c . push ( e ) , e . body && ( s = e ) ) ; } ) , s ? ( o . push ( q ( s , r , a , i ) ) , ! 0 ) : c . length ? ( o . push ( q ( e . lastOrUndefined ( c ) , r , a , i ) ) , ! 0 ) : ! 1 ; } var o = Ge . getTypeChecker ( ) , s = [ ] , c = t . getDeclarations ( ) , _ = o . symbolToString ( t ) , u = L ( t , n ) , l = t . parent , d = l ? o . symbolToString ( l , n ) : "" ; return r ( t , n , u , _ , d , s ) || a ( t , n , u , _ , d , s ) || e . forEach ( c , function ( e ) { s . push ( q ( e , u , _ , d ) ) ; } ) , s ; } function V ( t , n ) { s ( ) ; var r = i ( t ) , a = e . getTouchingPropertyName ( r , n ) ; if ( a ) { if ( f ( a ) ) { var o = a . text , c = p ( a . parent , a . text ) ; return c ? [ q ( c , Q . label , o , void 0 ) ] : void 0 ; } var _ = e . forEach ( r . referencedFiles , function ( e ) { return e . pos <= n && n < e . end ? e : void 0 ; } ) ; if ( _ ) { var u = e . tryResolveScriptReference ( Ge , r , _ ) ; if ( u ) return [ { fileName : u . fileName , textSpan : e . createTextSpanFromBounds ( 0 , 0 ) , kind : Q . scriptElement , name : _ . fileName , containerName : void 0 , containerKind : void 0 } ] ; } else { var l = Ge . getTypeChecker ( ) , d = l . getSymbolAtLocation ( a ) ; if ( d ) { if ( 8388608 & d . flags ) { var m = d . declarations [ 0 ] ; 69 === a . kind && a . parent === m && ( d = l . getAliasedSymbol ( d ) ) ; } if ( 249 === a . parent . kind ) { var g = l . getShorthandAssignmentValueSymbol ( d . valueDeclaration ) ; if ( ! g ) return [ ] ; var y = g . getDeclarations ( ) , h = L ( g , a ) , v = l . symbolToString ( g ) , k = l . symbolToString ( d . parent , a ) ; return e . map ( y , function ( e ) { return q ( e , h , v , k ) ; } ) ; } return W ( d , a ) ; } } } } function H ( t , n ) { s ( ) ; var r = i ( t ) , a = e . getTouchingPropertyName ( r , n ) ; if ( a ) { var o = Ge . getTypeChecker ( ) , c = o . getSymbolAtLocation ( a ) ; if ( c ) { var _ = o . getTypeOfSymbolAtLocation ( c , a ) ; if ( _ ) { if ( 16384 & _ . flags ) { var u = [ ] ; return e . forEach ( _ . types , function ( t ) { t . symbol && e . addRange ( u , W ( t . symbol , a ) ) ; } ) , u ; } if ( _ . symbol ) return W ( _ . symbol , a ) ; } } } } function Y ( t , n ) { var r = re ( t , n ) ; if ( r ) { var a = et ( e . normalizeSlashes ( t ) ) ; r = e . filter ( r , function ( t ) { return et ( e . normalizeSlashes ( t . fileName ) ) === a ; } ) ; } return r ; } function ne ( t , n , r ) { function a ( t ) { var n = t . getStart ( ) , r = t . getEnd ( ) ; return { fileName : u . fileName , textSpan : e . createTextSpanFromBounds ( n , r ) , kind : G . none } ; } function o ( t ) { function n ( t ) { if ( t ) { for ( var n = { } , r = [ ] , a = 0 , i = t ; a < i . length ; a ++ ) for ( var o = i [ a ] , s = 0 , c = o . references ; s < c . length ; s ++ ) { var _ = c [ s ] , u = _ . fileName , l = e . getProperty ( n , u ) ; l || ( l = { fileName : u , highlightSpans : [ ] } , n [ u ] = l , r . push ( l ) ) , l . highlightSpans . push ( { textSpan : _ . textSpan , kind : _ . isWriteAccess ? G . writtenReference : G . reference } ) ; } return r ; } } if ( 69 === t . kind || 97 === t . kind || 162 === t . kind || 95 === t . kind || S ( t ) || T ( t ) ) { var r = le ( t , _ , ! 1 , ! 1 ) ; return n ( r ) ; } } function c ( t ) { function n ( e , t ) { return void 0 !== e && e . kind === t ; } function r ( e ) { return e && e . parent ; } function i ( t ) { if ( t ) switch ( t . kind ) { case 88 : case 80 : if ( n ( t . parent , 199 ) ) return C ( t . parent ) ; break ; case 94 : if ( n ( t . parent , 207 ) ) return x ( t . parent ) ; break ; case 98 : if ( n ( t . parent , 211 ) ) return b ( t . parent ) ; break ; case 72 : if ( n ( r ( r ( t ) ) , 212 ) ) return k ( t . parent . parent ) ; break ; case 100 : case 85 : if ( n ( r ( t ) , 212 ) ) return k ( t . parent ) ; break ; case 96 : if ( n ( t . parent , 209 ) ) return v ( t . parent ) ; break ; case 71 : case 77 : if ( n ( r ( r ( r ( t ) ) ) , 209 ) ) return v ( t . parent . parent . parent ) ; break ; case 70 : case 75 : if ( n ( t . parent , 206 ) || n ( t . parent , 205 ) ) return h ( t . parent ) ; break ; case 86 : if ( n ( t . parent , 202 ) || n ( t . parent , 203 ) || n ( t . parent , 204 ) ) return y ( t . parent ) ; break ; case 104 : case 79 : if ( n ( t . parent , 201 ) || n ( t . parent , 200 ) ) return y ( t . parent ) ; break ; case 121 : if ( n ( t . parent , 145 ) ) return m ( t . parent ) ; break ; case 123 : case 129 : if ( n ( t . parent , 146 ) || n ( t . parent , 147 ) ) return f ( t . parent ) ; break ; default : if ( e . isModifierKind ( t . kind ) && t . parent && ( e . isDeclaration ( t . parent ) || 196 === t . parent . kind ) ) return d ( t . kind , t . parent ) ; } } function o ( t ) { function n ( t ) { if ( 211 === t . kind ) r . push ( t ) ; else if ( 212 === t . kind ) { var a = t ; n ( a . catchClause ? a . catchClause : a . tryBlock ) , a . finallyBlock && n ( a . finallyBlock ) ; } else e . isFunctionLike ( t ) || e . forEachChild ( t , n ) ; } var r = [ ] ; return n ( t ) , r ; } function s ( t ) { for ( var n = t ; n . parent ; ) { var r = n . parent ; if ( e . isFunctionBlock ( r ) || 251 === r . kind ) return r ; if ( 212 === r . kind ) { var a = r ; if ( a . tryBlock === n && a . catchClause ) return n ; } n = r ; } } function c ( t ) { function n ( t ) { 206 === t . kind || 205 === t . kind ? r . push ( t ) : e . isFunctionLike ( t ) || e . forEachChild ( t , n ) ; } var r = [ ] ; return n ( t ) , r ; } function _ ( e , t ) { var n = l ( t ) ; return n && n === e ; } function l ( t ) { for ( var n = t . parent ; n ; n = n . parent ) switch ( n . kind ) { case 209 : if ( 205 === t . kind ) continue ; case 202 : case 203 : case 204 : case 201 : case 200 : if ( ! t . label || g ( n , t . label . text ) ) return n ; break ; default : if ( e . isFunctionLike ( n ) ) return ; } } function d ( t , r ) { function i ( t ) { switch ( t ) { case 112 : return 8 ; case 110 : return 16 ; case 111 : return 32 ; case 113 : return 64 ; case 82 : return 2 ; case 122 : return 4 ; case 115 : return 128 ; default : e . Debug . fail ( ) ; } } var o = r . parent ; if ( e . isAccessibilityModifier ( t ) ) { if ( ! ( 217 === o . kind || 189 === o . kind || 139 === r . kind && n ( o , 145 ) ) ) return ; } else if ( 113 === t ) { if ( 217 !== o . kind && 189 !== o . kind ) return ; } else if ( 82 === t || 122 === t ) { if ( 222 !== o . kind && 251 !== o . kind ) return ; } else { if ( 115 !== t ) return ; if ( 217 !== o . kind && 217 !== r . kind ) return ; } var s , c = [ ] , _ = i ( t ) ; switch ( o . kind ) { case 222 : case 251 : s = 128 & _ ? r . members . concat ( r ) : o . statements ; break ; case 145 : s = o . parameters . concat ( o . parent . members ) ; break ; case 217 : case 189 : if ( s = o . members , 56 & _ ) { var u = e . forEach ( o . members , function ( e ) { return 145 === e . kind && e ; } ) ; u && ( s = s . concat ( u . parameters ) ) ; } else 128 & _ && ( s = s . concat ( o ) ) ; break ; default : e . Debug . fail ( "Invalid container kind." ) ; } return e . forEach ( s , function ( n ) { n . modifiers && n . flags & _ && e . forEach ( n . modifiers , function ( e ) { return p ( c , e , t ) ; } ) ; } ) , e . map ( c , a ) ; } function p ( t , n ) { for ( var r = [ ] , a = 2 ; a < arguments . length ; a ++ ) r [ a - 2 ] = arguments [ a ] ; return n && e . contains ( r , n . kind ) ? ( t . push ( n ) , ! 0 ) : ! 1 ; } function f ( t ) { function n ( t , n ) { var a = e . getDeclarationOfKind ( t , n ) ; a && e . forEach ( a . getChildren ( ) , function ( e ) { return p ( r , e , 123 , 129 ) ; } ) ; } var r = [ ] ; return n ( t . symbol , 146 ) , n ( t . symbol , 147 ) , e . map ( r , a ) ; } function m ( t ) { var n = t . symbol . getDeclarations ( ) , r = [ ] ; return e . forEach ( n , function ( t ) { e . forEach ( t . getChildren ( ) , function ( e ) { return p ( r , e , 121 ) ; } ) ; } ) , e . map ( r , a ) ; } function y ( t ) { var n = [ ] ; if ( p ( n , t . getFirstToken ( ) , 86 , 104 , 79 ) && 200 === t . kind ) for ( var r = t . getChildren ( ) , i = r . length - 1 ; i >= 0 && ! p ( n , r [ i ] , 104 ) ; i -- ) ; var o = c ( t . statement ) ; return e . forEach ( o , function ( e ) { _ ( t , e ) && p ( n , e . getFirstToken ( ) , 70 , 75 ) ; } ) , e . map ( n , a ) ; } function h ( e ) { var t = l ( e ) ; if ( t ) switch ( t . kind ) { case 202 : case 203 : case 204 : case 200 : case 201 : return y ( t ) ; case 209 : return v ( t ) ; } } function v ( t ) { var n = [ ] ; return p ( n , t . getFirstToken ( ) , 96 ) , e . forEach ( t . caseBlock . clauses , function ( r ) { p ( n , r . getFirstToken ( ) , 71 , 77 ) ; var a = c ( r ) ; e . forEach ( a , function ( e ) { _ ( t , e ) && p ( n , e . getFirstToken ( ) , 70 ) ; } ) ; } ) , e . map ( n , a ) ; } function k ( t ) { var n = [ ] ; if ( p ( n , t . getFirstToken ( ) , 100 ) , t . catchClause && p ( n , t . catchClause . getFirstToken ( ) , 72 ) , t . finallyBlock ) { var r = e . findChildOfKind ( t , 85 , u ) ; p ( n , r , 85 ) ; } return e . map ( n , a ) ; } function b ( t ) { var n = s ( t ) ; if ( n ) { var r = [ ] ; return e . forEach ( o ( n ) , function ( e ) { p ( r , e . getFirstToken ( ) , 98 ) ; } ) , e . isFunctionBlock ( n ) && e . forEachReturnStatement ( n , function ( e ) { p ( r , e . getFirstToken ( ) , 94 ) ; } ) , e . map ( r , a ) ; } } function x ( t ) { var r = e . getContainingFunction ( t ) ; if ( r && n ( r . body , 195 ) ) { var i = [ ] ; return e . forEachReturnStatement ( r . body , function ( e ) { p ( i , e . getFirstToken ( ) , 94 ) ; } ) , e . forEach ( o ( r . body ) , function ( e ) { p ( i , e . getFirstToken ( ) , 98 ) ; } ) , e . map ( i , a ) ; } } function C ( t ) { for ( var r = [ ] ; n ( t . parent , 199 ) && t . parent . elseStatement === t ; ) t = t . parent ; for ( ; t ; ) { var i = t . getChildren ( ) ; p ( r , i [ 0 ] , 88 ) ; for ( var o = i . length - 1 ; o >= 0 && ! p ( r , i [ o ] , 80 ) ; o -- ) ; if ( ! n ( t . elseStatement , 199 ) ) break ; t = t . elseStatement ; } for ( var s = [ ] , o = 0 ; o < r . length ; o ++ ) { if ( 80 === r [ o ] . kind && o < r . length - 1 ) { for ( var c = r [ o ] , _ = r [ o + 1 ] , l = ! 0 , d = _ . getStart ( ) - 1 ; d >= c . end ; d -- ) if ( ! e . isWhiteSpace ( u . text . charCodeAt ( d ) ) ) { l = ! 1 ; break ; } if ( l ) { s . push ( { fileName : D , textSpan : e . createTextSpanFromBounds ( c . getStart ( ) , _ . end ) , kind : G . reference } ) , o ++ ; continue ; } } s . push ( a ( r [ o ] ) ) ; } return s ; } var D = u . fileName , S = i ( t ) ; return S && 0 !== S . length ? [ { fileName : D , highlightSpans : S } ] : void 0 ; } s ( ) , r = e . map ( r , e . normalizeSlashes ) ; var _ = e . filter ( Ge . getSourceFiles ( ) , function ( t ) { return e . contains ( r , t . fileName ) ; } ) , u = i ( t ) , l = e . getTouchingWord ( u , n ) ; return l ? o ( l ) || c ( l ) : void 0 ; } function re ( e , t ) { function n ( e ) { if ( e ) { for ( var t = [ ] , n = 0 , r = e ; n < r . length ; n ++ ) for ( var a = r [ n ] , i = 0 , o = a . highlightSpans ; i < o . length ; i ++ ) { var s = o [ i ] ; t . push ( { fileName : a . fileName , textSpan : s . textSpan , isWriteAccess : s . kind === G . writtenReference } ) ; } return t ; } } return s ( ) , n ( ne ( e , t , [ e ] ) ) ; } function ie ( t ) { if ( t ) { for ( var n = [ ] , r = 0 , a = t ; r < a . length ; r ++ ) { var i = a [ r ] ; e . addRange ( n , i . references ) ; } return n ; } } function se ( e , t , n , r ) { var a = ue ( e , t , n , r ) ; return ie ( a ) ; } function ce ( e , t ) { var n = ue ( e , t , ! 1 , ! 1 ) ; return ie ( n ) ; } function _e ( t , n ) { var r = ue ( t , n , ! 1 , ! 1 ) ; return e . filter ( r , function ( e ) { return ! ! e . definition ; } ) ; } function ue ( t , n , r , a ) { s ( ) ; var o = i ( t ) , c = e . getTouchingPropertyName ( o , n ) ; return c && ( 69 === c . kind || S ( c ) || T ( c ) ) ? ( e . Debug . assert ( 69 === c . kind || 8 === c . kind || 9 === c . kind ) , le ( c , Ge . getSourceFiles ( ) , r , a ) ) : void 0 ; } function le ( t , n , r , a ) { function i ( n ) { var r = J ( n , t . getSourceFile ( ) , w ( t ) , t ) , a = e . map ( r . displayParts , function ( e ) { return e . text ; } ) . join ( "" ) , i = n . declarations ; return i && 0 !== i . length ? { containerKind : "" , containerName : "" , name : a , kind : r . symbolKind , fileName : i [ 0 ] . getSourceFile ( ) . fileName , textSpan : e . createTextSpan ( i [ 0 ] . getStart ( ) , 0 ) } : void 0 ; } function o ( t ) { return 8388608 & t . flags && ! ! e . getDeclarationOfKind ( t , 229 ) ; } function s ( t , n , r ) { if ( e . isImportOrExportSpecifierName ( n ) ) return n . getText ( ) ; var a = e . getLocalSymbolForExportDefault ( t ) ; return t = a || t , e . stripQuotes ( t . name ) ; } function c ( t ) { var n = t . valueDeclaration ; if ( n && ( 176 === n . kind || 189 === n . kind ) ) return n ; if ( 8196 & t . flags ) { var r = e . forEach ( t . getDeclarations ( ) , function ( e ) { return 16 & e . flags ? e : void 0 ; } ) ; if ( r ) return e . getAncestor ( r , 217 ) ; } if ( ! ( 8388608 & t . flags || t . parent || 268435456 & t . flags ) ) { var a , i = t . getDeclarations ( ) ; if ( i ) for ( var o = 0 , s = i ; o < s . length ; o ++ ) { var c = s [ o ] , _ = w ( c ) ; if ( ! _ ) return ; if ( a && a !== _ ) return ; if ( 251 === _ . kind && ! e . isExternalModule ( _ ) ) return ; a = _ ; } return a ; } } function _ ( t , n , r , a ) { var i = [ ] ; if ( ! n || ! n . length ) return i ; for ( var o = t . text , s = o . length , c = n . length , _ = o . indexOf ( n , r ) ; _ >= 0 && ( $e . throwIfCancellationRequested ( ) , ! ( _ > a ) ) ; ) { var u = _ + c ; 0 !== _ && e . isIdentifierPart ( o . charCodeAt ( _ - 1 ) , 2 ) || u !== s && e . isIdentifierPart ( o . charCodeAt ( u ) , 2 ) || i . push ( _ ) , _ = o . indexOf ( n , _ + c + 1 ) ; } return i ; } function u ( t , n ) { var r = [ ] , a = t . getSourceFile ( ) , i = n . text , o = _ ( a , i , t . getStart ( ) , t . getEnd ( ) ) ; e . forEach ( o , function ( t ) { $e . throwIfCancellationRequested ( ) ; var o = e . getTouchingWord ( a , t ) ; o && o . getWidth ( ) === i . length && ( o === n || f ( o ) && p ( o , i ) === n ) && r . push ( de ( o ) ) ; } ) ; var s = { containerKind : "" , containerName : "" , fileName : n . getSourceFile ( ) . fileName , kind : Q . label , name : i , textSpan : e . createTextSpanFromBounds ( n . getStart ( ) , n . getEnd ( ) ) } ; return [ { definition : s , references : r } ] ; } function l ( e , t ) { if ( e ) switch ( e . kind ) { case 69 : return e . getWidth ( ) === t . length ; case 9 : if ( S ( e ) || T ( e ) ) return e . getWidth ( ) === t . length + 2 ; break ; case 8 : if ( S ( e ) ) return e . getWidth ( ) === t . length ; } return ! 1 ; } function d ( t , n , r , a , o , s , c , u , d ) { function p ( t ) { var n = e . getSymbolId ( t ) , r = d [ n ] ; return void 0 === r && ( r = u . length , d [ n ] = r , u . push ( { definition : i ( t ) , references : [ ] } ) ) , u [ r ] ; } function f ( t , n ) { function r ( e ) { var n = t . text . substring ( e . pos , e . end ) ; return ! g . test ( n ) ; } return e . isInCommentHelper ( t , n , r ) ; } var m = t . getSourceFile ( ) , g = /^\/\/\/\s*</ , y = _ ( m , r , t . getStart ( ) , t . getEnd ( ) ) ; if ( y . length ) { var v = h ( n , a ) ; e . forEach ( y , function ( t ) { $e . throwIfCancellationRequested ( ) ; var n = e . getTouchingPropertyName ( m , t ) ; if ( ! l ( n , r ) ) return void ( ( s && e . isInString ( m , t ) || c && f ( m , t ) ) && u . push ( { definition : void 0 , references : [ { fileName : m . fileName , textSpan : e . createTextSpan ( t , r . length ) , isWriteAccess : ! 1 } ] } ) ) ; if ( Ce ( n ) & o ) { var a = C . getSymbolAtLocation ( n ) ; if ( a ) { var i = a . valueDeclaration , _ = C . getShorthandAssignmentValueSymbol ( i ) , d = k ( v , a , n ) ; if ( d ) { var g = p ( d ) ; g . references . push ( de ( n ) ) ; } else if ( ! ( 67108864 & a . flags ) && v . indexOf ( _ ) >= 0 ) { var g = p ( _ ) ; g . references . push ( de ( i . name ) ) ; } } } } ) ; } } function m ( t ) { var n = e . getSuperContainer ( t , ! 1 ) ; if ( n ) { var r = 64 ; switch ( n . kind ) { case 142 : case 141 : case 144 : case 143 : case 145 : case 146 : case 147 : r &= n . flags , n = n . parent ; break ; default : return ; } var a = [ ] , o = n . getSourceFile ( ) , s = _ ( o , "super" , n . getStart ( ) , n . getEnd ( ) ) ; e . forEach ( s , function ( t ) { $e . throwIfCancellationRequested ( ) ; var i = e . getTouchingWord ( o , t ) ; if ( i && 95 === i . kind ) { var s = e . getSuperContainer ( i , ! 1 ) ; s && ( 64 & s . flags ) === r && s . parent . symbol === n . symbol && a . push ( de ( i ) ) ; } } ) ; var c = i ( n . symbol ) ; return [ { definition : c , references : a } ] ; } } function g ( n , r ) { function a ( t , n , r , a ) { e . forEach ( r , function ( r ) { $e . throwIfCancellationRequested ( ) ; var i = e . getTouchingWord ( t , r ) ; if ( i && ( 97 === i . kind || 162 === i . kind ) ) { var s = e . getThisContainer ( i , ! 1 ) ; switch ( n . kind ) { case 176 : case 216 : n . symbol === s . symbol && a . push ( de ( i ) ) ; break ; case 144 : case 143 : e . isObjectLiteralMethod ( n ) && n . symbol === s . symbol && a . push ( de ( i ) ) ; break ; case 189 : case 217 : s . parent && n . symbol === s . parent . symbol && ( 64 & s . flags ) === o && a . push ( de ( i ) ) ; break ; case 251 : 251 !== s . kind || e . isExternalModule ( s ) || a . push ( de ( i ) ) ; } } } ) ; } var i = e . getThisContainer ( n , ! 1 ) , o = 64 ; switch ( i . kind ) { case 144 : case 143 : if ( e . isObjectLiteralMethod ( i ) ) break ; case 142 : case 141 : case 145 : case 146 : case 147 : o &= i . flags , i = i . parent ; break ; case 251 : if ( e . isExternalModule ( i ) ) return ; case 216 : case 176 : break ; default : return ; } var s , c = [ ] ; if ( 251 === i . kind ) e . forEach ( r , function ( e ) { s = _ ( e , "this" , e . getStart ( ) , e . getEnd ( ) ) , a ( e , e , s , c ) ; } ) ; else { var u = i . getSourceFile ( ) ; s = _ ( u , "this" , i . getStart ( ) , i . getEnd ( ) ) , a ( u , i , s , c ) ; } return [ { definition : { containerKind : "" , containerName : "" , fileName : t . getSourceFile ( ) . fileName , kind : Q . variableElement , name : "this" , textSpan : e . createTextSpanFromBounds ( t . getStart ( ) , t . getEnd ( ) ) } , references : c } ] ; } function h ( t , n ) { var r = [ t ] ; if ( o ( t ) && r . push ( C . getAliasedSymbol ( t ) ) , 233 === n . parent . kind && r . push ( C . getExportSpecifierLocalTargetSymbol ( n . parent ) ) , D ( n ) ) { e . forEach ( b ( n ) , function ( t ) { e . addRange ( r , C . getRootSymbols ( t ) ) ; } ) ; var a = C . getShorthandAssignmentValueSymbol ( n . parent ) ; a && r . push ( a ) ; } return t . valueDeclaration && 139 === t . valueDeclaration . kind && e . isParameterPropertyDeclaration ( t . valueDeclaration ) && ( r = r . concat ( C . getSymbolsOfParameterPropertyDeclaration ( t . valueDeclaration , t . name ) ) ) , e . forEach ( C . getRootSymbols ( t ) , function ( e ) { e !== t && r . push ( e ) , e . parent && 96 & e . parent . flags && v ( e . parent , e . getName ( ) , r , { } ) ; } ) , r ; } function v ( t , n , r , a ) { function i ( e ) { if ( e ) { var i = C . getTypeAtLocation ( e ) ; if ( i ) { var o = C . getPropertyOfType ( i , n ) ; o && r . push ( o ) , a [ t . name ] = t , v ( i . symbol , n , r , a ) ; } } } t && ( e . hasProperty ( a , t . name ) || 96 & t . flags && e . forEach ( t . getDeclarations ( ) , function ( t ) { 217 === t . kind ? ( i ( e . getClassExtendsHeritageClauseElement ( t ) ) , e . forEach ( e . getClassImplementsHeritageClauseElements ( t ) , i ) ) : 218 === t . kind && e . forEach ( e . getInterfaceBaseTypeNodes ( t ) , i ) ; } ) ) ; } function k ( t , n , r ) { if ( t . indexOf ( n ) >= 0 ) return n ; if ( o ( n ) ) { var a = C . getAliasedSymbol ( n ) ; if ( t . indexOf ( a ) >= 0 ) return a ; } if ( 233 === r . parent . kind ) { var a = C . getExportSpecifierLocalTargetSymbol ( r . parent ) ; if ( t . indexOf ( a ) >= 0 ) return a ; } return D ( r ) ? e . forEach ( b ( r ) , function ( n ) { return e . forEach ( C . getRootSymbols ( n ) , function ( e ) { return t . indexOf ( e ) >= 0 ? e : void 0 ; } ) ; } ) : e . forEach ( C . getRootSymbols ( n ) , function ( n ) { if ( t . indexOf ( n ) >= 0 ) return n ; if ( n . parent && 96 & n . parent . flags ) { var r = [ ] ; return v ( n . parent , n . getName ( ) , r , { } ) , e . forEach ( r , function ( e ) { return t . indexOf ( e ) >= 0 ? e : void 0 ; } ) ; } } ) ; } function b ( t ) { if ( D ( t ) ) { var n = t . parent . parent , r = C . getContextualType ( n ) , a = t . text ; if ( r ) { if ( 16384 & r . flags ) { var i = r . getProperty ( a ) ; if ( i ) return [ i ] ; var o = [ ] ; return e . forEach ( r . types , function ( e ) { var t = e . getProperty ( a ) ; t && o . push ( t ) ; } ) , o ; } var s = r . getProperty ( a ) ; if ( s ) return [ s ] ; } } } function x ( e , t ) { if ( t ) { var n = void 0 ; do { n = e ; for ( var r = 0 , a = t ; r < a . length ; r ++ ) { var i = a [ r ] , o = ge ( i ) ; o & e && ( e |= o ) ; } } while ( e !== n ) ; } return e ; } var C = Ge . getTypeChecker ( ) ; if ( y ( t ) ) { if ( f ( t ) ) { var E = p ( t . parent , t . text ) ; return E ? u ( E . parent , E ) : void 0 ; } return u ( t . parent , t ) ; } if ( 97 === t . kind || 162 === t . kind ) return g ( t , n ) ; if ( 95 === t . kind ) return m ( t ) ; var A = C . getSymbolAtLocation ( t ) ; if ( A ) { var P = A . declarations ; if ( P && P . length ) { var O , R = x ( Ce ( t ) , P ) , I = e . stripQuotes ( e . getDeclaredName ( C , A , t ) ) , F = c ( A ) , L = [ ] ; if ( F ) O = [ ] , d ( F , A , I , t , R , r , a , O , L ) ; else for ( var M = s ( A , t , P ) , B = 0 , z = n ; B < z . length ; B ++ ) { var K = z [ B ] ; $e . throwIfCancellationRequested ( ) ; var j = N ( K ) ; void 0 !== e . lookUp ( j , M ) && ( O = O || [ ] , d ( K , A , I , t , R , r , a , O , L ) ) ; } return O ; } } } function de ( t ) { var n = t . getStart ( ) , r = t . getEnd ( ) ; return 9 === t . kind && ( n += 1 , r -= 1 ) , { fileName : t . getSourceFile ( ) . fileName , textSpan : e . createTextSpanFromBounds ( n , r ) , isWriteAccess : pe ( t ) } ; } function pe ( t ) { if ( 69 === t . kind && e . isDeclarationName ( t ) ) return ! 0 ; var n = t . parent ; if ( n ) { if ( 183 === n . kind || 182 === n . kind ) return ! 0 ; if ( 184 === n . kind && n . left === t ) { var r = n . operatorToken . kind ; return r >= 56 && 68 >= r ; } } return ! 1 ; } function fe ( t , n ) { return s ( ) , e . NavigateTo . getNavigateToItems ( Ge , $e , t , n ) ; } function me ( e ) { function t ( e , t , n ) { r . push ( { name : e , writeByteOrderMark : n , text : t } ) ; } s ( ) ; var n = i ( e ) , r = [ ] , a = Ge . emit ( n , t , $e ) ; return { outputFiles : r , emitSkipped : a . emitSkipped } ; } function ge ( t ) { switch ( t . kind ) { case 139 : case 214 : case 166 : case 142 : case 141 : case 248 : case 249 : case 250 : case 144 : case 143 : case 145 : case 146 : case 147 : case 216 : case 176 : case 177 : case 247 : return 1 ; case 138 : case 218 : case 219 : case 156 : return 2 ; case 217 : case 220 : return 3 ; case 221 : return e . isAmbientModule ( t ) ? 5 : 1 === e . getModuleInstanceState ( t ) ? 5 : 4 ; case 228 : case 229 : case 224 : case 225 : case 230 : case 231 : return 7 ; case 251 : return 5 ; } return 7 ; } function ye ( t ) { return e . isRightSideOfQualifiedNameOrPropertyAccess ( t ) && ( t = t . parent ) , 152 === t . parent . kind || 191 === t . parent . kind && ! e . isExpressionWithTypeArgumentsInClassExtendsClause ( t . parent ) || 97 === t . kind && ! e . isExpression ( t ) || 162 === t . kind ; } function he ( e ) { return ke ( e ) || ve ( e ) ; } function ve ( e ) { var t = e , n = ! 0 ; if ( 169 === t . parent . kind ) { for ( ; t . parent && 169 === t . parent . kind ; ) t = t . parent ; n = t . name === e ; } if ( ! n && 191 === t . parent . kind && 246 === t . parent . parent . kind ) { var r = t . parent . parent . parent ; return 217 === r . kind && 106 === t . parent . parent . token || 218 === r . kind && 83 === t . parent . parent . token ; } return ! 1 ; } function ke ( e ) { var t = e , n = ! 0 ; if ( 136 === t . parent . kind ) { for ( ; t . parent && 136 === t . parent . kind ; ) t = t . parent ; n = t . right === e ; } return 152 === t . parent . kind && ! n ; } function be ( t ) { for ( ; 136 === t . parent . kind ; ) t = t . parent ; return e . isInternalModuleImportEqualsDeclaration ( t . parent ) && t . parent . moduleReference === t ; } function xe ( t ) { return e . Debug . assert ( 69 === t . kind ) , 136 === t . parent . kind && t . parent . right === t && 224 === t . parent . parent . kind ? 7 : 4 ; } function Ce ( t ) { return 230 === t . parent . kind ? 7 : be ( t ) ? xe ( t ) : e . isDeclarationName ( t ) ? ge ( t . parent ) : ye ( t ) ? 2 : he ( t ) ? 4 : 1 ; } function De ( t , n ) { s ( ) ; var r = i ( t ) ; return e . SignatureHelp . getSignatureHelpItems ( Ge , r , n , $e ) ; } function Se ( e ) { return Qe . getCurrentSourceFile ( e ) ; } function Te ( t , n , r ) { var a = Qe . getCurrentSourceFile ( t ) , i = e . getTouchingPropertyName ( a , n ) ; if ( i ) { switch ( i . kind ) { case 169 : case 136 : case 9 : case 163 : case 84 : case 99 : case 93 : case 95 : case 97 : case 162 : case 69 : break ; default : return ; } for ( var o = i ; ; ) if ( v ( o ) || h ( o ) ) o = o . parent ; else { if ( ! x ( o ) ) break ; if ( 221 !== o . parent . parent . kind || o . parent . parent . body !== o . parent ) break ; o = o . parent . parent . name ; } return e . createTextSpanFromBounds ( o . getStart ( ) , i . getEnd ( ) ) ; } } function Ee ( t , n ) { var r = Qe . getCurrentSourceFile ( t ) ; return e . BreakpointResolver . spanInSourceFileAtLocation ( r , n ) ; } function we ( n ) { var r = Qe . getCurrentSourceFile ( n ) ; return e . NavigationBar . getNavigationBarItems ( r , t . getCompilationSettings ( ) ) ; } function Ae ( e , t ) { return Re ( Ne ( e , t ) ) ; } function Pe ( e ) { switch ( e ) { case 221 : case 217 : case 218 : case 216 : $e . throwIfCancellationRequested ( ) ; } } function Ne ( t , n ) { function r ( e , t , n ) { u . push ( e ) , u . push ( t ) , u . push ( n ) ; } function a ( t , n ) { function r ( t ) { return e . forEach ( t . declarations , function ( t ) { return 221 === t . kind && 1 === e . getModuleInstanceState ( t ) ; } ) ; } var a = t . getFlags ( ) ; if ( 0 !== ( 788448 & a ) ) { if ( 32 & a ) return 11 ; if ( 384 & a ) return 12 ; if ( 524288 & a ) return 16 ; if ( 2 & n ) { if ( 64 & a ) return 13 ; if ( 262144 & a ) return 15 ; } else if ( 1536 & a && ( 4 & n || 1 & n && r ( t ) ) ) return 14 ; } } function o ( t ) { if ( t && e . textSpanIntersectsWith ( n , t . getFullStart ( ) , t . getFullWidth ( ) ) ) { var i = t . kind ; if ( Pe ( i ) , 69 === i && ! e . nodeIsMissing ( t ) ) { var s = t ; if ( l [ s . text ] ) { var c = _ . getSymbolAtLocation ( t ) ; if ( c ) { var u = a ( c , Ce ( t ) ) ; u && r ( t . getStart ( ) , t . getWidth ( ) , u ) ; } } } e . forEachChild ( t , o ) ; } } s ( ) ; var c = i ( t ) , _ = Ge . getTypeChecker ( ) , u = [ ] , l = Ge . getClassifiableNames ( ) ; return o ( c ) , { spans : u , endOfLineState : 0 } ; } function Oe ( e ) { switch ( e ) { case 1 : return Z . comment ; case 2 : return Z . identifier ; case 3 : return Z . keyword ; case 4 : return Z . numericLiteral ; case 5 : return Z . operator ; case 6 : return Z . stringLiteral ; case 8 : return Z . whiteSpace ; case 9 : return Z . text ; case 10 : return Z . punctuation ; case 11 : return Z . className ; case 12 : return Z . enumName ; case 13 : return Z . interfaceName ; case 14 : return Z . moduleName ; case 15 : return Z . typeParameterName ; case 16 : return Z . typeAliasName ; case 17 : return Z . parameterName ; case 18 : return Z . docCommentTagName ; case 19 : return Z . jsxOpenTagName ; case 20 : return Z . jsxCloseTagName ; case 21 : return Z . jsxSelfClosingTagName ; case 22 : return Z . jsxAttribute ; case 23 : return Z . jsxText ; case 24 : return Z . jsxAttributeStringLiteralValue ; } } function Re ( t ) { e . Debug . assert ( t . spans . length % 3 === 0 ) ; for ( var n = t . spans , r = [ ] , a = 0 , i = n . length ; i > a ; a += 3 ) r . push ( { textSpan : e . createTextSpan ( n [ a ] , n [ a + 1 ] ) , classificationType : Oe ( n [ a + 2 ] ) } ) ; return r ; } function Ie ( e , t ) { return Re ( Fe ( e , t ) ) ; } function Fe ( t , n ) { function r ( e , t , n ) { k . push ( e ) , k . push ( t ) , k . push ( n ) ; } function a ( t ) { for ( h . setTextPos ( t . pos ) ; ; ) { var n = h . getTextPos ( ) ; if ( ! e . couldStartTrivia ( m . text , n ) ) return n ; var a = h . scan ( ) , o = h . getTextPos ( ) , s = o - n ; if ( ! e . isTrivia ( a ) ) return n ; if ( 4 !== a && 5 !== a ) if ( e . isComment ( a ) ) i ( t , a , n , s ) , h . setTextPos ( o ) ; else if ( 7 === a ) { var c = m . text , u = c . charCodeAt ( n ) ; if ( 60 === u || 62 === u ) { r ( n , s , 1 ) ; continue ; } e . Debug . assert ( 61 === u ) , _ ( c , n , o ) ; } } } function i ( t , n , r , a ) { if ( 3 === n ) { var i = e . parseIsolatedJSDocComment ( m . text , r , a ) ; if ( i && i . jsDocComment ) return i . jsDocComment . parent = t , void s ( i . jsDocComment ) ; } o ( r , a ) ; } function o ( e , t ) { r ( e , t , 1 ) ; } function s ( e ) { function t ( e ) { e . preParameterName && ( o ( n , e . preParameterName . pos - n ) , r ( e . preParameterName . pos , e . preParameterName . end - e . preParameterName . pos , 17 ) , n = e . preParameterName . end ) , e . typeExpression && ( o ( n , e . typeExpression . pos - n ) , f ( e . typeExpression ) , n = e . typeExpression . end ) , e . postParameterName && ( o ( n , e . postParameterName . pos - n ) , r ( e . postParameterName . pos , e . postParameterName . end - e . postParameterName . pos , 17 ) , n = e . postParameterName . end ) ; } for ( var n = e . pos , a = 0 , i = e . tags ; a < i . length ; a ++ ) { var s = i [ a ] ; switch ( s . pos !== n && o ( n , s . pos - n ) , r ( s . atToken . pos , s . atToken . end - s . atToken . pos , 10 ) , r ( s . tagName . pos , s . tagName . end - s . tagName . pos , 18 ) , n = s . tagName . end , s . kind ) { case 270 : t ( s ) ; break ; case 273 : c ( s ) ; break ; case 272 : f ( s . typeExpression ) ; break ; case 271 : f ( s . typeExpression ) ; } n = s . end ; } n !== e . end && o ( n , e . end - n ) ; } function c ( e ) { for ( var t = 0 , n = e . getChildren ( ) ; t < n . length ; t ++ ) { var r = n [ t ] ; f ( r ) ; } } function _ ( t , n , a ) { var i ; for ( i = n ; a > i && ! e . isLineBreak ( t . charCodeAt ( i ) ) ; i ++ ) ; for ( r ( n , i - n , 1 ) , v . setTextPos ( i ) ; v . getTextPos ( ) < a ; ) u ( ) ; } function u ( ) { var e = v . getTextPos ( ) , t = v . scan ( ) , n = v . getTextPos ( ) , a = p ( t ) ; a && r ( e , n - e , a ) ; } function l ( t ) { if ( e . nodeIsMissing ( t ) ) return ! 0 ; var n = d ( t ) ; if ( ! e . isToken ( t ) && 239 !== t . kind && void 0 === n ) return ! 1 ; var i = 239 === t . kind ? t . pos : a ( t ) , o = t . end - i ; if ( e . Debug . assert ( o >= 0 ) , o > 0 ) { var s = n || p ( t . kind , t ) ; s && r ( i , o , s ) ; } return ! 0 ; } function d ( e ) { switch ( e . parent && e . parent . kind ) { case 238 : if ( e . parent . tagName === e ) return 19 ; break ; case 240 : if ( e . parent . tagName === e ) return 20 ; break ; case 237 : if ( e . parent . tagName === e ) return 21 ; break ; case 241 : if ( e . parent . name === e ) return 22 ; } } function p ( t , n ) { if ( e . isKeyword ( t ) ) return 3 ; if ( ( 25 === t || 27 === t ) && n && e . getTypeArgumentOrTypeParameterList ( n . parent ) ) return 10 ; if ( e . isPunctuation ( t ) ) { if ( n ) { if ( 56 === t && ( 214 === n . parent . kind || 142 === n . parent . kind || 139 === n . parent . kind || 241 === n . parent . kind ) ) return 5 ; if ( 184 === n . parent . kind || 182 === n . parent . kind || 183 === n . parent . kind || 185 === n . parent . kind ) return 5 ; } return 10 ; } if ( 8 === t ) return 4 ; if ( 9 === t || 163 === t ) return 241 === n . parent . kind ? 24 : 6 ; if ( 10 === t ) return 6 ; if ( e . isTemplateLiteralKind ( t ) ) return 6 ; if ( 239 === t ) return 23 ; if ( 69 === t ) { if ( n ) switch ( n . parent . kind ) { case 217 : if ( n . parent . name === n ) return 11 ; return ; case 138 : if ( n . parent . name === n ) return 15 ; return ; case 218 : if ( n . parent . name === n ) return 13 ; return ; case 220 : if ( n . parent . name === n ) return 12 ; return ; case 221 : if ( n . parent . name === n ) return 14 ; return ; case 139 : if ( n . parent . name === n ) return 17 ; return ; } return 2 ; } } function f ( t ) { if ( t && e . decodedTextSpanIntersectsWith ( g , y , t . pos , t . getFullWidth ( ) ) ) { Pe ( t . kind ) ; for ( var n = t . getChildren ( m ) , r = 0 , a = n . length ; a > r ; r ++ ) { var i = n [ r ] ; l ( i ) || f ( i ) ; } } } var m = Qe . getCurrentSourceFile ( t ) , g = n . start , y = n . length , h = e . createScanner ( 2 , ! 1 , m . languageVariant , m . text ) , v = e . createScanner ( 2 , ! 1 , m . languageVariant , m . text ) , k = [ ] ; return f ( m ) , { spans : k , endOfLineState : 0 } ; } function Le ( t ) { var n = Qe . getCurrentSourceFile ( t ) ; return e . OutliningElementsCollector . collectElements ( n ) ; } function Me ( t , n ) { function r ( e ) { switch ( e . kind ) { case 15 : return 16 ; case 17 : return 18 ; case 19 : return 20 ; case 25 : return 27 ; case 16 : return 15 ; case 18 : return 17 ; case 20 : return 19 ; case 27 : return 25 ; } } var a = Qe . getCurrentSourceFile ( t ) , i = [ ] , o = e . getTouchingToken ( a , n ) ; if ( o . getStart ( a ) === n ) { var s = r ( o ) ; if ( s ) for ( var c = o . parent , _ = c . getChildren ( a ) , u = 0 , l = _ ; u < l . length ; u ++ ) { var d = l [ u ] ; if ( d . kind === s ) { var p = e . createTextSpan ( o . getStart ( a ) , o . getWidth ( a ) ) , f = e . createTextSpan ( d . getStart ( a ) , d . getWidth ( a ) ) ; p . start < f . start ? i . push ( p , f ) : i . push ( f , p ) ; break ; } } } return i ; } function Be ( t , n , a ) { var i = ( new Date ) . getTime ( ) , o = Qe . getCurrentSourceFile ( t ) ; r ( "getIndentationAtPosition: getCurrentSourceFile: " + ( ( new Date ) . getTime ( ) - i ) ) , i = ( new Date ) . getTime ( ) ; var s = e . formatting . SmartIndenter . getIndentation ( n , o , a ) ; return r ( "getIndentationAtPosition: computeIndentation  : " + ( ( new Date ) . getTime ( ) - i ) ) , s ; } function ze ( t , n , r , a ) { var i = Qe . getCurrentSourceFile ( t ) ; return e . formatting . formatSelection ( n , r , i , o ( a ) , a ) ; } function Ke ( t , n ) { var r = Qe . getCurrentSourceFile ( t ) ; return e . formatting . formatDocument ( r , o ( n ) , n ) ; } function je ( t , n , r , a ) { var i = Qe . getCurrentSourceFile ( t ) ; return "}" === r ? e . formatting . formatOnClosingCurly ( n , i , o ( a ) , a ) : ";" === r ? e . formatting . formatOnSemicolon ( n , i , o ( a ) , a ) : "\n" === r ? e . formatting . formatOnEnter ( n , i , o ( a ) , a ) : [ ] ; } function Je ( n , r ) { var a = Qe . getCurrentSourceFile ( n ) ; if ( ! ( e . isInString ( a , r ) || e . isInComment ( a , r ) || e . hasDocComment ( a , r ) ) ) { var i = e . getTokenAtPosition ( a , r ) , o = i . getStart ( ) ; if ( i && ! ( r > o ) ) { var s ; e : for ( s = i ; s ; s = s . parent ) switch ( s . kind ) { case 216 : case 144 : case 145 : case 217 : case 196 : break e ; case 251 : return ; case 221 : if ( 221 === s . parent . kind ) return ; break e ; } if ( s && ! ( s . getStart ( ) < r ) ) { for ( var c = Ue ( s ) , _ = a . getLineAndCharacterOfPosition ( r ) , u = a . getLineStarts ( ) [ _ . line ] , l = a . text . substr ( u , _ . character ) , d = e . getNewLineOrDefaultFromHost ( t ) , p = "" , f = 0 , m = c . length ; m > f ; f ++ ) { var g = c [ f ] . name , y = 69 === g . kind ? g . text : "param" + f ; p += l + " * @param " + y + d ; } var h = "/**" + d + l + " * " , v = h + d + p + l + " */" + ( o === r ? d + l : "" ) ; return { newText : v , caretOffset : h . length } ; } } } } function Ue ( t ) { if ( e . isFunctionLike ( t ) ) return t . parameters ; if ( 196 === t . kind ) { var n = t , r = n . declarationList . declarations ; if ( 1 === r . length && r [ 0 ] . initializer ) return qe ( r [ 0 ] . initializer ) ; } return K ; } function qe ( e ) { for ( ; 175 === e . kind ; ) e = e . expression ; switch ( e . kind ) { case 176 : case 177 : return e . parameters ; case 189 : for ( var t = 0 , n = e . members ; t < n . length ; t ++ ) { var r = n [ t ] ; if ( 145 === r . kind ) return r . parameters ; } } return K ; } function We ( t , n ) { function r ( e ) { return e . replace ( /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g , "\\$&" ) ; } function a ( ) { var t = /(?:\/\/+\s*)/ . source , a = /(?:\/\*+\s*)/ . source , i = /(?:^(?:\s|\*)*)/ . source , o = "(" + i + "|" + t + "|" + a + ")" , s = "(?:" + e . map ( n , function ( e ) { return "(" + r ( e . text ) + ")" ; } ) . join ( "|" ) + ")" , c = /(?:$|\*\/)/ . source , _ = /(?:.*?)/ . source , u = "(" + s + _ + ")" , l = o + u + c ; return new RegExp ( l , "gim" ) ; } function o ( e ) { return e >= 97 && 122 >= e || e >= 65 && 90 >= e || e >= 48 && 57 >= e ; } s ( ) ; var c = i ( t ) ; $e . throwIfCancellationRequested ( ) ; var _ = c . text , u = [ ] ; if ( n . length > 0 ) for ( var l = a ( ) , d = void 0 ; d = l . exec ( _ ) ; ) { $e . throwIfCancellationRequested ( ) ; var p = 3 ; e . Debug . assert ( d . length === n . length + p ) ; var f = d [ 1 ] , m = d . index + f . length , g = e . getTokenAtPosition ( c , m ) ; if ( E ( c , g , m ) ) { for ( var y = void 0 , h = 0 , v = n . length ; v > h ; h ++ ) d [ h + p ] && ( y = n [ h ] ) ; if ( e . Debug . assert ( void 0 !== y ) , ! o ( _ . charCodeAt ( m + y . text . length ) ) ) { var k = d [ 2 ] ; u . push ( { descriptor : y , message : k , position : m } ) ; } } } return u ; } function Ve ( n , r ) { function a ( e ) { return { canRename : ! 1 , localizedErrorMessage : e , displayName : void 0 , fullDisplayName : void 0 , kind : void 0 , kindModifiers : void 0 , triggerSpan : void 0 } ; } s ( ) ; var o = i ( n ) , c = Ge . getTypeChecker ( ) , _ = e . getTouchingWord ( o , r ) ; if ( _ && 69 === _ . kind ) { var u = c . getSymbolAtLocation ( _ ) ; if ( u ) { var l = u . getDeclarations ( ) ; if ( l && l . length > 0 ) { var d = t . getDefaultLibFileName ( t . getCompilationSettings ( ) ) , p = et ( e . normalizePath ( d ) ) ; if ( d ) for ( var f = 0 , m = l ; f < m . length ; f ++ ) { var g = m [ f ] , y = g . getSourceFile ( ) ; if ( y ) { var h = et ( e . normalizePath ( y . fileName ) ) ; if ( h === p ) return a ( e . getLocaleSpecificMessage ( e . Diagnostics . You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library ) ) ; } } var v = e . stripQuotes ( e . getDeclaredName ( c , u , _ ) ) , k = L ( u , _ ) ; if ( k ) return { canRename : ! 0 , kind : k , displayName : v , localizedErrorMessage : void 0 , fullDisplayName : c . getFullyQualifiedName ( u ) , kindModifiers : z ( u ) , triggerSpan : e . createTextSpan ( _ . getStart ( ) , _ . getWidth ( ) ) } ; } } } return a ( e . getLocaleSpecificMessage ( e . Diagnostics . You_cannot_rename_this_element ) ) ; } void 0 === n && ( n = l ( t . useCaseSensitiveFileNames && t . useCaseSensitiveFileNames ( ) , t . getCurrentDirectory ( ) ) ) ; var He , Ge , Xe , Qe = new te ( t ) , Ye = ! 1 , $e = new oe ( t . getCancellationToken && t . getCancellationToken ( ) ) , Ze = t . getCurrentDirectory ( ) ; ! e . localizedDiagnosticMessages && t . getLocalizedDiagnosticMessages && ( e . localizedDiagnosticMessages = t . getLocalizedDiagnosticMessages ( ) ) ; var et = e . createGetCanonicalFileName ( Ye ) ; return { dispose : u , cleanupSemanticCache : _ , getSyntacticDiagnostics : d , getSemanticDiagnostics : m , getCompilerOptionsDiagnostics : A , getSyntacticClassifications : Ie , getSemanticClassifications : Ae , getEncodedSyntacticClassifications : Fe , getEncodedSemanticClassifications : Ne , getCompletionsAtPosition : I , getCompletionEntryDetails : F , getSignatureHelpItems : De , getQuickInfoAtPosition : U , getDefinitionAtPosition : V , getTypeDefinitionAtPosition : H , getReferencesAtPosition : ce , findReferences : _e , getOccurrencesAtPosition : Y , getDocumentHighlights : ne , getNameOrDottedNameSpan : Te , getBreakpointStatementAtPosition : Ee , getNavigateToItems : fe , getRenameInfo : Ve , findRenameLocations : se , getNavigationBarItems : we , getOutliningSpans : Le , getTodoComments : We , getBraceMatchingAtPosition : Me , getIndentationAtPosition : Be , getFormattingEditsForRange : ze , getFormattingEditsForDocument : Ke , getFormattingEditsAfterKeystroke : je , getDocCommentTemplateAtPosition : Je , getEmitOutput : me , getSourceFile : Se , getProgram : c } ; } function N ( e ) { return e . nameTable || O ( e ) , e . nameTable ; } function O ( t ) { function n ( t ) { switch ( t . kind ) { case 69 : r [ t . text ] = void 0 === r [ t . text ] ? t . pos : - 1 ; break ; case 9 : case 8 : ( e . isDeclarationName ( t ) || 235 === t . parent . kind || R ( t ) ) && ( r [ t . text ] = void 0 === r [ t . text ] ? t . pos : - 1 ) ; break ; default : e . forEachChild ( t , n ) ; } } var r = { } ; n ( t ) , t . nameTable = r ; } function R ( e ) { return e && e . parent && 170 === e . parent . kind && e . parent . argumentExpression === e ; } function I ( ) { function t ( t , n ) { return e . isAccessibilityModifier ( t ) ? 123 === n || 129 === n || 121 === n || 113 === n : ! 0 ; } function n ( e , t ) { for ( var n = [ ] , a = e . spans , i = 0 , o = 0 , s = a . length ; s > o ; o += 3 ) { var c = a [ o ] , _ = a [ o + 1 ] , u = a [ o + 2 ] ; if ( i >= 0 ) { var l = c - i ; l > 0 && n . push ( { length : l , classification : Y . Whitespace } ) ; } n . push ( { length : _ , classification : r ( u ) } ) , i = c + _ ; } var d = t . length - i ; return d > 0 && n . push ( { length : d , classification : Y . Whitespace } ) , { entries : n , finalLexState : e . endOfLineState } ; } function r ( e ) { switch ( e ) { case 1 : return Y . Comment ; case 3 : return Y . Keyword ; case 4 : return Y . NumberLiteral ; case 5 : return Y . Operator ; case 6 : return Y . StringLiteral ; case 8 : return Y . Whitespace ; case 10 : return Y . Punctuation ; case 2 : case 11 : case 12 : case 13 : case 14 : case 15 : case 16 : case 9 : case 17 : default : return Y . Identifier ; } } function a ( e , t , r ) { return n ( i ( e , t , r ) , e ) ; } function i ( n , r , a ) { function i ( ) { var t = u . getTokenPos ( ) , r = u . getTextPos ( ) ; if ( o ( t , r , _ ( p ) ) , r >= n . length ) if ( 9 === p || 163 === p ) { var a = u . getTokenText ( ) ; if ( u . isUnterminated ( ) ) { for ( var i = a . length - 1 , s = 0 ; 92 === a . charCodeAt ( i - s ) ; ) s ++ ; if ( 1 & s ) { var c = a . charCodeAt ( 0 ) ; m . endOfLineState = 34 === c ? 3 : 2 ; } } } else 3 === p ? u . isUnterminated ( ) && ( m . endOfLineState = 1 ) : e . isTemplateLiteralKind ( p ) ? u . isUnterminated ( ) && ( 14 === p ? m . endOfLineState = 5 : 11 === p ? m . endOfLineState = 4 : e . Debug . fail ( "Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #" + p ) ) : d . length > 0 && 12 === e . lastOrUndefined ( d ) && ( m . endOfLineState = 6 ) ; } function o ( e , t , n ) { if ( 8 !== n ) { 0 === e && s > 0 && ( e += s ) , e -= s , t -= s ; var r = t - e ; r > 0 && ( m . spans . push ( e ) , m . spans . push ( r ) , m . spans . push ( n ) ) ; } } for ( var s = 0 , p = 0 , f = 0 ; d . length > 0 ; ) d . pop ( ) ; switch ( r ) { case 3 : n = '"\\\n' + n , s = 3 ; break ; case 2 : n = "'\\\n" + n , s = 3 ; break ; case 1 : n = "/*\n" + n , s = 3 ; break ; case 4 : n = "`\n" + n , s = 2 ; break ; case 5 : n = "}\n" + n , s = 2 ; case 6 : d . push ( 12 ) ; } u . setText ( n ) ; var m = { endOfLineState : 0 , spans : [ ] } , g = 0 ; do { if ( p = u . scan ( ) , ! e . isTrivia ( p ) ) { if ( 39 !== p && 61 !== p || l [ f ] ) { if ( 21 === f && c ( p ) ) p = 69 ; else if ( c ( f ) && c ( p ) && ! t ( f , p ) ) p = 69 ; else if ( 69 === f && 25 === p ) g ++ ; else if ( 27 === p && g > 0 ) g -- ; else if ( 117 === p || 130 === p || 128 === p || 120 === p || 131 === p ) g > 0 && ! a && ( p = 69 ) ; else if ( 12 === p ) d . push ( p ) ; else if ( 15 === p ) d . length > 0 && d . push ( p ) ; else if ( 16 === p && d . length > 0 ) { var y = e . lastOrUndefined ( d ) ; 12 === y ? ( p = u . reScanTemplateToken ( ) , 14 === p ? d . pop ( ) : e . Debug . assert ( 13 === p , "Should have been a template middle. Was " + p ) ) : ( e . Debug . assert ( 15 === y , "Should have been an open brace. Was: " + p ) , d . pop ( ) ) ; } } else 10 === u . reScanSlashToken ( ) && ( p = 10 ) ; f = p ; } i ( ) ; } while ( 1 !== p ) ; return m ; } function o ( e ) { switch ( e ) { case 37 : case 39 : case 40 : case 35 : case 36 : case 43 : case 44 : case 45 : case 25 : case 27 : case 28 : case 29 : case 91 : case 90 : case 116 : case 30 : case 31 : case 32 : case 33 : case 46 : case 48 : case 47 : case 51 : case 52 : case 67 : case 66 : case 68 : case 63 : case 64 : case 65 : case 57 : case 58 : case 59 : case 61 : case 62 : case 56 : case 24 : return ! 0 ; default : return ! 1 ; } } function s ( e ) { switch ( e ) { case 35 : case 36 : case 50 : case 49 : case 41 : case 42 : return ! 0 ; default : return ! 1 ; } } function c ( e ) { return e >= 70 && 135 >= e ; } function _ ( t ) { if ( c ( t ) ) return 3 ; if ( o ( t ) || s ( t ) ) return 5 ; if ( t >= 15 && 68 >= t ) return 10 ; switch ( t ) { case 8 : return 4 ; case 9 : case 163 : return 6 ; case 10 : return 7 ; case 7 : case 3 : case 2 : return 1 ; case 5 : case 4 : return 8 ; case 69 : default : return e . isTemplateLiteralKind ( t ) ? 6 : 2 ; } } var u = e . createScanner ( 2 , ! 1 ) , l = [ ] ; l [ 69 ] = ! 0 , l [ 9 ] = ! 0 , l [ 8 ] = ! 0 , l [ 10 ] = ! 0 , l [ 97 ] = ! 0 , l [ 41 ] = ! 0 , l [ 42 ] = ! 0 , l [ 18 ] = ! 0 , l [ 20 ] = ! 0 , l [ 16 ] = ! 0 , l [ 99 ] = ! 0 , l [ 84 ] = ! 0 ; var d = [ ] ; return { getClassificationsForLine : a , getEncodedLexicalClassifications : i } ; } function F ( t ) { if ( "undefined" != typeof __dirname ) return __dirname + e . directorySeparator + e . getDefaultLibFileName ( t ) ; throw new Error ( "getDefaultLibFilePath is only supported when consumed as a node module. " ) ; } function L ( ) { e . objectAllocator = { getNodeConstructor : function ( ) { return J ; } , getSourceFileConstructor : function ( ) { return V ; } , getSymbolConstructor : function ( ) { return U ; } , getTypeConstructor : function ( ) { return q ; } , getSignatureConstructor : function ( ) { return W ; } } ; } e . servicesVersion = "0.5" ; var M ; ! function ( e ) { function t ( e ) { return new n ( e ) ; } var n = function ( ) { function e ( e ) { this . text = e ; } return e . prototype . getText = function ( e , t ) { return this . text . substring ( e , t ) ; } , e . prototype . getLength = function ( ) { return this . text . length ; } , e . prototype . getChangeRange = function ( e ) { } , e ; } ( ) ; e . fromString = t ; } ( M = e . ScriptSnapshot || ( e . ScriptSnapshot = { } ) ) ; var B , z = e . createScanner ( 2 , ! 0 ) , K = [ ] , j = [ "augments" , "author" , "argument" , "borrows" , "class" , "constant" , "constructor" , "constructs" , "default" , "deprecated" , "description" , "event" , "example" , "extends" , "field" , "fileOverview" , "function" , "ignore" , "inner" , "lends" , "link" , "memberOf" , "name" , "namespace" , "param" , "private" , "property" , "public" , "requires" , "returns" , "see" , "since" , "static" , "throws" , "type" , "version" ] , J = function ( ) { function n ( e , t , n ) { this . kind = e , this . pos = t , this . end = n , this . flags = 0 , this . parent = void 0 ; } return n . prototype . getSourceFile = function ( ) { return e . getSourceFileOfNode ( this ) ; } , n . prototype . getStart = function ( t ) { return e . getTokenPosOfNode ( this , t ) ; } , n . prototype . getFullStart = function ( ) { return this . pos ; } , n . prototype . getEnd = function ( ) { return this . end ; } , n . prototype . getWidth = function ( e ) { return this . getEnd ( ) - this . getStart ( e ) ; } , n . prototype . getFullWidth = function ( ) { return this . end - this . pos ; } , n . prototype . getLeadingTriviaWidth = function ( e ) { return this . getStart ( e ) - this . pos ; } , n . prototype . getFullText = function ( e ) { return ( e || this . getSourceFile ( ) ) . text . substring ( this . pos , this . end ) ; } , n . prototype . getText = function ( e ) { return ( e || this . getSourceFile ( ) ) . text . substring ( this . getStart ( ) , this . getEnd ( ) ) ; } , n . prototype . addSyntheticNodes = function ( e , n , r ) { for ( z . setTextPos ( n ) ; r > n ; ) { var a = z . scan ( ) , i = z . getTextPos ( ) ; e . push ( t ( a , n , i , 2048 , this ) ) , n = i ; } return n ; } , n . prototype . createSyntaxList = function ( e ) { var n = t ( 274 , e . pos , e . end , 2048 , this ) ; n . _children = [ ] ; for ( var r = e . pos , a = 0 , i = e ; a < i . length ; a ++ ) { var o = i [ a ] ; r < o . pos && ( r = this . addSyntheticNodes ( n . _children , r , o . pos ) ) , n . _children . push ( o ) , r = o . end ; } return r < e . end && this . addSyntheticNodes ( n . _children , r , e . end ) , n ; } , n . prototype . createChildren = function ( t ) { var n , r = this ; if ( this . kind >= 136 ) { z . setText ( ( t || this . getSourceFile ( ) ) . text ) , n = [ ] ; var a = this . pos , i = function ( e ) { a < e . pos && ( a = r . addSyntheticNodes ( n , a , e . pos ) ) , n . push ( e ) , a = e . end ; } , o = function ( e ) { a < e . pos && ( a = r . addSyntheticNodes ( n , a , e . pos ) ) , n . push ( r . createSyntaxList ( e ) ) , a = e . end ; } ; e . forEachChild ( this , i , o ) , a < this . end && this . addSyntheticNodes ( n , a , this . end ) , z . setText ( void 0 ) ; } this . _children = n || K ; } , n . prototype . getChildCount = function ( e ) { return this . _children || this . createChildren ( e ) , this . _children . length ; } , n . prototype . getChildAt = function ( e , t ) { return this . _children || this . createChildren ( t ) , this . _children [ e ] ; } , n . prototype . getChildren = function ( e ) { return this . _children || this . createChildren ( e ) , this . _children ; } , n . prototype . getFirstToken = function ( e ) { var t = this . getChildren ( e ) ; if ( t . length ) { var n = t [ 0 ] ; return n . kind < 136 ? n : n . getFirstToken ( e ) ; } } , n . prototype . getLastToken = function ( t ) { var n = this . getChildren ( t ) , r = e . lastOrUndefined ( n ) ; return r ? r . kind < 136 ? r : r . getLastToken ( t ) : void 0 ; } , n ; } ( ) , U = function ( ) { function e ( e , t ) { this . flags = e , this . name = t ; } return e . prototype . getFlags = function ( ) { return this . flags ; } , e . prototype . getName = function ( ) { return this . name ; } , e . prototype . getDeclarations = function ( ) { return this . declarations ; } , e . prototype . getDocumentationComment = function ( ) { return void 0 === this . documentationComment && ( this . documentationComment = n ( this . declarations , this . name , ! ( 4 & this . flags ) ) ) , this . documentationComment ; } , e ; } ( ) , q = function ( ) { function e ( e , t ) { this . checker = e , this . flags = t ; } return e . prototype . getFlags = function ( ) { return this . flags ; } , e . prototype . getSymbol = function ( ) { return this . symbol ; } , e . prototype . getProperties = function ( ) { return this . checker . getPropertiesOfType ( this ) ; } , e . prototype . getProperty = function ( e ) { return this . checker . getPropertyOfType ( this , e ) ; } , e . prototype . getApparentProperties = function ( ) { return this . checker . getAugmentedPropertiesOfType ( this ) ; } , e . prototype . getCallSignatures = function ( ) { return this . checker . getSignaturesOfType ( this , 0 ) ; } , e . prototype . getConstructSignatures = function ( ) { return this . checker . getSignaturesOfType ( this , 1 ) ; } , e . prototype . getStringIndexType = function ( ) { return this . checker . getIndexTypeOfType ( this , 0 ) ; } , e . prototype . getNumberIndexType = function ( ) { return this . checker . getIndexTypeOfType ( this , 1 ) ; } , e . prototype . getBaseTypes = function ( ) { return 3072 & this . flags ? this . checker . getBaseTypes ( this ) : void 0 ; } , e ; } ( ) , W = function ( ) { function e ( e ) { this . checker = e ; } return e . prototype . getDeclaration = function ( ) { return this . declaration ; } , e . prototype . getTypeParameters = function ( ) { return this . typeParameters ; } , e . prototype . getParameters = function ( ) { return this . parameters ; } , e . prototype . getReturnType = function ( ) { return this . checker . getReturnTypeOfSignature ( this ) ; } , e . prototype . getDocumentationComment = function ( ) { return void 0 === this . documentationComment && ( this . documentationComment = this . declaration ? n ( [ this . declaration ] , void 0 , ! 1 ) : [ ] ) , this . documentationComment ; } , e ; } ( ) , V = function ( t ) { function n ( e , n , r ) { t . call ( this , e , n , r ) ; } return __extends ( n , t ) , n . prototype . update = function ( t , n ) { return e . updateSourceFile ( this , t , n ) ; } , n . prototype . getLineAndCharacterOfPosition = function ( t ) { return e . getLineAndCharacterOfPosition ( this , t ) ; } , n . prototype . getLineStarts = function ( ) { return e . getLineStarts ( this ) ; } , n . prototype . getPositionOfLineAndCharacter = function ( t , n ) { return e . getPositionOfLineAndCharacter ( this , t , n ) ; } , n . prototype . getNamedDeclarations = function ( ) { return this . namedDeclarations || ( this . namedDeclarations = this . computeNamedDeclarations ( ) ) , this . namedDeclarations ; } , n . prototype . computeNamedDeclarations = function ( ) { function t ( e ) { var t = r ( e ) ; if ( t ) { var a = n ( t ) ; a . push ( e ) ; } } function n ( t ) { return e . getProperty ( o , t ) || ( o [ t ] = [ ] ) ; } function r ( e ) { if ( e . name ) { var t = a ( e . name ) ; if ( void 0 !== t ) return t ; if ( 137 === e . name . kind ) { var n = e . name . expression ; return 169 === n . kind ? n . name . text : a ( n ) ; } } } function a ( e ) { return ! e || 69 !== e . kind && 9 !== e . kind && 8 !== e . kind ? void 0 : e . text ; } function i ( a ) { switch ( a . kind ) { case 216 : case 144 : case 143 : var o = a , s = r ( o ) ; if ( s ) { var c = n ( s ) , _ = e . lastOrUndefined ( c ) ; _ && o . parent === _ . parent && o . symbol === _ . symbol ? o . body && ! _ . body && ( c [ c . length - 1 ] = o ) : c . push ( o ) , e . forEachChild ( a , i ) ; } break ; case 217 : case 218 : case 219 : case 220 : case 221 : case 224 : case 233 : case 229 : case 224 : case 226 : case 227 : case 146 : case 147 : case 156 : t ( a ) ; case 145 : case 196 : case 215 : case 164 : case 165 : case 222 : e . forEachChild ( a , i ) ; break ; case 195 : e . isFunctionBlock ( a ) && e . forEachChild ( a , i ) ; break ; case 139 : if ( ! ( 56 & a . flags ) ) break ; case 214 : case 166 : if ( e . isBindingPattern ( a . name ) ) { e . forEachChild ( a . name , i ) ; break ; } case 250 : case 142 : case 141 : t ( a ) ; break ; case 231 : a . exportClause && e . forEach ( a . exportClause . elements , i ) ; break ; case 225 : var u = a . importClause ; u && ( u . name && t ( u ) , u . namedBindings && ( 227 === u . namedBindings . kind ? t ( u . namedBindings ) : e . forEach ( u . namedBindings . elements , i ) ) ) ; } } var o = { } ; return e . forEachChild ( this , i ) , o ; } , n ; } ( J ) , H = function ( ) { function e ( ) { } return e ; } ( ) ; e . TextChange = H ; var G ; ! function ( e ) { e . none = "none" , e . definition = "definition" , e . reference = "reference" , e . writtenReference = "writtenReference" ; } ( G = e . HighlightSpanKind || ( e . HighlightSpanKind = { } ) ) , function ( e ) { e [ e . None = 0 ] = "None" , e [ e . Block = 1 ] = "Block" , e [ e . Smart = 2 ] = "Smart" ; } ( e . IndentStyle || ( e . IndentStyle = { } ) ) ; e . IndentStyle ; ! function ( e ) { e [ e . aliasName = 0 ] = "aliasName" , e [ e . className = 1 ] = "className" , e [ e . enumName = 2 ] = "enumName" , e [ e . fieldName = 3 ] = "fieldName" , e [ e . interfaceName = 4 ] = "interfaceName" , e [ e . keyword = 5 ] = "keyword" , e [ e . lineBreak = 6 ] = "lineBreak" , e [ e . numericLiteral = 7 ] = "numericLiteral" , e [ e . stringLiteral = 8 ] = "stringLiteral" , e [ e . localName = 9 ] = "localName" , e [ e . methodName = 10 ] = "methodName" , e [ e . moduleName = 11 ] = "moduleName" , e [ e . operator = 12 ] = "operator" , e [ e . parameterName = 13 ] = "parameterName" , e [ e . propertyName = 14 ] = "propertyName" , e [ e . punctuation = 15 ] = "punctuation" , e [ e . space = 16 ] = "space" , e [ e . text = 17 ] = "text" , e [ e . typeParameterName = 18 ] = "typeParameterName" , e [ e . enumMemberName = 19 ] = "enumMemberName" , e [ e . functionName = 20 ] = "functionName" , e [ e . regularExpressionLiteral = 21 ] = "regularExpressionLiteral" ; } ( e . SymbolDisplayPartKind || ( e . SymbolDisplayPartKind = { } ) ) ; var X = e . SymbolDisplayPartKind ; ! function ( e ) { e [ e . JavaScript = 0 ] = "JavaScript" , e [ e . SourceMap = 1 ] = "SourceMap" , e [ e . Declaration = 2 ] = "Declaration" ; } ( e . OutputFileType || ( e . OutputFileType = { } ) ) ; e . OutputFileType ; ! function ( e ) { e [ e . None = 0 ] = "None" , e [ e . InMultiLineCommentTrivia = 1 ] = "InMultiLineCommentTrivia" , e [ e . InSingleQuoteStringLiteral = 2 ] = "InSingleQuoteStringLiteral" , e [ e . InDoubleQuoteStringLiteral = 3 ] = "InDoubleQuoteStringLiteral" , e [ e . InTemplateHeadOrNoSubstitutionTemplate = 4 ] = "InTemplateHeadOrNoSubstitutionTemplate" , e [ e . InTemplateMiddleOrTail = 5 ] = "InTemplateMiddleOrTail" , e [ e . InTemplateSubstitutionPosition = 6 ] = "InTemplateSubstitutionPosition" ; } ( e . EndOfLineState || ( e . EndOfLineState = { } ) ) ; e . EndOfLineState ; ! function ( e ) { e [ e . Punctuation = 0 ] = "Punctuation" , e [ e . Keyword = 1 ] = "Keyword" , e [ e . Operator = 2 ] = "Operator" , e [ e . Comment = 3 ] = "Comment" , e [ e . Whitespace = 4 ] = "Whitespace" , e [ e . Identifier = 5 ] = "Identifier" , e [ e . NumberLiteral = 6 ] = "NumberLiteral" , e [ e . StringLiteral = 7 ] = "StringLiteral" , e [ e . RegExpLiteral = 8 ] = "RegExpLiteral" ; } ( e . TokenClass || ( e . TokenClass = { } ) ) ; var Q , Y = e . TokenClass ; ! function ( e ) { e . unknown = "" , e . warning = "warning" , e . keyword = "keyword" , e . scriptElement = "script" , e . moduleElement = "module" , e . classElement = "class" , e . localClassElement = "local class" , e . interfaceElement = "interface" , e . typeElement = "type" , e . enumElement = "enum" , e . variableElement = "var" , e . localVariableElement = "local var" , e . functionElement = "function" , e . localFunctionElement = "local function" , e . memberFunctionElement = "method" , e . memberGetAccessorElement = "getter" , e . memberSetAccessorElement = "setter" , e . memberVariableElement = "property" , e . constructorImplementationElement = "constructor" , e . callSignatureElement = "call" , e . indexSignatureElement = "index" , e . constructSignatureElement = "construct" , e . parameterElement = "parameter" , e . typeParameterElement = "type parameter" , e . primitiveType = "primitive type" , e . label = "label" , e . alias = "alias" , e . constElement = "const" , e . letElement = "let" ; } ( Q = e . ScriptElementKind || ( e . ScriptElementKind = { } ) ) ; var $ ; ! function ( e ) { e . none = "" , e . publicMemberModifier = "public" , e . privateMemberModifier = "private" , e . protectedMemberModifier = "protected" , e . exportedModifier = "export" , e . ambientModifier = "declare" , e . staticModifier = "static" , e . abstractModifier = "abstract" ; } ( $ = e . ScriptElementKindModifier || ( e . ScriptElementKindModifier = { } ) ) ; var Z = function ( ) { function e ( ) { } return e . comment = "comment" , e . identifier = "identifier" , e . keyword = "keyword" , e . numericLiteral = "number" , e . operator = "operator" , e . stringLiteral = "string" , e . whiteSpace = "whitespace" , e . text = "text" , e . punctuation = "punctuation" , e . className = "class name" , e . enumName = "enum name" , e . interfaceName = "interface name" , e . moduleName = "module name" , e . typeParameterName = "type parameter name" , e . typeAliasName = "type alias name" , e . parameterName = "parameter name" , e . docCommentTagName = "doc comment tag name" , e . jsxOpenTagName = "jsx open tag name" , e . jsxCloseTagName = "jsx close tag name" , e . jsxSelfClosingTagName = "jsx self closing tag name" , e . jsxAttribute = "jsx attribute" , e . jsxText = "jsx text" , e . jsxAttributeStringLiteralValue = "jsx attribute string literal value" , e ; } ( ) ; e . ClassificationTypeNames = Z , function ( e ) { e [ e . comment = 1 ] = "comment" , e [ e . identifier = 2 ] = "identifier" , e [ e . keyword = 3 ] = "keyword" , e [ e . numericLiteral = 4 ] = "numericLiteral" , e [ e . operator = 5 ] = "operator" , e [ e . stringLiteral = 6 ] = "stringLiteral" , e [ e . regularExpressionLiteral = 7 ] = "regularExpressionLiteral" , e [ e . whiteSpace = 8 ] = "whiteSpace" , e [ e . text = 9 ] = "text" , e [ e . punctuation = 10 ] = "punctuation" , e [ e . className = 11 ] = "className" , e [ e . enumName = 12 ] = "enumName" , e [ e . interfaceName = 13 ] = "interfaceName" , e [ e . moduleName = 14 ] = "moduleName" , e [ e . typeParameterName = 15 ] = "typeParameterName" , e [ e . typeAliasName = 16 ] = "typeAliasName" , e [ e . parameterName = 17 ] = "parameterName" , e [ e . docCommentTagName = 18 ] = "docCommentTagName" , e [ e . jsxOpenTagName = 19 ] = "jsxOpenTagName" , e [ e . jsxCloseTagName = 20 ] = "jsxCloseTagName" , e [ e . jsxSelfClosingTagName = 21 ] = "jsxSelfClosingTagName" , e [ e . jsxAttribute = 22 ] = "jsxAttribute" , e [ e . jsxText = 23 ] = "jsxText" , e [ e . jsxAttributeStringLiteralValue = 24 ] = "jsxAttributeStringLiteralValue" ; } ( e . ClassificationType || ( e . ClassificationType = { } ) ) ; e . ClassificationType ; e . displayPartsToString = r , e . getDefaultCompilerOptions = i ; var ee = function ( ) { function t ( t , n ) { this . host = t , this . getCanonicalFileName = n , this . currentDirectory = t . getCurrentDirectory ( ) , this . fileNameToEntry = e . createFileMap ( ) ; for ( var r = t . getScriptFileNames ( ) , a = 0 , o = r ; a < o . length ; a ++ ) { var s = o [ a ] ; this . createEntry ( s , e . toPath ( s , this . currentDirectory , n ) ) ; } this . _compilationSettings = t . getCompilationSettings ( ) || i ( ) ; } return t . prototype . compilationSettings = function ( ) { return this . _compilationSettings ; } , t . prototype . createEntry = function ( t , n ) { var r , a = this . host . getScriptSnapshot ( t ) ; return a && ( r = { hostFileName : t , version : this . host . getScriptVersion ( t ) , scriptSnapshot : a , scriptKind : e . getScriptKind ( t , this . host ) } ) , this . fileNameToEntry . set ( n , r ) , r ; } , t . prototype . getEntry = function ( e ) { return this . fileNameToEntry . get ( e ) ; } , t . prototype . contains = function ( e ) { return this . fileNameToEntry . contains ( e ) ; } , t . prototype . getOrCreateEntry = function ( t ) { var n = e . toPath ( t , this . currentDirectory , this . getCanonicalFileName ) ; return this . contains ( n ) ? this . getEntry ( n ) : this . createEntry ( t , n ) ; } , t . prototype . getRootFileNames = function ( ) { var e = [ ] ; return this . fileNameToEntry . forEachValue ( function ( t , n ) { n && e . push ( n . hostFileName ) ; } ) , e ; } , t . prototype . getVersion = function ( e ) { var t = this . getEntry ( e ) ; return t && t . version ; } , t . prototype . getScriptSnapshot = function ( e ) { var t = this . getEntry ( e ) ; return t && t . scriptSnapshot ; } , t ; } ( ) , te = function ( ) { function t ( e ) { this . host = e ; } return t . prototype . getCurrentSourceFile = function ( t ) { var n = this . host . getScriptSnapshot ( t ) ; if ( ! n ) throw new Error ( "Could not find file: '" + t + "'." ) ; var r , a = e . getScriptKind ( t , this . host ) , i = this . host . getScriptVersion ( t ) ; if ( this . currentFileName !== t ) r = _ ( t , n , 2 , i , ! 0 , a ) ; else if ( this . currentFileVersion !== i ) { var o = n . getChangeRange ( this . currentFileScriptSnapshot ) ; r = u ( this . currentSourceFile , n , i , o ) ; } return r && ( this . currentFileVersion = i , this . currentFileName = t , this . currentFileScriptSnapshot = n , this . currentSourceFile = r ) , this . currentSourceFile ; } , t ; } ( ) ; e . transpileModule = s , e . transpile = c , e . createLanguageServiceSourceFile = _ , e . disableIncrementalParsing = ! 1 , e . updateLanguageServiceSourceFile = u , e . createDocumentRegistry = l , e . preProcessFile = d ; var ne ; ! function ( e ) { e [ e . None = 0 ] = "None" , e [ e . Value = 1 ] = "Value" , e [ e . Type = 2 ] = "Type" , e [ e . Namespace = 4 ] = "Namespace" , e [ e . All = 7 ] = "All" ; } ( ne || ( ne = { } ) ) ; var re ; ! function ( e ) { e [ e . None = 0 ] = "None" , e [ e . Unlabeled = 1 ] = "Unlabeled" , e [ e . Labeled = 2 ] = "Labeled" , e [ e . All = 3 ] = "All" ; } ( re || ( re = { } ) ) ; for ( var ae = [ ] , ie = 70 ; 135 >= ie ; ie ++ ) ae . push ( { name : e . tokenToString ( ie ) , kind : Q . keyword , kindModifiers : $ . none , sortText : "0" } ) ; e . getContainerNode = w , e . getNodeKind = A ; var oe = function ( ) { function t ( e ) { this . cancellationToken = e ; } return t . prototype . isCancellationRequested = function ( ) { return this . cancellationToken && this . cancellationToken . isCancellationRequested ( ) ; } , t . prototype . throwIfCancellationRequested = function ( ) { if ( this . isCancellationRequested ( ) ) throw new e . OperationCanceledException ; } , t ; } ( ) ; e . createLanguageService = P , e . getNameTable = N , e . createClassifier = I , e . getDefaultLibFilePath = F , L ( ) ; } ( ts || ( ts = { } ) ) ; var ts ; ! function ( e ) { var t ; ! function ( t ) { function n ( t , n ) { function r ( n , r ) { var a = n . decorators ? e . skipTrivia ( t . text , n . decorators . end ) : n . getStart ( t ) ; return e . createTextSpanFromBounds ( a , ( r || n ) . getEnd ( ) ) ; } function a ( t , n ) { return r ( t , e . findNextToken ( n , n . parent ) ) ; } function i ( e , n ) { return _ ( e && l === t . getLineAndCharacterOfPosition ( e . getStart ( t ) ) . line ? e : n ) ; } function o ( n ) { return e . createTextSpanFromBounds ( e . skipTrivia ( t . text , n . pos ) , n . end ) ; } function s ( n ) { return _ ( e . findPrecedingToken ( n . pos , t ) ) ; } function c ( t ) { return _ ( e . findNextToken ( t , t . parent ) ) ; } function _ ( n ) { function u ( n ) { var a = n . parent . declarations ; return a && a [ 0 ] === n ? r ( e . findPrecedingToken ( n . pos , t , n . parent ) , n ) : r ( n ) ; } function l ( n ) { if ( 203 === n . parent . parent . kind ) return _ ( n . parent . parent ) ; if ( e . isBindingPattern ( n . name ) ) return k ( n . name ) ; if ( n . initializer || 2 & n . flags || 204 === n . parent . parent . kind ) return u ( n ) ; var r = n . parent . declarations ; return r && r [ 0 ] !== n ? _ ( e . findPrecedingToken ( n . pos , t , n . parent ) ) : void 0 ; } function d ( e ) { return ! ! e . initializer || void 0 !== e . dotDotDotToken || ! ! ( 8 & e . flags ) || ! ! ( 16 & e . flags ) ; } function p ( t ) { if ( e . isBindingPattern ( t . name ) ) return k ( t . name ) ; if ( d ( t ) ) return r ( t ) ; var n = t . parent , a = e . indexOf ( n . parameters , t ) ; return a ? p ( n . parameters [ a - 1 ] ) : _ ( n . body ) ; } function f ( e ) { return ! ! ( 2 & e . flags ) || 217 === e . parent . kind && 145 !== e . kind ; } function m ( e ) { return e . body ? f ( e ) ? r ( e ) : _ ( e . body ) : void 0 ; } function g ( e ) { var t = e . statements . length ? e . statements [ 0 ] : e . getLastToken ( ) ; return f ( e . parent ) ? i ( e . parent , t ) : _ ( t ) ; } function y ( n ) { switch ( n . parent . kind ) { case 221 : if ( 1 !== e . getModuleInstanceState ( n . parent ) ) return ; case 201 : case 199 : case 203 : return i ( n . parent , n . statements [ 0 ] ) ; case 202 : case 204 : return i ( e . findPrecedingToken ( n . pos , t , n . parent ) , n . statements [ 0 ] ) ; } return _ ( n . statements [ 0 ] ) ; } function h ( e ) { if ( 215 !== e . initializer . kind ) return _ ( e . initializer ) ; var t = e . initializer ; return t . declarations . length > 0 ? _ ( t . declarations [ 0 ] ) : void 0 ; } function v ( e ) { return e . initializer ? h ( e ) : e . condition ? r ( e . condition ) : e . incrementor ? r ( e . incrementor ) : void 0 ; } function k ( t ) { var n = e . forEach ( t . elements , function ( e ) { return 190 !== e . kind ? e : void 0 ; } ) ; return n ? _ ( n ) : 166 === t . parent . kind ? r ( t . parent ) : u ( t . parent ) ; } function b ( t ) { e . Debug . assert ( 165 !== t . kind && 164 !== t . kind ) ; var n = 167 === t . kind ? t . elements : t . properties , a = e . forEach ( n , function ( e ) { return 190 !== e . kind ? e : void 0 ; } ) ; return a ? _ ( a ) : r ( 184 === t . parent . kind ? t . parent : t ) ; } function x ( n ) { switch ( n . parent . kind ) { case 220 : var r = n . parent ; return i ( e . findPrecedingToken ( n . pos , t , n . parent ) , r . members . length ? r . members [ 0 ] : r . getLastToken ( t ) ) ; case 217 : var a = n . parent ; return i ( e . findPrecedingToken ( n . pos , t , n . parent ) , a . members . length ? a . members [ 0 ] : a . getLastToken ( t ) ) ; case 223 : return i ( n . parent . parent , n . parent . clauses [ 0 ] ) ; } return _ ( n . parent ) ; } function C ( t ) { switch ( t . parent . kind ) { case 222 : if ( 1 !== e . getModuleInstanceState ( t . parent . parent ) ) return ; case 220 : case 217 : return r ( t ) ; case 195 : if ( e . isFunctionBlock ( t . parent ) ) return r ( t ) ; case 247 : return _ ( e . lastOrUndefined ( t . parent . statements ) ) ; case 223 : var n = t . parent , a = e . lastOrUndefined ( n . clauses ) ; if ( a ) return _ ( e . lastOrUndefined ( a . statements ) ) ; return ; case 164 : var i = t . parent ; return _ ( e . lastOrUndefined ( i . elements ) || i ) ; default : if ( e . isArrayLiteralOrObjectLiteralDestructuringPattern ( t . parent ) ) { var o = t . parent ; return r ( e . lastOrUndefined ( o . properties ) || o ) ; } return _ ( t . parent ) ; } } function D ( t ) { switch ( t . parent . kind ) { case 165 : var n = t . parent ; return r ( e . lastOrUndefined ( n . elements ) || n ) ; default : if ( e . isArrayLiteralOrObjectLiteralDestructuringPattern ( t . parent ) ) { var a = t . parent ; return r ( e . lastOrUndefined ( a . elements ) || a ) ; } return _ ( t . parent ) ; } } function S ( e ) { return 200 === e . parent . kind || 171 === e . parent . kind || 172 === e . parent . kind ? s ( e ) : 175 === e . parent . kind ? c ( e ) : _ ( e . parent ) ; } function T ( e ) { switch ( e . parent . kind ) { case 176 : case 216 : case 177 : case 144 : case 143 : case 146 : case 147 : case 145 : case 201 : case 200 : case 202 : case 204 : case 171 : case 172 : case 175 : return s ( e ) ; default : return _ ( e . parent ) ; } } function E ( t ) { return e . isFunctionLike ( t . parent ) || 248 === t . parent . kind || 139 === t . parent . kind ? s ( t ) : _ ( t . parent ) ; } function w ( e ) { return 174 === e . parent . kind ? c ( e ) : _ ( e . parent ) ; } function A ( e ) { return 200 === e . parent . kind ? a ( e , e . parent . expression ) : _ ( e . parent ) ; } function P ( e ) { return 204 === e . parent . kind ? c ( e ) : _ ( e . parent ) ; } if ( n ) switch ( n . kind ) { case 196 : return l ( n . declarationList . declarations [ 0 ] ) ; case 214 : case 142 : case 141 : return l ( n ) ; case 139 : return p ( n ) ; case 216 : case 144 : case 143 : case 146 : case 147 : case 145 : case 176 : case 177 : return m ( n ) ; case 195 : if ( e . isFunctionBlock ( n ) ) return g ( n ) ; case 222 : return y ( n ) ; case 247 : return y ( n . block ) ; case 198 : return r ( n . expression ) ; case 207 : return r ( n . getChildAt ( 0 ) , n . expression ) ; case 201 : return a ( n , n . expression ) ; case 200 : return _ ( n . statement ) ; case 213 : return r ( n . getChildAt ( 0 ) ) ; case 199 : return a ( n , n . expression ) ; case 210 : return _ ( n . statement ) ; case 206 : case 205 : return r ( n . getChildAt ( 0 ) , n . label ) ; case 202 : return v ( n ) ; case 203 : return a ( n , n . expression ) ; case 204 : return h ( n ) ; case 209 : return a ( n , n . expression ) ; case 244 : case 245 : return _ ( n . statements [ 0 ] ) ; case 212 : return y ( n . tryBlock ) ; case 211 : return r ( n , n . expression ) ; case 230 : return r ( n , n . expression ) ; case 224 : return r ( n , n . moduleReference ) ; case 225 : return r ( n , n . moduleSpecifier ) ; case 231 : return r ( n , n . moduleSpecifier ) ; case 221 : if ( 1 !== e . getModuleInstanceState ( n ) ) return ; case 217 : case 220 : case 250 : case 166 : return r ( n ) ; case 208 : return _ ( n . statement ) ; case 140 : return o ( n . parent . decorators ) ; case 164 : case 165 : return k ( n ) ; case 218 : case 219 : return ; case 23 : case 1 : return i ( e . findPrecedingToken ( n . pos , t ) ) ; case 24 : return s ( n ) ; case 15 : return x ( n ) ; case 16 : return C ( n ) ; case 20 : return D ( n ) ; case 17 : return S ( n ) ; case 18 : return T ( n ) ; case 54 : return E ( n ) ; case 27 : case 25 : return w ( n ) ; case 104 : return A ( n ) ; case 80 : case 72 : case 85 : return c ( n ) ; case 135 : return P ( n ) ; default : if ( e . isArrayLiteralOrObjectLiteralDestructuringPattern ( n ) ) return b ( n ) ; if ( ( 69 === n . kind || 188 == n . kind || 248 === n . kind || 249 === n . kind ) && e . isArrayLiteralOrObjectLiteralDestructuringPattern ( n . parent ) ) return r ( n ) ; if ( 184 === n . kind ) { var N = n ; if ( e . isArrayLiteralOrObjectLiteralDestructuringPattern ( N . left ) ) return b ( N . left ) ; if ( 56 === N . operatorToken . kind && e . isArrayLiteralOrObjectLiteralDestructuringPattern ( N . parent ) ) return r ( n ) ; if ( 24 === N . operatorToken . kind ) return _ ( N . left ) ; } if ( e . isExpression ( n ) ) switch ( n . parent . kind ) { case 200 : return s ( n ) ; case 140 : return _ ( n . parent ) ; case 202 : case 204 : return r ( n ) ; case 184 : if ( 24 === n . parent . operatorToken . kind ) return r ( n ) ; break ; case 177 : if ( n . parent . body === n ) return r ( n ) ; } if ( 248 === n . parent . kind && n . parent . name === n && ! e . isArrayLiteralOrObjectLiteralDestructuringPattern ( n . parent . parent ) ) return _ ( n . parent . initializer ) ; if ( 174 === n . parent . kind && n . parent . type === n ) return c ( n . parent . type ) ; if ( e . isFunctionLike ( n . parent ) && n . parent . type === n ) return s ( n ) ; if ( 214 === n . parent . kind || 139 === n . parent . kind ) { var O = n . parent ; if ( O . initializer === n || O . type === n || e . isAssignmentOperator ( n . kind ) ) return s ( n ) ; } if ( 184 === n . parent . kind ) { var N = n . parent ; if ( e . isArrayLiteralOrObjectLiteralDestructuringPattern ( N . left ) && ( N . right === n || N . operatorToken === n ) ) return s ( n ) ; } return _ ( n . parent ) ; } } if ( ! ( 4096 & t . flags ) ) { var u = e . getTokenAtPosition ( t , n ) , l = t . getLineAndCharacterOfPosition ( n ) . line ; if ( ( ! ( t . getLineAndCharacterOfPosition ( u . getStart ( t ) ) . line > l ) || ( u = e . findPrecedingToken ( u . pos , t ) , u && t . getLineAndCharacterOfPosition ( u . getEnd ( ) ) . line === l ) ) && ! e . isInAmbientContext ( u ) ) return _ ( u ) ; } } t . spanInSourceFileAtLocation = n ; } ( t = e . BreakpointResolver || ( e . BreakpointResolver = { } ) ) ; } ( ts || ( ts = { } ) ) ; var debugObjectHost = this , ts ; ! function ( e ) { function t ( e , t ) { e && e . log ( "*INTERNAL ERROR* - Exception in typescript services: " + t . message ) ; } function n ( e , t , n , r ) { var a ; r && ( e . log ( t ) , a = Date . now ( ) ) ; var i = n ( ) ; if ( r ) { var o = Date . now ( ) ; if ( e . log ( t + " completed in " + ( o - a ) + " msec" ) , "string" == typeof i ) { var s = i ; s . length > 128 && ( s = s . substring ( 0 , 128 ) + "..." ) , e . log ( "  result.length=" + s . length + ", result='" + JSON . stringify ( s ) + "'" ) ; } } return i ; } function r ( r , a , i , o ) { try { var s = n ( r , a , i , o ) ; return JSON . stringify ( { result : s } ) ; } catch ( c ) { return c instanceof e . OperationCanceledException ? JSON . stringify ( { canceled : ! 0 } ) : ( t ( r , c ) , c . description = a , JSON . stringify ( { error : c } ) ) ; } } function a ( e , t ) { return e . map ( function ( e ) { return i ( e , t ) ; } ) ; } function i ( t , n ) { return { message : e . flattenDiagnosticMessageText ( t . messageText , n ) , start : t . start , length : t . length , category : e . DiagnosticCategory [ t . category ] . toLowerCase ( ) , code : t . code } ; } function o ( e ) { return { spans : e . spans . join ( "," ) , endOfLineState : e . endOfLineState } ; } var s = function ( ) { function t ( e ) { this . scriptSnapshotShim = e ; } return t . prototype . getText = function ( e , t ) { return this . scriptSnapshotShim . getText ( e , t ) ; } , t . prototype . getLength = function ( ) { return this . scriptSnapshotShim . getLength ( ) ; } , t . prototype . getChangeRange = function ( t ) { var n = t , r = this . scriptSnapshotShim . getChangeRange ( n . scriptSnapshotShim ) ; if ( null == r ) return null ; var a = JSON . parse ( r ) ; return e . createTextChangeRange ( e . createTextSpan ( a . span . start , a . span . length ) , a . newLength ) ; } , t . prototype . dispose = function ( ) { "dispose" in this . scriptSnapshotShim && this . scriptSnapshotShim . dispose ( ) ; } , t ; } ( ) , c = function ( ) { function t ( t ) { var n = this ; this . shimHost = t , this . loggingEnabled = ! 1 , this . tracingEnabled = ! 1 , "getModuleResolutionsForFile" in this . shimHost && ( this . resolveModuleNames = function ( t , r ) { var a = JSON . parse ( n . shimHost . getModuleResolutionsForFile ( r ) ) ; return e . map ( t , function ( t ) { var n = e . lookUp ( a , t ) ; return n ? { resolvedFileName : n } : void 0 ; } ) ; } ) , "directoryExists" in this . shimHost && ( this . directoryExists = function ( e ) { return n . shimHost . directoryExists ( e ) ; } ) ; } return t . prototype . log = function ( e ) { this . loggingEnabled && this . shimHost . log ( e ) ; } , t . prototype . trace = function ( e ) { this . tracingEnabled && this . shimHost . trace ( e ) ; } , t . prototype . error = function ( e ) { this . shimHost . error ( e ) ; } , t . prototype . getProjectVersion = function ( ) { return this . shimHost . getProjectVersion ? this . shimHost . getProjectVersion ( ) : void 0 ; } , t . prototype . useCaseSensitiveFileNames = function ( ) { return this . shimHost . useCaseSensitiveFileNames ? this . shimHost . useCaseSensitiveFileNames ( ) : ! 1 ; } , t . prototype . getCompilationSettings = function ( ) { var e = this . shimHost . getCompilationSettings ( ) ; if ( null == e || "" == e ) throw Error ( "LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings" ) ; return JSON . parse ( e ) ; } , t . prototype . getScriptFileNames = function ( ) { var e = this . shimHost . getScriptFileNames ( ) ; return this . files = JSON . parse ( e ) ; } , t . prototype . getScriptSnapshot = function ( e ) { var t = this . shimHost . getScriptSnapshot ( e ) ; return t && new s ( t ) ; } , t . prototype . getScriptKind = function ( e ) { return "getScriptKind" in this . shimHost ? this . shimHost . getScriptKind ( e ) : 0 ; } , t . prototype . getScriptVersion = function ( e ) { return this . shimHost . getScriptVersion ( e ) ; } , t . prototype . getLocalizedDiagnosticMessages = function ( ) { var e = this . shimHost . getLocalizedDiagnosticMessages ( ) ; if ( null == e || "" == e ) return null ; try { return JSON . parse ( e ) ; } catch ( t ) { return this . log ( t . description || "diagnosticMessages.generated.json has invalid JSON format" ) , null ; } } , t . prototype . getCancellationToken = function ( ) { var e = this . shimHost . getCancellationToken ( ) ; return new _ ( e ) ; } , t . prototype . getCurrentDirectory = function ( ) { return this . shimHost . getCurrentDirectory ( ) ; } , t . prototype . getDefaultLibFileName = function ( e ) { return this . shimHost . getDefaultLibFileName ( JSON . stringify ( e ) ) ; } , t ; } ( ) ; e . LanguageServiceShimHostAdapter = c ; var _ = function ( ) { function e ( e ) { this . hostCancellationToken = e , this . lastCancellationCheckTime = 0 ; } return e . prototype . isCancellationRequested = function ( ) { var e = Date . now ( ) , t = Math . abs ( e - this . lastCancellationCheckTime ) ; return t > 10 ? ( this . lastCancellationCheckTime = e , this . hostCancellationToken . isCancellationRequested ( ) ) : ! 1 ; } , e ; } ( ) , u = function ( ) { function e ( e ) { var t = this ; this . shimHost = e , "directoryExists" in this . shimHost && ( this . directoryExists = function ( e ) { return t . shimHost . directoryExists ( e ) ; } ) ; } return e . prototype . readDirectory = function ( e , t , n , r ) { var a ; try { a = this . shimHost . readDirectory ( e , t , JSON . stringify ( n ) , r ) ; } catch ( i ) { a = this . shimHost . readDirectory ( e , t , JSON . stringify ( n ) ) ; } return JSON . parse ( a ) ; } , e . prototype . fileExists = function ( e ) { return this . shimHost . fileExists ( e ) ; } , e . prototype . readFile = function ( e ) { return this . shimHost . readFile ( e ) ; } , e ; } ( ) ; e . CoreServicesShimHostAdapter = u ; var l = function ( ) { function e ( e ) { this . factory = e , e . registerShim ( this ) ; } return e . prototype . dispose = function ( e ) { this . factory . unregisterShim ( this ) ; } , e ; } ( ) ; e . realizeDiagnostics = a ; var d = function ( t ) { function n ( e , n , r ) { t . call ( this , e ) , this . host = n , this . languageService = r , this . logPerformance = ! 1 , this . logger = this . host ; } return __extends ( n , t ) , n . prototype . forwardJSONCall = function ( e , t ) { return r ( this . logger , e , t , this . logPerformance ) ; } , n . prototype . dispose = function ( e ) { this . logger . log ( "dispose()" ) , this . languageService . dispose ( ) , this . languageService = null , debugObjectHost && debugObjectHost . CollectGarbage && ( debugObjectHost . CollectGarbage ( ) , this . logger . log ( "CollectGarbage()" ) ) , this . logger = null , t . prototype . dispose . call ( this , e ) ; } , n . prototype . refresh = function ( e ) { this . forwardJSONCall ( "refresh(" + e + ")" , function ( ) { return null ; } ) ; } , n . prototype . cleanupSemanticCache = function ( ) { var e = this ; this . forwardJSONCall ( "cleanupSemanticCache()" , function ( ) { return e . languageService . cleanupSemanticCache ( ) , null ; } ) ; } , n . prototype . realizeDiagnostics = function ( t ) { var n = e . getNewLineOrDefaultFromHost ( this . host ) ; return e . realizeDiagnostics ( t , n ) ; } , n . prototype . getSyntacticClassifications = function ( t , n , r ) { var a = this ; return this . forwardJSONCall ( "getSyntacticClassifications('" + t + "', " + n + ", " + r + ")" , function ( ) { return a . languageService . getSyntacticClassifications ( t , e . createTextSpan ( n , r ) ) ; } ) ; } , n . prototype . getSemanticClassifications = function ( t , n , r ) { var a = this ; return this . forwardJSONCall ( "getSemanticClassifications('" + t + "', " + n + ", " + r + ")" , function ( ) { return a . languageService . getSemanticClassifications ( t , e . createTextSpan ( n , r ) ) ; } ) ; } , n . prototype . getEncodedSyntacticClassifications = function ( t , n , r ) { var a = this ; return this . forwardJSONCall ( "getEncodedSyntacticClassifications('" + t + "', " + n + ", " + r + ")" , function ( ) { return o ( a . languageService . getEncodedSyntacticClassifications ( t , e . createTextSpan ( n , r ) ) ) ; } ) ; } , n . prototype . getEncodedSemanticClassifications = function ( t , n , r ) { var a = this ; return this . forwardJSONCall ( "getEncodedSemanticClassifications('" + t + "', " + n + ", " + r + ")" , function ( ) { return o ( a . languageService . getEncodedSemanticClassifications ( t , e . createTextSpan ( n , r ) ) ) ; } ) ; } , n . prototype . getSyntacticDiagnostics = function ( e ) { var t = this ; return this . forwardJSONCall ( "getSyntacticDiagnostics('" + e + "')" , function ( ) { var n = t . languageService . getSyntacticDiagnostics ( e ) ; return t . realizeDiagnostics ( n ) ; } ) ; } , n . prototype . getSemanticDiagnostics = function ( e ) { var t = this ; return this . forwardJSONCall ( "getSemanticDiagnostics('" + e + "')" , function ( ) { var n = t . languageService . getSemanticDiagnostics ( e ) ; return t . realizeDiagnostics ( n ) ; } ) ; } , n . prototype . getCompilerOptionsDiagnostics = function ( ) { var e = this ; return this . forwardJSONCall ( "getCompilerOptionsDiagnostics()" , function ( ) { var t = e . languageService . getCompilerOptionsDiagnostics ( ) ; return e . realizeDiagnostics ( t ) ; } ) ; } , n . prototype . getQuickInfoAtPosition = function ( e , t ) { var n = this ; return this . forwardJSONCall ( "getQuickInfoAtPosition('" + e + "', " + t + ")" , function ( ) { return n . languageService . getQuickInfoAtPosition ( e , t ) ; } ) ; } , n . prototype . getNameOrDottedNameSpan = function ( e , t , n ) { var r = this ; return this . forwardJSONCall ( "getNameOrDottedNameSpan('" + e + "', " + t + ", " + n + ")" , function ( ) { return r . languageService . getNameOrDottedNameSpan ( e , t , n ) ; } ) ; } , n . prototype . getBreakpointStatementAtPosition = function ( e , t ) { var n = this ; return this . forwardJSONCall ( "getBreakpointStatementAtPosition('" + e + "', " + t + ")" , function ( ) { return n . languageService . getBreakpointStatementAtPosition ( e , t ) ; } ) ; } , n . prototype . getSignatureHelpItems = function ( e , t ) { var n = this ; return this . forwardJSONCall ( "getSignatureHelpItems('" + e + "', " + t + ")" , function ( ) { return n . languageService . getSignatureHelpItems ( e , t ) ; } ) ; } , n . prototype . getDefinitionAtPosition = function ( e , t ) { var n = this ; return this . forwardJSONCall ( "getDefinitionAtPosition('" + e + "', " + t + ")" , function ( ) { return n . languageService . getDefinitionAtPosition ( e , t ) ; } ) ; } , n . prototype . getTypeDefinitionAtPosition = function ( e , t ) { var n = this ; return this . forwardJSONCall ( "getTypeDefinitionAtPosition('" + e + "', " + t + ")" , function ( ) { return n . languageService . getTypeDefinitionAtPosition ( e , t ) ; } ) ; } , n . prototype . getRenameInfo = function ( e , t ) { var n = this ; return this . forwardJSONCall ( "getRenameInfo('" + e + "', " + t + ")" , function ( ) { return n . languageService . getRenameInfo ( e , t ) ; } ) ; } , n . prototype . findRenameLocations = function ( e , t , n , r ) { var a = this ; return this . forwardJSONCall ( "findRenameLocations('" + e + "', " + t + ", " + n + ", " + r + ")" , function ( ) { return a . languageService . findRenameLocations ( e , t , n , r ) ; } ) ; } , n . prototype . getBraceMatchingAtPosition = function ( e , t ) { var n = this ; return this . forwardJSONCall ( "getBraceMatchingAtPosition('" + e + "', " + t + ")" , function ( ) { return n . languageService . getBraceMatchingAtPosition ( e , t ) ; } ) ; } , n . prototype . getIndentationAtPosition = function ( e , t , n ) { var r = this ; return this . forwardJSONCall ( "getIndentationAtPosition('" + e + "', " + t + ")" , function ( ) { var a = JSON . parse ( n ) ; return r . languageService . getIndentationAtPosition ( e , t , a ) ; } ) ; } , n . prototype . getReferencesAtPosition = function ( e , t ) { var n = this ; return this . forwardJSONCall ( "getReferencesAtPosition('" + e + "', " + t + ")" , function ( ) { return n . languageService . getReferencesAtPosition ( e , t ) ; } ) ; } , n . prototype . findReferences = function ( e , t ) { var n = this ; return this . forwardJSONCall ( "findReferences('" + e + "', " + t + ")" , function ( ) { return n . languageService . findReferences ( e , t ) ; } ) ; } , n . prototype . getOccurrencesAtPosition = function ( e , t ) { var n = this ; return this . forwardJSONCall ( "getOccurrencesAtPosition('" + e + "', " + t + ")" , function ( ) { return n . languageService . getOccurrencesAtPosition ( e , t ) ; } ) ; } , n . prototype . getDocumentHighlights = function ( t , n , r ) { var a = this ; return this . forwardJSONCall ( "getDocumentHighlights('" + t + "', " + n + ")" , function ( ) { var i = a . languageService . getDocumentHighlights ( t , n , JSON . parse ( r ) ) , o = e . normalizeSlashes ( t ) . toLowerCase ( ) ; return e . filter ( i , function ( t ) { return e . normalizeSlashes ( t . fileName ) . toLowerCase ( ) === o ; } ) ; } ) ; } , n . prototype . getCompletionsAtPosition = function ( e , t ) { var n = this ; return this . forwardJSONCall ( "getCompletionsAtPosition('" + e + "', " + t + ")" , function ( ) { return n . languageService . getCompletionsAtPosition ( e , t ) ; } ) ; } , n . prototype . getCompletionEntryDetails = function ( e , t , n ) { var r = this ; return this . forwardJSONCall ( "getCompletionEntryDetails('" + e + "', " + t + ", '" + n + "')" , function ( ) { return r . languageService . getCompletionEntryDetails ( e , t , n ) ; } ) ; } , n . prototype . getFormattingEditsForRange = function ( e , t , n , r ) { var a = this ; return this . forwardJSONCall ( "getFormattingEditsForRange('" + e + "', " + t + ", " + n + ")" , function ( ) { var i = JSON . parse ( r ) ; return a . languageService . getFormattingEditsForRange ( e , t , n , i ) ; } ) ; } , n . prototype . getFormattingEditsForDocument = function ( e , t ) { var n = this ; return this . forwardJSONCall ( "getFormattingEditsForDocument('" + e + "')" , function ( ) { var r = JSON . parse ( t ) ; return n . languageService . getFormattingEditsForDocument ( e , r ) ; } ) ; } , n . prototype . getFormattingEditsAfterKeystroke = function ( e , t , n , r ) { var a = this ; return this . forwardJSONCall ( "getFormattingEditsAfterKeystroke('" + e + "', " + t + ", '" + n + "')" , function ( ) { var i = JSON . parse ( r ) ; return a . languageService . getFormattingEditsAfterKeystroke ( e , t , n , i ) ; } ) ; } , n . prototype . getDocCommentTemplateAtPosition = function ( e , t ) { var n = this ; return this . forwardJSONCall ( "getDocCommentTemplateAtPosition('" + e + "', " + t + ")" , function ( ) { return n . languageService . getDocCommentTemplateAtPosition ( e , t ) ; } ) ; } , n . prototype . getNavigateToItems = function ( e , t ) { var n = this ; return this . forwardJSONCall ( "getNavigateToItems('" + e + "', " + t + ")" , function ( ) { return n . languageService . getNavigateToItems ( e , t ) ; } ) ; } , n . prototype . getNavigationBarItems = function ( e ) { var t = this ; return this . forwardJSONCall ( "getNavigationBarItems('" + e + "')" , function ( ) { return t . languageService . getNavigationBarItems ( e ) ; } ) ; } , n . prototype . getOutliningSpans = function ( e ) { var t = this ; return this . forwardJSONCall ( "getOutliningSpans('" + e + "')" , function ( ) { return t . languageService . getOutliningSpans ( e ) ; } ) ; } , n . prototype . getTodoComments = function ( e , t ) { var n = this ; return this . forwardJSONCall ( "getTodoComments('" + e + "')" , function ( ) { return n . languageService . getTodoComments ( e , JSON . parse ( t ) ) ; } ) ; } , n . prototype . getEmitOutput = function ( e ) { var t = this ; return this . forwardJSONCall ( "getEmitOutput('" + e + "')" , function ( ) { return t . languageService . getEmitOutput ( e ) ; } ) ; } , n ; } ( l ) , p = function ( t ) { function n ( n , r ) { t . call ( this , n ) , this . logger = r , this . logPerformance = ! 1 , this . classifier = e . createClassifier ( ) ; } return __extends ( n , t ) , n . prototype . getEncodedLexicalClassifications = function ( e , t , n ) { var a = this ; return r ( this . logger , "getEncodedLexicalClassifications" , function ( ) { return o ( a . classifier . getEncodedLexicalClassifications ( e , t , n ) ) ; } , this . logPerformance ) ; } , n . prototype . getClassificationsForLine = function ( e , t , n ) { for ( var r = this . classifier . getClassificationsForLine ( e , t , n ) , a = "" , i = 0 , o = r . entries ; i < o . length ; i ++ ) { var s = o [ i ] ; a += s . length + "\n" , a += s . classification + "\n" ; } return a += r . finalLexState ; } , n ; } ( l ) , f = function ( t ) { function n ( e , n , r ) { t . call ( this , e ) , this . logger = n , this . host = r , this . logPerformance = ! 1 ; } return __extends ( n , t ) , n . prototype . forwardJSONCall = function ( e , t ) { return r ( this . logger , e , t , this . logPerformance ) ; } , n . prototype . resolveModuleName = function ( t , n , r ) { var a = this ; return this . forwardJSONCall ( "resolveModuleName('" + t + "')" , function ( ) { var i = JSON . parse ( r ) , o = e . resolveModuleName ( n , e . normalizeSlashes ( t ) , i , a . host ) ; return { resolvedFileName : o . resolvedModule ? o . resolvedModule . resolvedFileName : void 0 , failedLookupLocations : o . failedLookupLocations } ; } ) ; } , n . prototype . getPreProcessedFileInfo = function ( t , n ) { return this . forwardJSONCall ( "getPreProcessedFileInfo('" + t + "')" , function ( ) { var t = e . preProcessFile ( n . getText ( 0 , n . getLength ( ) ) , ! 0 , ! 0 ) , r = { referencedFiles : [ ] , importedFiles : [ ] , ambientExternalModules : t . ambientExternalModules , isLibFile : t . isLibFile } ; return e . forEach ( t . referencedFiles , function ( t ) { r . referencedFiles . push ( { path : e . normalizePath ( t . fileName ) , position : t . pos , length : t . end - t . pos } ) ; } ) , e . forEach ( t . importedFiles , function ( t ) { r . importedFiles . push ( { path : e . normalizeSlashes ( t . fileName ) , position : t . pos , length : t . end - t . pos } ) ; } ) , r ; } ) ; } , n . prototype . getTSConfigFileInfo = function ( t , n ) { var r = this ; return this . forwardJSONCall ( "getTSConfigFileInfo('" + t + "')" , function ( ) { var o = n . getText ( 0 , n . getLength ( ) ) , s = e . parseConfigFileTextToJson ( t , o ) ; if ( s . error ) return { options : { } , typingOptions : { } , files : [ ] , errors : [ i ( s . error , "\r\n" ) ] } ; var c = e . normalizeSlashes ( t ) , _ = e . parseJsonConfigFileContent ( s . config , r . host , e . getDirectoryPath ( c ) , { } , c ) ; return { options : _ . options , typingOptions : _ . typingOptions , files : _ . fileNames , errors : a ( _ . errors , "\r\n" ) } ; } ) ; } , n . prototype . getDefaultCompilationSettings = function ( ) { return this . forwardJSONCall ( "getDefaultCompilationSettings()" , function ( ) { return e . getDefaultCompilerOptions ( ) ; } ) ; } , n . prototype . discoverTypings = function ( t ) { var n = this , r = e . createGetCanonicalFileName ( ! 1 ) ; return this . forwardJSONCall ( "discoverTypings()" , function ( ) { var a = JSON . parse ( t ) ; return e . JsTyping . discoverTypings ( n . host , a . fileNames , e . toPath ( a . projectRootPath , a . projectRootPath , r ) , e . toPath ( a . safeListPath , a . safeListPath , r ) , a . packageNameToTypingLocation , a . typingOptions , a . compilerOptions ) ; } ) ; } , n ; } ( l ) , m = function ( ) { function n ( ) { this . _shims = [ ] ; } return n . prototype . getServicesVersion = function ( ) { return e . servicesVersion ; } , n . prototype . createLanguageServiceShim = function ( n ) { try { void 0 === this . documentRegistry && ( this . documentRegistry = e . createDocumentRegistry ( n . useCaseSensitiveFileNames && n . useCaseSensitiveFileNames ( ) , n . getCurrentDirectory ( ) ) ) ; var r = new c ( n ) , a = e . createLanguageService ( r , this . documentRegistry ) ; return new d ( this , n , a ) ; } catch ( i ) { throw t ( n , i ) , i ; } } , n . prototype . createClassifierShim = function ( e ) { try { return new p ( this , e ) ; } catch ( n ) { throw t ( e , n ) , n ; } } , n . prototype . createCoreServicesShim = function ( e ) { try { var n = new u ( e ) ; return new f ( this , e , n ) ; } catch ( r ) { throw t ( e , r ) , r ; } } , n . prototype . close = function ( ) { this . _shims = [ ] , this . documentRegistry = void 0 ; } , n . prototype . registerShim = function ( e ) { this . _shims . push ( e ) ; } , n . prototype . unregisterShim = function ( e ) { for ( var t = 0 , n = this . _shims . length ; n > t ; t ++ ) if ( this . _shims [ t ] === e ) return void delete this . _shims [ t ] ; throw new Error ( "Invalid operation" ) ; } , n ; } ( ) ; e . TypeScriptServicesFactory = m , "undefined" != typeof module && module . exports && ( module . exports = e ) ; } ( ts || ( ts = { } ) ) ; var TypeScript ; ! function ( e ) { var t ; ! function ( e ) { e . TypeScriptServicesFactory = ts . TypeScriptServicesFactory ; } ( t = e . Services || ( e . Services = { } ) ) ; } ( TypeScript || ( TypeScript = { } ) ) ; var toolsVersion = "1.8" ; define ( "vs/language/typescript/lib/typescriptServices" , [ ] , function ( ) { return ts ; } ) ;