/*!-----------------------------------------------------------------------------
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * monaco-typescript version: 2.2.0(c9c77f499b932bffefca447e33c3c556d60e40d7)
 * Released under the MIT license
 * https://github.com/Microsoft/monaco-typescript/blob/master/LICENSE.md
 *-----------------------------------------------------------------------------*/
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved. 
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0  
 
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, 
MERCHANTABLITY OR NON-INFRINGEMENT. 
 
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
var __assign =
    (this && this.__assign) ||
    Object.assign ||
    function(e) {
      for (var t, r = 1, n = arguments.length; r < n; r++) {
        t = arguments[r]
        for (var a in t)
          Object.prototype.hasOwnProperty.call(t, a) && (e[a] = t[a])
      }
      return e
    },
  __extends =
    (this && this.__extends) ||
    (function() {
      var e =
        Object.setPrototypeOf ||
        ({ __proto__: [] } instanceof Array &&
          function(e, t) {
            e.__proto__ = t
          }) ||
        function(e, t) {
          for (var r in t) t.hasOwnProperty(r) && (e[r] = t[r])
        }
      return function(t, r) {
        function n() {
          this.constructor = t
        }
        e(t, r),
          (t.prototype =
            null === r
              ? Object.create(r)
              : ((n.prototype = r.prototype), new n()))
      }
    })(),
  ts
!(function(e) {
  var t
  !(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.JsxText = 10)] = 'JsxText'),
      (e[(e.JsxTextAllWhiteSpaces = 11)] = 'JsxTextAllWhiteSpaces'),
      (e[(e.RegularExpressionLiteral = 12)] = 'RegularExpressionLiteral'),
      (e[(e.NoSubstitutionTemplateLiteral = 13)] =
        'NoSubstitutionTemplateLiteral'),
      (e[(e.TemplateHead = 14)] = 'TemplateHead'),
      (e[(e.TemplateMiddle = 15)] = 'TemplateMiddle'),
      (e[(e.TemplateTail = 16)] = 'TemplateTail'),
      (e[(e.OpenBraceToken = 17)] = 'OpenBraceToken'),
      (e[(e.CloseBraceToken = 18)] = 'CloseBraceToken'),
      (e[(e.OpenParenToken = 19)] = 'OpenParenToken'),
      (e[(e.CloseParenToken = 20)] = 'CloseParenToken'),
      (e[(e.OpenBracketToken = 21)] = 'OpenBracketToken'),
      (e[(e.CloseBracketToken = 22)] = 'CloseBracketToken'),
      (e[(e.DotToken = 23)] = 'DotToken'),
      (e[(e.DotDotDotToken = 24)] = 'DotDotDotToken'),
      (e[(e.SemicolonToken = 25)] = 'SemicolonToken'),
      (e[(e.CommaToken = 26)] = 'CommaToken'),
      (e[(e.LessThanToken = 27)] = 'LessThanToken'),
      (e[(e.LessThanSlashToken = 28)] = 'LessThanSlashToken'),
      (e[(e.GreaterThanToken = 29)] = 'GreaterThanToken'),
      (e[(e.LessThanEqualsToken = 30)] = 'LessThanEqualsToken'),
      (e[(e.GreaterThanEqualsToken = 31)] = 'GreaterThanEqualsToken'),
      (e[(e.EqualsEqualsToken = 32)] = 'EqualsEqualsToken'),
      (e[(e.ExclamationEqualsToken = 33)] = 'ExclamationEqualsToken'),
      (e[(e.EqualsEqualsEqualsToken = 34)] = 'EqualsEqualsEqualsToken'),
      (e[(e.ExclamationEqualsEqualsToken = 35)] =
        'ExclamationEqualsEqualsToken'),
      (e[(e.EqualsGreaterThanToken = 36)] = 'EqualsGreaterThanToken'),
      (e[(e.PlusToken = 37)] = 'PlusToken'),
      (e[(e.MinusToken = 38)] = 'MinusToken'),
      (e[(e.AsteriskToken = 39)] = 'AsteriskToken'),
      (e[(e.AsteriskAsteriskToken = 40)] = 'AsteriskAsteriskToken'),
      (e[(e.SlashToken = 41)] = 'SlashToken'),
      (e[(e.PercentToken = 42)] = 'PercentToken'),
      (e[(e.PlusPlusToken = 43)] = 'PlusPlusToken'),
      (e[(e.MinusMinusToken = 44)] = 'MinusMinusToken'),
      (e[(e.LessThanLessThanToken = 45)] = 'LessThanLessThanToken'),
      (e[(e.GreaterThanGreaterThanToken = 46)] = 'GreaterThanGreaterThanToken'),
      (e[(e.GreaterThanGreaterThanGreaterThanToken = 47)] =
        'GreaterThanGreaterThanGreaterThanToken'),
      (e[(e.AmpersandToken = 48)] = 'AmpersandToken'),
      (e[(e.BarToken = 49)] = 'BarToken'),
      (e[(e.CaretToken = 50)] = 'CaretToken'),
      (e[(e.ExclamationToken = 51)] = 'ExclamationToken'),
      (e[(e.TildeToken = 52)] = 'TildeToken'),
      (e[(e.AmpersandAmpersandToken = 53)] = 'AmpersandAmpersandToken'),
      (e[(e.BarBarToken = 54)] = 'BarBarToken'),
      (e[(e.QuestionToken = 55)] = 'QuestionToken'),
      (e[(e.ColonToken = 56)] = 'ColonToken'),
      (e[(e.AtToken = 57)] = 'AtToken'),
      (e[(e.EqualsToken = 58)] = 'EqualsToken'),
      (e[(e.PlusEqualsToken = 59)] = 'PlusEqualsToken'),
      (e[(e.MinusEqualsToken = 60)] = 'MinusEqualsToken'),
      (e[(e.AsteriskEqualsToken = 61)] = 'AsteriskEqualsToken'),
      (e[(e.AsteriskAsteriskEqualsToken = 62)] = 'AsteriskAsteriskEqualsToken'),
      (e[(e.SlashEqualsToken = 63)] = 'SlashEqualsToken'),
      (e[(e.PercentEqualsToken = 64)] = 'PercentEqualsToken'),
      (e[(e.LessThanLessThanEqualsToken = 65)] = 'LessThanLessThanEqualsToken'),
      (e[(e.GreaterThanGreaterThanEqualsToken = 66)] =
        'GreaterThanGreaterThanEqualsToken'),
      (e[(e.GreaterThanGreaterThanGreaterThanEqualsToken = 67)] =
        'GreaterThanGreaterThanGreaterThanEqualsToken'),
      (e[(e.AmpersandEqualsToken = 68)] = 'AmpersandEqualsToken'),
      (e[(e.BarEqualsToken = 69)] = 'BarEqualsToken'),
      (e[(e.CaretEqualsToken = 70)] = 'CaretEqualsToken'),
      (e[(e.Identifier = 71)] = 'Identifier'),
      (e[(e.BreakKeyword = 72)] = 'BreakKeyword'),
      (e[(e.CaseKeyword = 73)] = 'CaseKeyword'),
      (e[(e.CatchKeyword = 74)] = 'CatchKeyword'),
      (e[(e.ClassKeyword = 75)] = 'ClassKeyword'),
      (e[(e.ConstKeyword = 76)] = 'ConstKeyword'),
      (e[(e.ContinueKeyword = 77)] = 'ContinueKeyword'),
      (e[(e.DebuggerKeyword = 78)] = 'DebuggerKeyword'),
      (e[(e.DefaultKeyword = 79)] = 'DefaultKeyword'),
      (e[(e.DeleteKeyword = 80)] = 'DeleteKeyword'),
      (e[(e.DoKeyword = 81)] = 'DoKeyword'),
      (e[(e.ElseKeyword = 82)] = 'ElseKeyword'),
      (e[(e.EnumKeyword = 83)] = 'EnumKeyword'),
      (e[(e.ExportKeyword = 84)] = 'ExportKeyword'),
      (e[(e.ExtendsKeyword = 85)] = 'ExtendsKeyword'),
      (e[(e.FalseKeyword = 86)] = 'FalseKeyword'),
      (e[(e.FinallyKeyword = 87)] = 'FinallyKeyword'),
      (e[(e.ForKeyword = 88)] = 'ForKeyword'),
      (e[(e.FunctionKeyword = 89)] = 'FunctionKeyword'),
      (e[(e.IfKeyword = 90)] = 'IfKeyword'),
      (e[(e.ImportKeyword = 91)] = 'ImportKeyword'),
      (e[(e.InKeyword = 92)] = 'InKeyword'),
      (e[(e.InstanceOfKeyword = 93)] = 'InstanceOfKeyword'),
      (e[(e.NewKeyword = 94)] = 'NewKeyword'),
      (e[(e.NullKeyword = 95)] = 'NullKeyword'),
      (e[(e.ReturnKeyword = 96)] = 'ReturnKeyword'),
      (e[(e.SuperKeyword = 97)] = 'SuperKeyword'),
      (e[(e.SwitchKeyword = 98)] = 'SwitchKeyword'),
      (e[(e.ThisKeyword = 99)] = 'ThisKeyword'),
      (e[(e.ThrowKeyword = 100)] = 'ThrowKeyword'),
      (e[(e.TrueKeyword = 101)] = 'TrueKeyword'),
      (e[(e.TryKeyword = 102)] = 'TryKeyword'),
      (e[(e.TypeOfKeyword = 103)] = 'TypeOfKeyword'),
      (e[(e.VarKeyword = 104)] = 'VarKeyword'),
      (e[(e.VoidKeyword = 105)] = 'VoidKeyword'),
      (e[(e.WhileKeyword = 106)] = 'WhileKeyword'),
      (e[(e.WithKeyword = 107)] = 'WithKeyword'),
      (e[(e.ImplementsKeyword = 108)] = 'ImplementsKeyword'),
      (e[(e.InterfaceKeyword = 109)] = 'InterfaceKeyword'),
      (e[(e.LetKeyword = 110)] = 'LetKeyword'),
      (e[(e.PackageKeyword = 111)] = 'PackageKeyword'),
      (e[(e.PrivateKeyword = 112)] = 'PrivateKeyword'),
      (e[(e.ProtectedKeyword = 113)] = 'ProtectedKeyword'),
      (e[(e.PublicKeyword = 114)] = 'PublicKeyword'),
      (e[(e.StaticKeyword = 115)] = 'StaticKeyword'),
      (e[(e.YieldKeyword = 116)] = 'YieldKeyword'),
      (e[(e.AbstractKeyword = 117)] = 'AbstractKeyword'),
      (e[(e.AsKeyword = 118)] = 'AsKeyword'),
      (e[(e.AnyKeyword = 119)] = 'AnyKeyword'),
      (e[(e.AsyncKeyword = 120)] = 'AsyncKeyword'),
      (e[(e.AwaitKeyword = 121)] = 'AwaitKeyword'),
      (e[(e.BooleanKeyword = 122)] = 'BooleanKeyword'),
      (e[(e.ConstructorKeyword = 123)] = 'ConstructorKeyword'),
      (e[(e.DeclareKeyword = 124)] = 'DeclareKeyword'),
      (e[(e.GetKeyword = 125)] = 'GetKeyword'),
      (e[(e.IsKeyword = 126)] = 'IsKeyword'),
      (e[(e.KeyOfKeyword = 127)] = 'KeyOfKeyword'),
      (e[(e.ModuleKeyword = 128)] = 'ModuleKeyword'),
      (e[(e.NamespaceKeyword = 129)] = 'NamespaceKeyword'),
      (e[(e.NeverKeyword = 130)] = 'NeverKeyword'),
      (e[(e.ReadonlyKeyword = 131)] = 'ReadonlyKeyword'),
      (e[(e.RequireKeyword = 132)] = 'RequireKeyword'),
      (e[(e.NumberKeyword = 133)] = 'NumberKeyword'),
      (e[(e.ObjectKeyword = 134)] = 'ObjectKeyword'),
      (e[(e.SetKeyword = 135)] = 'SetKeyword'),
      (e[(e.StringKeyword = 136)] = 'StringKeyword'),
      (e[(e.SymbolKeyword = 137)] = 'SymbolKeyword'),
      (e[(e.TypeKeyword = 138)] = 'TypeKeyword'),
      (e[(e.UndefinedKeyword = 139)] = 'UndefinedKeyword'),
      (e[(e.FromKeyword = 140)] = 'FromKeyword'),
      (e[(e.GlobalKeyword = 141)] = 'GlobalKeyword'),
      (e[(e.OfKeyword = 142)] = 'OfKeyword'),
      (e[(e.QualifiedName = 143)] = 'QualifiedName'),
      (e[(e.ComputedPropertyName = 144)] = 'ComputedPropertyName'),
      (e[(e.TypeParameter = 145)] = 'TypeParameter'),
      (e[(e.Parameter = 146)] = 'Parameter'),
      (e[(e.Decorator = 147)] = 'Decorator'),
      (e[(e.PropertySignature = 148)] = 'PropertySignature'),
      (e[(e.PropertyDeclaration = 149)] = 'PropertyDeclaration'),
      (e[(e.MethodSignature = 150)] = 'MethodSignature'),
      (e[(e.MethodDeclaration = 151)] = 'MethodDeclaration'),
      (e[(e.Constructor = 152)] = 'Constructor'),
      (e[(e.GetAccessor = 153)] = 'GetAccessor'),
      (e[(e.SetAccessor = 154)] = 'SetAccessor'),
      (e[(e.CallSignature = 155)] = 'CallSignature'),
      (e[(e.ConstructSignature = 156)] = 'ConstructSignature'),
      (e[(e.IndexSignature = 157)] = 'IndexSignature'),
      (e[(e.TypePredicate = 158)] = 'TypePredicate'),
      (e[(e.TypeReference = 159)] = 'TypeReference'),
      (e[(e.FunctionType = 160)] = 'FunctionType'),
      (e[(e.ConstructorType = 161)] = 'ConstructorType'),
      (e[(e.TypeQuery = 162)] = 'TypeQuery'),
      (e[(e.TypeLiteral = 163)] = 'TypeLiteral'),
      (e[(e.ArrayType = 164)] = 'ArrayType'),
      (e[(e.TupleType = 165)] = 'TupleType'),
      (e[(e.UnionType = 166)] = 'UnionType'),
      (e[(e.IntersectionType = 167)] = 'IntersectionType'),
      (e[(e.ParenthesizedType = 168)] = 'ParenthesizedType'),
      (e[(e.ThisType = 169)] = 'ThisType'),
      (e[(e.TypeOperator = 170)] = 'TypeOperator'),
      (e[(e.IndexedAccessType = 171)] = 'IndexedAccessType'),
      (e[(e.MappedType = 172)] = 'MappedType'),
      (e[(e.LiteralType = 173)] = 'LiteralType'),
      (e[(e.ObjectBindingPattern = 174)] = 'ObjectBindingPattern'),
      (e[(e.ArrayBindingPattern = 175)] = 'ArrayBindingPattern'),
      (e[(e.BindingElement = 176)] = 'BindingElement'),
      (e[(e.ArrayLiteralExpression = 177)] = 'ArrayLiteralExpression'),
      (e[(e.ObjectLiteralExpression = 178)] = 'ObjectLiteralExpression'),
      (e[(e.PropertyAccessExpression = 179)] = 'PropertyAccessExpression'),
      (e[(e.ElementAccessExpression = 180)] = 'ElementAccessExpression'),
      (e[(e.CallExpression = 181)] = 'CallExpression'),
      (e[(e.NewExpression = 182)] = 'NewExpression'),
      (e[(e.TaggedTemplateExpression = 183)] = 'TaggedTemplateExpression'),
      (e[(e.TypeAssertionExpression = 184)] = 'TypeAssertionExpression'),
      (e[(e.ParenthesizedExpression = 185)] = 'ParenthesizedExpression'),
      (e[(e.FunctionExpression = 186)] = 'FunctionExpression'),
      (e[(e.ArrowFunction = 187)] = 'ArrowFunction'),
      (e[(e.DeleteExpression = 188)] = 'DeleteExpression'),
      (e[(e.TypeOfExpression = 189)] = 'TypeOfExpression'),
      (e[(e.VoidExpression = 190)] = 'VoidExpression'),
      (e[(e.AwaitExpression = 191)] = 'AwaitExpression'),
      (e[(e.PrefixUnaryExpression = 192)] = 'PrefixUnaryExpression'),
      (e[(e.PostfixUnaryExpression = 193)] = 'PostfixUnaryExpression'),
      (e[(e.BinaryExpression = 194)] = 'BinaryExpression'),
      (e[(e.ConditionalExpression = 195)] = 'ConditionalExpression'),
      (e[(e.TemplateExpression = 196)] = 'TemplateExpression'),
      (e[(e.YieldExpression = 197)] = 'YieldExpression'),
      (e[(e.SpreadElement = 198)] = 'SpreadElement'),
      (e[(e.ClassExpression = 199)] = 'ClassExpression'),
      (e[(e.OmittedExpression = 200)] = 'OmittedExpression'),
      (e[(e.ExpressionWithTypeArguments = 201)] =
        'ExpressionWithTypeArguments'),
      (e[(e.AsExpression = 202)] = 'AsExpression'),
      (e[(e.NonNullExpression = 203)] = 'NonNullExpression'),
      (e[(e.MetaProperty = 204)] = 'MetaProperty'),
      (e[(e.TemplateSpan = 205)] = 'TemplateSpan'),
      (e[(e.SemicolonClassElement = 206)] = 'SemicolonClassElement'),
      (e[(e.Block = 207)] = 'Block'),
      (e[(e.VariableStatement = 208)] = 'VariableStatement'),
      (e[(e.EmptyStatement = 209)] = 'EmptyStatement'),
      (e[(e.ExpressionStatement = 210)] = 'ExpressionStatement'),
      (e[(e.IfStatement = 211)] = 'IfStatement'),
      (e[(e.DoStatement = 212)] = 'DoStatement'),
      (e[(e.WhileStatement = 213)] = 'WhileStatement'),
      (e[(e.ForStatement = 214)] = 'ForStatement'),
      (e[(e.ForInStatement = 215)] = 'ForInStatement'),
      (e[(e.ForOfStatement = 216)] = 'ForOfStatement'),
      (e[(e.ContinueStatement = 217)] = 'ContinueStatement'),
      (e[(e.BreakStatement = 218)] = 'BreakStatement'),
      (e[(e.ReturnStatement = 219)] = 'ReturnStatement'),
      (e[(e.WithStatement = 220)] = 'WithStatement'),
      (e[(e.SwitchStatement = 221)] = 'SwitchStatement'),
      (e[(e.LabeledStatement = 222)] = 'LabeledStatement'),
      (e[(e.ThrowStatement = 223)] = 'ThrowStatement'),
      (e[(e.TryStatement = 224)] = 'TryStatement'),
      (e[(e.DebuggerStatement = 225)] = 'DebuggerStatement'),
      (e[(e.VariableDeclaration = 226)] = 'VariableDeclaration'),
      (e[(e.VariableDeclarationList = 227)] = 'VariableDeclarationList'),
      (e[(e.FunctionDeclaration = 228)] = 'FunctionDeclaration'),
      (e[(e.ClassDeclaration = 229)] = 'ClassDeclaration'),
      (e[(e.InterfaceDeclaration = 230)] = 'InterfaceDeclaration'),
      (e[(e.TypeAliasDeclaration = 231)] = 'TypeAliasDeclaration'),
      (e[(e.EnumDeclaration = 232)] = 'EnumDeclaration'),
      (e[(e.ModuleDeclaration = 233)] = 'ModuleDeclaration'),
      (e[(e.ModuleBlock = 234)] = 'ModuleBlock'),
      (e[(e.CaseBlock = 235)] = 'CaseBlock'),
      (e[(e.NamespaceExportDeclaration = 236)] = 'NamespaceExportDeclaration'),
      (e[(e.ImportEqualsDeclaration = 237)] = 'ImportEqualsDeclaration'),
      (e[(e.ImportDeclaration = 238)] = 'ImportDeclaration'),
      (e[(e.ImportClause = 239)] = 'ImportClause'),
      (e[(e.NamespaceImport = 240)] = 'NamespaceImport'),
      (e[(e.NamedImports = 241)] = 'NamedImports'),
      (e[(e.ImportSpecifier = 242)] = 'ImportSpecifier'),
      (e[(e.ExportAssignment = 243)] = 'ExportAssignment'),
      (e[(e.ExportDeclaration = 244)] = 'ExportDeclaration'),
      (e[(e.NamedExports = 245)] = 'NamedExports'),
      (e[(e.ExportSpecifier = 246)] = 'ExportSpecifier'),
      (e[(e.MissingDeclaration = 247)] = 'MissingDeclaration'),
      (e[(e.ExternalModuleReference = 248)] = 'ExternalModuleReference'),
      (e[(e.JsxElement = 249)] = 'JsxElement'),
      (e[(e.JsxSelfClosingElement = 250)] = 'JsxSelfClosingElement'),
      (e[(e.JsxOpeningElement = 251)] = 'JsxOpeningElement'),
      (e[(e.JsxClosingElement = 252)] = 'JsxClosingElement'),
      (e[(e.JsxAttribute = 253)] = 'JsxAttribute'),
      (e[(e.JsxAttributes = 254)] = 'JsxAttributes'),
      (e[(e.JsxSpreadAttribute = 255)] = 'JsxSpreadAttribute'),
      (e[(e.JsxExpression = 256)] = 'JsxExpression'),
      (e[(e.CaseClause = 257)] = 'CaseClause'),
      (e[(e.DefaultClause = 258)] = 'DefaultClause'),
      (e[(e.HeritageClause = 259)] = 'HeritageClause'),
      (e[(e.CatchClause = 260)] = 'CatchClause'),
      (e[(e.PropertyAssignment = 261)] = 'PropertyAssignment'),
      (e[(e.ShorthandPropertyAssignment = 262)] =
        'ShorthandPropertyAssignment'),
      (e[(e.SpreadAssignment = 263)] = 'SpreadAssignment'),
      (e[(e.EnumMember = 264)] = 'EnumMember'),
      (e[(e.SourceFile = 265)] = 'SourceFile'),
      (e[(e.Bundle = 266)] = 'Bundle'),
      (e[(e.JSDocTypeExpression = 267)] = 'JSDocTypeExpression'),
      (e[(e.JSDocAllType = 268)] = 'JSDocAllType'),
      (e[(e.JSDocUnknownType = 269)] = 'JSDocUnknownType'),
      (e[(e.JSDocArrayType = 270)] = 'JSDocArrayType'),
      (e[(e.JSDocUnionType = 271)] = 'JSDocUnionType'),
      (e[(e.JSDocTupleType = 272)] = 'JSDocTupleType'),
      (e[(e.JSDocNullableType = 273)] = 'JSDocNullableType'),
      (e[(e.JSDocNonNullableType = 274)] = 'JSDocNonNullableType'),
      (e[(e.JSDocRecordType = 275)] = 'JSDocRecordType'),
      (e[(e.JSDocRecordMember = 276)] = 'JSDocRecordMember'),
      (e[(e.JSDocTypeReference = 277)] = 'JSDocTypeReference'),
      (e[(e.JSDocOptionalType = 278)] = 'JSDocOptionalType'),
      (e[(e.JSDocFunctionType = 279)] = 'JSDocFunctionType'),
      (e[(e.JSDocVariadicType = 280)] = 'JSDocVariadicType'),
      (e[(e.JSDocConstructorType = 281)] = 'JSDocConstructorType'),
      (e[(e.JSDocThisType = 282)] = 'JSDocThisType'),
      (e[(e.JSDocComment = 283)] = 'JSDocComment'),
      (e[(e.JSDocTag = 284)] = 'JSDocTag'),
      (e[(e.JSDocAugmentsTag = 285)] = 'JSDocAugmentsTag'),
      (e[(e.JSDocParameterTag = 286)] = 'JSDocParameterTag'),
      (e[(e.JSDocReturnTag = 287)] = 'JSDocReturnTag'),
      (e[(e.JSDocTypeTag = 288)] = 'JSDocTypeTag'),
      (e[(e.JSDocTemplateTag = 289)] = 'JSDocTemplateTag'),
      (e[(e.JSDocTypedefTag = 290)] = 'JSDocTypedefTag'),
      (e[(e.JSDocPropertyTag = 291)] = 'JSDocPropertyTag'),
      (e[(e.JSDocTypeLiteral = 292)] = 'JSDocTypeLiteral'),
      (e[(e.JSDocLiteralType = 293)] = 'JSDocLiteralType'),
      (e[(e.SyntaxList = 294)] = 'SyntaxList'),
      (e[(e.NotEmittedStatement = 295)] = 'NotEmittedStatement'),
      (e[(e.PartiallyEmittedExpression = 296)] = 'PartiallyEmittedExpression'),
      (e[(e.MergeDeclarationMarker = 297)] = 'MergeDeclarationMarker'),
      (e[(e.EndOfDeclarationMarker = 298)] = 'EndOfDeclarationMarker'),
      (e[(e.Count = 299)] = 'Count'),
      (e[(e.FirstAssignment = 58)] = 'FirstAssignment'),
      (e[(e.LastAssignment = 70)] = 'LastAssignment'),
      (e[(e.FirstCompoundAssignment = 59)] = 'FirstCompoundAssignment'),
      (e[(e.LastCompoundAssignment = 70)] = 'LastCompoundAssignment'),
      (e[(e.FirstReservedWord = 72)] = 'FirstReservedWord'),
      (e[(e.LastReservedWord = 107)] = 'LastReservedWord'),
      (e[(e.FirstKeyword = 72)] = 'FirstKeyword'),
      (e[(e.LastKeyword = 142)] = 'LastKeyword'),
      (e[(e.FirstFutureReservedWord = 108)] = 'FirstFutureReservedWord'),
      (e[(e.LastFutureReservedWord = 116)] = 'LastFutureReservedWord'),
      (e[(e.FirstTypeNode = 158)] = 'FirstTypeNode'),
      (e[(e.LastTypeNode = 173)] = 'LastTypeNode'),
      (e[(e.FirstPunctuation = 17)] = 'FirstPunctuation'),
      (e[(e.LastPunctuation = 70)] = 'LastPunctuation'),
      (e[(e.FirstToken = 0)] = 'FirstToken'),
      (e[(e.LastToken = 142)] = 'LastToken'),
      (e[(e.FirstTriviaToken = 2)] = 'FirstTriviaToken'),
      (e[(e.LastTriviaToken = 7)] = 'LastTriviaToken'),
      (e[(e.FirstLiteralToken = 8)] = 'FirstLiteralToken'),
      (e[(e.LastLiteralToken = 13)] = 'LastLiteralToken'),
      (e[(e.FirstTemplateToken = 13)] = 'FirstTemplateToken'),
      (e[(e.LastTemplateToken = 16)] = 'LastTemplateToken'),
      (e[(e.FirstBinaryOperator = 27)] = 'FirstBinaryOperator'),
      (e[(e.LastBinaryOperator = 70)] = 'LastBinaryOperator'),
      (e[(e.FirstNode = 143)] = 'FirstNode'),
      (e[(e.FirstJSDocNode = 267)] = 'FirstJSDocNode'),
      (e[(e.LastJSDocNode = 293)] = 'LastJSDocNode'),
      (e[(e.FirstJSDocTagNode = 283)] = 'FirstJSDocTagNode'),
      (e[(e.LastJSDocTagNode = 293)] = 'LastJSDocTagNode')
  })((t = e.SyntaxKind || (e.SyntaxKind = {})))
  var r
  !(function(e) {
    ;(e[(e.None = 0)] = 'None'),
      (e[(e.Let = 1)] = 'Let'),
      (e[(e.Const = 2)] = 'Const'),
      (e[(e.NestedNamespace = 4)] = 'NestedNamespace'),
      (e[(e.Synthesized = 8)] = 'Synthesized'),
      (e[(e.Namespace = 16)] = 'Namespace'),
      (e[(e.ExportContext = 32)] = 'ExportContext'),
      (e[(e.ContainsThis = 64)] = 'ContainsThis'),
      (e[(e.HasImplicitReturn = 128)] = 'HasImplicitReturn'),
      (e[(e.HasExplicitReturn = 256)] = 'HasExplicitReturn'),
      (e[(e.GlobalAugmentation = 512)] = 'GlobalAugmentation'),
      (e[(e.HasAsyncFunctions = 1024)] = 'HasAsyncFunctions'),
      (e[(e.DisallowInContext = 2048)] = 'DisallowInContext'),
      (e[(e.YieldContext = 4096)] = 'YieldContext'),
      (e[(e.DecoratorContext = 8192)] = 'DecoratorContext'),
      (e[(e.AwaitContext = 16384)] = 'AwaitContext'),
      (e[(e.ThisNodeHasError = 32768)] = 'ThisNodeHasError'),
      (e[(e.JavaScriptFile = 65536)] = 'JavaScriptFile'),
      (e[(e.ThisNodeOrAnySubNodesHasError = 131072)] =
        'ThisNodeOrAnySubNodesHasError'),
      (e[(e.HasAggregatedChildData = 262144)] = 'HasAggregatedChildData'),
      (e[(e.BlockScoped = 3)] = 'BlockScoped'),
      (e[(e.ReachabilityCheckFlags = 384)] = 'ReachabilityCheckFlags'),
      (e[(e.ReachabilityAndEmitFlags = 1408)] = 'ReachabilityAndEmitFlags'),
      (e[(e.ContextFlags = 96256)] = 'ContextFlags'),
      (e[(e.TypeExcludesFlags = 20480)] = 'TypeExcludesFlags')
  })((r = e.NodeFlags || (e.NodeFlags = {})))
  var n
  !(function(e) {
    ;(e[(e.None = 0)] = 'None'),
      (e[(e.Export = 1)] = 'Export'),
      (e[(e.Ambient = 2)] = 'Ambient'),
      (e[(e.Public = 4)] = 'Public'),
      (e[(e.Private = 8)] = 'Private'),
      (e[(e.Protected = 16)] = 'Protected'),
      (e[(e.Static = 32)] = 'Static'),
      (e[(e.Readonly = 64)] = 'Readonly'),
      (e[(e.Abstract = 128)] = 'Abstract'),
      (e[(e.Async = 256)] = 'Async'),
      (e[(e.Default = 512)] = 'Default'),
      (e[(e.Const = 2048)] = 'Const'),
      (e[(e.HasComputedFlags = 536870912)] = 'HasComputedFlags'),
      (e[(e.AccessibilityModifier = 28)] = 'AccessibilityModifier'),
      (e[(e.ParameterPropertyModifier = 92)] = 'ParameterPropertyModifier'),
      (e[(e.NonPublicAccessibilityModifier = 24)] =
        'NonPublicAccessibilityModifier'),
      (e[(e.TypeScriptModifier = 2270)] = 'TypeScriptModifier'),
      (e[(e.ExportDefault = 513)] = 'ExportDefault')
  })((n = e.ModifierFlags || (e.ModifierFlags = {})))
  var a
  !(function(e) {
    ;(e[(e.None = 0)] = 'None'),
      (e[(e.IntrinsicNamedElement = 1)] = 'IntrinsicNamedElement'),
      (e[(e.IntrinsicIndexedElement = 2)] = 'IntrinsicIndexedElement'),
      (e[(e.IntrinsicElement = 3)] = 'IntrinsicElement')
  })((a = e.JsxFlags || (e.JsxFlags = {})))
  var i
  !(function(e) {
    ;(e[(e.Succeeded = 1)] = 'Succeeded'),
      (e[(e.Failed = 2)] = 'Failed'),
      (e[(e.FailedAndReported = 3)] = 'FailedAndReported')
  })((i = e.RelationComparisonResult || (e.RelationComparisonResult = {})))
  var o
  !(function(e) {
    ;(e[(e.None = 0)] = 'None'),
      (e[(e.Auto = 1)] = 'Auto'),
      (e[(e.Loop = 2)] = 'Loop'),
      (e[(e.Unique = 3)] = 'Unique'),
      (e[(e.Node = 4)] = 'Node')
  })((o = e.GeneratedIdentifierKind || (e.GeneratedIdentifierKind = {})))
  var s
  !(function(e) {
    ;(e[(e.None = 0)] = 'None'),
      (e[(e.Scientific = 2)] = 'Scientific'),
      (e[(e.Octal = 4)] = 'Octal'),
      (e[(e.HexSpecifier = 8)] = 'HexSpecifier'),
      (e[(e.BinarySpecifier = 16)] = 'BinarySpecifier'),
      (e[(e.OctalSpecifier = 32)] = 'OctalSpecifier'),
      (e[(e.BinaryOrOctalSpecifier = 48)] = 'BinaryOrOctalSpecifier')
  })((s = e.NumericLiteralFlags || (e.NumericLiteralFlags = {})))
  var c
  !(function(e) {
    ;(e[(e.Unreachable = 1)] = 'Unreachable'),
      (e[(e.Start = 2)] = 'Start'),
      (e[(e.BranchLabel = 4)] = 'BranchLabel'),
      (e[(e.LoopLabel = 8)] = 'LoopLabel'),
      (e[(e.Assignment = 16)] = 'Assignment'),
      (e[(e.TrueCondition = 32)] = 'TrueCondition'),
      (e[(e.FalseCondition = 64)] = 'FalseCondition'),
      (e[(e.SwitchClause = 128)] = 'SwitchClause'),
      (e[(e.ArrayMutation = 256)] = 'ArrayMutation'),
      (e[(e.Referenced = 512)] = 'Referenced'),
      (e[(e.Shared = 1024)] = 'Shared'),
      (e[(e.PreFinally = 2048)] = 'PreFinally'),
      (e[(e.AfterFinally = 4096)] = 'AfterFinally'),
      (e[(e.Label = 12)] = 'Label'),
      (e[(e.Condition = 96)] = 'Condition')
  })((c = e.FlowFlags || (e.FlowFlags = {})))
  var u = (function() {
    function e() {}
    return e
  })()
  e.OperationCanceledException = u
  var _
  !(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 = {})))
  var l
  !(function(e) {
    ;(e[(e.None = 0)] = 'None'),
      (e[(e.allowThisInObjectLiteral = 1)] = 'allowThisInObjectLiteral'),
      (e[(e.allowQualifedNameInPlaceOfIdentifier = 2)] =
        'allowQualifedNameInPlaceOfIdentifier'),
      (e[(e.allowTypeParameterInQualifiedName = 4)] =
        'allowTypeParameterInQualifiedName'),
      (e[(e.allowAnonymousIdentifier = 8)] = 'allowAnonymousIdentifier'),
      (e[(e.allowEmptyUnionOrIntersection = 16)] =
        'allowEmptyUnionOrIntersection'),
      (e[(e.allowEmptyTuple = 32)] = 'allowEmptyTuple')
  })((l = e.NodeBuilderFlags || (e.NodeBuilderFlags = {})))
  var d
  !(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[(e.InFirstTypeArgument = 256)] = 'InFirstTypeArgument'),
      (e[(e.InTypeAlias = 512)] = 'InTypeAlias'),
      (e[(e.UseTypeAliasValue = 1024)] = 'UseTypeAliasValue'),
      (e[(e.SuppressAnyReturnType = 2048)] = 'SuppressAnyReturnType'),
      (e[(e.AddUndefined = 4096)] = 'AddUndefined')
  })((d = e.TypeFormatFlags || (e.TypeFormatFlags = {})))
  var p
  !(function(e) {
    ;(e[(e.None = 0)] = 'None'),
      (e[(e.WriteTypeParametersOrArguments = 1)] =
        'WriteTypeParametersOrArguments'),
      (e[(e.UseOnlyExternalAliasing = 2)] = 'UseOnlyExternalAliasing')
  })((p = e.SymbolFormatFlags || (e.SymbolFormatFlags = {})))
  var f
  !(function(e) {
    ;(e[(e.Accessible = 0)] = 'Accessible'),
      (e[(e.NotAccessible = 1)] = 'NotAccessible'),
      (e[(e.CannotBeNamed = 2)] = 'CannotBeNamed')
  })((f = e.SymbolAccessibility || (e.SymbolAccessibility = {})))
  var g
  !(function(e) {
    ;(e[(e.UnionOrIntersection = 0)] = 'UnionOrIntersection'),
      (e[(e.Spread = 1)] = 'Spread')
  })((g = e.SyntheticSymbolKind || (e.SyntheticSymbolKind = {})))
  var m
  !(function(e) {
    ;(e[(e.This = 0)] = 'This'), (e[(e.Identifier = 1)] = 'Identifier')
  })((m = e.TypePredicateKind || (e.TypePredicateKind = {})))
  var y
  !(function(e) {
    ;(e[(e.Unknown = 0)] = 'Unknown'),
      (e[(e.TypeWithConstructSignatureAndValue = 1)] =
        'TypeWithConstructSignatureAndValue'),
      (e[(e.VoidNullableOrNeverType = 2)] = 'VoidNullableOrNeverType'),
      (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.Promise = 8)] = 'Promise'),
      (e[(e.TypeWithCallSignature = 9)] = 'TypeWithCallSignature'),
      (e[(e.ObjectType = 10)] = 'ObjectType')
  })(
    (y =
      e.TypeReferenceSerializationKind ||
      (e.TypeReferenceSerializationKind = {}))
  )
  var v
  !(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.Prototype = 16777216)] = 'Prototype'),
      (e[(e.ExportStar = 33554432)] = 'ExportStar'),
      (e[(e.Optional = 67108864)] = 'Optional'),
      (e[(e.Transient = 134217728)] = 'Transient'),
      (e[(e.Enum = 384)] = 'Enum'),
      (e[(e.Variable = 3)] = 'Variable'),
      (e[(e.Value = 107455)] = 'Value'),
      (e[(e.Type = 793064)] = 'Type'),
      (e[(e.Namespace = 1920)] = '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 = 0)] = 'PropertyExcludes'),
      (e[(e.EnumMemberExcludes = 900095)] = 'EnumMemberExcludes'),
      (e[(e.FunctionExcludes = 106927)] = 'FunctionExcludes'),
      (e[(e.ClassExcludes = 899519)] = 'ClassExcludes'),
      (e[(e.InterfaceExcludes = 792968)] = '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 = 530920)] = 'TypeParameterExcludes'),
      (e[(e.TypeAliasExcludes = 793064)] = '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.ClassMember = 106500)] = 'ClassMember'),
      (e[(e.Classifiable = 788448)] = 'Classifiable')
  })((v = e.SymbolFlags || (e.SymbolFlags = {})))
  var h
  !(function(e) {
    ;(e[(e.Instantiated = 1)] = 'Instantiated'),
      (e[(e.SyntheticProperty = 2)] = 'SyntheticProperty'),
      (e[(e.SyntheticMethod = 4)] = 'SyntheticMethod'),
      (e[(e.Readonly = 8)] = 'Readonly'),
      (e[(e.Partial = 16)] = 'Partial'),
      (e[(e.HasNonUniformType = 32)] = 'HasNonUniformType'),
      (e[(e.ContainsPublic = 64)] = 'ContainsPublic'),
      (e[(e.ContainsProtected = 128)] = 'ContainsProtected'),
      (e[(e.ContainsPrivate = 256)] = 'ContainsPrivate'),
      (e[(e.ContainsStatic = 512)] = 'ContainsStatic'),
      (e[(e.Synthetic = 6)] = 'Synthetic')
  })((h = e.CheckFlags || (e.CheckFlags = {})))
  var b
  !(function(e) {
    ;(e[(e.TypeChecked = 1)] = 'TypeChecked'),
      (e[(e.LexicalThis = 2)] = 'LexicalThis'),
      (e[(e.CaptureThis = 4)] = 'CaptureThis'),
      (e[(e.CaptureNewTarget = 8)] = 'CaptureNewTarget'),
      (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[(e.AssignmentsMarked = 4194304)] = 'AssignmentsMarked'),
      (e[(e.ClassWithConstructorReference = 8388608)] =
        'ClassWithConstructorReference'),
      (e[(e.ConstructorReferenceInClass = 16777216)] =
        'ConstructorReferenceInClass')
  })((b = e.NodeCheckFlags || (e.NodeCheckFlags = {})))
  var k
  !(function(e) {
    ;(e[(e.Any = 1)] = 'Any'),
      (e[(e.String = 2)] = 'String'),
      (e[(e.Number = 4)] = 'Number'),
      (e[(e.Boolean = 8)] = 'Boolean'),
      (e[(e.Enum = 16)] = 'Enum'),
      (e[(e.StringLiteral = 32)] = 'StringLiteral'),
      (e[(e.NumberLiteral = 64)] = 'NumberLiteral'),
      (e[(e.BooleanLiteral = 128)] = 'BooleanLiteral'),
      (e[(e.EnumLiteral = 256)] = 'EnumLiteral'),
      (e[(e.ESSymbol = 512)] = 'ESSymbol'),
      (e[(e.Void = 1024)] = 'Void'),
      (e[(e.Undefined = 2048)] = 'Undefined'),
      (e[(e.Null = 4096)] = 'Null'),
      (e[(e.Never = 8192)] = 'Never'),
      (e[(e.TypeParameter = 16384)] = 'TypeParameter'),
      (e[(e.Object = 32768)] = 'Object'),
      (e[(e.Union = 65536)] = 'Union'),
      (e[(e.Intersection = 131072)] = 'Intersection'),
      (e[(e.Index = 262144)] = 'Index'),
      (e[(e.IndexedAccess = 524288)] = 'IndexedAccess'),
      (e[(e.FreshLiteral = 1048576)] = 'FreshLiteral'),
      (e[(e.ContainsWideningType = 2097152)] = 'ContainsWideningType'),
      (e[(e.ContainsObjectLiteral = 4194304)] = 'ContainsObjectLiteral'),
      (e[(e.ContainsAnyFunctionType = 8388608)] = 'ContainsAnyFunctionType'),
      (e[(e.NonPrimitive = 16777216)] = 'NonPrimitive'),
      (e[(e.JsxAttributes = 33554432)] = 'JsxAttributes'),
      (e[(e.Nullable = 6144)] = 'Nullable'),
      (e[(e.Literal = 480)] = 'Literal'),
      (e[(e.StringOrNumberLiteral = 96)] = 'StringOrNumberLiteral'),
      (e[(e.DefinitelyFalsy = 7392)] = 'DefinitelyFalsy'),
      (e[(e.PossiblyFalsy = 7406)] = 'PossiblyFalsy'),
      (e[(e.Intrinsic = 16793231)] = 'Intrinsic'),
      (e[(e.Primitive = 8190)] = 'Primitive'),
      (e[(e.StringLike = 262178)] = 'StringLike'),
      (e[(e.NumberLike = 340)] = 'NumberLike'),
      (e[(e.BooleanLike = 136)] = 'BooleanLike'),
      (e[(e.EnumLike = 272)] = 'EnumLike'),
      (e[(e.UnionOrIntersection = 196608)] = 'UnionOrIntersection'),
      (e[(e.StructuredType = 229376)] = 'StructuredType'),
      (e[(e.StructuredOrTypeVariable = 1032192)] = 'StructuredOrTypeVariable'),
      (e[(e.TypeVariable = 540672)] = 'TypeVariable'),
      (e[(e.Narrowable = 17810431)] = 'Narrowable'),
      (e[(e.NotUnionOrUnit = 16810497)] = 'NotUnionOrUnit'),
      (e[(e.RequiresWidening = 6291456)] = 'RequiresWidening'),
      (e[(e.PropagatingFlags = 14680064)] = 'PropagatingFlags')
  })((k = e.TypeFlags || (e.TypeFlags = {})))
  var x
  !(function(e) {
    ;(e[(e.Class = 1)] = 'Class'),
      (e[(e.Interface = 2)] = 'Interface'),
      (e[(e.Reference = 4)] = 'Reference'),
      (e[(e.Tuple = 8)] = 'Tuple'),
      (e[(e.Anonymous = 16)] = 'Anonymous'),
      (e[(e.Mapped = 32)] = 'Mapped'),
      (e[(e.Instantiated = 64)] = 'Instantiated'),
      (e[(e.ObjectLiteral = 128)] = 'ObjectLiteral'),
      (e[(e.EvolvingArray = 256)] = 'EvolvingArray'),
      (e[(e.ObjectLiteralPatternWithComputedProperties = 512)] =
        'ObjectLiteralPatternWithComputedProperties'),
      (e[(e.ClassOrInterface = 3)] = 'ClassOrInterface')
  })((x = e.ObjectFlags || (e.ObjectFlags = {})))
  var C
  !(function(e) {
    ;(e[(e.Call = 0)] = 'Call'), (e[(e.Construct = 1)] = 'Construct')
  })((C = e.SignatureKind || (e.SignatureKind = {})))
  var S
  !(function(e) {
    ;(e[(e.String = 0)] = 'String'), (e[(e.Number = 1)] = 'Number')
  })((S = e.IndexKind || (e.IndexKind = {})))
  var D
  !(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[(e.Property = 5)] = 'Property')
  })(
    (D =
      e.SpecialPropertyAssignmentKind || (e.SpecialPropertyAssignmentKind = {}))
  )
  var T
  !(function(e) {
    ;(e[(e.Warning = 0)] = 'Warning'),
      (e[(e.Error = 1)] = 'Error'),
      (e[(e.Message = 2)] = 'Message')
  })((T = e.DiagnosticCategory || (e.DiagnosticCategory = {})))
  var E
  !(function(e) {
    ;(e[(e.Classic = 1)] = 'Classic'), (e[(e.NodeJs = 2)] = 'NodeJs')
  })((E = e.ModuleResolutionKind || (e.ModuleResolutionKind = {})))
  var N
  !(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.ES2015 = 5)] = 'ES2015')
  })((N = e.ModuleKind || (e.ModuleKind = {})))
  var A
  !(function(e) {
    ;(e[(e.None = 0)] = 'None'),
      (e[(e.Preserve = 1)] = 'Preserve'),
      (e[(e.React = 2)] = 'React'),
      (e[(e.ReactNative = 3)] = 'ReactNative')
  })((A = e.JsxEmit || (e.JsxEmit = {})))
  var w
  !(function(e) {
    ;(e[(e.CarriageReturnLineFeed = 0)] = 'CarriageReturnLineFeed'),
      (e[(e.LineFeed = 1)] = 'LineFeed')
  })((w = e.NewLineKind || (e.NewLineKind = {})))
  var P
  !(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[(e.External = 5)] = 'External')
  })((P = e.ScriptKind || (e.ScriptKind = {})))
  var O
  !(function(e) {
    ;(e[(e.ES3 = 0)] = 'ES3'),
      (e[(e.ES5 = 1)] = 'ES5'),
      (e[(e.ES2015 = 2)] = 'ES2015'),
      (e[(e.ES2016 = 3)] = 'ES2016'),
      (e[(e.ES2017 = 4)] = 'ES2017'),
      (e[(e.ESNext = 5)] = 'ESNext'),
      (e[(e.Latest = 5)] = 'Latest')
  })((O = e.ScriptTarget || (e.ScriptTarget = {})))
  var F
  !(function(e) {
    ;(e[(e.Standard = 0)] = 'Standard'), (e[(e.JSX = 1)] = 'JSX')
  })((F = e.LanguageVariant || (e.LanguageVariant = {})))
  var I
  !(function(e) {
    ;(e[(e.Simple = 0)] = 'Simple'), (e[(e.Pretty = 1)] = 'Pretty')
  })((I = e.DiagnosticStyle || (e.DiagnosticStyle = {})))
  var R
  !(function(e) {
    ;(e[(e.None = 0)] = 'None'), (e[(e.Recursive = 1)] = 'Recursive')
  })((R = e.WatchDirectoryFlags || (e.WatchDirectoryFlags = {})))
  var M
  !(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')
  })((M = e.CharacterCodes || (e.CharacterCodes = {})))
  var L
  !(function(e) {
    ;(e[(e.Ts = 0)] = 'Ts'),
      (e[(e.Tsx = 1)] = 'Tsx'),
      (e[(e.Dts = 2)] = 'Dts'),
      (e[(e.Js = 3)] = 'Js'),
      (e[(e.Jsx = 4)] = 'Jsx'),
      (e[(e.LastTypeScriptExtension = 2)] = 'LastTypeScriptExtension')
  })((L = e.Extension || (e.Extension = {})))
  var B
  !(function(e) {
    ;(e[(e.None = 0)] = 'None'),
      (e[(e.TypeScript = 1)] = 'TypeScript'),
      (e[(e.ContainsTypeScript = 2)] = 'ContainsTypeScript'),
      (e[(e.ContainsJsx = 4)] = 'ContainsJsx'),
      (e[(e.ContainsESNext = 8)] = 'ContainsESNext'),
      (e[(e.ContainsES2017 = 16)] = 'ContainsES2017'),
      (e[(e.ContainsES2016 = 32)] = 'ContainsES2016'),
      (e[(e.ES2015 = 64)] = 'ES2015'),
      (e[(e.ContainsES2015 = 128)] = 'ContainsES2015'),
      (e[(e.Generator = 256)] = 'Generator'),
      (e[(e.ContainsGenerator = 512)] = 'ContainsGenerator'),
      (e[(e.DestructuringAssignment = 1024)] = 'DestructuringAssignment'),
      (e[(e.ContainsDestructuringAssignment = 2048)] =
        'ContainsDestructuringAssignment'),
      (e[(e.ContainsDecorators = 4096)] = 'ContainsDecorators'),
      (e[(e.ContainsPropertyInitializer = 8192)] =
        'ContainsPropertyInitializer'),
      (e[(e.ContainsLexicalThis = 16384)] = 'ContainsLexicalThis'),
      (e[(e.ContainsCapturedLexicalThis = 32768)] =
        'ContainsCapturedLexicalThis'),
      (e[(e.ContainsLexicalThisInComputedPropertyName = 65536)] =
        'ContainsLexicalThisInComputedPropertyName'),
      (e[(e.ContainsDefaultValueAssignments = 131072)] =
        'ContainsDefaultValueAssignments'),
      (e[(e.ContainsParameterPropertyAssignments = 262144)] =
        'ContainsParameterPropertyAssignments'),
      (e[(e.ContainsSpread = 524288)] = 'ContainsSpread'),
      (e[(e.ContainsObjectSpread = 1048576)] = 'ContainsObjectSpread'),
      (e[(e.ContainsRest = 524288)] = 'ContainsRest'),
      (e[(e.ContainsObjectRest = 1048576)] = 'ContainsObjectRest'),
      (e[(e.ContainsComputedPropertyName = 2097152)] =
        'ContainsComputedPropertyName'),
      (e[(e.ContainsBlockScopedBinding = 4194304)] =
        'ContainsBlockScopedBinding'),
      (e[(e.ContainsBindingPattern = 8388608)] = 'ContainsBindingPattern'),
      (e[(e.ContainsYield = 16777216)] = 'ContainsYield'),
      (e[(e.ContainsHoistedDeclarationOrCompletion = 33554432)] =
        'ContainsHoistedDeclarationOrCompletion'),
      (e[(e.HasComputedFlags = 536870912)] = 'HasComputedFlags'),
      (e[(e.AssertTypeScript = 3)] = 'AssertTypeScript'),
      (e[(e.AssertJsx = 4)] = 'AssertJsx'),
      (e[(e.AssertESNext = 8)] = 'AssertESNext'),
      (e[(e.AssertES2017 = 16)] = 'AssertES2017'),
      (e[(e.AssertES2016 = 32)] = 'AssertES2016'),
      (e[(e.AssertES2015 = 192)] = 'AssertES2015'),
      (e[(e.AssertGenerator = 768)] = 'AssertGenerator'),
      (e[(e.AssertDestructuringAssignment = 3072)] =
        'AssertDestructuringAssignment'),
      (e[(e.NodeExcludes = 536872257)] = 'NodeExcludes'),
      (e[(e.ArrowFunctionExcludes = 601249089)] = 'ArrowFunctionExcludes'),
      (e[(e.FunctionExcludes = 601281857)] = 'FunctionExcludes'),
      (e[(e.ConstructorExcludes = 601015617)] = 'ConstructorExcludes'),
      (e[(e.MethodOrAccessorExcludes = 601015617)] =
        'MethodOrAccessorExcludes'),
      (e[(e.ClassExcludes = 539358529)] = 'ClassExcludes'),
      (e[(e.ModuleExcludes = 574674241)] = 'ModuleExcludes'),
      (e[(e.TypeExcludes = -3)] = 'TypeExcludes'),
      (e[(e.ObjectLiteralExcludes = 540087617)] = 'ObjectLiteralExcludes'),
      (e[(e.ArrayLiteralOrCallOrNewExcludes = 537396545)] =
        'ArrayLiteralOrCallOrNewExcludes'),
      (e[(e.VariableDeclarationListExcludes = 546309441)] =
        'VariableDeclarationListExcludes'),
      (e[(e.ParameterExcludes = 536872257)] = 'ParameterExcludes'),
      (e[(e.CatchClauseExcludes = 537920833)] = 'CatchClauseExcludes'),
      (e[(e.BindingPatternExcludes = 537396545)] = 'BindingPatternExcludes'),
      (e[(e.TypeScriptClassSyntaxMask = 274432)] = 'TypeScriptClassSyntaxMask'),
      (e[(e.ES2015FunctionSyntaxMask = 163840)] = 'ES2015FunctionSyntaxMask')
  })((B = e.TransformFlags || (e.TransformFlags = {})))
  var J
  !(function(e) {
    ;(e[(e.SingleLine = 1)] = 'SingleLine'),
      (e[(e.AdviseOnEmitNode = 2)] = 'AdviseOnEmitNode'),
      (e[(e.NoSubstitution = 4)] = 'NoSubstitution'),
      (e[(e.CapturesThis = 8)] = 'CapturesThis'),
      (e[(e.NoLeadingSourceMap = 16)] = 'NoLeadingSourceMap'),
      (e[(e.NoTrailingSourceMap = 32)] = 'NoTrailingSourceMap'),
      (e[(e.NoSourceMap = 48)] = 'NoSourceMap'),
      (e[(e.NoNestedSourceMaps = 64)] = 'NoNestedSourceMaps'),
      (e[(e.NoTokenLeadingSourceMaps = 128)] = 'NoTokenLeadingSourceMaps'),
      (e[(e.NoTokenTrailingSourceMaps = 256)] = 'NoTokenTrailingSourceMaps'),
      (e[(e.NoTokenSourceMaps = 384)] = 'NoTokenSourceMaps'),
      (e[(e.NoLeadingComments = 512)] = 'NoLeadingComments'),
      (e[(e.NoTrailingComments = 1024)] = 'NoTrailingComments'),
      (e[(e.NoComments = 1536)] = 'NoComments'),
      (e[(e.NoNestedComments = 2048)] = 'NoNestedComments'),
      (e[(e.HelperName = 4096)] = 'HelperName'),
      (e[(e.ExportName = 8192)] = 'ExportName'),
      (e[(e.LocalName = 16384)] = 'LocalName'),
      (e[(e.InternalName = 32768)] = 'InternalName'),
      (e[(e.Indented = 65536)] = 'Indented'),
      (e[(e.NoIndentation = 131072)] = 'NoIndentation'),
      (e[(e.AsyncFunctionBody = 262144)] = 'AsyncFunctionBody'),
      (e[(e.ReuseTempVariableScope = 524288)] = 'ReuseTempVariableScope'),
      (e[(e.CustomPrologue = 1048576)] = 'CustomPrologue'),
      (e[(e.NoHoisting = 2097152)] = 'NoHoisting'),
      (e[(e.HasEndOfDeclarationMarker = 4194304)] =
        'HasEndOfDeclarationMarker'),
      (e[(e.Iterator = 8388608)] = 'Iterator')
  })((J = e.EmitFlags || (e.EmitFlags = {})))
  var z
  !(function(e) {
    ;(e[(e.Extends = 1)] = 'Extends'),
      (e[(e.Assign = 2)] = 'Assign'),
      (e[(e.Rest = 4)] = 'Rest'),
      (e[(e.Decorate = 8)] = 'Decorate'),
      (e[(e.Metadata = 16)] = 'Metadata'),
      (e[(e.Param = 32)] = 'Param'),
      (e[(e.Awaiter = 64)] = 'Awaiter'),
      (e[(e.Generator = 128)] = 'Generator'),
      (e[(e.Values = 256)] = 'Values'),
      (e[(e.Read = 512)] = 'Read'),
      (e[(e.Spread = 1024)] = 'Spread'),
      (e[(e.Await = 2048)] = 'Await'),
      (e[(e.AsyncGenerator = 4096)] = 'AsyncGenerator'),
      (e[(e.AsyncDelegator = 8192)] = 'AsyncDelegator'),
      (e[(e.AsyncValues = 16384)] = 'AsyncValues'),
      (e[(e.ForOfIncludes = 256)] = 'ForOfIncludes'),
      (e[(e.ForAwaitOfIncludes = 16384)] = 'ForAwaitOfIncludes'),
      (e[(e.AsyncGeneratorIncludes = 6144)] = 'AsyncGeneratorIncludes'),
      (e[(e.AsyncDelegatorIncludes = 26624)] = 'AsyncDelegatorIncludes'),
      (e[(e.SpreadIncludes = 1536)] = 'SpreadIncludes'),
      (e[(e.FirstEmitHelper = 1)] = 'FirstEmitHelper'),
      (e[(e.LastEmitHelper = 16384)] = 'LastEmitHelper')
  })((z = e.ExternalEmitHelpers || (e.ExternalEmitHelpers = {})))
  var K
  !(function(e) {
    ;(e[(e.SourceFile = 0)] = 'SourceFile'),
      (e[(e.Expression = 1)] = 'Expression'),
      (e[(e.IdentifierName = 2)] = 'IdentifierName'),
      (e[(e.Unspecified = 3)] = 'Unspecified')
  })((K = e.EmitHint || (e.EmitHint = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  e.timestamp =
    'undefined' != typeof performance && performance.now
      ? function() {
          return performance.now()
        }
      : Date.now
        ? Date.now
        : function() {
            return +new Date()
          }
})(ts || (ts = {})),
  (function(e) {
    var t
    !(function(t) {
      function r(t) {
        p && (_.set(t, e.timestamp()), u.set(t, (u.get(t) || 0) + 1), d(t))
      }
      function n(t, r, n) {
        if (p) {
          var a = (n && _.get(n)) || e.timestamp(),
            i = (r && _.get(r)) || f
          l.set(t, (l.get(t) || 0) + (a - i))
        }
      }
      function a(e) {
        return (u && u.get(e)) || 0
      }
      function i(e) {
        return (l && l.get(e)) || 0
      }
      function o(e) {
        l.forEach(function(t, r) {
          e(r, t)
        })
      }
      function s() {
        ;(u = e.createMap()),
          (_ = e.createMap()),
          (l = e.createMap()),
          (p = !0),
          (f = e.timestamp())
      }
      function c() {
        p = !1
      }
      var u,
        _,
        l,
        d =
          'function' == typeof onProfilerEvent &&
          onProfilerEvent.profiler === !0
            ? onProfilerEvent
            : function(e) {},
        p = !1,
        f = 0
      ;(t.mark = r),
        (t.measure = n),
        (t.getCount = a),
        (t.getDuration = i),
        (t.forEachMeasure = o),
        (t.enable = s),
        (t.disable = c)
    })((t = e.performance || (e.performance = {})))
  })(ts || (ts = {}))
var ts
!(function(e) {
  e.version = '2.3.4'
})(ts || (ts = {})),
  (function(e) {
    function t() {
      var e = Object.create(null)
      return (e.__ = void 0), delete e.__, e
    }
    function r() {
      return new ar()
    }
    function n(e) {
      var t = new ar()
      for (var r in e) or.call(e, r) && t.set(r, e[r])
      return t
    }
    function a() {
      var e = (function() {
        function e(e, t) {
          ;(this.index = 0),
            (this.data = e),
            (this.selector = t),
            (this.keys = Object.keys(e))
        }
        return (
          (e.prototype.next = function() {
            var e = this.index
            return e < this.keys.length
              ? (this.index++,
                { value: this.selector(this.data, this.keys[e]), done: !1 })
              : { value: void 0, done: !0 }
          }),
          e
        )
      })()
      return (function() {
        function r() {
          ;(this.data = t()), (this.size = 0)
        }
        return (
          (r.prototype.get = function(e) {
            return this.data[e]
          }),
          (r.prototype.set = function(e, t) {
            return this.has(e) || this.size++, (this.data[e] = t), this
          }),
          (r.prototype.has = function(e) {
            return e in this.data
          }),
          (r.prototype['delete'] = function(e) {
            return !!this.has(e) && (this.size--, delete this.data[e], !0)
          }),
          (r.prototype.clear = function() {
            ;(this.data = t()), (this.size = 0)
          }),
          (r.prototype.keys = function() {
            return new e(this.data, function(e, t) {
              return t
            })
          }),
          (r.prototype.values = function() {
            return new e(this.data, function(e, t) {
              return e[t]
            })
          }),
          (r.prototype.entries = function() {
            return new e(this.data, function(e, t) {
              return [t, e[t]]
            })
          }),
          (r.prototype.forEach = function(e) {
            for (var t in this.data) e(this.data[t], t)
          }),
          r
        )
      })()
    }
    function i(e) {
      function t(e) {
        _.forEach(function(t, r) {
          e(r, t)
        })
      }
      function n() {
        return Z(_.keys())
      }
      function a(e) {
        return _.get(u(e))
      }
      function i(e, t) {
        _.set(u(e), t)
      }
      function o(e) {
        return _.has(u(e))
      }
      function s(e) {
        _['delete'](u(e))
      }
      function c() {
        _.clear()
      }
      function u(t) {
        return e ? e(t) : t
      }
      var _ = r()
      return {
        get: a,
        set: i,
        contains: o,
        remove: s,
        forEachValue: t,
        getKeys: n,
        clear: c
      }
    }
    function o(e, t, r) {
      var n = We(e) ? Le(e) : Qe(e, t)
      return r(n)
    }
    function s(e) {
      return e ? e.length : 0
    }
    function c(e, t) {
      if (e)
        for (var r = 0; r < e.length; r++) {
          var n = t(e[r], r)
          if (n) return n
        }
    }
    function u(e, t) {
      for (; e; ) {
        var r = t(e)
        if ('quit' === r) return
        if (r) return e
        e = e.parent
      }
    }
    function _(e, t, r) {
      mr.assert(e.length === t.length)
      for (var n = 0; n < e.length; n++) r(e[n], t[n], n)
    }
    function l(e, t) {
      if (e) for (var r = 0; r < e.length; r++) if (!t(e[r], r)) return !1
      return !0
    }
    function d(e, t) {
      for (var r = 0; r < e.length; r++) {
        var n = e[r]
        if (t(n, r)) return n
      }
    }
    function p(e, t) {
      for (var r = 0; r < e.length; r++) if (t(e[r], r)) return r
      return -1
    }
    function f(e, t) {
      for (var r = 0; r < e.length; r++) {
        var n = t(e[r], r)
        if (n) return n
      }
      mr.fail()
    }
    function g(e, t) {
      if (e)
        for (var r = 0, n = e; r < n.length; r++) {
          var a = n[r]
          if (a === t) return !0
        }
      return !1
    }
    function m(e, t) {
      if (e) for (var r = 0; r < e.length; r++) if (e[r] === t) return r
      return -1
    }
    function y(e, t, r) {
      for (var n = r || 0; n < e.length; n++)
        if (g(t, e.charCodeAt(n))) return n
      return -1
    }
    function v(e, t) {
      var r = 0
      if (e)
        for (var n = 0; n < e.length; n++) {
          var a = e[n]
          t(a, n) && r++
        }
      return r
    }
    function h(e, t) {
      if (e) {
        for (var r = e.length, n = 0; n < r && t(e[n]); ) n++
        if (n < r) {
          var a = e.slice(0, n)
          for (n++; n < r; ) {
            var i = e[n]
            t(i) && a.push(i), n++
          }
          return a
        }
      }
      return e
    }
    function b(e, t) {
      for (var r = 0, n = 0, a = e; n < a.length; n++) {
        var i = a[n]
        t(i) || ((e[r] = i), r++)
      }
      return r !== e.length && ((e.length = r), !0)
    }
    function k(e, t) {
      for (var r = 0, n = 0, a = e; n < a.length; n++) {
        var i = a[n]
        t(i) && ((e[r] = i), r++)
      }
      e.length = r
    }
    function x(e, t) {
      var r
      if (e) {
        r = []
        for (var n = 0; n < e.length; n++) r.push(t(e[n], n))
      }
      return r
    }
    function C(e, t) {
      var r
      if (e)
        for (var n = 0; n < e.length; n++)
          if (r) r.push(t(e[n], n))
          else {
            var a = e[n],
              i = t(a, n)
            a !== i && ((r = e.slice(0, n)), r.push(i))
          }
      return r || e
    }
    function S(e) {
      var t
      if (e) {
        t = []
        for (var r = 0, n = e; r < n.length; r++) {
          var a = n[r]
          a && (de(a) ? B(t, a) : t.push(a))
        }
      }
      return t
    }
    function D(e, t) {
      var r
      if (e) {
        r = []
        for (var n = 0; n < e.length; n++) {
          var a = t(e[n], n)
          a && (de(a) ? B(r, a) : r.push(a))
        }
      }
      return r
    }
    function T(e, t) {
      if (e) {
        for (var r = 0; r < e.length; r++)
          if (!t(e[r], r)) return [e.slice(0, r), e.slice(r)]
        return [e.slice(0), []]
      }
    }
    function E(e, t, r) {
      var n
      if (e) {
        n = []
        for (var a = e.length, i = void 0, o = void 0, s = 0, c = 0; s < a; ) {
          for (; c < a; ) {
            var u = e[c]
            if (((o = t(u, c)), 0 === c)) i = o
            else if (o !== i) break
            c++
          }
          if (s < c) {
            var _ = r(e.slice(s, c), i, s, c)
            _ && n.push(_), (s = c)
          }
          ;(i = o), c++
        }
      }
      return n
    }
    function N(e, t) {
      if (e) {
        var n = r()
        return (
          e.forEach(function(e, r) {
            var a = t(r, e),
              i = a[0],
              o = a[1]
            n.set(i, o)
          }),
          n
        )
      }
    }
    function A(e, t) {
      if (e) {
        if (!t) return e.length > 0
        for (var r = 0, n = e; r < n.length; r++) {
          var a = n[r]
          if (t(a)) return !0
        }
      }
      return !1
    }
    function w(e, t) {
      return A(t) ? (A(e) ? e.concat(t) : t) : e
    }
    function P(e, t) {
      var r
      if (e) {
        r = []
        e: for (var n = 0, a = e; n < a.length; n++) {
          for (var i = a[n], o = 0, s = r; o < s.length; o++) {
            var c = s[o]
            if (t ? t(c, i) : c === i) continue e
          }
          r.push(i)
        }
      }
      return r
    }
    function O(e, t, r) {
      if (!e || !t) return e === t
      if (e.length !== t.length) return !1
      for (var n = 0; n < e.length; n++) {
        var a = r ? r(e[n], t[n]) : e[n] === t[n]
        if (!a) return !1
      }
      return !0
    }
    function F(e, t) {
      return !(
        e &&
        e.module === t.module &&
        e.moduleResolution === t.moduleResolution &&
        e.noResolve === t.noResolve &&
        e.target === t.target &&
        e.noLib === t.noLib &&
        e.jsx === t.jsx &&
        e.allowJs === t.allowJs &&
        e.rootDir === t.rootDir &&
        e.configFilePath === t.configFilePath &&
        e.baseUrl === t.baseUrl &&
        e.maxNodeModuleJsDepth === t.maxNodeModuleJsDepth &&
        O(e.lib, t.lib) &&
        O(e.typeRoots, t.typeRoots) &&
        O(e.rootDirs, t.rootDirs) &&
        ae(e.paths, t.paths)
      )
    }
    function I(e) {
      var t
      if (e)
        for (var r = 0; r < e.length; r++) {
          var n = e[r]
          ;(!t && n) || (t || (t = e.slice(0, r)), n && t.push(n))
        }
      return t || e
    }
    function R(e, t, r, n, a) {
      if (
        (void 0 === r && (r = Te),
        void 0 === n && (n = 0),
        void 0 === a && (a = 0),
        !t || !e || 0 === t.length || 0 === e.length)
      )
        return t
      var i = []
      e: for (; a < t.length; a++) {
        t: for (; n < e.length; n++)
          switch (r(t[a], e[n])) {
            case -1:
              break t
            case 0:
              continue e
            case 1:
              continue t
          }
        i.push(t[a])
      }
      return i
    }
    function M(e, t) {
      for (var r = 0, n = 0, a = e; n < a.length; n++) {
        var i = a[n]
        r += i[t]
      }
      return r
    }
    function L(e, t) {
      return void 0 === t ? e : void 0 === e ? [t] : (e.push(t), e)
    }
    function B(e, t) {
      if (void 0 === t) return e
      for (var r = 0, n = t; r < n.length; r++) {
        var a = n[r]
        e = L(e, a)
      }
      return e
    }
    function J(e, t) {
      return (
        void 0 === t && (t = Te),
        e
          .map(function(e, t) {
            return t
          })
          .sort(function(r, n) {
            return t(e[r], e[n]) || Te(r, n)
          })
          .map(function(t) {
            return e[t]
          })
      )
    }
    function z(e, t, r, n) {
      for (; r < n; ) {
        if (e[r] !== t[r]) return !1
        r++
      }
      return !0
    }
    function K(e) {
      return e && e.length > 0 ? e[0] : void 0
    }
    function j(e) {
      return e && e.length > 0 ? e[e.length - 1] : void 0
    }
    function V(e) {
      return e && 1 === e.length ? e[0] : void 0
    }
    function q(e) {
      return e && 1 === e.length ? e[0] : e
    }
    function U(e, t, r) {
      var n = e.slice(0)
      return (n[t] = r), n
    }
    function W(e, t, r, n) {
      if (!e || 0 === e.length) return -1
      var a = n || 0,
        i = e.length - 1
      for (
        r =
          void 0 !== r
            ? r
            : function(e, t) {
                return e < t ? -1 : e > t ? 1 : 0
              };
        a <= i;

      ) {
        var o = a + ((i - a) >> 1),
          s = e[o]
        if (0 === r(s, t)) return o
        r(s, t) > 0 ? (i = o - 1) : (a = o + 1)
      }
      return ~a
    }
    function H(e, t, r, n, a) {
      if (e && e.length > 0) {
        var i = e.length
        if (i > 0) {
          var o = void 0 === n || n < 0 ? 0 : n,
            s = void 0 === a || o + a > i - 1 ? i - 1 : o + a,
            c = void 0
          for (arguments.length <= 2 ? ((c = e[o]), o++) : (c = r); o <= s; )
            (c = t(c, e[o], o)), o++
          return c
        }
      }
      return r
    }
    function G(e, t, r, n, a) {
      if (e) {
        var i = e.length
        if (i > 0) {
          var o = void 0 === n || n > i - 1 ? i - 1 : n,
            s = void 0 === a || o - a < 0 ? 0 : o - a,
            c = void 0
          for (arguments.length <= 2 ? ((c = e[o]), o--) : (c = r); o >= s; )
            (c = t(c, e[o], o)), o--
          return c
        }
      }
      return r
    }
    function X(e, t) {
      return or.call(e, t)
    }
    function Q(e, t) {
      return or.call(e, t) ? e[t] : void 0
    }
    function Y(e) {
      var t = []
      for (var r in e) or.call(e, r) && t.push(r)
      return t
    }
    function Z(e, t) {
      for (
        var r = [], n = e.next(), a = n.value, i = n.done;
        !i;
        o = e.next(), a = o.value, i = o.done, o
      )
        r.push(t ? t(a) : a)
      return r
      var o
    }
    function $(e, t) {
      for (
        var r = [], n = e.next(), a = n.value, i = n.done;
        !i;
        o = e.next(), a = o.value, i = o.done, o
      )
        r.push(t(a))
      return r
      var o
    }
    function ee(e, t) {
      for (
        var r = e.entries(), n = r.next(), a = n.value, i = n.done;
        !i;
        u = r.next(), a = u.value, i = u.done, u
      ) {
        var o = a[0],
          s = a[1],
          c = t(s, o)
        if (c) return c
      }
      return
      var u
    }
    function te(e, t) {
      for (
        var r = e.keys(), n = r.next(), a = n.value, i = n.done;
        !i;
        s = r.next(), a = s.value, i = s.done, s
      ) {
        var o = t(a)
        if (o) return o
      }
      return
      var s
    }
    function re(e, t) {
      e.forEach(function(e, r) {
        t.set(r, e)
      })
    }
    function ne(e) {
      for (var t = [], r = 1; r < arguments.length; r++) t[r - 1] = arguments[r]
      for (var n = 0, a = t; n < a.length; n++) {
        var i = a[n]
        for (var o in i) X(i, o) && (e[o] = i[o])
      }
      return e
    }
    function ae(e, t, r) {
      if (e === t) return !0
      if (!e || !t) return !1
      for (var n in e)
        if (or.call(e, n)) {
          if (void 0 === !or.call(t, n)) return !1
          if (r ? !r(e[n], t[n]) : e[n] !== t[n]) return !1
        }
      for (var n in t) if (or.call(t, n) && !or.call(e, n)) return !1
      return !0
    }
    function ie(e, t, n) {
      for (var a = r(), i = 0, o = e; i < o.length; i++) {
        var s = o[i]
        a.set(t(s), n ? n(s) : s)
      }
      return a
    }
    function oe(e) {
      var t = r()
      return re(e, t), t
    }
    function se(e) {
      var t = {}
      for (var r in e) or.call(e, r) && (t[r] = e[r])
      return t
    }
    function ce(e, t) {
      var r = {}
      for (var n in t) or.call(t, n) && (r[n] = t[n])
      for (var n in e) or.call(e, n) && (r[n] = e[n])
      return r
    }
    function ue() {
      var e = r()
      return (e.add = _e), (e.remove = le), e
    }
    function _e(e, t) {
      var r = this.get(e)
      return r ? r.push(t) : this.set(e, (r = [t])), r
    }
    function le(e, t) {
      var r = this.get(e)
      r && (Vt(r, t), r.length || this['delete'](e))
    }
    function de(e) {
      return Array.isArray ? Array.isArray(e) : e instanceof Array
    }
    function pe() {}
    function fe() {
      throw new Error('Not implemented')
    }
    function ge(e) {
      var t
      return function() {
        return e && ((t = e()), (e = void 0)), t
      }
    }
    function me(e, t, r, n, a) {
      if (a) {
        for (var i = [], o = 0; o < arguments.length; o++) i[o] = arguments[o]
        return function(e) {
          return ye.apply(
            void 0,
            x(i, function(t) {
              return t(e)
            })
          )
        }
      }
      return n
        ? function(a) {
            return ye(e(a), t(a), r(a), n(a))
          }
        : r
          ? function(n) {
              return ye(e(n), t(n), r(n))
            }
          : t
            ? function(r) {
                return ye(e(r), t(r))
              }
            : e
              ? function(t) {
                  return ye(e(t))
                }
              : function(e) {
                  return function(e) {
                    return e
                  }
                }
    }
    function ye(e, t, r, n, a) {
      if (a) {
        for (var i = [], o = 0; o < arguments.length; o++) i[o] = arguments[o]
        return function(e) {
          return H(
            i,
            function(e, t) {
              return t(e)
            },
            e
          )
        }
      }
      return n
        ? function(a) {
            return n(r(t(e(a))))
          }
        : r
          ? function(n) {
              return r(t(e(n)))
            }
          : t
            ? function(r) {
                return t(e(r))
              }
            : e
              ? function(t) {
                  return e(t)
                }
              : function(e) {
                  return e
                }
    }
    function ve(e, t, r) {
      return (
        (r = r || 0),
        e.replace(/{(\d+)}/g, function(e, n) {
          return t[+n + r]
        })
      )
    }
    function he(t) {
      return (
        (e.localizedDiagnosticMessages &&
          e.localizedDiagnosticMessages[t.key]) ||
        t.message
      )
    }
    function be(e, t, r, n) {
      var a = t + r
      mr.assert(t >= 0, 'start must be non-negative, is ' + t),
        mr.assert(r >= 0, 'length must be non-negative, is ' + r),
        e &&
          (mr.assert(
            t <= e.text.length,
            'start must be within the bounds of the file. ' +
              t +
              ' > ' +
              e.text.length
          ),
          mr.assert(
            a <= e.text.length,
            'end must be the bounds of the file. ' + a + ' > ' + e.text.length
          ))
      var i = he(n)
      return (
        arguments.length > 4 && (i = ve(i, arguments, 4)),
        {
          file: e,
          start: t,
          length: r,
          messageText: i,
          category: n.category,
          code: n.code
        }
      )
    }
    function ke(e, t) {
      var r = he(t)
      return arguments.length > 2 && (r = ve(r, arguments, 2)), r
    }
    function xe(e) {
      var t = he(e)
      return (
        arguments.length > 1 && (t = ve(t, arguments, 1)),
        {
          file: void 0,
          start: void 0,
          length: void 0,
          messageText: t,
          category: e.category,
          code: e.code
        }
      )
    }
    function Ce(e) {
      return {
        file: void 0,
        start: void 0,
        length: void 0,
        code: e.code,
        category: e.category,
        messageText: e.next ? e : e.messageText
      }
    }
    function Se(e, t) {
      var r = he(t)
      return (
        arguments.length > 2 && (r = ve(r, arguments, 2)),
        { messageText: r, category: t.category, code: t.code, next: e }
      )
    }
    function De(e, t) {
      for (var r = e; r.next; ) r = r.next
      return (r.next = t), e
    }
    function Te(e, t) {
      return e === t ? 0 : void 0 === e ? -1 : void 0 === t ? 1 : e < t ? -1 : 1
    }
    function Ee(t, r, n) {
      if (t === r) return 0
      if (void 0 === t) return -1
      if (void 0 === r) return 1
      if (n) {
        if (e.collator) {
          var a = e.localeCompareIsCorrect
            ? e.collator.compare(t, r)
            : t.localeCompare(r, void 0, {
                usage: 'sort',
                sensitivity: 'accent'
              })
          return a < 0 ? -1 : a > 0 ? 1 : 0
        }
        if (((t = t.toUpperCase()), (r = r.toUpperCase()), t === r)) return 0
      }
      return t < r ? -1 : 1
    }
    function Ne(e, t) {
      return Ee(e, t, !0)
    }
    function Ae(e) {
      return e.file ? e.file.fileName : void 0
    }
    function we(e, t) {
      return (
        Te(Ae(e), Ae(t)) ||
        Te(e.start, t.start) ||
        Te(e.length, t.length) ||
        Te(e.code, t.code) ||
        Pe(e.messageText, t.messageText) ||
        0
      )
    }
    function Pe(e, t) {
      for (; e && t; ) {
        var r = 'string' == typeof e ? e : e.messageText,
          n = 'string' == typeof t ? t : t.messageText,
          a = Te(r, n)
        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 Oe(e) {
      return Fe(e.sort(we))
    }
    function Fe(e) {
      if (e.length < 2) return e
      for (var t = [e[0]], r = e[0], n = 1; n < e.length; n++) {
        var a = e[n],
          i = 0 === we(a, r)
        i || (t.push(a), (r = a))
      }
      return t
    }
    function Ie(e) {
      return e.replace(/\\/g, '/')
    }
    function Re(e) {
      if (47 === e.charCodeAt(0)) {
        if (47 !== e.charCodeAt(1)) return 1
        var t = e.indexOf('/', 2)
        if (t < 0) return 2
        var r = e.indexOf('/', t + 1)
        return r < 0 ? t + 1 : r + 1
      }
      if (58 === e.charCodeAt(1)) return 47 === e.charCodeAt(2) ? 3 : 2
      if (0 === e.lastIndexOf('file:///', 0)) return 'file:///'.length
      var n = e.indexOf('://')
      return n !== -1 ? n + '://'.length : 0
    }
    function Me(t, r) {
      for (
        var n = t.substr(r).split(e.directorySeparator), a = [], i = 0, o = n;
        i < o.length;
        i++
      ) {
        var s = o[i]
        '.' !== s &&
          ('..' === s && a.length > 0 && '..' !== j(a)
            ? a.pop()
            : s && a.push(s))
      }
      return a
    }
    function Le(t) {
      t = Ie(t)
      var r = Re(t),
        n = t.substr(0, r),
        a = Me(t, r)
      if (a.length) {
        var i = n + a.join(e.directorySeparator)
        return Be(t) ? i + e.directorySeparator : i
      }
      return n
    }
    function Be(e) {
      return e.charCodeAt(e.length - 1) === sr
    }
    function Je(t) {
      return t.substr(0, Math.max(Re(t), t.lastIndexOf(e.directorySeparator)))
    }
    function ze(e) {
      return e && !We(e) && e.indexOf('://') !== -1
    }
    function Ke(e) {
      return /^\.\.?($|[\\\/])/.test(e)
    }
    function je(e) {
      return e.target || 0
    }
    function Ve(t) {
      return 'number' == typeof t.module
        ? t.module
        : je(t) >= 2
          ? e.ModuleKind.ES2015
          : e.ModuleKind.CommonJS
    }
    function qe(t) {
      var r = t.moduleResolution
      return (
        void 0 === r &&
          (r =
            Ve(t) === e.ModuleKind.CommonJS
              ? e.ModuleResolutionKind.NodeJs
              : e.ModuleResolutionKind.Classic),
        r
      )
    }
    function Ue(e) {
      for (var t = !1, r = 0; r < e.length; r++)
        if (42 === e.charCodeAt(r)) {
          if (t) return !1
          t = !0
        }
      return !0
    }
    function We(e) {
      return 0 !== Re(e)
    }
    function He(e, t, r) {
      return We(e) ? et(t, e, t, r, !1) : e
    }
    function Ge(e, t) {
      var r = Me(e, t)
      return [e.substr(0, t)].concat(r)
    }
    function Xe(e, t) {
      e = Ie(e)
      var r = Re(e)
      return 0 === r && ((e = rt(Ie(t), e)), (r = Re(e))), Ge(e, r)
    }
    function Qe(e, t) {
      return Ye(Xe(e, t))
    }
    function Ye(t) {
      if (t && t.length) return t[0] + t.slice(1).join(e.directorySeparator)
    }
    function Ze(t) {
      for (
        var r = t.length, n = t.indexOf('://') + '://'.length;
        n < r && 47 === t.charCodeAt(n);

      )
        n++
      if (n === r) return [t]
      var a = t.indexOf(e.directorySeparator, n)
      return a !== -1 ? ((n = a + 1), Ge(t, n)) : [t + e.directorySeparator]
    }
    function $e(e, t) {
      return ze(e) ? Ze(e) : Xe(e, t)
    }
    function et(t, r, n, a, i) {
      var o = $e(r, n),
        s = $e(t, n)
      s.length > 1 && '' === j(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] && (u = u + '..' + e.directorySeparator)
        return u + _.join(e.directorySeparator)
      }
      var l = Ye(o)
      return i && We(l) && (l = 'file:///' + l), l
    }
    function tt(t) {
      if (void 0 !== t) {
        var r = t.lastIndexOf(e.directorySeparator)
        return r < 0 ? t : t.substring(r + 1)
      }
    }
    function rt(t, r) {
      return t && t.length
        ? r && r.length
          ? 0 !== Re(r)
            ? r
            : t.charAt(t.length - 1) === e.directorySeparator
              ? t + r
              : t + e.directorySeparator + r
          : t
        : r
    }
    function nt(t) {
      return t.charAt(t.length - 1) === e.directorySeparator
        ? t.substr(0, t.length - 1)
        : t
    }
    function at(t) {
      return t.charAt(t.length - 1) !== e.directorySeparator
        ? t + e.directorySeparator
        : t
    }
    function it(e, t, r, n) {
      if (e === t) return 0
      if (void 0 === e) return -1
      if (void 0 === t) return 1
      ;(e = nt(e)), (t = nt(t))
      for (
        var a = Xe(e, r), i = Xe(t, r), o = Math.min(a.length, i.length), s = 0;
        s < o;
        s++
      ) {
        var c = Ee(a[s], i[s], n)
        if (0 !== c) return c
      }
      return Te(a.length, i.length)
    }
    function ot(e, t, r, n) {
      if (void 0 === e || void 0 === t) return !1
      if (e === t) return !0
      if (((e = nt(e)), (t = nt(t)), e === t)) return !0
      var a = Xe(e, r),
        i = Xe(t, r)
      if (i.length < a.length) return !1
      for (var o = 0; o < a.length; o++) {
        var s = Ee(a[o], i[o], n)
        if (0 !== s) return !1
      }
      return !0
    }
    function st(e, t) {
      return 0 === e.lastIndexOf(t, 0)
    }
    function ct(e, t) {
      var r = e.length - t.length
      return r >= 0 && e.indexOf(t, r) === r
    }
    function ut(e) {
      return tt(e).indexOf('.') >= 0
    }
    function _t(e, t) {
      return e.length > t.length && ct(e, t)
    }
    function lt(e, t) {
      for (var r = 0, n = t; r < n.length; r++) {
        var a = n[r]
        if (_t(e, a)) return !0
      }
      return !1
    }
    function dt(e, t, r) {
      var n = pt(e, t, r)
      if (n && n.length) {
        var a = n
            .map(function(e) {
              return '(' + e + ')'
            })
            .join('|'),
          i = 'exclude' === r ? '($|/)' : '$'
        return '^(' + a + ')' + i
      }
    }
    function pt(e, t, r) {
      if (void 0 !== e && 0 !== e.length) {
        var n = 'files' === r ? mt : yt,
          a = 'files' === r ? _r : lr,
          i = 'exclude' === r ? '(/.+?)?' : '(/[^/.][^/]*)*?'
        return D(e, function(e) {
          return e && gt(e, t, r, a, i, n)
        })
      }
    }
    function ft(e) {
      return !/[.*?]/.test(e)
    }
    function gt(t, r, n, a, i, o) {
      var s = '',
        c = !1,
        u = !1,
        _ = Xe(t, r),
        l = j(_)
      if ('exclude' === n || '**' !== l) {
        ;(_[0] = nt(_[0])), ft(l) && _.push('**', '*')
        for (var d = 0, p = 0, f = _; p < f.length; p++) {
          var g = f[p]
          if ('**' === g) {
            if (c) return
            ;(s += i), (c = !0)
          } else
            'directories' === n && ((s += '('), d++),
              u && (s += e.directorySeparator),
              'exclude' !== n &&
                (42 === g.charCodeAt(0)
                  ? ((s += '([^./]' + a + ')?'), (g = g.substr(1)))
                  : 63 === g.charCodeAt(0) &&
                    ((s += '[^./]'), (g = g.substr(1)))),
              (s += g.replace(cr, o))
          u = !0
        }
        for (; d > 0; ) (s += ')?'), d--
        return s
      }
    }
    function mt(e) {
      return vt(e, _r)
    }
    function yt(e) {
      return vt(e, lr)
    }
    function vt(e, t) {
      return '*' === e ? t : '?' === e ? '[^/]' : '\\' + e
    }
    function ht(e, t, r, n, a) {
      ;(e = Le(e)), (a = Le(a))
      var i = rt(a, e)
      return {
        includeFilePatterns: x(pt(r, i, 'files'), function(e) {
          return '^' + e + '$'
        }),
        includeFilePattern: dt(r, i, 'files'),
        includeDirectoryPattern: dt(r, i, 'directories'),
        excludePattern: dt(t, i, 'exclude'),
        basePaths: kt(e, r, n)
      }
    }
    function bt(e, t, r, n, a, i, o) {
      function s(e, r) {
        var n = o(e),
          a = n.files,
          i = n.directories
        ;(a = a.slice().sort(g)), (i = i.slice().sort(g))
        for (
          var c = function(n) {
              var a = rt(e, n),
                i = rt(r, n)
              if (t && !lt(a, t)) return 'continue'
              if (d && d.test(i)) return 'continue'
              if (_) {
                var o = p(_, function(e) {
                  return e.test(i)
                })
                o !== -1 && f[o].push(a)
              } else f[0].push(a)
            },
            u = 0,
            m = a;
          u < m.length;
          u++
        ) {
          var y = m[u]
          c(y)
        }
        for (var v = 0, h = i; v < h.length; v++) {
          var y = h[v],
            b = rt(e, y),
            k = rt(r, y)
          ;(l && !l.test(k)) || (d && d.test(k)) || s(b, k)
        }
      }
      ;(e = Le(e)), (i = Le(i))
      for (
        var c = ht(e, r, n, a, i),
          u = a ? '' : 'i',
          _ =
            c.includeFilePatterns &&
            c.includeFilePatterns.map(function(e) {
              return new RegExp(e, u)
            }),
          l =
            c.includeDirectoryPattern &&
            new RegExp(c.includeDirectoryPattern, u),
          d = c.excludePattern && new RegExp(c.excludePattern, u),
          f = _
            ? _.map(function() {
                return []
              })
            : [[]],
          g = a ? Ee : Ne,
          m = 0,
          y = c.basePaths;
        m < y.length;
        m++
      ) {
        var v = y[m]
        s(v, rt(i, v))
      }
      return S(f)
    }
    function kt(t, r, n) {
      var a = [t]
      if (r) {
        for (var i = [], o = 0, s = r; o < s.length; o++) {
          var c = s[o],
            u = We(c) ? c : Le(rt(t, c))
          i.push(xt(u))
        }
        i.sort(n ? Ee : Ne)
        for (
          var _ = function(r) {
              e.every(a, function(e) {
                return !ot(e, r, t, !n)
              }) && a.push(r)
            },
            l = 0,
            d = i;
          l < d.length;
          l++
        ) {
          var p = d[l]
          _(p)
        }
      }
      return a
    }
    function xt(t) {
      var r = y(t, ur)
      return r < 0
        ? ut(t)
          ? nt(Je(t))
          : t
        : t.substring(0, t.lastIndexOf(e.directorySeparator, r))
    }
    function Ct(e, t) {
      return t || St(e) || 3
    }
    function St(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 Dt(t, r) {
      var n = t && t.allowJs
      if (!r || 0 === r.length || !n)
        return n ? dr : e.supportedTypeScriptExtensions
      for (var a = dr.slice(0), i = 0, o = r; i < o.length; i++) {
        var s = o[i]
        a.indexOf(s.extension) === -1 && a.push(s.extension)
      }
      return a
    }
    function Tt(t) {
      return c(e.supportedJavascriptExtensions, function(e) {
        return _t(t, e)
      })
    }
    function Et(t) {
      return c(e.supportedTypeScriptExtensions, function(e) {
        return _t(t, e)
      })
    }
    function Nt(e, t, r) {
      if (!e) return !1
      for (var n = 0, a = Dt(t, r); n < a.length; n++) {
        var i = a[n]
        if (_t(e, i)) return !0
      }
      return !1
    }
    function At(e, t) {
      for (var r = t.length - 1; r >= 0; r--) if (_t(e, t[r])) return wt(r, t)
      return 0
    }
    function wt(e, t) {
      return e < 2 ? 0 : e < t.length ? 2 : t.length
    }
    function Pt(e, t) {
      return e < 2 ? 2 : t.length
    }
    function Ot(e) {
      for (var t = 0, r = fr; t < r.length; t++) {
        var n = r[t],
          a = Ft(e, n)
        if (void 0 !== a) return a
      }
      return e
    }
    function Ft(e, t) {
      return _t(e, t) ? It(e, t) : void 0
    }
    function It(e, t) {
      return e.substring(0, e.length - t.length)
    }
    function Rt(e, t) {
      return Ot(e) + t
    }
    function Mt(e, t) {
      ;(this.flags = e), (this.name = t), (this.declarations = void 0)
    }
    function Lt(e, t) {
      this.flags = t
    }
    function Bt() {}
    function Jt(e, t, r) {
      ;(this.id = 0),
        (this.kind = e),
        (this.pos = t),
        (this.end = r),
        (this.flags = 0),
        (this.modifierFlagsCache = 0),
        (this.transformFlags = 0),
        (this.parent = void 0),
        (this.original = void 0)
    }
    function zt(e, t) {
      for (var r = 0; r < e.length; r++) if (e[r] === t) return Kt(e, r), !0
      return !1
    }
    function Kt(e, t) {
      for (var r = t; r < e.length - 1; r++) e[r] = e[r + 1]
      e.pop()
    }
    function jt(e, t) {
      ;(e[t] = e[e.length - 1]), e.pop()
    }
    function Vt(e, t) {
      qt(e, function(e) {
        return e === t
      })
    }
    function qt(e, t) {
      for (var r = 0; r < e.length; r++)
        if (t(e[r])) {
          jt(e, r)
          break
        }
    }
    function Ut(e) {
      return e
        ? function(e) {
            return e
          }
        : function(e) {
            return e.toLowerCase()
          }
    }
    function Wt(e, t) {
      for (var r = [], n = 0, a = e; n < a.length; n++) {
        var i = a[n],
          o = Yt(i)
        if (o) r.push(o)
        else if (i === t) return i
      }
      return Xt(
        r,
        function(e) {
          return e
        },
        t
      )
    }
    function Ht(e) {
      var t = e.prefix,
        r = e.suffix
      return t + '*' + r
    }
    function Gt(e, t) {
      return (
        mr.assert(Qt(e, t)),
        t.substr(e.prefix.length, t.length - e.suffix.length)
      )
    }
    function Xt(e, t, r) {
      for (var n = void 0, a = -1, i = 0, o = e; i < o.length; i++) {
        var s = o[i],
          c = t(s)
        Qt(c, r) && c.prefix.length > a && ((a = c.prefix.length), (n = s))
      }
      return n
    }
    function Qt(e, t) {
      var r = e.prefix,
        n = e.suffix
      return t.length >= r.length + n.length && st(t, r) && ct(t, n)
    }
    function Yt(e) {
      mr.assert(Ue(e))
      var t = e.indexOf('*')
      return t === -1
        ? void 0
        : { prefix: e.substr(0, t), suffix: e.substr(t + 1) }
    }
    function Zt(e) {
      return !(e >= 0)
    }
    function $t(t) {
      return t <= e.Extension.LastTypeScriptExtension
    }
    function er(e) {
      var t = tr(e)
      return void 0 !== t
        ? t
        : void mr.fail('File ' + e + ' has unknown extension.')
    }
    function tr(t) {
      return _t(t, '.d.ts')
        ? e.Extension.Dts
        : _t(t, '.ts')
          ? e.Extension.Ts
          : _t(t, '.tsx')
            ? e.Extension.Tsx
            : _t(t, '.js')
              ? e.Extension.Js
              : _t(t, '.jsx')
                ? e.Extension.Jsx
                : void 0
    }
    function rr(e, t) {
      return e.checkJsDirective ? e.checkJsDirective.enabled : t.checkJs
    }
    var nr
    !(function(e) {
      ;(e[(e.False = 0)] = 'False'),
        (e[(e.Maybe = 1)] = 'Maybe'),
        (e[(e.True = -1)] = 'True')
    })((nr = e.Ternary || (e.Ternary = {}))),
      (e.collator =
        'object' == typeof Intl && 'function' == typeof Intl.Collator
          ? new Intl.Collator(void 0, { usage: 'sort', sensitivity: 'accent' })
          : void 0),
      (e.localeCompareIsCorrect =
        e.collator && e.collator.compare('a', 'B') < 0),
      (e.createMap = r),
      (e.createMapFromTemplate = n)
    var ar = 'undefined' != typeof Map && 'entries' in Map.prototype ? Map : a()
    ;(e.createFileMap = i), (e.toPath = o)
    var ir
    !(function(e) {
      ;(e[(e.LessThan = -1)] = 'LessThan'),
        (e[(e.EqualTo = 0)] = 'EqualTo'),
        (e[(e.GreaterThan = 1)] = 'GreaterThan')
    })((ir = e.Comparison || (e.Comparison = {}))),
      (e.length = s),
      (e.forEach = c),
      (e.findAncestor = u),
      (e.zipWith = _),
      (e.every = l),
      (e.find = d),
      (e.findIndex = p),
      (e.findMap = f),
      (e.contains = g),
      (e.indexOf = m),
      (e.indexOfAnyCharCode = y),
      (e.countWhere = v),
      (e.filter = h),
      (e.removeWhere = b),
      (e.filterMutate = k),
      (e.map = x),
      (e.sameMap = C),
      (e.flatten = S),
      (e.flatMap = D),
      (e.span = T),
      (e.spanMap = E),
      (e.mapEntries = N),
      (e.some = A),
      (e.concatenate = w),
      (e.deduplicate = P),
      (e.arrayIsEqualTo = O),
      (e.changesAffectModuleResolution = F),
      (e.compact = I),
      (e.relativeComplement = R),
      (e.sum = M),
      (e.append = L),
      (e.addRange = B),
      (e.stableSort = J),
      (e.rangeEquals = z),
      (e.firstOrUndefined = K),
      (e.lastOrUndefined = j),
      (e.singleOrUndefined = V),
      (e.singleOrMany = q),
      (e.replaceElement = U),
      (e.binarySearch = W),
      (e.reduceLeft = H),
      (e.reduceRight = G)
    var or = Object.prototype.hasOwnProperty
    ;(e.hasProperty = X),
      (e.getProperty = Q),
      (e.getOwnKeys = Y),
      (e.arrayFrom = Z),
      (e.convertToArray = $),
      (e.forEachEntry = ee),
      (e.forEachKey = te),
      (e.copyEntries = re),
      (e.assign = ne),
      (e.equalOwnProperties = ae),
      (e.arrayToMap = ie),
      (e.cloneMap = oe),
      (e.clone = se),
      (e.extend = ce),
      (e.createMultiMap = ue),
      (e.isArray = de),
      (e.noop = pe),
      (e.notImplemented = fe),
      (e.memoize = ge),
      (e.chain = me),
      (e.compose = ye),
      (e.formatStringFromArgs = ve),
      (e.localizedDiagnosticMessages = void 0),
      (e.getLocaleSpecificMessage = he),
      (e.createFileDiagnostic = be),
      (e.formatMessage = ke),
      (e.createCompilerDiagnostic = xe),
      (e.createCompilerDiagnosticFromMessageChain = Ce),
      (e.chainDiagnosticMessages = Se),
      (e.concatenateDiagnosticMessageChains = De),
      (e.compareValues = Te),
      (e.compareStrings = Ee),
      (e.compareStringsCaseInsensitive = Ne),
      (e.compareDiagnostics = we),
      (e.sortAndDeduplicateDiagnostics = Oe),
      (e.deduplicateSortedDiagnostics = Fe),
      (e.normalizeSlashes = Ie),
      (e.getRootLength = Re),
      (e.directorySeparator = '/')
    var sr = 47
    ;(e.normalizePath = Le),
      (e.pathEndsWithDirectorySeparator = Be),
      (e.getDirectoryPath = Je),
      (e.isUrl = ze),
      (e.isExternalModuleNameRelative = Ke),
      (e.getEmitScriptTarget = je),
      (e.getEmitModuleKind = Ve),
      (e.getEmitModuleResolutionKind = qe),
      (e.hasZeroOrOneAsteriskCharacter = Ue),
      (e.isRootedDiskPath = We),
      (e.convertToRelativePath = He),
      (e.getNormalizedPathComponents = Xe),
      (e.getNormalizedAbsolutePath = Qe),
      (e.getNormalizedPathFromPathComponents = Ye),
      (e.getRelativePathToDirectoryOrUrl = et),
      (e.getBaseFileName = tt),
      (e.combinePaths = rt),
      (e.removeTrailingDirectorySeparator = nt),
      (e.ensureTrailingDirectorySeparator = at),
      (e.comparePaths = it),
      (e.containsPath = ot),
      (e.startsWith = st),
      (e.endsWith = ct),
      (e.hasExtension = ut),
      (e.fileExtensionIs = _t),
      (e.fileExtensionIsAny = lt)
    var cr = /[^\w\s\/]/g,
      ur = [42, 63],
      _r = '([^./]|(\\.(?!min\\.js$))?)*',
      lr = '[^/]*'
    ;(e.getRegularExpressionForWildcard = dt),
      (e.isImplicitGlob = ft),
      (e.getFileMatcherPatterns = ht),
      (e.matchFiles = bt),
      (e.ensureScriptKind = Ct),
      (e.getScriptKindFromFileName = St),
      (e.supportedTypeScriptExtensions = ['.ts', '.tsx', '.d.ts']),
      (e.supportedTypescriptExtensionsForExtractExtension = [
        '.d.ts',
        '.ts',
        '.tsx'
      ]),
      (e.supportedJavascriptExtensions = ['.js', '.jsx'])
    var dr = e.supportedTypeScriptExtensions.concat(
      e.supportedJavascriptExtensions
    )
    ;(e.getSupportedExtensions = Dt),
      (e.hasJavaScriptFileExtension = Tt),
      (e.hasTypeScriptFileExtension = Et),
      (e.isSupportedSourceFileName = Nt)
    var pr
    !(function(e) {
      ;(e[(e.TypeScriptFiles = 0)] = 'TypeScriptFiles'),
        (e[(e.DeclarationAndJavaScriptFiles = 2)] =
          'DeclarationAndJavaScriptFiles'),
        (e[(e.Highest = 0)] = 'Highest'),
        (e[(e.Lowest = 2)] = 'Lowest')
    })((pr = e.ExtensionPriority || (e.ExtensionPriority = {}))),
      (e.getExtensionPriority = At),
      (e.adjustExtensionPriority = wt),
      (e.getNextLowestExtensionPriority = Pt)
    var fr = ['.d.ts', '.ts', '.js', '.tsx', '.jsx']
    ;(e.removeFileExtension = Ot),
      (e.tryRemoveExtension = Ft),
      (e.removeExtension = It),
      (e.changeExtension = Rt),
      (e.objectAllocator = {
        getNodeConstructor: function() {
          return Jt
        },
        getTokenConstructor: function() {
          return Jt
        },
        getIdentifierConstructor: function() {
          return Jt
        },
        getSourceFileConstructor: function() {
          return Jt
        },
        getSymbolConstructor: function() {
          return Mt
        },
        getTypeConstructor: function() {
          return Lt
        },
        getSignatureConstructor: function() {
          return Bt
        }
      })
    var gr
    !(function(e) {
      ;(e[(e.None = 0)] = 'None'),
        (e[(e.Normal = 1)] = 'Normal'),
        (e[(e.Aggressive = 2)] = 'Aggressive'),
        (e[(e.VeryAggressive = 3)] = 'VeryAggressive')
    })((gr = e.AssertionLevel || (e.AssertionLevel = {})))
    var mr
    !(function(e) {
      function t(t) {
        return e.currentAssertionLevel >= t
      }
      function r(e, t, r) {
        if (!e) {
          var n = ''
          throw (r && (n = '\r\nVerbose Debug Information: ' + r()),
          new Error('Debug Failure. False expression: ' + (t || '') + n))
        }
      }
      function n(t) {
        e.assert(!1, t)
      }
      ;(e.currentAssertionLevel = 0),
        (e.shouldAssert = t),
        (e.assert = r),
        (e.fail = n)
    })((mr = e.Debug || (e.Debug = {}))),
      (e.orderedRemoveItem = zt),
      (e.orderedRemoveItemAt = Kt),
      (e.unorderedRemoveItemAt = jt),
      (e.unorderedRemoveItem = Vt),
      (e.createGetCanonicalFileName = Ut),
      (e.matchPatternOrExact = Wt),
      (e.patternText = Ht),
      (e.matchedText = Gt),
      (e.findBestPatternMatch = Xt),
      (e.tryParsePattern = Yt),
      (e.positionIsSynthesized = Zt),
      (e.extensionIsTypeScript = $t),
      (e.extensionFromPath = er),
      (e.tryGetExtensionFromPath = tr),
      (e.isCheckJsEnabledForFile = rr)
  })(ts || (ts = {}))
var ts
!(function(e) {
  function t() {
    if ('undefined' != typeof process) {
      var e = process.version
      if (e) {
        var t = e.indexOf('.')
        if (t !== -1) return parseInt(e.substring(1, t))
      }
    }
  }
  ;(e.getNodeMajorVersion = t),
    (e.sys = (function() {
      function r() {
        function r() {
          function t(t) {
            var r = e.getDirectoryPath(t),
              n = c.get(r)
            n &&
              ((n.referenceCount -= 1),
              n.referenceCount <= 0 && (n.close(), c['delete'](r)))
          }
          function r(e) {
            var t = c.get(e)
            return t
              ? void (t.referenceCount += 1)
              : ((t = p.watch(e, { persistent: !0 }, function(t, r) {
                  return s(t, r, e)
                })),
                (t.referenceCount = 1),
                void c.set(e, t))
          }
          function n(e, t) {
            u.add(e, t)
          }
          function a(t, a) {
            return (
              n(t, a), r(e.getDirectoryPath(t)), { fileName: t, callback: a }
            )
          }
          function i(e) {
            o(e.fileName, e.callback), t(e.fileName)
          }
          function o(e, t) {
            u.remove(e, t)
          }
          function s(t, r, n) {
            var a =
              'string' != typeof r ? void 0 : e.getNormalizedAbsolutePath(r, n)
            if ('change' === t || 'rename' === t) {
              var i = u.get(a)
              if (i)
                for (var o = 0, s = i; o < s.length; o++) {
                  var c = s[o]
                  c(a)
                }
            }
          }
          var c = e.createMap(),
            u = e.createMultiMap()
          return { addFile: a, removeFile: i }
        }
        function n() {
          return (
            'win32' !== k &&
            'win64' !== k &&
            (!u(__filename.toUpperCase()) || !u(__filename.toLowerCase()))
          )
        }
        function a(e, t) {
          if (u(e)) {
            var r = p.readFileSync(e),
              n = r.length
            if (n >= 2 && 254 === r[0] && 255 === r[1]) {
              n &= -2
              for (var a = 0; a < n; a += 2) {
                var i = r[a]
                ;(r[a] = r[a + 1]), (r[a + 1] = i)
              }
              return r.toString('utf16le', 2)
            }
            return n >= 2 && 255 === r[0] && 254 === r[1]
              ? r.toString('utf16le', 2)
              : n >= 3 && 239 === r[0] && 187 === r[1] && 191 === r[2]
                ? r.toString('utf8', 3)
                : r.toString('utf8')
          }
        }
        function i(e, t, r) {
          r && (t = '\ufeff' + t)
          var n
          try {
            ;(n = p.openSync(e, 'w')), p.writeSync(n, t, void 0, 'utf8')
          } finally {
            void 0 !== n && p.closeSync(n)
          }
        }
        function o(t) {
          try {
            for (
              var r = p.readdirSync(t || '.').sort(),
                n = [],
                a = [],
                i = 0,
                o = r;
              i < o.length;
              i++
            ) {
              var s = o[i]
              if ('.' !== s && '..' !== s) {
                var c = e.combinePaths(t, s),
                  u = void 0
                try {
                  u = p.statSync(c)
                } catch (_) {
                  continue
                }
                u.isFile() ? n.push(s) : u.isDirectory() && a.push(s)
              }
            }
            return { files: n, directories: a }
          } catch (_) {
            return { files: [], directories: [] }
          }
        }
        function s(t, r, n, a) {
          return e.matchFiles(t, r, n, a, x, process.cwd(), o)
        }
        function c(e, t) {
          try {
            var r = p.statSync(e)
            switch (t) {
              case 0:
                return r.isFile()
              case 1:
                return r.isDirectory()
            }
          } catch (n) {
            return !1
          }
        }
        function u(e) {
          return c(e, 0)
        }
        function _(e) {
          return c(e, 1)
        }
        function l(t) {
          return e.filter(p.readdirSync(t), function(r) {
            return c(e.combinePaths(t, r), 1)
          })
        }
        var d,
          p = require('fs'),
          f = require('path'),
          g = require('os'),
          m = require('crypto'),
          y = process.env.TSC_NONPOLLING_WATCHER,
          v = r(),
          h = t(),
          b = h >= 4,
          k = g.platform(),
          x = n()
        !(function(e) {
          ;(e[(e.File = 0)] = 'File'), (e[(e.Directory = 1)] = 'Directory')
        })(d || (d = {}))
        var C = { close: e.noop },
          S = {
            args: process.argv.slice(2),
            newLine: g.EOL,
            useCaseSensitiveFileNames: x,
            write: function(e) {
              process.stdout.write(e)
            },
            readFile: a,
            writeFile: i,
            watchFile: function(e, t, r) {
              function n(r, n) {
                ;+r.mtime <= +n.mtime || t(e)
              }
              if (y) {
                var a = v.addFile(e, t)
                return {
                  close: function() {
                    return v.removeFile(a)
                  }
                }
              }
              return (
                p.watchFile(e, { persistent: !0, interval: r || 250 }, n),
                {
                  close: function() {
                    return p.unwatchFile(e, n)
                  }
                }
              )
            },
            watchDirectory: function(t, r, n) {
              var a
              return _(t)
                ? ((a =
                    !b ||
                    ('win32' !== process.platform &&
                      'darwin' !== process.platform)
                      ? { persistent: !0 }
                      : { persistent: !0, recursive: !!n }),
                  p.watch(t, a, function(n, a) {
                    'rename' === n &&
                      r(a ? e.normalizePath(e.combinePaths(t, a)) : a)
                  }))
                : C
            },
            resolvePath: function(e) {
              return f.resolve(e)
            },
            fileExists: u,
            directoryExists: _,
            createDirectory: function(e) {
              S.directoryExists(e) || p.mkdirSync(e)
            },
            getExecutingFilePath: function() {
              return __filename
            },
            getCurrentDirectory: function() {
              return process.cwd()
            },
            getDirectories: l,
            getEnvironmentVariable: function(e) {
              return process.env[e] || ''
            },
            readDirectory: s,
            getModifiedTime: function(e) {
              try {
                return p.statSync(e).mtime
              } catch (t) {
                return
              }
            },
            createHash: function(e) {
              var t = m.createHash('md5')
              return t.update(e), t.digest('hex')
            },
            getMemoryUsage: function() {
              return global.gc && global.gc(), process.memoryUsage().heapUsed
            },
            getFileSize: function(e) {
              try {
                var t = p.statSync(e)
                if (t.isFile()) return t.size
              } catch (r) {}
              return 0
            },
            exit: function(e) {
              process.exit(e)
            },
            realpath: function(e) {
              return p.realpathSync(e)
            },
            tryEnableSourceMapsForHost: function() {
              try {
                require('source-map-support').install()
              } catch (e) {}
            },
            setTimeout: setTimeout,
            clearTimeout: clearTimeout
          }
        return S
      }
      function n() {
        var t =
          ChakraHost.realpath &&
          function(e) {
            return ChakraHost.realpath(e)
          }
        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, r) {
            r && (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
          },
          getDirectories: ChakraHost.getDirectories,
          getEnvironmentVariable:
            ChakraHost.getEnvironmentVariable ||
            function() {
              return ''
            },
          readDirectory: function(t, r, n, a) {
            var i = e.getFileMatcherPatterns(
              t,
              n,
              a,
              !!ChakraHost.useCaseSensitiveFileNames,
              ChakraHost.currentDirectory
            )
            return ChakraHost.readDirectory(
              t,
              r,
              i.basePaths,
              i.excludePattern,
              i.includeFilePattern,
              i.includeDirectoryPattern
            )
          },
          exit: ChakraHost.quit,
          realpath: t
        }
      }
      function a(t, r) {
        var n = e.getDirectoryPath(t),
          i = t !== n && !r.directoryExists(n)
        i && a(n, r), (!i && r.directoryExists(t)) || r.createDirectory(t)
      }
      var i
      if (
        ('undefined' != typeof ChakraHost
          ? (i = n())
          : 'undefined' != typeof process &&
            process.nextTick &&
            !process.browser &&
            'undefined' != typeof require &&
            (i = r()),
        i)
      ) {
        var o = i.writeFile
        i.writeFile = function(t, r, n) {
          var s = e.getDirectoryPath(e.normalizeSlashes(t))
          s && !i.directoryExists(s) && a(s, i), o.call(i, t, r, n)
        }
      }
      return i
    })()),
    e.sys &&
      e.sys.getEnvironmentVariable &&
      (e.Debug.currentAssertionLevel = /^development$/i.test(
        e.sys.getEnvironmentVariable('NODE_ENV')
      )
        ? 1
        : 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'."
    },
    readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature: {
      code: 1024,
      category: e.DiagnosticCategory.Error,
      key:
        'readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature_1024',
      message:
        "'readonly' modifier can only appear on a property declaration or index signature."
    },
    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_or_namespace_element: {
      code: 1044,
      category: e.DiagnosticCategory.Error,
      key: '_0_modifier_cannot_appear_on_a_module_or_namespace_element_1044',
      message: "'{0}' modifier cannot appear on a module or namespace 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_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value: {
      code: 1055,
      category: e.DiagnosticCategory.Error,
      key:
        'Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Prom_1055',
      message:
        "Type '{0}' is not a valid async function return type in ES5/ES3 because it does not refer to a Promise-compatible constructor value."
    },
    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.'
    },
    The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: {
      code: 1058,
      category: e.DiagnosticCategory.Error,
      key:
        'The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_t_1058',
      message:
        "The return type of an async function must either be a valid promise or must not contain a callable 'then' member."
    },
    A_promise_must_have_a_then_method: {
      code: 1059,
      category: e.DiagnosticCategory.Error,
      key: 'A_promise_must_have_a_then_method_1059',
      message: "A promise must have a 'then' method."
    },
    The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback: {
      code: 1060,
      category: e.DiagnosticCategory.Error,
      key:
        'The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback_1060',
      message:
        "The first parameter of the 'then' method of a promise must be a callback."
    },
    Enum_member_must_have_initializer: {
      code: 1061,
      category: e.DiagnosticCategory.Error,
      key: 'Enum_member_must_have_initializer_1061',
      message: 'Enum member must have initializer.'
    },
    Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method: {
      code: 1062,
      category: e.DiagnosticCategory.Error,
      key:
        'Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062',
      message:
        "Type 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.'
    },
    _0_modifier_cannot_appear_on_a_type_member: {
      code: 1070,
      category: e.DiagnosticCategory.Error,
      key: '_0_modifier_cannot_appear_on_a_type_member_1070',
      message: "'{0}' modifier cannot appear on a type member."
    },
    _0_modifier_cannot_appear_on_an_index_signature: {
      code: 1071,
      category: e.DiagnosticCategory.Error,
      key: '_0_modifier_cannot_appear_on_an_index_signature_1071',
      message: "'{0}' modifier cannot appear on an index signature."
    },
    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_Use_the_syntax_0: {
      code: 1085,
      category: e.DiagnosticCategory.Error,
      key:
        'Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085',
      message:
        "Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."
    },
    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_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator: {
      code: 1103,
      category: e.DiagnosticCategory.Error,
      key:
        'A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator_1103',
      message:
        "A 'for-await-of' statement is only allowed within an async function or async generator."
    },
    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_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."
    },
    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_use_imports_exports_or_module_augmentations_when_module_is_none: {
      code: 1148,
      category: e.DiagnosticCategory.Error,
      key:
        'Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148',
      message:
        "Cannot use imports, exports, or module augmentations when '--module' is 'none'."
    },
    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_declared_using_a_binding_pattern: {
      code: 1187,
      category: e.DiagnosticCategory.Error,
      key:
        'A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187',
      message:
        'A parameter property may not be declared using 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_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_2015_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_2015_modules_Consider_using_import_Asteri_1202',
      message:
        'Import assignment cannot be used when targeting ECMAScript 2015 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_2015_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_2015_modules_Consider_using_export_defaul_1203',
      message:
        "Export assignment cannot be used when targeting ECMAScript 2015 modules. Consider using 'export default' or another module format instead."
    },
    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."
    },
    Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules: {
      code: 1216,
      category: e.DiagnosticCategory.Error,
      key:
        'Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216',
      message:
        "Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."
    },
    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_2015_or_higher: {
      code: 1220,
      category: e.DiagnosticCategory.Error,
      key:
        'Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher_1220',
      message:
        'Generators are only available when targeting ECMAScript 2015 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_method_or_property_declaration: {
      code: 1242,
      category: e.DiagnosticCategory.Error,
      key:
        'abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242',
      message:
        "'abstract' modifier can only appear on a class, method, or property 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.'
    },
    Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5: {
      code: 1250,
      category: e.DiagnosticCategory.Error,
      key:
        'Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250',
      message:
        "Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'."
    },
    Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode: {
      code: 1251,
      category: e.DiagnosticCategory.Error,
      key:
        'Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251',
      message:
        "Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Class definitions are automatically in strict mode."
    },
    Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode: {
      code: 1252,
      category: e.DiagnosticCategory.Error,
      key:
        'Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252',
      message:
        "Function declarations are not allowed inside blocks in strict mode when targeting 'ES3' or 'ES5'. Modules are automatically in strict mode."
    },
    _0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag: {
      code: 1253,
      category: e.DiagnosticCategory.Error,
      key: '_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag_1253',
      message:
        "'{0}' tag cannot be used independently as a top level JSDoc tag."
    },
    A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal: {
      code: 1254,
      category: e.DiagnosticCategory.Error,
      key:
        'A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_1254',
      message:
        "A 'const' initializer in an ambient context must be a string or numeric literal."
    },
    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."
    },
    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."
    },
    Global_module_exports_may_only_appear_in_module_files: {
      code: 1314,
      category: e.DiagnosticCategory.Error,
      key: 'Global_module_exports_may_only_appear_in_module_files_1314',
      message: 'Global module exports may only appear in module files.'
    },
    Global_module_exports_may_only_appear_in_declaration_files: {
      code: 1315,
      category: e.DiagnosticCategory.Error,
      key: 'Global_module_exports_may_only_appear_in_declaration_files_1315',
      message: 'Global module exports may only appear in declaration files.'
    },
    Global_module_exports_may_only_appear_at_top_level: {
      code: 1316,
      category: e.DiagnosticCategory.Error,
      key: 'Global_module_exports_may_only_appear_at_top_level_1316',
      message: 'Global module exports may only appear at top level.'
    },
    A_parameter_property_cannot_be_declared_using_a_rest_parameter: {
      code: 1317,
      category: e.DiagnosticCategory.Error,
      key:
        'A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317',
      message: 'A parameter property cannot be declared using a rest parameter.'
    },
    An_abstract_accessor_cannot_have_an_implementation: {
      code: 1318,
      category: e.DiagnosticCategory.Error,
      key: 'An_abstract_accessor_cannot_have_an_implementation_1318',
      message: 'An abstract accessor cannot have an implementation.'
    },
    A_default_export_can_only_be_used_in_an_ECMAScript_style_module: {
      code: 1319,
      category: e.DiagnosticCategory.Error,
      key:
        'A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319',
      message:
        'A default export can only be used in an ECMAScript-style module.'
    },
    Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: {
      code: 1320,
      category: e.DiagnosticCategory.Error,
      key:
        'Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320',
      message:
        "Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."
    },
    Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: {
      code: 1321,
      category: e.DiagnosticCategory.Error,
      key:
        'Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321',
      message:
        "Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."
    },
    Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member: {
      code: 1322,
      category: e.DiagnosticCategory.Error,
      key:
        'Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322',
      message:
        "Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."
    },
    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'."
    },
    This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1: {
      code: 2343,
      category: e.DiagnosticCategory.Error,
      key:
        'This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1_2343',
      message:
        "This syntax requires an imported helper named '{1}', but module '{0}' has no exported member '{1}'."
    },
    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_Type_0_has_no_compatible_call_signatures: {
      code: 2349,
      category: e.DiagnosticCategory.Error,
      key:
        'Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatur_2349',
      message:
        "Cannot invoke an expression whose type lacks a call signature. Type '{0}' has no compatible call signatures."
    },
    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."
    },
    Type_0_cannot_be_converted_to_type_1: {
      code: 2352,
      category: e.DiagnosticCategory.Error,
      key: 'Type_0_cannot_be_converted_to_type_1_2352',
      message: "Type '{0}' cannot be converted to type '{1}'."
    },
    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}'."
    },
    This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found: {
      code: 2354,
      category: e.DiagnosticCategory.Error,
      key:
        'This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354',
      message:
        "This syntax requires an imported helper but module '{0}' cannot be found."
    },
    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_or_a_property_access: {
      code: 2357,
      category: e.DiagnosticCategory.Error,
      key:
        'The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357',
      message:
        'The operand of an increment or decrement operator must be a variable or a property access.'
    },
    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."
    },
    The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access: {
      code: 2364,
      category: e.DiagnosticCategory.Error,
      key:
        'The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364',
      message:
        'The left-hand side of an assignment expression must be a variable or a property access.'
    },
    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}'."
    },
    Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined: {
      code: 2366,
      category: e.DiagnosticCategory.Error,
      key:
        'Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366',
      message:
        "Function lacks ending return statement and return type does not include 'undefined'."
    },
    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_non_exported: {
      code: 2383,
      category: e.DiagnosticCategory.Error,
      key: 'Overload_signatures_must_all_be_exported_or_non_exported_2383',
      message: 'Overload signatures must all be exported or non-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'."
    },
    The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access: {
      code: 2406,
      category: e.DiagnosticCategory.Error,
      key:
        'The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406',
      message:
        "The left-hand side of a 'for...in' statement must be a variable or a property access."
    },
    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.'
    },
    The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any: {
      code: 2410,
      category: e.DiagnosticCategory.Error,
      key:
        'The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410',
      message:
        "The 'with' statement is not supported. All symbols in a 'with' block will have type '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}'."
    },
    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_0_must_have_identical_type_parameters: {
      code: 2428,
      category: e.DiagnosticCategory.Error,
      key: 'All_declarations_of_0_must_have_identical_type_parameters_2428',
      message: "All declarations of '{0}' 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."
    },
    Class_0_used_before_its_declaration: {
      code: 2449,
      category: e.DiagnosticCategory.Error,
      key: 'Class_0_used_before_its_declaration_2449',
      message: "Class '{0}' used before its declaration."
    },
    Enum_0_used_before_its_declaration: {
      code: 2450,
      category: e.DiagnosticCategory.Error,
      key: 'Enum_0_used_before_its_declaration_2450',
      message: "Enum '{0}' used before its declaration."
    },
    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."
    },
    Variable_0_is_used_before_being_assigned: {
      code: 2454,
      category: e.DiagnosticCategory.Error,
      key: 'Variable_0_is_used_before_being_assigned_2454',
      message: "Variable '{0}' is used before being assigned."
    },
    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_a_destructuring_pattern: {
      code: 2462,
      category: e.DiagnosticCategory.Error,
      key: 'A_rest_element_must_be_last_in_a_destructuring_pattern_2462',
      message: 'A rest element must be last in a 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_must_be_a_variable_or_a_property_access: {
      code: 2487,
      category: e.DiagnosticCategory.Error,
      key:
        'The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487',
      message:
        "The left-hand side of a 'for...of' statement must be a variable or a property access."
    },
    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}'."
    },
    Type_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator: {
      code: 2504,
      category: e.DiagnosticCategory.Error,
      key:
        'Type_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504',
      message:
        "Type must have a '[Symbol.asyncIterator]()' method that returns an async iterator."
    },
    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_non_abstract: {
      code: 2512,
      category: e.DiagnosticCategory.Error,
      key: 'Overload_signatures_must_all_be_abstract_or_non_abstract_2512',
      message: 'Overload signatures must all be abstract or non-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."
    },
    An_async_iterator_must_have_a_next_method: {
      code: 2519,
      category: e.DiagnosticCategory.Error,
      key: 'An_async_iterator_must_have_a_next_method_2519',
      message: "An async iterator must have a 'next()' method."
    },
    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_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method: {
      code: 2522,
      category: e.DiagnosticCategory.Error,
      key:
        'The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522',
      message:
        "The 'arguments' object cannot be referenced in an async function or method in ES3 and ES5. Consider using a standard function or method."
    },
    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."
    },
    Property_0_is_incompatible_with_index_signature: {
      code: 2530,
      category: e.DiagnosticCategory.Error,
      key: 'Property_0_is_incompatible_with_index_signature_2530',
      message: "Property '{0}' is incompatible with index signature."
    },
    Object_is_possibly_null: {
      code: 2531,
      category: e.DiagnosticCategory.Error,
      key: 'Object_is_possibly_null_2531',
      message: "Object is possibly 'null'."
    },
    Object_is_possibly_undefined: {
      code: 2532,
      category: e.DiagnosticCategory.Error,
      key: 'Object_is_possibly_undefined_2532',
      message: "Object is possibly 'undefined'."
    },
    Object_is_possibly_null_or_undefined: {
      code: 2533,
      category: e.DiagnosticCategory.Error,
      key: 'Object_is_possibly_null_or_undefined_2533',
      message: "Object is possibly 'null' or 'undefined'."
    },
    A_function_returning_never_cannot_have_a_reachable_end_point: {
      code: 2534,
      category: e.DiagnosticCategory.Error,
      key: 'A_function_returning_never_cannot_have_a_reachable_end_point_2534',
      message: "A function returning 'never' cannot have a reachable end point."
    },
    Enum_type_0_has_members_with_initializers_that_are_not_literals: {
      code: 2535,
      category: e.DiagnosticCategory.Error,
      key:
        'Enum_type_0_has_members_with_initializers_that_are_not_literals_2535',
      message:
        "Enum type '{0}' has members with initializers that are not literals."
    },
    Type_0_cannot_be_used_to_index_type_1: {
      code: 2536,
      category: e.DiagnosticCategory.Error,
      key: 'Type_0_cannot_be_used_to_index_type_1_2536',
      message: "Type '{0}' cannot be used to index type '{1}'."
    },
    Type_0_has_no_matching_index_signature_for_type_1: {
      code: 2537,
      category: e.DiagnosticCategory.Error,
      key: 'Type_0_has_no_matching_index_signature_for_type_1_2537',
      message: "Type '{0}' has no matching index signature for type '{1}'."
    },
    Type_0_cannot_be_used_as_an_index_type: {
      code: 2538,
      category: e.DiagnosticCategory.Error,
      key: 'Type_0_cannot_be_used_as_an_index_type_2538',
      message: "Type '{0}' cannot be used as an index type."
    },
    Cannot_assign_to_0_because_it_is_not_a_variable: {
      code: 2539,
      category: e.DiagnosticCategory.Error,
      key: 'Cannot_assign_to_0_because_it_is_not_a_variable_2539',
      message: "Cannot assign to '{0}' because it is not a variable."
    },
    Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property: {
      code: 2540,
      category: e.DiagnosticCategory.Error,
      key:
        'Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property_2540',
      message:
        "Cannot assign to '{0}' because it is a constant or a read-only property."
    },
    The_target_of_an_assignment_must_be_a_variable_or_a_property_access: {
      code: 2541,
      category: e.DiagnosticCategory.Error,
      key:
        'The_target_of_an_assignment_must_be_a_variable_or_a_property_access_2541',
      message:
        'The target of an assignment must be a variable or a property access.'
    },
    Index_signature_in_type_0_only_permits_reading: {
      code: 2542,
      category: e.DiagnosticCategory.Error,
      key: 'Index_signature_in_type_0_only_permits_reading_2542',
      message: "Index signature in type '{0}' only permits reading."
    },
    Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference: {
      code: 2543,
      category: e.DiagnosticCategory.Error,
      key:
        'Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543',
      message:
        "Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."
    },
    Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference: {
      code: 2544,
      category: e.DiagnosticCategory.Error,
      key:
        'Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544',
      message:
        "Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."
    },
    A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any: {
      code: 2545,
      category: e.DiagnosticCategory.Error,
      key:
        'A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545',
      message:
        "A mixin class must have a constructor with a single rest parameter of type 'any[]'."
    },
    Property_0_has_conflicting_declarations_and_is_inaccessible_in_type_1: {
      code: 2546,
      category: e.DiagnosticCategory.Error,
      key:
        'Property_0_has_conflicting_declarations_and_is_inaccessible_in_type_1_2546',
      message:
        "Property '{0}' has conflicting declarations and is inaccessible in type '{1}'."
    },
    The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property: {
      code: 2547,
      category: e.DiagnosticCategory.Error,
      key:
        'The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value__2547',
      message:
        "The type returned by the 'next()' method of an async iterator must be a promise for a type with a 'value' property."
    },
    Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator: {
      code: 2548,
      category: e.DiagnosticCategory.Error,
      key:
        'Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548',
      message:
        "Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."
    },
    Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator: {
      code: 2549,
      category: e.DiagnosticCategory.Error,
      key:
        'Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549',
      message:
        "Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."
    },
    Generic_type_instantiation_is_excessively_deep_and_possibly_infinite: {
      code: 2550,
      category: e.DiagnosticCategory.Error,
      key:
        'Generic_type_instantiation_is_excessively_deep_and_possibly_infinite_2550',
      message:
        'Generic type instantiation is excessively deep and possibly infinite.'
    },
    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."
    },
    JSX_spread_child_must_be_an_array_type: {
      code: 2609,
      category: e.DiagnosticCategory.Error,
      key: 'JSX_spread_child_must_be_an_array_type_2609',
      message: 'JSX spread child must be an array type.'
    },
    Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity: {
      code: 2649,
      category: e.DiagnosticCategory.Error,
      key:
        'Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649',
      message:
        "Cannot augment module '{0}' with value exports because it resolves to a non-module entity."
    },
    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_export_0_Only_local_declarations_can_be_exported_from_a_module: {
      code: 2661,
      category: e.DiagnosticCategory.Error,
      key:
        'Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661',
      message:
        "Cannot export '{0}'. Only local declarations can be exported from a 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."
    },
    Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented: {
      code: 2665,
      category: e.DiagnosticCategory.Error,
      key:
        'Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665',
      message:
        "Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."
    },
    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."
    },
    Cannot_assign_a_0_constructor_type_to_a_1_constructor_type: {
      code: 2672,
      category: e.DiagnosticCategory.Error,
      key: 'Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672',
      message:
        "Cannot assign a '{0}' constructor type to a '{1}' constructor type."
    },
    Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration: {
      code: 2673,
      category: e.DiagnosticCategory.Error,
      key:
        'Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673',
      message:
        "Constructor of class '{0}' is private and only accessible within the class declaration."
    },
    Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration: {
      code: 2674,
      category: e.DiagnosticCategory.Error,
      key:
        'Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674',
      message:
        "Constructor of class '{0}' is protected and only accessible within the class declaration."
    },
    Cannot_extend_a_class_0_Class_constructor_is_marked_as_private: {
      code: 2675,
      category: e.DiagnosticCategory.Error,
      key:
        'Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675',
      message:
        "Cannot extend a class '{0}'. Class constructor is marked as private."
    },
    Accessors_must_both_be_abstract_or_non_abstract: {
      code: 2676,
      category: e.DiagnosticCategory.Error,
      key: 'Accessors_must_both_be_abstract_or_non_abstract_2676',
      message: 'Accessors must both be abstract or non-abstract.'
    },
    A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type: {
      code: 2677,
      category: e.DiagnosticCategory.Error,
      key:
        'A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677',
      message:
        "A type predicate's type must be assignable to its parameter's type."
    },
    Type_0_is_not_comparable_to_type_1: {
      code: 2678,
      category: e.DiagnosticCategory.Error,
      key: 'Type_0_is_not_comparable_to_type_1_2678',
      message: "Type '{0}' is not comparable to type '{1}'."
    },
    A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void: {
      code: 2679,
      category: e.DiagnosticCategory.Error,
      key:
        'A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679',
      message:
        "A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."
    },
    A_this_parameter_must_be_the_first_parameter: {
      code: 2680,
      category: e.DiagnosticCategory.Error,
      key: 'A_this_parameter_must_be_the_first_parameter_2680',
      message: "A 'this' parameter must be the first parameter."
    },
    A_constructor_cannot_have_a_this_parameter: {
      code: 2681,
      category: e.DiagnosticCategory.Error,
      key: 'A_constructor_cannot_have_a_this_parameter_2681',
      message: "A constructor cannot have a 'this' parameter."
    },
    get_and_set_accessor_must_have_the_same_this_type: {
      code: 2682,
      category: e.DiagnosticCategory.Error,
      key: 'get_and_set_accessor_must_have_the_same_this_type_2682',
      message: "'get' and 'set' accessor must have the same 'this' type."
    },
    this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation: {
      code: 2683,
      category: e.DiagnosticCategory.Error,
      key:
        'this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683',
      message:
        "'this' implicitly has type 'any' because it does not have a type annotation."
    },
    The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1: {
      code: 2684,
      category: e.DiagnosticCategory.Error,
      key:
        'The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684',
      message:
        "The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."
    },
    The_this_types_of_each_signature_are_incompatible: {
      code: 2685,
      category: e.DiagnosticCategory.Error,
      key: 'The_this_types_of_each_signature_are_incompatible_2685',
      message: "The 'this' types of each signature are incompatible."
    },
    _0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead: {
      code: 2686,
      category: e.DiagnosticCategory.Error,
      key:
        '_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686',
      message:
        "'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."
    },
    All_declarations_of_0_must_have_identical_modifiers: {
      code: 2687,
      category: e.DiagnosticCategory.Error,
      key: 'All_declarations_of_0_must_have_identical_modifiers_2687',
      message: "All declarations of '{0}' must have identical modifiers."
    },
    Cannot_find_type_definition_file_for_0: {
      code: 2688,
      category: e.DiagnosticCategory.Error,
      key: 'Cannot_find_type_definition_file_for_0_2688',
      message: "Cannot find type definition file for '{0}'."
    },
    Cannot_extend_an_interface_0_Did_you_mean_implements: {
      code: 2689,
      category: e.DiagnosticCategory.Error,
      key: 'Cannot_extend_an_interface_0_Did_you_mean_implements_2689',
      message: "Cannot extend an interface '{0}'. Did you mean 'implements'?"
    },
    An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead: {
      code: 2691,
      category: e.DiagnosticCategory.Error,
      key:
        'An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead_2691',
      message:
        "An import path cannot end with a '{0}' extension. Consider importing '{1}' instead."
    },
    _0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible: {
      code: 2692,
      category: e.DiagnosticCategory.Error,
      key:
        '_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692',
      message:
        "'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."
    },
    _0_only_refers_to_a_type_but_is_being_used_as_a_value_here: {
      code: 2693,
      category: e.DiagnosticCategory.Error,
      key: '_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693',
      message: "'{0}' only refers to a type, but is being used as a value here."
    },
    Namespace_0_has_no_exported_member_1: {
      code: 2694,
      category: e.DiagnosticCategory.Error,
      key: 'Namespace_0_has_no_exported_member_1_2694',
      message: "Namespace '{0}' has no exported member '{1}'."
    },
    Left_side_of_comma_operator_is_unused_and_has_no_side_effects: {
      code: 2695,
      category: e.DiagnosticCategory.Error,
      key: 'Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695',
      message: 'Left side of comma operator is unused and has no side effects.'
    },
    The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead: {
      code: 2696,
      category: e.DiagnosticCategory.Error,
      key:
        'The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696',
      message:
        "The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"
    },
    An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option: {
      code: 2697,
      category: e.DiagnosticCategory.Error,
      key:
        'An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697',
      message:
        "An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."
    },
    Spread_types_may_only_be_created_from_object_types: {
      code: 2698,
      category: e.DiagnosticCategory.Error,
      key: 'Spread_types_may_only_be_created_from_object_types_2698',
      message: 'Spread types may only be created from object types.'
    },
    Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1: {
      code: 2699,
      category: e.DiagnosticCategory.Error,
      key:
        'Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699',
      message:
        "Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."
    },
    Rest_types_may_only_be_created_from_object_types: {
      code: 2700,
      category: e.DiagnosticCategory.Error,
      key: 'Rest_types_may_only_be_created_from_object_types_2700',
      message: 'Rest types may only be created from object types.'
    },
    The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access: {
      code: 2701,
      category: e.DiagnosticCategory.Error,
      key:
        'The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701',
      message:
        'The target of an object rest assignment must be a variable or a property access.'
    },
    _0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here: {
      code: 2702,
      category: e.DiagnosticCategory.Error,
      key:
        '_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702',
      message:
        "'{0}' only refers to a type, but is being used as a namespace here."
    },
    The_operand_of_a_delete_operator_must_be_a_property_reference: {
      code: 2703,
      category: e.DiagnosticCategory.Error,
      key: 'The_operand_of_a_delete_operator_must_be_a_property_reference_2703',
      message: 'The operand of a delete operator must be a property reference.'
    },
    The_operand_of_a_delete_operator_cannot_be_a_read_only_property: {
      code: 2704,
      category: e.DiagnosticCategory.Error,
      key:
        'The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704',
      message:
        'The operand of a delete operator cannot be a read-only property.'
    },
    An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option: {
      code: 2705,
      category: e.DiagnosticCategory.Error,
      key:
        'An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705',
      message:
        "An async function or method in ES5/ES3 requires the 'Promise' constructor.  Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option."
    },
    Required_type_parameters_may_not_follow_optional_type_parameters: {
      code: 2706,
      category: e.DiagnosticCategory.Error,
      key:
        'Required_type_parameters_may_not_follow_optional_type_parameters_2706',
      message:
        'Required type parameters may not follow optional type parameters.'
    },
    Generic_type_0_requires_between_1_and_2_type_arguments: {
      code: 2707,
      category: e.DiagnosticCategory.Error,
      key: 'Generic_type_0_requires_between_1_and_2_type_arguments_2707',
      message: "Generic type '{0}' requires between {1} and {2} type arguments."
    },
    Cannot_use_namespace_0_as_a_value: {
      code: 2708,
      category: e.DiagnosticCategory.Error,
      key: 'Cannot_use_namespace_0_as_a_value_2708',
      message: "Cannot use namespace '{0}' as a value."
    },
    Cannot_use_namespace_0_as_a_type: {
      code: 2709,
      category: e.DiagnosticCategory.Error,
      key: 'Cannot_use_namespace_0_as_a_type_2709',
      message: "Cannot use namespace '{0}' as a type."
    },
    _0_are_specified_twice_The_attribute_named_0_will_be_overwritten: {
      code: 2710,
      category: e.DiagnosticCategory.Error,
      key:
        '_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710',
      message:
        "'{0}' are specified twice. The attribute named '{0}' will be overwritten."
    },
    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}'."
    },
    Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1: {
      code: 4083,
      category: e.DiagnosticCategory.Error,
      key:
        'Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083',
      message:
        "Type parameter '{0}' of exported type alias has or is using private name '{1}'."
    },
    Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict: {
      code: 4090,
      category: e.DiagnosticCategory.Message,
      key:
        'Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090',
      message:
        "Conflicting definitions for '{0}' found at '{1}' and '{2}'. Consider installing a specific version of this library to resolve the conflict."
    },
    Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2: {
      code: 4091,
      category: e.DiagnosticCategory.Error,
      key:
        'Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091',
      message:
        "Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."
    },
    Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1: {
      code: 4092,
      category: e.DiagnosticCategory.Error,
      key:
        'Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092',
      message:
        "Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."
    },
    extends_clause_of_exported_class_0_refers_to_a_type_whose_name_cannot_be_referenced: {
      code: 4093,
      category: e.DiagnosticCategory.Error,
      key:
        'extends_clause_of_exported_class_0_refers_to_a_type_whose_name_cannot_be_referenced_4093',
      message:
        "'extends' clause of exported class '{0}' refers to a type whose name cannot be referenced."
    },
    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.'
    },
    File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0: {
      code: 5010,
      category: e.DiagnosticCategory.Error,
      key:
        'File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010',
      message:
        "File specification cannot end in a recursive directory wildcard ('**'): '{0}'."
    },
    File_specification_cannot_contain_multiple_recursive_directory_wildcards_Asterisk_Asterisk_Colon_0: {
      code: 5011,
      category: e.DiagnosticCategory.Error,
      key:
        'File_specification_cannot_contain_multiple_recursive_directory_wildcards_Asterisk_Asterisk_Colon_0_5011',
      message:
        "File specification cannot contain multiple recursive directory wildcards ('**'): '{0}'."
    },
    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}."
    },
    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_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided: {
      code: 5051,
      category: e.DiagnosticCategory.Error,
      key:
        'Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051',
      message:
        "Option '{0} 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}'."
    },
    Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier: {
      code: 5059,
      category: e.DiagnosticCategory.Error,
      key: 'Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059',
      message:
        "Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."
    },
    Option_paths_cannot_be_used_without_specifying_baseUrl_option: {
      code: 5060,
      category: e.DiagnosticCategory.Error,
      key: 'Option_paths_cannot_be_used_without_specifying_baseUrl_option_5060',
      message:
        "Option 'paths' cannot be used without specifying '--baseUrl' option."
    },
    Pattern_0_can_have_at_most_one_Asterisk_character: {
      code: 5061,
      category: e.DiagnosticCategory.Error,
      key: 'Pattern_0_can_have_at_most_one_Asterisk_character_5061',
      message: "Pattern '{0}' can have at most one '*' character."
    },
    Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character: {
      code: 5062,
      category: e.DiagnosticCategory.Error,
      key:
        'Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character_5062',
      message:
        "Substitution '{0}' in pattern '{1}' in can have at most one '*' character."
    },
    Substitutions_for_pattern_0_should_be_an_array: {
      code: 5063,
      category: e.DiagnosticCategory.Error,
      key: 'Substitutions_for_pattern_0_should_be_an_array_5063',
      message: "Substitutions for pattern '{0}' should be an array."
    },
    Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2: {
      code: 5064,
      category: e.DiagnosticCategory.Error,
      key:
        'Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064',
      message:
        "Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."
    },
    File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0: {
      code: 5065,
      category: e.DiagnosticCategory.Error,
      key:
        'File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065',
      message:
        "File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."
    },
    Substitutions_for_pattern_0_shouldn_t_be_an_empty_array: {
      code: 5066,
      category: e.DiagnosticCategory.Error,
      key: 'Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066',
      message: "Substitutions for pattern '{0}' shouldn't be an empty array."
    },
    Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name: {
      code: 5067,
      category: e.DiagnosticCategory.Error,
      key:
        'Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067',
      message:
        "Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."
    },
    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."
    },
    Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations: {
      code: 6003,
      category: e.DiagnosticCategory.Message,
      key:
        'Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6003',
      message:
        'Specify the location where debugger should locate map files instead of generated locations.'
    },
    Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations: {
      code: 6004,
      category: e.DiagnosticCategory.Message,
      key:
        'Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004',
      message:
        'Specify 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.'
    },
    Skip_type_checking_of_declaration_files: {
      code: 6012,
      category: e.DiagnosticCategory.Message,
      key: 'Skip_type_checking_of_declaration_files_6012',
      message: 'Skip type checking of declaration files.'
    },
    Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_or_ESNEXT: {
      code: 6015,
      category: e.DiagnosticCategory.Message,
      key:
        'Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_or_ESNEXT_6015',
      message:
        "Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', or 'ESNEXT'."
    },
    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_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json: {
      code: 6020,
      category: e.DiagnosticCategory.Message,
      key:
        'Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020',
      message:
        "Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."
    },
    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'
    },
    STRATEGY: {
      code: 6039,
      category: e.DiagnosticCategory.Message,
      key: 'STRATEGY_6039',
      message: 'STRATEGY'
    },
    FILE_OR_DIRECTORY: {
      code: 6040,
      category: e.DiagnosticCategory.Message,
      key: 'FILE_OR_DIRECTORY_6040',
      message: 'FILE OR 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_0_option_must_be_Colon_1: {
      code: 6046,
      category: e.DiagnosticCategory.Error,
      key: 'Argument_for_0_option_must_be_Colon_1_6046',
      message: "Argument for '{0}' option must be: {1}."
    },
    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."
    },
    Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir: {
      code: 6058,
      category: e.DiagnosticCategory.Message,
      key:
        'Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058',
      message:
        'Specify 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."
    },
    Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix: {
      code: 6060,
      category: e.DiagnosticCategory.Message,
      key:
        'Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060',
      message:
        "Specify 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'
    },
    Option_0_can_only_be_specified_in_tsconfig_json_file: {
      code: 6064,
      category: e.DiagnosticCategory.Error,
      key: 'Option_0_can_only_be_specified_in_tsconfig_json_file_6064',
      message: "Option '{0}' can only be specified in 'tsconfig.json' file."
    },
    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.'
    },
    Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6: {
      code: 6069,
      category: e.DiagnosticCategory.Message,
      key:
        'Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069',
      message:
        "Specify 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_library_files_to_be_included_in_the_compilation_Colon: {
      code: 6079,
      category: e.DiagnosticCategory.Message,
      key: 'Specify_library_files_to_be_included_in_the_compilation_Colon_6079',
      message: 'Specify library files to be included in the compilation: '
    },
    Specify_JSX_code_generation_Colon_preserve_react_native_or_react: {
      code: 6080,
      category: e.DiagnosticCategory.Message,
      key:
        'Specify_JSX_code_generation_Colon_preserve_react_native_or_react_6080',
      message:
        "Specify JSX code generation: 'preserve', 'react-native', or 'react'."
    },
    File_0_has_an_unsupported_extension_so_skipping_it: {
      code: 6081,
      category: e.DiagnosticCategory.Message,
      key: 'File_0_has_an_unsupported_extension_so_skipping_it_6081',
      message: "File '{0}' has an unsupported extension, so skipping it."
    },
    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}."
    },
    Base_directory_to_resolve_non_absolute_module_names: {
      code: 6083,
      category: e.DiagnosticCategory.Message,
      key: 'Base_directory_to_resolve_non_absolute_module_names_6083',
      message: 'Base directory to resolve non-absolute module names.'
    },
    Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit: {
      code: 6084,
      category: e.DiagnosticCategory.Message,
      key:
        'Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084',
      message:
        "[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"
    },
    Enable_tracing_of_the_name_resolution_process: {
      code: 6085,
      category: e.DiagnosticCategory.Message,
      key: 'Enable_tracing_of_the_name_resolution_process_6085',
      message: 'Enable tracing of the name resolution process.'
    },
    Resolving_module_0_from_1: {
      code: 6086,
      category: e.DiagnosticCategory.Message,
      key: 'Resolving_module_0_from_1_6086',
      message: "======== Resolving module '{0}' from '{1}'. ========"
    },
    Explicitly_specified_module_resolution_kind_Colon_0: {
      code: 6087,
      category: e.DiagnosticCategory.Message,
      key: 'Explicitly_specified_module_resolution_kind_Colon_0_6087',
      message: "Explicitly specified module resolution kind: '{0}'."
    },
    Module_resolution_kind_is_not_specified_using_0: {
      code: 6088,
      category: e.DiagnosticCategory.Message,
      key: 'Module_resolution_kind_is_not_specified_using_0_6088',
      message: "Module resolution kind is not specified, using '{0}'."
    },
    Module_name_0_was_successfully_resolved_to_1: {
      code: 6089,
      category: e.DiagnosticCategory.Message,
      key: 'Module_name_0_was_successfully_resolved_to_1_6089',
      message:
        "======== Module name '{0}' was successfully resolved to '{1}'. ========"
    },
    Module_name_0_was_not_resolved: {
      code: 6090,
      category: e.DiagnosticCategory.Message,
      key: 'Module_name_0_was_not_resolved_6090',
      message: "======== Module name '{0}' was not resolved. ========"
    },
    paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0: {
      code: 6091,
      category: e.DiagnosticCategory.Message,
      key:
        'paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091',
      message:
        "'paths' option is specified, looking for a pattern to match module name '{0}'."
    },
    Module_name_0_matched_pattern_1: {
      code: 6092,
      category: e.DiagnosticCategory.Message,
      key: 'Module_name_0_matched_pattern_1_6092',
      message: "Module name '{0}', matched pattern '{1}'."
    },
    Trying_substitution_0_candidate_module_location_Colon_1: {
      code: 6093,
      category: e.DiagnosticCategory.Message,
      key: 'Trying_substitution_0_candidate_module_location_Colon_1_6093',
      message: "Trying substitution '{0}', candidate module location: '{1}'."
    },
    Resolving_module_name_0_relative_to_base_url_1_2: {
      code: 6094,
      category: e.DiagnosticCategory.Message,
      key: 'Resolving_module_name_0_relative_to_base_url_1_2_6094',
      message: "Resolving module name '{0}' relative to base url '{1}' - '{2}'."
    },
    Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1: {
      code: 6095,
      category: e.DiagnosticCategory.Message,
      key:
        'Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1_6095',
      message:
        "Loading module as file / folder, candidate module location '{0}', target file type '{1}'."
    },
    File_0_does_not_exist: {
      code: 6096,
      category: e.DiagnosticCategory.Message,
      key: 'File_0_does_not_exist_6096',
      message: "File '{0}' does not exist."
    },
    File_0_exist_use_it_as_a_name_resolution_result: {
      code: 6097,
      category: e.DiagnosticCategory.Message,
      key: 'File_0_exist_use_it_as_a_name_resolution_result_6097',
      message: "File '{0}' exist - use it as a name resolution result."
    },
    Loading_module_0_from_node_modules_folder_target_file_type_1: {
      code: 6098,
      category: e.DiagnosticCategory.Message,
      key: 'Loading_module_0_from_node_modules_folder_target_file_type_1_6098',
      message:
        "Loading module '{0}' from 'node_modules' folder, target file type '{1}'."
    },
    Found_package_json_at_0: {
      code: 6099,
      category: e.DiagnosticCategory.Message,
      key: 'Found_package_json_at_0_6099',
      message: "Found 'package.json' at '{0}'."
    },
    package_json_does_not_have_a_0_field: {
      code: 6100,
      category: e.DiagnosticCategory.Message,
      key: 'package_json_does_not_have_a_0_field_6100',
      message: "'package.json' does not have a '{0}' field."
    },
    package_json_has_0_field_1_that_references_2: {
      code: 6101,
      category: e.DiagnosticCategory.Message,
      key: 'package_json_has_0_field_1_that_references_2_6101',
      message: "'package.json' has '{0}' field '{1}' that references '{2}'."
    },
    Allow_javascript_files_to_be_compiled: {
      code: 6102,
      category: e.DiagnosticCategory.Message,
      key: 'Allow_javascript_files_to_be_compiled_6102',
      message: 'Allow javascript files to be compiled.'
    },
    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."
    },
    Checking_if_0_is_the_longest_matching_prefix_for_1_2: {
      code: 6104,
      category: e.DiagnosticCategory.Message,
      key: 'Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104',
      message:
        "Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."
    },
    Expected_type_of_0_field_in_package_json_to_be_string_got_1: {
      code: 6105,
      category: e.DiagnosticCategory.Message,
      key: 'Expected_type_of_0_field_in_package_json_to_be_string_got_1_6105',
      message:
        "Expected type of '{0}' field in 'package.json' to be 'string', got '{1}'."
    },
    baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1: {
      code: 6106,
      category: e.DiagnosticCategory.Message,
      key:
        'baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106',
      message:
        "'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."
    },
    rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0: {
      code: 6107,
      category: e.DiagnosticCategory.Message,
      key:
        'rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107',
      message:
        "'rootDirs' option is set, using it to resolve relative module name '{0}'."
    },
    Longest_matching_prefix_for_0_is_1: {
      code: 6108,
      category: e.DiagnosticCategory.Message,
      key: 'Longest_matching_prefix_for_0_is_1_6108',
      message: "Longest matching prefix for '{0}' is '{1}'."
    },
    Loading_0_from_the_root_dir_1_candidate_location_2: {
      code: 6109,
      category: e.DiagnosticCategory.Message,
      key: 'Loading_0_from_the_root_dir_1_candidate_location_2_6109',
      message:
        "Loading '{0}' from the root dir '{1}', candidate location '{2}'."
    },
    Trying_other_entries_in_rootDirs: {
      code: 6110,
      category: e.DiagnosticCategory.Message,
      key: 'Trying_other_entries_in_rootDirs_6110',
      message: "Trying other entries in 'rootDirs'."
    },
    Module_resolution_using_rootDirs_has_failed: {
      code: 6111,
      category: e.DiagnosticCategory.Message,
      key: 'Module_resolution_using_rootDirs_has_failed_6111',
      message: "Module resolution using 'rootDirs' has failed."
    },
    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."
    },
    Enable_strict_null_checks: {
      code: 6113,
      category: e.DiagnosticCategory.Message,
      key: 'Enable_strict_null_checks_6113',
      message: 'Enable strict null checks.'
    },
    Unknown_option_excludes_Did_you_mean_exclude: {
      code: 6114,
      category: e.DiagnosticCategory.Error,
      key: 'Unknown_option_excludes_Did_you_mean_exclude_6114',
      message: "Unknown option 'excludes'. Did you mean 'exclude'?"
    },
    Raise_error_on_this_expressions_with_an_implied_any_type: {
      code: 6115,
      category: e.DiagnosticCategory.Message,
      key: 'Raise_error_on_this_expressions_with_an_implied_any_type_6115',
      message: "Raise error on 'this' expressions with an implied 'any' type."
    },
    Resolving_type_reference_directive_0_containing_file_1_root_directory_2: {
      code: 6116,
      category: e.DiagnosticCategory.Message,
      key:
        'Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116',
      message:
        "======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"
    },
    Resolving_using_primary_search_paths: {
      code: 6117,
      category: e.DiagnosticCategory.Message,
      key: 'Resolving_using_primary_search_paths_6117',
      message: 'Resolving using primary search paths...'
    },
    Resolving_from_node_modules_folder: {
      code: 6118,
      category: e.DiagnosticCategory.Message,
      key: 'Resolving_from_node_modules_folder_6118',
      message: 'Resolving from node_modules folder...'
    },
    Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2: {
      code: 6119,
      category: e.DiagnosticCategory.Message,
      key:
        'Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119',
      message:
        "======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"
    },
    Type_reference_directive_0_was_not_resolved: {
      code: 6120,
      category: e.DiagnosticCategory.Message,
      key: 'Type_reference_directive_0_was_not_resolved_6120',
      message:
        "======== Type reference directive '{0}' was not resolved. ========"
    },
    Resolving_with_primary_search_path_0: {
      code: 6121,
      category: e.DiagnosticCategory.Message,
      key: 'Resolving_with_primary_search_path_0_6121',
      message: "Resolving with primary search path '{0}'."
    },
    Root_directory_cannot_be_determined_skipping_primary_search_paths: {
      code: 6122,
      category: e.DiagnosticCategory.Message,
      key:
        'Root_directory_cannot_be_determined_skipping_primary_search_paths_6122',
      message:
        'Root directory cannot be determined, skipping primary search paths.'
    },
    Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set: {
      code: 6123,
      category: e.DiagnosticCategory.Message,
      key:
        'Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123',
      message:
        "======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"
    },
    Type_declaration_files_to_be_included_in_compilation: {
      code: 6124,
      category: e.DiagnosticCategory.Message,
      key: 'Type_declaration_files_to_be_included_in_compilation_6124',
      message: 'Type declaration files to be included in compilation.'
    },
    Looking_up_in_node_modules_folder_initial_location_0: {
      code: 6125,
      category: e.DiagnosticCategory.Message,
      key: 'Looking_up_in_node_modules_folder_initial_location_0_6125',
      message: "Looking up in 'node_modules' folder, initial location '{0}'."
    },
    Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder: {
      code: 6126,
      category: e.DiagnosticCategory.Message,
      key:
        'Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126',
      message:
        "Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."
    },
    Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1: {
      code: 6127,
      category: e.DiagnosticCategory.Message,
      key:
        'Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127',
      message:
        "======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"
    },
    Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set: {
      code: 6128,
      category: e.DiagnosticCategory.Message,
      key:
        'Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128',
      message:
        "======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"
    },
    The_config_file_0_found_doesn_t_contain_any_source_files: {
      code: 6129,
      category: e.DiagnosticCategory.Error,
      key: 'The_config_file_0_found_doesn_t_contain_any_source_files_6129',
      message: "The config file '{0}' found doesn't contain any source files."
    },
    Resolving_real_path_for_0_result_1: {
      code: 6130,
      category: e.DiagnosticCategory.Message,
      key: 'Resolving_real_path_for_0_result_1_6130',
      message: "Resolving real path for '{0}', result '{1}'."
    },
    Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system: {
      code: 6131,
      category: e.DiagnosticCategory.Error,
      key:
        'Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131',
      message:
        "Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."
    },
    File_name_0_has_a_1_extension_stripping_it: {
      code: 6132,
      category: e.DiagnosticCategory.Message,
      key: 'File_name_0_has_a_1_extension_stripping_it_6132',
      message: "File name '{0}' has a '{1}' extension - stripping it."
    },
    _0_is_declared_but_never_used: {
      code: 6133,
      category: e.DiagnosticCategory.Error,
      key: '_0_is_declared_but_never_used_6133',
      message: "'{0}' is declared but never used."
    },
    Report_errors_on_unused_locals: {
      code: 6134,
      category: e.DiagnosticCategory.Message,
      key: 'Report_errors_on_unused_locals_6134',
      message: 'Report errors on unused locals.'
    },
    Report_errors_on_unused_parameters: {
      code: 6135,
      category: e.DiagnosticCategory.Message,
      key: 'Report_errors_on_unused_parameters_6135',
      message: 'Report errors on unused parameters.'
    },
    The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files: {
      code: 6136,
      category: e.DiagnosticCategory.Message,
      key:
        'The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136',
      message:
        'The maximum dependency depth to search under node_modules and load JavaScript files.'
    },
    Property_0_is_declared_but_never_used: {
      code: 6138,
      category: e.DiagnosticCategory.Error,
      key: 'Property_0_is_declared_but_never_used_6138',
      message: "Property '{0}' is declared but never used."
    },
    Import_emit_helpers_from_tslib: {
      code: 6139,
      category: e.DiagnosticCategory.Message,
      key: 'Import_emit_helpers_from_tslib_6139',
      message: "Import emit helpers from 'tslib'."
    },
    Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2: {
      code: 6140,
      category: e.DiagnosticCategory.Error,
      key:
        'Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140',
      message:
        "Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."
    },
    Parse_in_strict_mode_and_emit_use_strict_for_each_source_file: {
      code: 6141,
      category: e.DiagnosticCategory.Message,
      key: 'Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141',
      message:
        'Parse in strict mode and emit "use strict" for each source file.'
    },
    Module_0_was_resolved_to_1_but_jsx_is_not_set: {
      code: 6142,
      category: e.DiagnosticCategory.Error,
      key: 'Module_0_was_resolved_to_1_but_jsx_is_not_set_6142',
      message: "Module '{0}' was resolved to '{1}', but '--jsx' is not set."
    },
    Module_0_was_resolved_to_1_but_allowJs_is_not_set: {
      code: 6143,
      category: e.DiagnosticCategory.Error,
      key: 'Module_0_was_resolved_to_1_but_allowJs_is_not_set_6143',
      message: "Module '{0}' was resolved to '{1}', but '--allowJs' is not set."
    },
    Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1: {
      code: 6144,
      category: e.DiagnosticCategory.Message,
      key:
        'Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144',
      message:
        "Module '{0}' was resolved as locally declared ambient module in file '{1}'."
    },
    Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified: {
      code: 6145,
      category: e.DiagnosticCategory.Message,
      key:
        'Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145',
      message:
        "Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified."
    },
    Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h: {
      code: 6146,
      category: e.DiagnosticCategory.Message,
      key:
        'Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146',
      message:
        "Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."
    },
    Resolution_for_module_0_was_found_in_cache: {
      code: 6147,
      category: e.DiagnosticCategory.Message,
      key: 'Resolution_for_module_0_was_found_in_cache_6147',
      message: "Resolution for module '{0}' was found in cache."
    },
    Directory_0_does_not_exist_skipping_all_lookups_in_it: {
      code: 6148,
      category: e.DiagnosticCategory.Message,
      key: 'Directory_0_does_not_exist_skipping_all_lookups_in_it_6148',
      message: "Directory '{0}' does not exist, skipping all lookups in it."
    },
    Show_diagnostic_information: {
      code: 6149,
      category: e.DiagnosticCategory.Message,
      key: 'Show_diagnostic_information_6149',
      message: 'Show diagnostic information.'
    },
    Show_verbose_diagnostic_information: {
      code: 6150,
      category: e.DiagnosticCategory.Message,
      key: 'Show_verbose_diagnostic_information_6150',
      message: 'Show verbose diagnostic information.'
    },
    Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file: {
      code: 6151,
      category: e.DiagnosticCategory.Message,
      key:
        'Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151',
      message:
        'Emit a single file with source maps instead of having a separate file.'
    },
    Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set: {
      code: 6152,
      category: e.DiagnosticCategory.Message,
      key:
        'Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152',
      message:
        "Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."
    },
    Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule: {
      code: 6153,
      category: e.DiagnosticCategory.Message,
      key:
        'Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153',
      message:
        "Transpile each file as a separate module (similar to 'ts.transpileModule')."
    },
    Print_names_of_generated_files_part_of_the_compilation: {
      code: 6154,
      category: e.DiagnosticCategory.Message,
      key: 'Print_names_of_generated_files_part_of_the_compilation_6154',
      message: 'Print names of generated files part of the compilation.'
    },
    Print_names_of_files_part_of_the_compilation: {
      code: 6155,
      category: e.DiagnosticCategory.Message,
      key: 'Print_names_of_files_part_of_the_compilation_6155',
      message: 'Print names of files part of the compilation.'
    },
    The_locale_used_when_displaying_messages_to_the_user_e_g_en_us: {
      code: 6156,
      category: e.DiagnosticCategory.Message,
      key:
        'The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156',
      message:
        "The locale used when displaying messages to the user (e.g. 'en-us')"
    },
    Do_not_generate_custom_helper_functions_like_extends_in_compiled_output: {
      code: 6157,
      category: e.DiagnosticCategory.Message,
      key:
        'Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157',
      message:
        "Do not generate custom helper functions like '__extends' in compiled output."
    },
    Do_not_include_the_default_library_file_lib_d_ts: {
      code: 6158,
      category: e.DiagnosticCategory.Message,
      key: 'Do_not_include_the_default_library_file_lib_d_ts_6158',
      message: 'Do not include the default library file (lib.d.ts).'
    },
    Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files: {
      code: 6159,
      category: e.DiagnosticCategory.Message,
      key:
        'Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159',
      message:
        'Do not add triple-slash references or imported modules to the list of compiled files.'
    },
    Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files: {
      code: 6160,
      category: e.DiagnosticCategory.Message,
      key:
        'Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160',
      message:
        "[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."
    },
    List_of_folders_to_include_type_definitions_from: {
      code: 6161,
      category: e.DiagnosticCategory.Message,
      key: 'List_of_folders_to_include_type_definitions_from_6161',
      message: 'List of folders to include type definitions from.'
    },
    Disable_size_limitations_on_JavaScript_projects: {
      code: 6162,
      category: e.DiagnosticCategory.Message,
      key: 'Disable_size_limitations_on_JavaScript_projects_6162',
      message: 'Disable size limitations on JavaScript projects.'
    },
    The_character_set_of_the_input_files: {
      code: 6163,
      category: e.DiagnosticCategory.Message,
      key: 'The_character_set_of_the_input_files_6163',
      message: 'The character set of the input files.'
    },
    Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files: {
      code: 6164,
      category: e.DiagnosticCategory.Message,
      key:
        'Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6164',
      message:
        'Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files.'
    },
    Do_not_truncate_error_messages: {
      code: 6165,
      category: e.DiagnosticCategory.Message,
      key: 'Do_not_truncate_error_messages_6165',
      message: 'Do not truncate error messages.'
    },
    Output_directory_for_generated_declaration_files: {
      code: 6166,
      category: e.DiagnosticCategory.Message,
      key: 'Output_directory_for_generated_declaration_files_6166',
      message: 'Output directory for generated declaration files.'
    },
    A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl: {
      code: 6167,
      category: e.DiagnosticCategory.Message,
      key:
        'A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167',
      message:
        "A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."
    },
    List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime: {
      code: 6168,
      category: e.DiagnosticCategory.Message,
      key:
        'List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168',
      message:
        'List of root folders whose combined content represents the structure of the project at runtime.'
    },
    Show_all_compiler_options: {
      code: 6169,
      category: e.DiagnosticCategory.Message,
      key: 'Show_all_compiler_options_6169',
      message: 'Show all compiler options.'
    },
    Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file: {
      code: 6170,
      category: e.DiagnosticCategory.Message,
      key:
        'Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170',
      message:
        "[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"
    },
    Command_line_Options: {
      code: 6171,
      category: e.DiagnosticCategory.Message,
      key: 'Command_line_Options_6171',
      message: 'Command-line Options'
    },
    Basic_Options: {
      code: 6172,
      category: e.DiagnosticCategory.Message,
      key: 'Basic_Options_6172',
      message: 'Basic Options'
    },
    Strict_Type_Checking_Options: {
      code: 6173,
      category: e.DiagnosticCategory.Message,
      key: 'Strict_Type_Checking_Options_6173',
      message: 'Strict Type-Checking Options'
    },
    Module_Resolution_Options: {
      code: 6174,
      category: e.DiagnosticCategory.Message,
      key: 'Module_Resolution_Options_6174',
      message: 'Module Resolution Options'
    },
    Source_Map_Options: {
      code: 6175,
      category: e.DiagnosticCategory.Message,
      key: 'Source_Map_Options_6175',
      message: 'Source Map Options'
    },
    Additional_Checks: {
      code: 6176,
      category: e.DiagnosticCategory.Message,
      key: 'Additional_Checks_6176',
      message: 'Additional Checks'
    },
    Experimental_Options: {
      code: 6177,
      category: e.DiagnosticCategory.Message,
      key: 'Experimental_Options_6177',
      message: 'Experimental Options'
    },
    Advanced_Options: {
      code: 6178,
      category: e.DiagnosticCategory.Message,
      key: 'Advanced_Options_6178',
      message: 'Advanced Options'
    },
    Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3: {
      code: 6179,
      category: e.DiagnosticCategory.Message,
      key:
        'Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179',
      message:
        "Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."
    },
    Enable_all_strict_type_checking_options: {
      code: 6180,
      category: e.DiagnosticCategory.Message,
      key: 'Enable_all_strict_type_checking_options_6180',
      message: 'Enable all strict type-checking options.'
    },
    List_of_language_service_plugins: {
      code: 6181,
      category: e.DiagnosticCategory.Message,
      key: 'List_of_language_service_plugins_6181',
      message: 'List of language service plugins.'
    },
    Scoped_package_detected_looking_in_0: {
      code: 6182,
      category: e.DiagnosticCategory.Message,
      key: 'Scoped_package_detected_looking_in_0_6182',
      message: "Scoped package detected, looking in '{0}'"
    },
    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'."
    },
    Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type: {
      code: 7016,
      category: e.DiagnosticCategory.Error,
      key:
        'Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016',
      message:
        "Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."
    },
    Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature: {
      code: 7017,
      category: e.DiagnosticCategory.Error,
      key:
        'Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017',
      message:
        "Element implicitly has an 'any' type because type '{0}' has no index signature."
    },
    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.'
    },
    Binding_element_0_implicitly_has_an_1_type: {
      code: 7031,
      category: e.DiagnosticCategory.Error,
      key: 'Binding_element_0_implicitly_has_an_1_type_7031',
      message: "Binding element '{0}' implicitly has an '{1}' type."
    },
    Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation: {
      code: 7032,
      category: e.DiagnosticCategory.Error,
      key:
        'Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032',
      message:
        "Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."
    },
    Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation: {
      code: 7033,
      category: e.DiagnosticCategory.Error,
      key:
        'Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033',
      message:
        "Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."
    },
    Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined: {
      code: 7034,
      category: e.DiagnosticCategory.Error,
      key:
        'Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034',
      message:
        "Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."
    },
    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."
    },
    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_clause: {
      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' clause."
    },
    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."
    },
    Language_service_is_disabled: {
      code: 9004,
      category: e.DiagnosticCategory.Error,
      key: 'Language_service_is_disabled_9004',
      message: 'Language service is disabled.'
    },
    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_type_acquisition_option_0: {
      code: 17010,
      category: e.DiagnosticCategory.Error,
      key: 'Unknown_type_acquisition_option_0_17010',
      message: "Unknown type acquisition option '{0}'."
    },
    super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class: {
      code: 17011,
      category: e.DiagnosticCategory.Error,
      key:
        'super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011',
      message:
        "'super' must be called before accessing a property of 'super' in the constructor of a derived class."
    },
    _0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2: {
      code: 17012,
      category: e.DiagnosticCategory.Error,
      key: '_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012',
      message:
        "'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"
    },
    Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor: {
      code: 17013,
      category: e.DiagnosticCategory.Error,
      key:
        'Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013',
      message:
        "Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."
    },
    Circularity_detected_while_resolving_configuration_Colon_0: {
      code: 18e3,
      category: e.DiagnosticCategory.Error,
      key: 'Circularity_detected_while_resolving_configuration_Colon_0_18000',
      message: 'Circularity detected while resolving configuration: {0}'
    },
    A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not: {
      code: 18001,
      category: e.DiagnosticCategory.Error,
      key:
        'A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not_18001',
      message:
        "A path in an 'extends' option must be relative or rooted, but '{0}' is not."
    },
    The_files_list_in_config_file_0_is_empty: {
      code: 18002,
      category: e.DiagnosticCategory.Error,
      key: 'The_files_list_in_config_file_0_is_empty_18002',
      message: "The 'files' list in config file '{0}' is empty."
    },
    No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2: {
      code: 18003,
      category: e.DiagnosticCategory.Error,
      key:
        'No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003',
      message:
        "No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."
    },
    Add_missing_super_call: {
      code: 90001,
      category: e.DiagnosticCategory.Message,
      key: 'Add_missing_super_call_90001',
      message: "Add missing 'super()' call."
    },
    Make_super_call_the_first_statement_in_the_constructor: {
      code: 90002,
      category: e.DiagnosticCategory.Message,
      key: 'Make_super_call_the_first_statement_in_the_constructor_90002',
      message: "Make 'super()' call the first statement in the constructor."
    },
    Change_extends_to_implements: {
      code: 90003,
      category: e.DiagnosticCategory.Message,
      key: 'Change_extends_to_implements_90003',
      message: "Change 'extends' to 'implements'."
    },
    Remove_declaration_for_Colon_0: {
      code: 90004,
      category: e.DiagnosticCategory.Message,
      key: 'Remove_declaration_for_Colon_0_90004',
      message: "Remove declaration for: '{0}'."
    },
    Implement_interface_0: {
      code: 90006,
      category: e.DiagnosticCategory.Message,
      key: 'Implement_interface_0_90006',
      message: "Implement interface '{0}'."
    },
    Implement_inherited_abstract_class: {
      code: 90007,
      category: e.DiagnosticCategory.Message,
      key: 'Implement_inherited_abstract_class_90007',
      message: 'Implement inherited abstract class.'
    },
    Add_this_to_unresolved_variable: {
      code: 90008,
      category: e.DiagnosticCategory.Message,
      key: 'Add_this_to_unresolved_variable_90008',
      message: "Add 'this.' to unresolved variable."
    },
    Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig: {
      code: 90009,
      category: e.DiagnosticCategory.Error,
      key:
        'Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__90009',
      message:
        'Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig.'
    },
    Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated: {
      code: 90010,
      category: e.DiagnosticCategory.Error,
      key:
        'Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_90010',
      message:
        "Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."
    },
    Import_0_from_1: {
      code: 90013,
      category: e.DiagnosticCategory.Message,
      key: 'Import_0_from_1_90013',
      message: 'Import {0} from {1}.'
    },
    Change_0_to_1: {
      code: 90014,
      category: e.DiagnosticCategory.Message,
      key: 'Change_0_to_1_90014',
      message: 'Change {0} to {1}.'
    },
    Add_0_to_existing_import_declaration_from_1: {
      code: 90015,
      category: e.DiagnosticCategory.Message,
      key: 'Add_0_to_existing_import_declaration_from_1_90015',
      message: 'Add {0} to existing import declaration from {1}.'
    },
    Add_declaration_for_missing_property_0: {
      code: 90016,
      category: e.DiagnosticCategory.Message,
      key: 'Add_declaration_for_missing_property_0_90016',
      message: "Add declaration for missing property '{0}'."
    },
    Add_index_signature_for_missing_property_0: {
      code: 90017,
      category: e.DiagnosticCategory.Message,
      key: 'Add_index_signature_for_missing_property_0_90017',
      message: "Add index signature for missing property '{0}'."
    },
    Disable_checking_for_this_file: {
      code: 90018,
      category: e.DiagnosticCategory.Message,
      key: 'Disable_checking_for_this_file_90018',
      message: 'Disable checking for this file.'
    },
    Ignore_this_error_message: {
      code: 90019,
      category: e.DiagnosticCategory.Message,
      key: 'Ignore_this_error_message_90019',
      message: 'Ignore this error message.'
    },
    Initialize_property_0_in_the_constructor: {
      code: 90020,
      category: e.DiagnosticCategory.Message,
      key: 'Initialize_property_0_in_the_constructor_90020',
      message: "Initialize property '{0}' in the constructor."
    },
    Initialize_static_property_0: {
      code: 90021,
      category: e.DiagnosticCategory.Message,
      key: 'Initialize_static_property_0_90021',
      message: "Initialize static property '{0}'."
    },
    Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0: {
      code: 8017,
      category: e.DiagnosticCategory.Error,
      key: 'Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017',
      message:
        "Octal literal types must use ES2015 syntax. Use the syntax '{0}'."
    },
    Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0: {
      code: 8018,
      category: e.DiagnosticCategory.Error,
      key:
        'Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018',
      message:
        "Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."
    },
    Report_errors_in_js_files: {
      code: 8019,
      category: e.DiagnosticCategory.Message,
      key: 'Report_errors_in_js_files_8019',
      message: 'Report errors in .js files.'
    }
  }
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(e) {
    return e >= 71
  }
  function r(e, t) {
    if (e < t[0]) return !1
    for (var r, n = 0, a = t.length; n + 1 < a; ) {
      if (((r = n + (a - n) / 2), (r -= r % 2), t[r] <= e && e <= t[r + 1]))
        return !0
      e < t[r] ? (a = r) : (n = r + 2)
    }
    return !1
  }
  function n(e, t) {
    return t >= 1 ? r(e, K) : r(e, J)
  }
  function a(e, t) {
    return t >= 1 ? r(e, j) : r(e, z)
  }
  function i(e) {
    var t = []
    return (
      e.forEach(function(e, r) {
        t[e] = r
      }),
      t
    )
  }
  function o(e) {
    return V[e]
  }
  function s(e) {
    return B.get(e)
  }
  function c(e) {
    for (var t = new Array(), r = 0, n = 0; r < e.length; ) {
      var a = e.charCodeAt(r)
      switch ((r++, a)) {
        case 13:
          10 === e.charCodeAt(r) && r++
        case 10:
          t.push(n), (n = r)
          break
        default:
          a > 127 && m(a) && (t.push(n), (n = r))
      }
    }
    return t.push(n), t
  }
  function u(e, t, r) {
    return _(l(e), t, r)
  }
  function _(t, r, n) {
    return e.Debug.assert(r >= 0 && r < t.length), t[r] + n
  }
  function l(e) {
    return e.lineMap || (e.lineMap = c(e.text))
  }
  function d(t, r) {
    var n = e.binarySearch(t, r)
    return (
      n < 0 &&
        ((n = ~n - 1),
        e.Debug.assert(
          n !== -1,
          'position cannot precede the beginning of the file'
        )),
      { line: n, character: r - t[n] }
    )
  }
  function p(e, t) {
    return d(l(e), t)
  }
  function f(e) {
    return g(e) || m(e)
  }
  function g(e) {
    return (
      32 === e ||
      9 === e ||
      11 === e ||
      12 === e ||
      160 === e ||
      133 === e ||
      5760 === e ||
      (e >= 8192 && e <= 8203) ||
      8239 === e ||
      8287 === e ||
      12288 === e ||
      65279 === e
    )
  }
  function m(e) {
    return 10 === e || 13 === e || 8232 === e || 8233 === e
  }
  function y(e) {
    return e >= 48 && e <= 57
  }
  function v(e) {
    return e >= 48 && e <= 55
  }
  function h(e, t) {
    var r = e.charCodeAt(t)
    switch (r) {
      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 r > 127
    }
  }
  function b(t, r, n, a) {
    if ((void 0 === a && (a = !1), e.positionIsSynthesized(r))) return r
    for (;;) {
      var i = t.charCodeAt(r)
      switch (i) {
        case 13:
          10 === t.charCodeAt(r + 1) && r++
        case 10:
          if ((r++, n)) return r
          continue
        case 9:
        case 11:
        case 12:
        case 32:
          r++
          continue
        case 47:
          if (a) break
          if (47 === t.charCodeAt(r + 1)) {
            for (r += 2; r < t.length && !m(t.charCodeAt(r)); ) r++
            continue
          }
          if (42 === t.charCodeAt(r + 1)) {
            for (r += 2; r < t.length; ) {
              if (42 === t.charCodeAt(r) && 47 === t.charCodeAt(r + 1)) {
                r += 2
                break
              }
              r++
            }
            continue
          }
          break
        case 60:
        case 61:
        case 62:
          if (k(t, r)) {
            r = x(t, r)
            continue
          }
          break
        case 35:
          if (0 === r && C(t, r)) {
            r = S(t, r)
            continue
          }
          break
        default:
          if (i > 127 && f(i)) {
            r++
            continue
          }
      }
      return r
    }
  }
  function k(t, r) {
    if ((e.Debug.assert(r >= 0), 0 === r || m(t.charCodeAt(r - 1)))) {
      var n = t.charCodeAt(r)
      if (r + q < t.length) {
        for (var a = 0; a < q; a++) if (t.charCodeAt(r + a) !== n) return !1
        return 61 === n || 32 === t.charCodeAt(r + q)
      }
    }
    return !1
  }
  function x(t, r, n) {
    n && n(e.Diagnostics.Merge_conflict_marker_encountered, q)
    var a = t.charCodeAt(r),
      i = t.length
    if (60 === a || 62 === a) for (; r < i && !m(t.charCodeAt(r)); ) r++
    else
      for (e.Debug.assert(61 === a); r < i; ) {
        var o = t.charCodeAt(r)
        if (62 === o && k(t, r)) break
        r++
      }
    return r
  }
  function C(t, r) {
    return e.Debug.assert(0 === r), U.test(t)
  }
  function S(e, t) {
    var r = U.exec(e)[0]
    return (t += r.length)
  }
  function D(e, t, r, n, a, i, o) {
    var s,
      c,
      u,
      _,
      l = !1,
      d = n || 0 === r,
      p = o
    e: for (; r >= 0 && r < t.length; ) {
      var g = t.charCodeAt(r)
      switch (g) {
        case 13:
          10 === t.charCodeAt(r + 1) && r++
        case 10:
          if ((r++, n)) break e
          ;(d = !0), l && (_ = !0)
          continue
        case 9:
        case 11:
        case 12:
        case 32:
          r++
          continue
        case 47:
          var y = t.charCodeAt(r + 1),
            v = !1
          if (47 === y || 42 === y) {
            var h = 47 === y ? 2 : 3,
              b = r
            if (((r += 2), 47 === y))
              for (; r < t.length; ) {
                if (m(t.charCodeAt(r))) {
                  v = !0
                  break
                }
                r++
              }
            else
              for (; r < t.length; ) {
                if (42 === t.charCodeAt(r) && 47 === t.charCodeAt(r + 1)) {
                  r += 2
                  break
                }
                r++
              }
            if (d) {
              if (l) {
                if (((p = a(s, c, u, _, i, p)), !e && p)) return p
                l = !1
              }
              ;(s = b), (c = r), (u = h), (_ = v), (l = !0)
            }
            continue
          }
          break e
        default:
          if (g > 127 && f(g)) {
            l && m(g) && (_ = !0), r++
            continue
          }
          break e
      }
    }
    return l && (p = a(s, c, u, _, i, p)), p
  }
  function T(e, t, r, n) {
    return D(!1, e, t, !1, r, n)
  }
  function E(e, t, r, n) {
    return D(!1, e, t, !0, r, n)
  }
  function N(e, t, r, n, a) {
    return D(!0, e, t, !1, r, n, a)
  }
  function A(e, t, r, n, a) {
    return D(!0, e, t, !0, r, n, a)
  }
  function w(e, t, r, n, a, i) {
    return (
      i || (i = []),
      i.push({ kind: r, pos: e, end: t, hasTrailingNewLine: n }),
      i
    )
  }
  function P(e, t) {
    return N(e, t, w, void 0, void 0)
  }
  function O(e, t) {
    return A(e, t, w, void 0, void 0)
  }
  function F(e) {
    return U.test(e) ? U.exec(e)[0] : void 0
  }
  function I(e, t) {
    return (
      (e >= 65 && e <= 90) ||
      (e >= 97 && e <= 122) ||
      36 === e ||
      95 === e ||
      (e > 127 && n(e, t))
    )
  }
  function R(e, t) {
    return (
      (e >= 65 && e <= 90) ||
      (e >= 97 && e <= 122) ||
      (e >= 48 && e <= 57) ||
      36 === e ||
      95 === e ||
      (e > 127 && a(e, t))
    )
  }
  function M(e, t) {
    if (!I(e.charCodeAt(0), t)) return !1
    for (var r = 1; r < e.length; r++) if (!R(e.charCodeAt(r), t)) return !1
    return !0
  }
  function L(r, n, a, i, o, s, c) {
    function u(e, t) {
      o && o(e, t || 0)
    }
    function _() {
      for (var t = re; y(i.charCodeAt(re)); ) re++
      if (46 === i.charCodeAt(re)) for (re++; y(i.charCodeAt(re)); ) re++
      var r = re
      if (69 === i.charCodeAt(re) || 101 === i.charCodeAt(re))
        if (
          (re++,
          (le = 2),
          (43 !== i.charCodeAt(re) && 45 !== i.charCodeAt(re)) || re++,
          y(i.charCodeAt(re)))
        ) {
          for (re++; y(i.charCodeAt(re)); ) re++
          r = re
        } else u(e.Diagnostics.Digit_expected)
      return '' + +i.substring(t, r)
    }
    function l() {
      for (var e = re; v(i.charCodeAt(re)); ) re++
      return +i.substring(e, re)
    }
    function d(e) {
      return h(e, !1)
    }
    function p(e) {
      return h(e, !0)
    }
    function h(e, t) {
      for (var r = 0, n = 0; r < e || t; ) {
        var a = i.charCodeAt(re)
        if (a >= 48 && a <= 57) n = 16 * n + a - 48
        else if (a >= 65 && a <= 70) n = 16 * n + a - 65 + 10
        else {
          if (!(a >= 97 && a <= 102)) break
          n = 16 * n + a - 97 + 10
        }
        re++, r++
      }
      return r < e && (n = -1), n
    }
    function b(t) {
      void 0 === t && (t = !0)
      var r = i.charCodeAt(re)
      re++
      for (var n = '', a = re; ; ) {
        if (re >= ne) {
          ;(n += i.substring(a, re)),
            (_e = !0),
            u(e.Diagnostics.Unterminated_string_literal)
          break
        }
        var o = i.charCodeAt(re)
        if (o === r) {
          ;(n += i.substring(a, re)), re++
          break
        }
        if (92 === o && t) (n += i.substring(a, re)), (n += T()), (a = re)
        else {
          if (m(o)) {
            ;(n += i.substring(a, re)),
              (_e = !0),
              u(e.Diagnostics.Unterminated_string_literal)
            break
          }
          re++
        }
      }
      return n
    }
    function D() {
      var t = 96 === i.charCodeAt(re)
      re++
      for (var r, n = re, a = ''; ; ) {
        if (re >= ne) {
          ;(a += i.substring(n, re)),
            (_e = !0),
            u(e.Diagnostics.Unterminated_template_literal),
            (r = t ? 13 : 16)
          break
        }
        var o = i.charCodeAt(re)
        if (96 === o) {
          ;(a += i.substring(n, re)), re++, (r = t ? 13 : 16)
          break
        }
        if (36 === o && re + 1 < ne && 123 === i.charCodeAt(re + 1)) {
          ;(a += i.substring(n, re)), (re += 2), (r = t ? 14 : 15)
          break
        }
        92 !== o
          ? 13 !== o
            ? re++
            : ((a += i.substring(n, re)),
              re++,
              re < ne && 10 === i.charCodeAt(re) && re++,
              (a += '\n'),
              (n = re))
          : ((a += i.substring(n, re)), (a += T()), (n = re))
      }
      return e.Debug.assert(void 0 !== r), (se = a), r
    }
    function T() {
      if ((re++, re >= ne)) return u(e.Diagnostics.Unexpected_end_of_text), ''
      var t = i.charCodeAt(re)
      switch ((re++, t)) {
        case 48:
          return '\0'
        case 98:
          return '\b'
        case 116:
          return '\t'
        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 re < ne && 123 === i.charCodeAt(re)
            ? ((ue = !0), re++, N())
            : E(4)
        case 120:
          return E(2)
        case 13:
          re < ne && 10 === i.charCodeAt(re) && re++
        case 10:
        case 8232:
        case 8233:
          return ''
        default:
          return String.fromCharCode(t)
      }
    }
    function E(t) {
      var r = d(t)
      return r >= 0
        ? String.fromCharCode(r)
        : (u(e.Diagnostics.Hexadecimal_digit_expected), '')
    }
    function N() {
      var t = p(1),
        r = !1
      return (
        t < 0
          ? (u(e.Diagnostics.Hexadecimal_digit_expected), (r = !0))
          : t > 1114111 &&
            (u(
              e.Diagnostics
                .An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive
            ),
            (r = !0)),
        re >= ne
          ? (u(e.Diagnostics.Unexpected_end_of_text), (r = !0))
          : 125 === i.charCodeAt(re)
            ? re++
            : (u(e.Diagnostics.Unterminated_Unicode_escape_sequence), (r = !0)),
        r ? '' : A(t)
      )
    }
    function A(t) {
      if ((e.Debug.assert(0 <= t && t <= 1114111), t <= 65535))
        return String.fromCharCode(t)
      var r = Math.floor((t - 65536) / 1024) + 55296,
        n = ((t - 65536) % 1024) + 56320
      return String.fromCharCode(r, n)
    }
    function w() {
      if (re + 5 < ne && 117 === i.charCodeAt(re + 1)) {
        var e = re
        re += 2
        var t = d(4)
        return (re = e), t
      }
      return -1
    }
    function P() {
      for (var e = '', t = re; re < ne; ) {
        var n = i.charCodeAt(re)
        if (R(n, r)) re++
        else {
          if (92 !== n) break
          if (((n = w()), !(n >= 0 && R(n, r)))) break
          ;(e += i.substring(t, re)),
            (e += String.fromCharCode(n)),
            (re += 6),
            (t = re)
        }
      }
      return (e += i.substring(t, re))
    }
    function O() {
      var e = se.length
      if (e >= 2 && e <= 11) {
        var t = se.charCodeAt(0)
        if (t >= 97 && t <= 122 && ((oe = B.get(se)), void 0 !== oe)) return oe
      }
      return (oe = 71)
    }
    function F(t) {
      e.Debug.assert(2 === t || 8 === t, 'Expected either base 2 or base 8')
      for (var r = 0, n = 0; ; ) {
        var a = i.charCodeAt(re),
          o = a - 48
        if (!y(a) || o >= t) break
        ;(r = r * t + o), re++, n++
      }
      return 0 === n ? -1 : r
    }
    function M() {
      for (ae = re, ue = !1, ce = !1, _e = !1, le = 0; ; ) {
        if (((ie = re), re >= ne)) return (oe = 1)
        var t = i.charCodeAt(re)
        if (35 === t && 0 === re && C(i, re)) {
          if (((re = S(i, re)), n)) continue
          return (oe = 6)
        }
        switch (t) {
          case 10:
          case 13:
            if (((ce = !0), n)) {
              re++
              continue
            }
            return (
              13 === t && re + 1 < ne && 10 === i.charCodeAt(re + 1)
                ? (re += 2)
                : re++,
              (oe = 4)
            )
          case 9:
          case 11:
          case 12:
          case 32:
            if (n) {
              re++
              continue
            }
            for (; re < ne && g(i.charCodeAt(re)); ) re++
            return (oe = 5)
          case 33:
            return 61 === i.charCodeAt(re + 1)
              ? 61 === i.charCodeAt(re + 2)
                ? ((re += 3), (oe = 35))
                : ((re += 2), (oe = 33))
              : (re++, (oe = 51))
          case 34:
          case 39:
            return (se = b()), (oe = 9)
          case 96:
            return (oe = D())
          case 37:
            return 61 === i.charCodeAt(re + 1)
              ? ((re += 2), (oe = 64))
              : (re++, (oe = 42))
          case 38:
            return 38 === i.charCodeAt(re + 1)
              ? ((re += 2), (oe = 53))
              : 61 === i.charCodeAt(re + 1)
                ? ((re += 2), (oe = 68))
                : (re++, (oe = 48))
          case 40:
            return re++, (oe = 19)
          case 41:
            return re++, (oe = 20)
          case 42:
            return 61 === i.charCodeAt(re + 1)
              ? ((re += 2), (oe = 61))
              : 42 === i.charCodeAt(re + 1)
                ? 61 === i.charCodeAt(re + 2)
                  ? ((re += 3), (oe = 62))
                  : ((re += 2), (oe = 40))
                : (re++, (oe = 39))
          case 43:
            return 43 === i.charCodeAt(re + 1)
              ? ((re += 2), (oe = 43))
              : 61 === i.charCodeAt(re + 1)
                ? ((re += 2), (oe = 59))
                : (re++, (oe = 37))
          case 44:
            return re++, (oe = 26)
          case 45:
            return 45 === i.charCodeAt(re + 1)
              ? ((re += 2), (oe = 44))
              : 61 === i.charCodeAt(re + 1)
                ? ((re += 2), (oe = 60))
                : (re++, (oe = 38))
          case 46:
            return y(i.charCodeAt(re + 1))
              ? ((se = _()), (oe = 8))
              : 46 === i.charCodeAt(re + 1) && 46 === i.charCodeAt(re + 2)
                ? ((re += 3), (oe = 24))
                : (re++, (oe = 23))
          case 47:
            if (47 === i.charCodeAt(re + 1)) {
              for (re += 2; re < ne && !m(i.charCodeAt(re)); ) re++
              if (n) continue
              return (oe = 2)
            }
            if (42 === i.charCodeAt(re + 1)) {
              re += 2
              for (var o = !1; re < ne; ) {
                var s = i.charCodeAt(re)
                if (42 === s && 47 === i.charCodeAt(re + 1)) {
                  ;(re += 2), (o = !0)
                  break
                }
                m(s) && (ce = !0), re++
              }
              if ((o || u(e.Diagnostics.Asterisk_Slash_expected), n)) continue
              return (_e = !o), (oe = 3)
            }
            return 61 === i.charCodeAt(re + 1)
              ? ((re += 2), (oe = 63))
              : (re++, (oe = 41))
          case 48:
            if (
              re + 2 < ne &&
              (88 === i.charCodeAt(re + 1) || 120 === i.charCodeAt(re + 1))
            ) {
              re += 2
              var c = p(1)
              return (
                c < 0 && (u(e.Diagnostics.Hexadecimal_digit_expected), (c = 0)),
                (se = '' + c),
                (le = 8),
                (oe = 8)
              )
            }
            if (
              re + 2 < ne &&
              (66 === i.charCodeAt(re + 1) || 98 === i.charCodeAt(re + 1))
            ) {
              re += 2
              var c = F(2)
              return (
                c < 0 && (u(e.Diagnostics.Binary_digit_expected), (c = 0)),
                (se = '' + c),
                (le = 16),
                (oe = 8)
              )
            }
            if (
              re + 2 < ne &&
              (79 === i.charCodeAt(re + 1) || 111 === i.charCodeAt(re + 1))
            ) {
              re += 2
              var c = F(8)
              return (
                c < 0 && (u(e.Diagnostics.Octal_digit_expected), (c = 0)),
                (se = '' + c),
                (le = 32),
                (oe = 8)
              )
            }
            if (re + 1 < ne && v(i.charCodeAt(re + 1)))
              return (se = '' + l()), (le = 4), (oe = 8)
          case 49:
          case 50:
          case 51:
          case 52:
          case 53:
          case 54:
          case 55:
          case 56:
          case 57:
            return (se = _()), (oe = 8)
          case 58:
            return re++, (oe = 56)
          case 59:
            return re++, (oe = 25)
          case 60:
            if (k(i, re)) {
              if (((re = x(i, re, u)), n)) continue
              return (oe = 7)
            }
            return 60 === i.charCodeAt(re + 1)
              ? 61 === i.charCodeAt(re + 2)
                ? ((re += 3), (oe = 65))
                : ((re += 2), (oe = 45))
              : 61 === i.charCodeAt(re + 1)
                ? ((re += 2), (oe = 30))
                : 1 === a &&
                  47 === i.charCodeAt(re + 1) &&
                  42 !== i.charCodeAt(re + 2)
                  ? ((re += 2), (oe = 28))
                  : (re++, (oe = 27))
          case 61:
            if (k(i, re)) {
              if (((re = x(i, re, u)), n)) continue
              return (oe = 7)
            }
            return 61 === i.charCodeAt(re + 1)
              ? 61 === i.charCodeAt(re + 2)
                ? ((re += 3), (oe = 34))
                : ((re += 2), (oe = 32))
              : 62 === i.charCodeAt(re + 1)
                ? ((re += 2), (oe = 36))
                : (re++, (oe = 58))
          case 62:
            if (k(i, re)) {
              if (((re = x(i, re, u)), n)) continue
              return (oe = 7)
            }
            return re++, (oe = 29)
          case 63:
            return re++, (oe = 55)
          case 91:
            return re++, (oe = 21)
          case 93:
            return re++, (oe = 22)
          case 94:
            return 61 === i.charCodeAt(re + 1)
              ? ((re += 2), (oe = 70))
              : (re++, (oe = 50))
          case 123:
            return re++, (oe = 17)
          case 124:
            return 124 === i.charCodeAt(re + 1)
              ? ((re += 2), (oe = 54))
              : 61 === i.charCodeAt(re + 1)
                ? ((re += 2), (oe = 69))
                : (re++, (oe = 49))
          case 125:
            return re++, (oe = 18)
          case 126:
            return re++, (oe = 52)
          case 64:
            return re++, (oe = 57)
          case 92:
            var d = w()
            return d >= 0 && I(d, r)
              ? ((re += 6), (se = String.fromCharCode(d) + P()), (oe = O()))
              : (u(e.Diagnostics.Invalid_character), re++, (oe = 0))
          default:
            if (I(t, r)) {
              for (re++; re < ne && R((t = i.charCodeAt(re)), r); ) re++
              return (
                (se = i.substring(ie, re)), 92 === t && (se += P()), (oe = O())
              )
            }
            if (g(t)) {
              re++
              continue
            }
            if (m(t)) {
              ;(ce = !0), re++
              continue
            }
            return u(e.Diagnostics.Invalid_character), re++, (oe = 0)
        }
      }
    }
    function L() {
      if (29 === oe) {
        if (62 === i.charCodeAt(re))
          return 62 === i.charCodeAt(re + 1)
            ? 61 === i.charCodeAt(re + 2)
              ? ((re += 3), (oe = 67))
              : ((re += 2), (oe = 47))
            : 61 === i.charCodeAt(re + 1)
              ? ((re += 2), (oe = 66))
              : (re++, (oe = 46))
        if (61 === i.charCodeAt(re)) return re++, (oe = 31)
      }
      return oe
    }
    function J() {
      if (41 === oe || 63 === oe) {
        for (var t = ie + 1, n = !1, a = !1; ; ) {
          if (t >= ne) {
            ;(_e = !0), u(e.Diagnostics.Unterminated_regular_expression_literal)
            break
          }
          var o = i.charCodeAt(t)
          if (m(o)) {
            ;(_e = !0), u(e.Diagnostics.Unterminated_regular_expression_literal)
            break
          }
          if (n) n = !1
          else {
            if (47 === o && !a) {
              t++
              break
            }
            91 === o ? (a = !0) : 92 === o ? (n = !0) : 93 === o && (a = !1)
          }
          t++
        }
        for (; t < ne && R(i.charCodeAt(t), r); ) t++
        ;(re = t), (se = i.substring(ie, re)), (oe = 12)
      }
      return oe
    }
    function z() {
      return (
        e.Debug.assert(
          18 === oe,
          "'reScanTemplateToken' should only be called on a '}'"
        ),
        (re = ie),
        (oe = D())
      )
    }
    function K() {
      return (re = ie = ae), (oe = j())
    }
    function j() {
      if (((ae = ie = re), re >= ne)) return (oe = 1)
      var e = i.charCodeAt(re)
      if (60 === e)
        return 47 === i.charCodeAt(re + 1)
          ? ((re += 2), (oe = 28))
          : (re++, (oe = 27))
      if (123 === e) return re++, (oe = 17)
      for (var t = 0; re < ne && ((e = i.charCodeAt(re)), 123 !== e); ) {
        if (60 === e) {
          if (k(i, re)) return (re = x(i, re, u)), (oe = 7)
          break
        }
        m(e) && 0 === t ? (t = -1) : f(e) || (t = re), re++
      }
      return t === -1 ? 11 : 10
    }
    function V() {
      if (t(oe)) {
        for (var e = re; re < ne; ) {
          var n = i.charCodeAt(re)
          if (45 !== n && (e === re ? !I(n, r) : !R(n, r))) break
          re++
        }
        se += i.substr(e, re - e)
      }
      return oe
    }
    function q() {
      switch (((ae = re), i.charCodeAt(re))) {
        case 34:
        case 39:
          return (se = b(!1)), (oe = 9)
        default:
          return M()
      }
    }
    function U() {
      if (re >= ne) return (oe = 1)
      ;(ae = re), (ie = re)
      var e = i.charCodeAt(re)
      switch (e) {
        case 9:
        case 11:
        case 12:
        case 32:
          for (; re < ne && g(i.charCodeAt(re)); ) re++
          return (oe = 5)
        case 64:
          return re++, (oe = 57)
        case 10:
        case 13:
          return re++, (oe = 4)
        case 42:
          return re++, (oe = 39)
        case 123:
          return re++, (oe = 17)
        case 125:
          return re++, (oe = 18)
        case 91:
          return re++, (oe = 21)
        case 93:
          return re++, (oe = 22)
        case 61:
          return re++, (oe = 58)
        case 44:
          return re++, (oe = 26)
        case 46:
          return re++, (oe = 23)
      }
      if (I(e, 5)) {
        for (re++; R(i.charCodeAt(re), 5) && re < ne; ) re++
        return (oe = 71)
      }
      return (re += 1), (oe = 0)
    }
    function W(e, t) {
      var r = re,
        n = ae,
        a = ie,
        i = oe,
        o = se,
        s = ce,
        c = e()
      return (
        (c && !t) ||
          ((re = r), (ae = n), (ie = a), (oe = i), (se = o), (ce = s)),
        c
      )
    }
    function H(e, t, r) {
      var n = ne,
        a = re,
        o = ae,
        s = ie,
        c = oe,
        u = ce,
        _ = se,
        l = ue,
        d = _e
      Y(i, e, t)
      var p = r()
      return (
        (ne = n),
        (re = a),
        (ae = o),
        (ie = s),
        (oe = c),
        (ce = u),
        (se = _),
        (ue = l),
        (_e = d),
        p
      )
    }
    function G(e) {
      return W(e, !0)
    }
    function X(e) {
      return W(e, !1)
    }
    function Q() {
      return i
    }
    function Y(e, t, r) {
      ;(i = e || ''), (ne = void 0 === r ? i.length : t + r), te(t || 0)
    }
    function Z(e) {
      o = e
    }
    function $(e) {
      r = e
    }
    function ee(e) {
      a = e
    }
    function te(t) {
      e.Debug.assert(t >= 0),
        (re = t),
        (ae = t),
        (ie = t),
        (oe = 0),
        (ce = !1),
        (se = void 0),
        (ue = !1),
        (_e = !1)
    }
    void 0 === a && (a = 0)
    var re, ne, ae, ie, oe, se, ce, ue, _e, le
    return (
      Y(i, s, c),
      {
        getStartPos: function() {
          return ae
        },
        getTextPos: function() {
          return re
        },
        getToken: function() {
          return oe
        },
        getTokenPos: function() {
          return ie
        },
        getTokenText: function() {
          return i.substring(ie, re)
        },
        getTokenValue: function() {
          return se
        },
        hasExtendedUnicodeEscape: function() {
          return ue
        },
        hasPrecedingLineBreak: function() {
          return ce
        },
        isIdentifier: function() {
          return 71 === oe || oe > 107
        },
        isReservedWord: function() {
          return oe >= 72 && oe <= 107
        },
        isUnterminated: function() {
          return _e
        },
        getNumericLiteralFlags: function() {
          return le
        },
        reScanGreaterToken: L,
        reScanSlashToken: J,
        reScanTemplateToken: z,
        scanJsxIdentifier: V,
        scanJsxAttributeValue: q,
        reScanJsxToken: K,
        scanJsxToken: j,
        scanJSDocToken: U,
        scan: M,
        getText: Q,
        setText: Y,
        setScriptTarget: $,
        setLanguageVariant: ee,
        setOnError: Z,
        setTextPos: te,
        tryScan: X,
        lookAhead: G,
        scanRange: H
      }
    )
  }
  e.tokenIsIdentifierOrKeyword = t
  var B = e.createMapFromTemplate({
      abstract: 117,
      any: 119,
      as: 118,
      boolean: 122,
      break: 72,
      case: 73,
      catch: 74,
      class: 75,
      continue: 77,
      const: 76,
      constructor: 123,
      debugger: 78,
      declare: 124,
      default: 79,
      delete: 80,
      do: 81,
      else: 82,
      enum: 83,
      export: 84,
      extends: 85,
      false: 86,
      finally: 87,
      for: 88,
      from: 140,
      function: 89,
      get: 125,
      if: 90,
      implements: 108,
      import: 91,
      in: 92,
      instanceof: 93,
      interface: 109,
      is: 126,
      keyof: 127,
      let: 110,
      module: 128,
      namespace: 129,
      never: 130,
      new: 94,
      null: 95,
      number: 133,
      object: 134,
      package: 111,
      private: 112,
      protected: 113,
      public: 114,
      readonly: 131,
      require: 132,
      global: 141,
      return: 96,
      set: 135,
      static: 115,
      string: 136,
      super: 97,
      switch: 98,
      symbol: 137,
      this: 99,
      throw: 100,
      true: 101,
      try: 102,
      type: 138,
      typeof: 103,
      undefined: 139,
      var: 104,
      void: 105,
      while: 106,
      with: 107,
      yield: 116,
      async: 120,
      await: 121,
      of: 142,
      '{': 17,
      '}': 18,
      '(': 19,
      ')': 20,
      '[': 21,
      ']': 22,
      '.': 23,
      '...': 24,
      ';': 25,
      ',': 26,
      '<': 27,
      '>': 29,
      '<=': 30,
      '>=': 31,
      '==': 32,
      '!=': 33,
      '===': 34,
      '!==': 35,
      '=>': 36,
      '+': 37,
      '-': 38,
      '**': 40,
      '*': 39,
      '/': 41,
      '%': 42,
      '++': 43,
      '--': 44,
      '<<': 45,
      '</': 28,
      '>>': 46,
      '>>>': 47,
      '&': 48,
      '|': 49,
      '^': 50,
      '!': 51,
      '~': 52,
      '&&': 53,
      '||': 54,
      '?': 55,
      ':': 56,
      '=': 58,
      '+=': 59,
      '-=': 60,
      '*=': 61,
      '**=': 62,
      '/=': 63,
      '%=': 64,
      '<<=': 65,
      '>>=': 66,
      '>>>=': 67,
      '&=': 68,
      '|=': 69,
      '^=': 70,
      '@': 57
    }),
    J = [
      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
    ],
    z = [
      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
    ],
    K = [
      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
    ],
    j = [
      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 = n
  var V = i(B)
  ;(e.tokenToString = o),
    (e.stringToToken = s),
    (e.computeLineStarts = c),
    (e.getPositionOfLineAndCharacter = u),
    (e.computePositionOfLineAndCharacter = _),
    (e.getLineStarts = l),
    (e.computeLineAndCharacterOfPosition = d),
    (e.getLineAndCharacterOfPosition = p),
    (e.isWhiteSpaceLike = f),
    (e.isWhiteSpaceSingleLine = g),
    (e.isLineBreak = m),
    (e.isOctalDigit = v),
    (e.couldStartTrivia = h),
    (e.skipTrivia = b)
  var q = '<<<<<<<'.length,
    U = /^#!.*/
  ;(e.forEachLeadingCommentRange = T),
    (e.forEachTrailingCommentRange = E),
    (e.reduceEachLeadingCommentRange = N),
    (e.reduceEachTrailingCommentRange = A),
    (e.getLeadingCommentRanges = P),
    (e.getTrailingCommentRanges = O),
    (e.getShebang = F),
    (e.isIdentifierStart = I),
    (e.isIdentifierPart = R),
    (e.isIdentifierText = M),
    (e.createScanner = L)
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(e, t) {
    var r = e.declarations
    if (r)
      for (var n = 0, a = r; n < a.length; n++) {
        var i = a[n]
        if (i.kind === t) return i
      }
  }
  function r(e, t) {
    var r = e.declarations
    if (r)
      for (var n = 0, a = r; n < a.length; n++) {
        var i = a[n]
        if (t(i)) return i
      }
  }
  function n() {
    if (0 === Wi.length) {
      var t = '',
        r = function(e) {
          return (t += e)
        }
      return {
        string: function() {
          return t
        },
        writeKeyword: r,
        writeOperator: r,
        writePunctuation: r,
        writeSpace: r,
        writeStringLiteral: r,
        writeParameter: r,
        writeProperty: r,
        writeSymbol: r,
        writeLine: function() {
          return (t += ' ')
        },
        increaseIndent: e.noop,
        decreaseIndent: e.noop,
        clear: function() {
          return (t = '')
        },
        trackSymbol: e.noop,
        reportInaccessibleThisError: e.noop,
        reportIllegalExtends: e.noop
      }
    }
    return Wi.pop()
  }
  function a(e) {
    e.clear(), Wi.push(e)
  }
  function i(e) {
    return e.end - e.pos
  }
  function o(e, t) {
    return !!(e && e.resolvedModules && e.resolvedModules.get(t))
  }
  function s(e, t) {
    return o(e, t) ? e.resolvedModules.get(t) : void 0
  }
  function c(t, r, n) {
    t.resolvedModules || (t.resolvedModules = e.createMap()),
      t.resolvedModules.set(r, n)
  }
  function u(t, r, n) {
    t.resolvedTypeReferenceDirectiveNames ||
      (t.resolvedTypeReferenceDirectiveNames = e.createMap()),
      t.resolvedTypeReferenceDirectiveNames.set(r, n)
  }
  function _(e, t) {
    return (
      e.isExternalLibraryImport === t.isExternalLibraryImport &&
      e.extension === t.extension &&
      e.resolvedFileName === t.resolvedFileName
    )
  }
  function l(e, t) {
    return e.resolvedFileName === t.resolvedFileName && e.primary === t.primary
  }
  function d(e, t, r, n) {
    if (e.length !== t.length) return !1
    for (var a = 0; a < e.length; a++) {
      var i = t[a],
        o = r && r.get(e[a]),
        s = o ? !i || !n(o, i) : i
      if (s) return !0
    }
    return !1
  }
  function p(e) {
    return f(e), 0 !== (131072 & e.flags)
  }
  function f(t) {
    if (!(262144 & t.flags)) {
      var r = 0 !== (32768 & t.flags) || e.forEachChild(t, p)
      r && (t.flags |= 131072), (t.flags |= 262144)
    }
  }
  function g(e) {
    for (; e && 265 !== e.kind; ) e = e.parent
    return e
  }
  function m(e) {
    switch (e.kind) {
      case 207:
      case 235:
      case 214:
      case 215:
      case 216:
        return !0
    }
    return !1
  }
  function y(t, r) {
    return e.Debug.assert(t >= 0), e.getLineStarts(r)[t]
  }
  function v(t) {
    var r = g(t),
      n = e.getLineAndCharacterOfPosition(r, t.pos)
    return r.fileName + '(' + (n.line + 1) + ',' + (n.character + 1) + ')'
  }
  function h(e) {
    return e.pos
  }
  function b(e) {
    return void 0 !== e
  }
  function k(t, r) {
    e.Debug.assert(t >= 0)
    var n = e.getLineStarts(r),
      a = t,
      i = r.text
    if (a + 1 === n.length) return i.length - 1
    var o = n[a],
      s = n[a + 1] - 1
    for (
      e.Debug.assert(e.isLineBreak(i.charCodeAt(s)));
      o <= s && e.isLineBreak(i.charCodeAt(s));

    )
      s--
    return s
  }
  function x(e) {
    return void 0 === e || (e.pos === e.end && e.pos >= 0 && 1 !== e.kind)
  }
  function C(e) {
    return !x(e)
  }
  function S(e) {
    return e.kind >= 0 && e.kind <= 142
  }
  function D(t, r, n) {
    return x(t)
      ? t.pos
      : T(t)
        ? e.skipTrivia((r || g(t)).text, t.pos, !1, !0)
        : n && t.jsDoc && t.jsDoc.length > 0
          ? D(t.jsDoc[0])
          : 294 === t.kind && t._children.length > 0
            ? D(t._children[0], r, n)
            : e.skipTrivia((r || g(t)).text, t.pos)
  }
  function T(e) {
    return e.kind >= 267 && e.kind <= 293
  }
  function E(e) {
    return e.kind >= 283 && e.kind <= 293
  }
  function N(t, r) {
    return x(t) || !t.decorators
      ? D(t, r)
      : e.skipTrivia((r || g(t)).text, t.decorators.end)
  }
  function A(t, r, n) {
    if ((void 0 === n && (n = !1), x(r))) return ''
    var a = t.text
    return a.substring(n ? r.pos : e.skipTrivia(a, r.pos), r.end)
  }
  function w(t, r) {
    return x(r) ? '' : t.substring(e.skipTrivia(t, r.pos), r.end)
  }
  function P(e, t) {
    return void 0 === t && (t = !1), A(g(e), e, t)
  }
  function O(t, r) {
    if (!sr(t) && t.parent) return A(r, t)
    switch (t.kind) {
      case 9:
        return F('"', t.text, '"')
      case 13:
        return F('`', t.text, '`')
      case 14:
        return F('`', t.text, '${')
      case 15:
        return F('}', t.text, '${')
      case 16:
        return F('}', t.text, '`')
      case 8:
        return t.text
    }
    e.Debug.fail("Literal kind '" + t.kind + "' not accounted for.")
  }
  function F(e, t, r) {
    return e + xr(vr(t)) + r
  }
  function I(e) {
    return e.length >= 2 && 95 === e.charCodeAt(0) && 95 === e.charCodeAt(1)
      ? '_' + e
      : e
  }
  function R(t) {
    return e
      .getBaseFileName(t)
      .replace(/^(\d)/, '_$1')
      .replace(/\W/g, '_')
  }
  function M(t) {
    return 0 !== (3 & e.getCombinedNodeFlags(t)) || L(t)
  }
  function L(e) {
    var t = ir(e)
    return 226 === t.kind && 260 === t.parent.kind
  }
  function B(e) {
    return e && 233 === e.kind && (9 === e.name.kind || j(e))
  }
  function J(e) {
    return z(e.valueDeclaration)
  }
  function z(e) {
    return e && 233 === e.kind && !e.body
  }
  function K(e) {
    return 265 === e.kind || 233 === e.kind || xe(e)
  }
  function j(e) {
    return !!(512 & e.flags)
  }
  function V(t) {
    if (!t || !B(t)) return !1
    switch (t.parent.kind) {
      case 265:
        return e.isExternalModule(t.parent)
      case 234:
        return B(t.parent.parent) && !e.isExternalModule(t.parent.parent.parent)
    }
    return !1
  }
  function q(t, r) {
    return e.isExternalModule(t) || r.isolatedModules
  }
  function U(e, t) {
    switch (e.kind) {
      case 265:
      case 235:
      case 260:
      case 233:
      case 214:
      case 215:
      case 216:
      case 152:
      case 151:
      case 153:
      case 154:
      case 228:
      case 186:
      case 187:
        return !0
      case 207:
        return t && !xe(t)
    }
    return !1
  }
  function W(e) {
    for (var t = e.parent; t; ) {
      if (U(t, t.parent)) return t
      t = t.parent
    }
  }
  function H(e) {
    return 0 === i(e) ? '(Missing)' : P(e)
  }
  function G(e) {
    return e.declaration ? H(e.declaration.parameters[0].name) : void 0
  }
  function X(e) {
    switch (e.kind) {
      case 71:
        return e.text
      case 9:
      case 8:
        return e.text
      case 144:
        if (Xt(e.expression)) return e.expression.text
    }
  }
  function Q(t) {
    switch (t.kind) {
      case 71:
        return 0 === i(t) ? e.unescapeIdentifier(t.text) : P(t)
      case 143:
        return Q(t.left) + '.' + Q(t.right)
      case 179:
        return Q(t.expression) + '.' + Q(t.name)
    }
  }
  function Y(e, t, r, n, a) {
    var i = g(e)
    return Z(i, e, t, r, n, a)
  }
  function Z(t, r, n, a, i, o) {
    var s = re(t, r)
    return e.createFileDiagnostic(t, s.start, s.length, n, a, i, o)
  }
  function $(e, t) {
    var r = g(e),
      n = re(r, e)
    return {
      file: r,
      start: n.start,
      length: n.length,
      code: t.code,
      category: t.category,
      messageText: t.next ? t : t.messageText
    }
  }
  function ee(t, r) {
    var n = e.createScanner(
      t.languageVersion,
      !0,
      t.languageVariant,
      t.text,
      void 0,
      r
    )
    n.scan()
    var a = n.getTokenPos()
    return e.createTextSpanFromBounds(a, n.getTextPos())
  }
  function te(t, r) {
    var n = e.skipTrivia(t.text, r.pos)
    if (r.body && 207 === r.body.kind) {
      var a = e.getLineAndCharacterOfPosition(t, r.body.pos).line,
        i = e.getLineAndCharacterOfPosition(t, r.body.end).line
      if (a < i) return e.createTextSpan(n, k(a, t) - n + 1)
    }
    return e.createTextSpanFromBounds(n, r.end)
  }
  function re(t, r) {
    var n = r
    switch (r.kind) {
      case 265:
        var a = e.skipTrivia(t.text, 0, !1)
        return a === t.text.length ? e.createTextSpan(0, 0) : ee(t, a)
      case 226:
      case 176:
      case 229:
      case 199:
      case 230:
      case 233:
      case 232:
      case 264:
      case 228:
      case 186:
      case 151:
      case 153:
      case 154:
      case 231:
        n = r.name
        break
      case 187:
        return te(t, r)
    }
    if (void 0 === n) return ee(t, r.pos)
    var i = x(n) ? n.pos : e.skipTrivia(t.text, n.pos)
    return e.createTextSpanFromBounds(i, n.end)
  }
  function ne(e) {
    return void 0 !== (e.externalModuleIndicator || e.commonJsModuleIndicator)
  }
  function ae(e) {
    return e.isDeclarationFile
  }
  function ie(e) {
    return 232 === e.kind && oe(e)
  }
  function oe(t) {
    return (
      !!(2 & e.getCombinedNodeFlags(t)) ||
      !!(2048 & e.getCombinedModifierFlags(t))
    )
  }
  function se(t) {
    return !!(1 & e.getCombinedNodeFlags(t))
  }
  function ce(e) {
    return 181 === e.kind && 97 === e.expression.kind
  }
  function ue(e) {
    return 210 === e.kind && 9 === e.expression.kind
  }
  function _e(t, r) {
    return e.getLeadingCommentRanges(r.text, t.pos)
  }
  function le(t, r) {
    return e.getLeadingCommentRanges(r, t.pos)
  }
  function de(t, r) {
    var n =
      146 === t.kind || 145 === t.kind || 186 === t.kind || 187 === t.kind
        ? e.concatenate(
            e.getTrailingCommentRanges(r, t.pos),
            e.getLeadingCommentRanges(r, t.pos)
          )
        : le(t, r)
    return e.filter(n, function(e) {
      return (
        42 === r.charCodeAt(e.pos + 1) &&
        42 === r.charCodeAt(e.pos + 2) &&
        47 !== r.charCodeAt(e.pos + 3)
      )
    })
  }
  function pe(t) {
    if (158 <= t.kind && t.kind <= 173) return !0
    switch (t.kind) {
      case 119:
      case 133:
      case 136:
      case 122:
      case 137:
      case 139:
      case 130:
        return !0
      case 105:
        return 190 !== t.parent.kind
      case 201:
        return !pn(t)
      case 71:
        143 === t.parent.kind && t.parent.right === t
          ? (t = t.parent)
          : 179 === t.parent.kind && t.parent.name === t && (t = t.parent),
          e.Debug.assert(
            71 === t.kind || 143 === t.kind || 179 === t.kind,
            "'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'."
          )
      case 143:
      case 179:
      case 99:
        var r = t.parent
        if (162 === r.kind) return !1
        if (158 <= r.kind && r.kind <= 173) return !0
        switch (r.kind) {
          case 201:
            return !pn(r)
          case 145:
            return t === r.constraint
          case 149:
          case 148:
          case 146:
          case 226:
            return t === r.type
          case 228:
          case 186:
          case 187:
          case 152:
          case 151:
          case 150:
          case 153:
          case 154:
            return t === r.type
          case 155:
          case 156:
          case 157:
            return t === r.type
          case 184:
            return t === r.type
          case 181:
          case 182:
            return r.typeArguments && e.indexOf(r.typeArguments, t) >= 0
          case 183:
            return !1
        }
    }
    return !1
  }
  function fe(e, t) {
    for (; e; ) {
      if (e.kind === t) return !0
      e = e.parent
    }
    return !1
  }
  function ge(e) {
    return 192 === e.kind
  }
  function me(t, r) {
    function n(t) {
      switch (t.kind) {
        case 219:
          return r(t)
        case 235:
        case 207:
        case 211:
        case 212:
        case 213:
        case 214:
        case 215:
        case 216:
        case 220:
        case 221:
        case 257:
        case 258:
        case 222:
        case 224:
        case 260:
          return e.forEachChild(t, n)
      }
    }
    return n(t)
  }
  function ye(t, r) {
    function n(t) {
      switch (t.kind) {
        case 197:
          r(t)
          var a = t.expression
          return void (a && n(a))
        case 232:
        case 230:
        case 233:
        case 231:
        case 229:
        case 199:
          return
        default:
          if (xe(t)) {
            var i = t.name
            if (i && 144 === i.kind) return void n(i.expression)
          } else pe(t) || e.forEachChild(t, n)
      }
    }
    return n(t)
  }
  function ve(t) {
    return t && 164 === t.kind
      ? t.elementType
      : t && 159 === t.kind
        ? e.singleOrUndefined(t.typeArguments)
        : void 0
  }
  function he(e) {
    if (e)
      switch (e.kind) {
        case 176:
        case 264:
        case 146:
        case 261:
        case 149:
        case 148:
        case 262:
        case 226:
          return !0
      }
    return !1
  }
  function be(e) {
    return e && (153 === e.kind || 154 === e.kind)
  }
  function ke(e) {
    return e && (229 === e.kind || 199 === e.kind)
  }
  function xe(e) {
    return e && Ce(e.kind)
  }
  function Ce(e) {
    switch (e) {
      case 152:
      case 186:
      case 228:
      case 187:
      case 151:
      case 150:
      case 153:
      case 154:
      case 155:
      case 156:
      case 157:
      case 160:
      case 161:
        return !0
    }
    return !1
  }
  function Se(e) {
    switch (e.kind) {
      case 151:
      case 150:
      case 152:
      case 153:
      case 154:
      case 228:
      case 186:
        return !0
    }
    return !1
  }
  function De(e, t) {
    switch (e.kind) {
      case 214:
      case 215:
      case 216:
      case 212:
      case 213:
        return !0
      case 222:
        return t && De(e.statement, t)
    }
    return !1
  }
  function Te(e, t) {
    for (;;) {
      if ((t && t(e), 222 !== e.statement.kind)) return e.statement
      e = e.statement
    }
  }
  function Ee(e) {
    return e && 207 === e.kind && xe(e.parent)
  }
  function Ne(e) {
    return e && 151 === e.kind && 178 === e.parent.kind
  }
  function Ae(e) {
    return 151 === e.kind && (178 === e.parent.kind || 199 === e.parent.kind)
  }
  function we(e) {
    return e && 1 === e.kind
  }
  function Pe(e) {
    return e && 0 === e.kind
  }
  function Oe(e) {
    for (;;) if (((e = e.parent), !e || xe(e))) return e
  }
  function Fe(e) {
    for (;;) if (((e = e.parent), !e || ke(e))) return e
  }
  function Ie(e, t) {
    for (;;) {
      if (((e = e.parent), !e)) return
      switch (e.kind) {
        case 144:
          if (ke(e.parent.parent)) return e
          e = e.parent
          break
        case 147:
          146 === e.parent.kind && ba(e.parent.parent)
            ? (e = e.parent.parent)
            : ba(e.parent) && (e = e.parent)
          break
        case 187:
          if (!t) continue
        case 228:
        case 186:
        case 233:
        case 149:
        case 148:
        case 151:
        case 150:
        case 152:
        case 153:
        case 154:
        case 155:
        case 156:
        case 157:
        case 232:
        case 265:
          return e
      }
    }
  }
  function Re(e) {
    var t = Ie(e, !1)
    if (t)
      switch (t.kind) {
        case 152:
        case 228:
        case 186:
          return t
      }
  }
  function Me(e, t) {
    for (;;) {
      if (((e = e.parent), !e)) return e
      switch (e.kind) {
        case 144:
          e = e.parent
          break
        case 228:
        case 186:
        case 187:
          if (!t) continue
        case 149:
        case 148:
        case 151:
        case 150:
        case 152:
        case 153:
        case 154:
          return e
        case 147:
          146 === e.parent.kind && ba(e.parent.parent)
            ? (e = e.parent.parent)
            : ba(e.parent) && (e = e.parent)
      }
    }
  }
  function Le(e) {
    if (186 === e.kind || 187 === e.kind) {
      for (var t = e, r = e.parent; 185 === r.kind; ) (t = r), (r = r.parent)
      if (181 === r.kind && r.expression === t) return r
    }
  }
  function Be(e) {
    var t = e.kind
    return (179 === t || 180 === t) && 97 === e.expression.kind
  }
  function Je(e) {
    switch (e.kind) {
      case 159:
      case 277:
        return e.typeName
      case 201:
        return gn(e.expression) ? e.expression : void 0
      case 71:
      case 143:
        return e
    }
  }
  function ze(e) {
    switch (e.kind) {
      case 251:
      case 250:
      case 181:
      case 182:
      case 183:
      case 147:
        return !0
      default:
        return !1
    }
  }
  function Ke(e) {
    return 183 === e.kind ? e.tag : Li(e) ? e.tagName : e.expression
  }
  function je(e) {
    switch (e.kind) {
      case 229:
        return !0
      case 149:
        return 229 === e.parent.kind
      case 153:
      case 154:
      case 151:
        return void 0 !== e.body && 229 === e.parent.kind
      case 146:
        return (
          void 0 !== e.parent.body &&
          (152 === e.parent.kind ||
            151 === e.parent.kind ||
            154 === e.parent.kind) &&
          229 === e.parent.parent.kind
        )
    }
    return !1
  }
  function Ve(e) {
    return void 0 !== e.decorators && je(e)
  }
  function qe(e) {
    return Ve(e) || Ue(e)
  }
  function Ue(t) {
    switch (t.kind) {
      case 229:
        return e.forEach(t.members, qe)
      case 151:
      case 154:
        return e.forEach(t.parameters, Ve)
    }
  }
  function We(e) {
    var t = e.parent
    return (
      (251 === t.kind || 250 === t.kind || 252 === t.kind) && t.tagName === e
    )
  }
  function He(e) {
    switch (e.kind) {
      case 99:
      case 97:
      case 95:
      case 101:
      case 86:
      case 12:
      case 177:
      case 178:
      case 179:
      case 180:
      case 181:
      case 182:
      case 183:
      case 202:
      case 184:
      case 203:
      case 185:
      case 186:
      case 199:
      case 187:
      case 190:
      case 188:
      case 189:
      case 192:
      case 193:
      case 194:
      case 195:
      case 198:
      case 196:
      case 13:
      case 200:
      case 249:
      case 250:
      case 197:
      case 191:
      case 204:
        return !0
      case 143:
        for (; 143 === e.parent.kind; ) e = e.parent
        return 162 === e.parent.kind || We(e)
      case 71:
        if (162 === e.parent.kind || We(e)) return !0
      case 8:
      case 9:
      case 99:
        var t = e.parent
        switch (t.kind) {
          case 226:
          case 146:
          case 149:
          case 148:
          case 264:
          case 261:
          case 176:
            return t.initializer === e
          case 210:
          case 211:
          case 212:
          case 213:
          case 219:
          case 220:
          case 221:
          case 257:
          case 223:
          case 221:
            return t.expression === e
          case 214:
            var r = t
            return (
              (r.initializer === e && 227 !== r.initializer.kind) ||
              r.condition === e ||
              r.incrementor === e
            )
          case 215:
          case 216:
            var n = t
            return (
              (n.initializer === e && 227 !== n.initializer.kind) ||
              n.expression === e
            )
          case 184:
          case 202:
            return e === t.expression
          case 205:
            return e === t.expression
          case 144:
            return e === t.expression
          case 147:
          case 256:
          case 255:
          case 263:
            return !0
          case 201:
            return t.expression === e && pn(t)
          default:
            if (He(t)) return !0
        }
    }
    return !1
  }
  function Ge(t, r) {
    var n = e.getModuleInstanceState(t)
    return 1 === n || (r && 2 === n)
  }
  function Xe(e) {
    return 237 === e.kind && 248 === e.moduleReference.kind
  }
  function Qe(t) {
    return e.Debug.assert(Xe(t)), t.moduleReference.expression
  }
  function Ye(e) {
    return 237 === e.kind && 248 !== e.moduleReference.kind
  }
  function Ze(e) {
    return $e(e)
  }
  function $e(e) {
    return e && !!(65536 & e.flags)
  }
  function et(e, t) {
    if (181 !== e.kind) return !1
    var r = e,
      n = r.expression,
      a = r.arguments
    if (71 !== n.kind || 'require' !== n.text) return !1
    if (1 !== a.length) return !1
    var i = a[0]
    return !t || 9 === i.kind || 13 === i.kind
  }
  function tt(e) {
    return 39 === e || 34 === e
  }
  function rt(e) {
    if (e.valueDeclaration && 226 === e.valueDeclaration.kind) {
      var t = e.valueDeclaration
      return (
        t.initializer &&
        (186 === t.initializer.kind || 199 === t.initializer.kind)
      )
    }
    return !1
  }
  function nt(e) {
    for (; un(e, !0); ) e = e.right
    return e
  }
  function at(e) {
    return oa(e) && 'exports' === e.text
  }
  function it(e) {
    return (
      Ma(e) &&
      oa(e.expression) &&
      'module' === e.expression.text &&
      'exports' === e.name.text
    )
  }
  function ot(e) {
    if (!$e(e)) return 0
    var t = e
    if (58 !== t.operatorToken.kind || 179 !== t.left.kind) return 0
    var r = t.left
    if (71 === r.expression.kind) {
      var n = r.expression
      return 'exports' === n.text
        ? 1
        : 'module' === n.text && 'exports' === r.name.text
          ? 2
          : 5
    }
    if (99 === r.expression.kind) return 4
    if (179 === r.expression.kind) {
      var a = r.expression
      if (71 === a.expression.kind) {
        var i = a.expression
        if ('module' === i.text && 'exports' === a.name.text) return 1
        if ('prototype' === a.name.text) return 3
      }
    }
    return 0
  }
  function st(e) {
    if (238 === e.kind) return e.moduleSpecifier
    if (237 === e.kind) {
      var t = e.moduleReference
      if (248 === t.kind) return t.expression
    }
    return 244 === e.kind
      ? e.moduleSpecifier
      : 233 === e.kind && 9 === e.name.kind
        ? e.name
        : void 0
  }
  function ct(e) {
    if (237 === e.kind) return e
    var t = e.importClause
    return t && t.namedBindings && 240 === t.namedBindings.kind
      ? t.namedBindings
      : void 0
  }
  function ut(e) {
    return 238 === e.kind && e.importClause && !!e.importClause.name
  }
  function _t(e) {
    if (e)
      switch (e.kind) {
        case 146:
        case 151:
        case 150:
        case 262:
        case 261:
        case 149:
        case 148:
          return void 0 !== e.questionToken
      }
    return !1
  }
  function lt(e) {
    return (
      279 === e.kind &&
      e.parameters.length > 0 &&
      281 === e.parameters[0].type.kind
    )
  }
  function dt(t) {
    return e.map(mt(t), function(e) {
      return e.comment
    })
  }
  function pt(e) {
    var t = ft(e, 286)
    return t && t.length > 0
  }
  function ft(t, r) {
    var n = mt(t)
    if (n) {
      for (var a = [], i = 0, o = n; i < o.length; i++) {
        var s = o[i]
        if (286 === s.kind) s.kind === r && a.push(s)
        else {
          var c = s.tags
          c &&
            a.push.apply(
              a,
              e.filter(c, function(e) {
                return e.kind === r
              })
            )
        }
      }
      return a
    }
  }
  function gt(t, r) {
    return t && e.firstOrUndefined(ft(t, r))
  }
  function mt(t) {
    function r(t) {
      var a = t.parent,
        i = he(a) && a.initializer === t && 208 === a.parent.parent.kind,
        o = he(t) && 208 === a.parent.kind,
        s = i ? a.parent.parent : o ? a.parent : void 0
      s && r(s)
      var c =
        a &&
        a.parent &&
        194 === a.kind &&
        58 === a.operatorToken.kind &&
        210 === a.parent.kind
      c && r(a.parent)
      var u = 233 === t.kind && a && 233 === a.kind,
        _ = a && 261 === a.kind
      ;(u || _) && r(a),
        146 === t.kind && (n = e.concatenate(n, yt(t))),
        he(t) && t.initializer && (n = e.concatenate(n, t.initializer.jsDoc)),
        (n = e.concatenate(n, t.jsDoc))
    }
    var n = t.jsDocCache
    return n || (r(t), (t.jsDocCache = n)), n
  }
  function yt(t) {
    if (ya(t)) {
      var r = t.parent,
        n = ft(r, 286)
      if (!t.name) {
        var a = r.parameters.indexOf(t),
          i = e.filter(n, function(e) {
            return 286 === e.kind
          })
        return i && 0 <= a && a < i.length ? [i[a]] : void 0
      }
      if (71 === t.name.kind) {
        var o = t.name.text
        return e.filter(n, function(e) {
          return 286 === e.kind && e.parameterName.text === o
        })
      }
    }
  }
  function vt(t) {
    var r = gt(t, 288)
    if (!r && 146 === t.kind) {
      var n = yt(t)
      n &&
        (r = e.find(n, function(e) {
          return !!e.typeExpression
        }))
    }
    return r && r.typeExpression && r.typeExpression.type
  }
  function ht(e) {
    return gt(e, 285)
  }
  function bt(e) {
    return gt(e, 287)
  }
  function kt(e) {
    return gt(e, 289)
  }
  function xt(t) {
    return St(e.lastOrUndefined(t.parameters))
  }
  function Ct(t) {
    return Dt(e.lastOrUndefined(t.parameters))
  }
  function St(t) {
    return (
      !!(
        t &&
        65536 & t.flags &&
        ((t.type && 280 === t.type.kind) ||
          e.forEach(yt(t), function(e) {
            return e.typeExpression && 280 === e.typeExpression.type.kind
          }))
      ) || Dt(t)
    )
  }
  function Dt(e) {
    return e && void 0 !== e.dotDotDotToken
  }
  function Tt(e) {
    for (var t = e.parent; ; ) {
      switch (t.kind) {
        case 194:
          var r = t.operatorToken.kind
          return sn(r) && t.left === e ? (58 === r ? 1 : 2) : 0
        case 192:
        case 193:
          var n = t.operator
          return 43 === n || 44 === n ? 2 : 0
        case 215:
        case 216:
          return t.initializer === e ? 1 : 0
        case 185:
        case 177:
        case 198:
          e = t
          break
        case 262:
          if (t.name !== e) return 0
          e = t.parent
          break
        case 261:
          if (t.name === e) return 0
          e = t.parent
          break
        default:
          return 0
      }
      t = e.parent
    }
  }
  function Et(e) {
    return 0 !== Tt(e)
  }
  function Nt(e) {
    if (179 !== e.kind && 180 !== e.kind) return !1
    for (e = e.parent; e && 185 === e.kind; ) e = e.parent
    return e && 188 === e.kind
  }
  function At(e, t) {
    for (; e; ) {
      if (e === t) return !0
      e = e.parent
    }
    return !1
  }
  function wt(e) {
    for (; e; ) {
      if (rn(e, 2) || (265 === e.kind && e.isDeclarationFile)) return !0
      e = e.parent
    }
    return !1
  }
  function Pt(e) {
    if (71 !== e.kind && 9 !== e.kind && 8 !== e.kind) return !1
    var t = e.parent
    return (
      !((242 !== t.kind && 246 !== t.kind) || !t.propertyName) ||
      (!!Ci(t) && t.name === e)
    )
  }
  function Ot(e) {
    if (e) {
      if (194 !== e.kind) return e.name
      var t = ot(e),
        r = e.left
      switch (t) {
        case 0:
        case 2:
          return
        case 1:
          return 71 === r.kind ? r.name : r.expression.name
        case 4:
        case 5:
          return r.name
        case 3:
          return r.expression.name
      }
    }
  }
  function Ft(e) {
    return (
      (9 === e.kind || 8 === e.kind) &&
      144 === e.parent.kind &&
      Ci(e.parent.parent)
    )
  }
  function It(e) {
    var t = e.parent
    switch (t.kind) {
      case 149:
      case 148:
      case 151:
      case 150:
      case 153:
      case 154:
      case 264:
      case 261:
      case 179:
        return t.name === e
      case 143:
        if (t.right === e) {
          for (; 143 === t.kind; ) t = t.parent
          return 162 === t.kind
        }
        return !1
      case 176:
      case 242:
        return t.propertyName === e
      case 246:
        return !0
    }
    return !1
  }
  function Rt(e) {
    return (
      237 === e.kind ||
      236 === e.kind ||
      (239 === e.kind && !!e.name) ||
      240 === e.kind ||
      242 === e.kind ||
      246 === e.kind ||
      (243 === e.kind && Mt(e))
    )
  }
  function Mt(e) {
    return gn(e.expression)
  }
  function Lt(e) {
    var t = zt(e.heritageClauses, 85)
    return t && t.types.length > 0 ? t.types[0] : void 0
  }
  function Bt(e) {
    var t = zt(e.heritageClauses, 108)
    return t ? t.types : void 0
  }
  function Jt(e) {
    var t = zt(e.heritageClauses, 85)
    return t ? t.types : void 0
  }
  function zt(e, t) {
    if (e)
      for (var r = 0, n = e; r < n.length; r++) {
        var a = n[r]
        if (a.token === t) return a
      }
  }
  function Kt(t, r, n) {
    if (!t.getCompilerOptions().noResolve) {
      var a = e.isRootedDiskPath(n.fileName)
        ? n.fileName
        : e.combinePaths(e.getDirectoryPath(r.fileName), n.fileName)
      return t.getSourceFile(a)
    }
  }
  function jt(e, t) {
    for (; e; ) {
      if (e.kind === t) return e
      e = e.parent
    }
  }
  function Vt(t, r) {
    var n = /^\/\/\/\s*<reference\s+/gim,
      a = /^(\/\/\/\s*<reference\s+no-default-lib\s*=\s*)('|")(.+?)\2\s*\/>/gim
    if (n.test(t)) {
      if (a.test(t)) return { isNoDefaultLib: !0 }
      var i = e.fullTripleSlashReferencePathRegEx.exec(t),
        o = !i && e.fullTripleSlashReferenceTypeReferenceDirectiveRegEx.exec(t)
      if (i || o) {
        var s = r.pos,
          c = r.end
        return {
          fileReference: { pos: s, end: c, fileName: (i || o)[3] },
          isNoDefaultLib: !1,
          isTypeReferenceDirective: !!o
        }
      }
      return {
        diagnosticMessage: e.Diagnostics.Invalid_reference_directive_syntax,
        isNoDefaultLib: !1
      }
    }
  }
  function qt(e) {
    return 72 <= e && e <= 142
  }
  function Ut(e) {
    return 2 <= e && e <= 7
  }
  function Wt(e) {
    if (!e) return 4
    var t = 0
    switch (e.kind) {
      case 228:
      case 186:
      case 151:
        e.asteriskToken && (t |= 1)
      case 187:
        rn(e, 256) && (t |= 2)
    }
    return e.body || (t |= 4), t
  }
  function Ht(e) {
    switch (e.kind) {
      case 228:
      case 186:
      case 187:
      case 151:
        return void 0 !== e.body && void 0 === e.asteriskToken && rn(e, 256)
    }
    return !1
  }
  function Gt(e) {
    return 8 === e.kind
  }
  function Xt(e) {
    var t = e.kind
    return 9 === t || 8 === t
  }
  function Qt(e) {
    var t = Ot(e)
    return t && Yt(t)
  }
  function Yt(e) {
    return 144 === e.kind && !Xt(e.expression) && !Zt(e.expression)
  }
  function Zt(e) {
    return Ma(e) && tr(e.expression)
  }
  function $t(e) {
    if (71 === e.kind || 9 === e.kind || 8 === e.kind || 146 === e.kind)
      return e.text
    if (144 === e.kind) {
      var t = e.expression
      if (Zt(t)) {
        var r = t.name.text
        return er(r)
      }
      if (9 === t.kind || 8 === t.kind) return t.text
    }
  }
  function er(e) {
    return '__@' + e
  }
  function tr(e) {
    return 71 === e.kind && 'Symbol' === e.text
  }
  function rr(e) {
    return 'push' === e.text || 'unshift' === e.text
  }
  function nr(e) {
    switch (e) {
      case 117:
      case 120:
      case 76:
      case 124:
      case 79:
      case 84:
      case 114:
      case 112:
      case 113:
      case 131:
      case 115:
        return !0
    }
    return !1
  }
  function ar(e) {
    var t = ir(e)
    return 146 === t.kind
  }
  function ir(e) {
    for (; 176 === e.kind; ) e = e.parent.parent
    return e
  }
  function or(e) {
    var t = e.kind
    return (
      152 === t ||
      186 === t ||
      228 === t ||
      187 === t ||
      151 === t ||
      153 === t ||
      154 === t ||
      233 === t ||
      265 === t
    )
  }
  function sr(t) {
    return e.positionIsSynthesized(t.pos) || e.positionIsSynthesized(t.end)
  }
  function cr(t) {
    return 266 === t.kind
      ? e.updateBundle(t, e.sameMap(t.sourceFiles, ur))
      : ur(t)
  }
  function ur(t) {
    return e.getParseTreeNode(t, qi) || t
  }
  function _r(t) {
    return e.sameMap(t, ur)
  }
  function lr(t) {
    return (t = e.getOriginalNode(t)), t ? e.getNodeId(t) : 0
  }
  function dr(e) {
    var t = gr(e),
      r = 182 === e.kind && void 0 !== e.arguments
    return pr(e.kind, t, r)
  }
  function pr(e, t, r) {
    switch (e) {
      case 182:
        return r ? 0 : 1
      case 192:
      case 189:
      case 190:
      case 188:
      case 191:
      case 195:
      case 197:
        return 1
      case 194:
        switch (t) {
          case 40:
          case 58:
          case 59:
          case 60:
          case 62:
          case 61:
          case 63:
          case 64:
          case 65:
          case 66:
          case 67:
          case 68:
          case 70:
          case 69:
            return 1
        }
    }
    return 0
  }
  function fr(e) {
    var t = gr(e),
      r = 182 === e.kind && void 0 !== e.arguments
    return mr(e.kind, t, r)
  }
  function gr(e) {
    return 194 === e.kind
      ? e.operatorToken.kind
      : 192 === e.kind || 193 === e.kind
        ? e.operator
        : e.kind
  }
  function mr(e, t, r) {
    switch (e) {
      case 99:
      case 97:
      case 71:
      case 95:
      case 101:
      case 86:
      case 8:
      case 9:
      case 177:
      case 178:
      case 186:
      case 187:
      case 199:
      case 249:
      case 250:
      case 12:
      case 13:
      case 196:
      case 185:
      case 200:
        return 19
      case 183:
      case 179:
      case 180:
        return 18
      case 182:
        return r ? 18 : 17
      case 181:
        return 17
      case 193:
        return 16
      case 192:
      case 189:
      case 190:
      case 188:
      case 191:
        return 15
      case 194:
        switch (t) {
          case 51:
          case 52:
            return 15
          case 40:
          case 39:
          case 41:
          case 42:
            return 14
          case 37:
          case 38:
            return 13
          case 45:
          case 46:
          case 47:
            return 12
          case 27:
          case 30:
          case 29:
          case 31:
          case 92:
          case 93:
            return 11
          case 32:
          case 34:
          case 33:
          case 35:
            return 10
          case 48:
            return 9
          case 50:
            return 8
          case 49:
            return 7
          case 53:
            return 6
          case 54:
            return 5
          case 58:
          case 59:
          case 60:
          case 62:
          case 61:
          case 63:
          case 64:
          case 65:
          case 66:
          case 67:
          case 68:
          case 70:
          case 69:
            return 3
          case 26:
            return 0
          default:
            return -1
        }
      case 195:
        return 4
      case 197:
        return 2
      case 198:
        return 1
      default:
        return -1
    }
  }
  function yr() {
    function t() {
      return _
    }
    function r(t) {
      e.forEach(c.get(t.fileName), function(e) {
        return (e.file = t)
      })
    }
    function n(e) {
      var t
      e.file
        ? ((t = c.get(e.file.fileName)),
          t || ((t = []), c.set(e.file.fileName, t)))
        : (t = s),
        t.push(e),
        (u = !0),
        _++
    }
    function a() {
      return o(), s
    }
    function i(t) {
      function r(e) {
        n.push(e)
      }
      if ((o(), t)) return c.get(t) || []
      var n = []
      return (
        e.forEach(s, r),
        c.forEach(function(t) {
          e.forEach(t, r)
        }),
        e.sortAndDeduplicateDiagnostics(n)
      )
    }
    function o() {
      u &&
        ((u = !1),
        (s = e.sortAndDeduplicateDiagnostics(s)),
        c.forEach(function(t, r) {
          c.set(r, e.sortAndDeduplicateDiagnostics(t))
        }))
    }
    var s = [],
      c = e.createMap(),
      u = !1,
      _ = 0
    return {
      add: n,
      getGlobalDiagnostics: a,
      getDiagnostics: i,
      getModificationCount: t,
      reattachFileDiagnostics: r
    }
  }
  function vr(e) {
    return e.replace(Qi, hr)
  }
  function hr(e) {
    return Yi.get(e) || kr(e.charCodeAt(0))
  }
  function br(e) {
    var t = e.substr(0, 1)
    return t.toLowerCase() === t
  }
  function kr(e) {
    var t = e.toString(16).toUpperCase(),
      r = ('0000' + t).slice(-4)
    return '\\u' + r
  }
  function xr(e) {
    return Zi.test(e)
      ? e.replace(Zi, function(e) {
          return kr(e.charCodeAt(0))
        })
      : e
  }
  function Cr(e) {
    return void 0 === $i[e] && ($i[e] = Cr(e - 1) + $i[1]), $i[e]
  }
  function Sr() {
    return $i[1].length
  }
  function Dr(t) {
    function r(e) {
      e && e.length && (_ && ((c += Cr(u)), (_ = !1)), (c += e))
    }
    function n() {
      ;(c = ''), (u = 0), (_ = !0), (l = 0), (d = 0)
    }
    function a(e) {
      void 0 !== e && (_ && (_ = !1), (c += e))
    }
    function i(t) {
      if (t && t.length) {
        r(t)
        var n = e.computeLineStarts(t)
        n.length > 1 &&
          ((l = l + n.length - 1),
          (d = c.length - t.length + e.lastOrUndefined(n)))
      }
    }
    function o() {
      _ || ((c += t), l++, (d = c.length), (_ = !0))
    }
    function s(e, t) {
      r(w(e, t))
    }
    var c, u, _, l, d
    return (
      n(),
      {
        write: r,
        rawWrite: a,
        writeTextOfNode: s,
        writeLiteral: i,
        writeLine: o,
        increaseIndent: function() {
          u++
        },
        decreaseIndent: function() {
          u--
        },
        getIndent: function() {
          return u
        },
        getTextPos: function() {
          return c.length
        },
        getLine: function() {
          return l + 1
        },
        getColumn: function() {
          return _ ? u * Sr() + 1 : c.length - d + 1
        },
        getText: function() {
          return c
        },
        isAtStartOfLine: function() {
          return _
        },
        reset: n
      }
    )
  }
  function Tr(e, t) {
    return t.moduleName || Nr(e, t.fileName)
  }
  function Er(e, t, r) {
    var n = t.getExternalModuleFileFromDeclaration(r)
    if (n && !ae(n)) return Tr(e, n)
  }
  function Nr(t, r) {
    var n = function(e) {
        return t.getCanonicalFileName(e)
      },
      a = e.toPath(t.getCommonSourceDirectory(), t.getCurrentDirectory(), n),
      i = e.getNormalizedAbsolutePath(r, t.getCurrentDirectory()),
      o = e.getRelativePathToDirectoryOrUrl(a, i, a, n, !1)
    return e.removeFileExtension(o)
  }
  function Ar(t, r, n) {
    var a,
      i = r.getCompilerOptions()
    return (
      (a = i.outDir
        ? e.removeFileExtension(Mr(t, r, i.outDir))
        : e.removeFileExtension(t.fileName)),
      a + n
    )
  }
  function wr(t, r) {
    var n = r.getCompilerOptions(),
      a = n.declarationDir || n.outDir,
      i = a ? Mr(t, r, a) : t.fileName
    return e.removeFileExtension(i) + '.d.ts'
  }
  function Pr(t, r) {
    var n = t.getCompilerOptions(),
      a = function(e) {
        return t.isSourceFileFromExternalLibrary(e)
      }
    if (n.outFile || n.out) {
      var i = e.getEmitModuleKind(n),
        o = i === e.ModuleKind.AMD || i === e.ModuleKind.System
      return e.filter(t.getSourceFiles(), function(t) {
        return (o || !e.isExternalModule(t)) && Or(t, n, a)
      })
    }
    var s = void 0 === r ? t.getSourceFiles() : [r]
    return e.filter(s, function(e) {
      return Or(e, n, a)
    })
  }
  function Or(e, t, r) {
    return !((t.noEmitForJsFiles && Ze(e)) || ae(e) || r(e))
  }
  function Fr(t, r, n, a) {
    var i = e.isArray(n) ? n : Pr(t, n),
      o = t.getCompilerOptions()
    if (o.outFile || o.out) {
      if (i.length) {
        var s = o.outFile || o.out,
          c = Ir(s, o),
          u = o.declaration ? e.removeFileExtension(s) + '.d.ts' : ''
        r(
          { jsFilePath: s, sourceMapFilePath: c, declarationFilePath: u },
          e.createBundle(i),
          a
        )
      }
    } else
      for (var _ = 0, l = i; _ < l.length; _++) {
        var d = l[_],
          s = Ar(d, t, Rr(d, o)),
          c = Ir(s, o),
          u = Ze(d) || (!a && !o.declaration) ? void 0 : wr(d, t)
        r({ jsFilePath: s, sourceMapFilePath: c, declarationFilePath: u }, d, a)
      }
  }
  function Ir(e, t) {
    return t.sourceMap ? e + '.map' : void 0
  }
  function Rr(t, r) {
    if (1 === r.jsx)
      if (Ze(t)) {
        if (e.fileExtensionIs(t.fileName, '.jsx')) return '.jsx'
      } else if (1 === t.languageVariant) return '.jsx'
    return '.js'
  }
  function Mr(t, r, n) {
    var a = e.getNormalizedAbsolutePath(t.fileName, r.getCurrentDirectory()),
      i = r.getCommonSourceDirectory(),
      o = 0 === r.getCanonicalFileName(a).indexOf(r.getCanonicalFileName(i))
    return (a = o ? a.substring(i.length) : a), e.combinePaths(n, a)
  }
  function Lr(t, r, n, a, i, o) {
    t.writeFile(
      n,
      a,
      i,
      function(t) {
        r.add(
          e.createCompilerDiagnostic(
            e.Diagnostics.Could_not_write_file_0_Colon_1,
            n,
            t
          )
        )
      },
      o
    )
  }
  function Br(t, r) {
    return e.getLineAndCharacterOfPosition(t, r).line
  }
  function Jr(t, r) {
    return e.computeLineAndCharacterOfPosition(t, r).line
  }
  function zr(t) {
    return e.forEach(t.members, function(e) {
      if (152 === e.kind && C(e.body)) return e
    })
  }
  function Kr(e) {
    if (e && e.parameters.length > 0) {
      var t = 2 === e.parameters.length && Vr(e.parameters[0])
      return e.parameters[t ? 1 : 0].type
    }
  }
  function jr(e) {
    if (e.parameters.length) {
      var t = e.parameters[0]
      if (Vr(t)) return t
    }
  }
  function Vr(e) {
    return qr(e.name)
  }
  function qr(e) {
    return e && 71 === e.kind && Ur(e)
  }
  function Ur(e) {
    return 99 === e.originalKeywordKind
  }
  function Wr(t, r) {
    var n, a, i, o
    return (
      Qt(r)
        ? ((n = r),
          153 === r.kind
            ? (i = r)
            : 154 === r.kind
              ? (o = r)
              : e.Debug.fail('Accessor has wrong kind'))
        : e.forEach(t, function(e) {
            if ((153 === e.kind || 154 === e.kind) && rn(e, 32) === rn(r, 32)) {
              var t = $t(e.name),
                s = $t(r.name)
              t === s &&
                (n ? a || (a = e) : (n = e),
                153 !== e.kind || i || (i = e),
                154 !== e.kind || o || (o = e))
            }
          }),
      { firstAccessor: n, secondAccessor: a, getAccessor: i, setAccessor: o }
    )
  }
  function Hr(e, t, r, n) {
    Gr(e, t, r.pos, n)
  }
  function Gr(e, t, r, n) {
    n &&
      n.length &&
      r !== n[0].pos &&
      Jr(e, r) !== Jr(e, n[0].pos) &&
      t.writeLine()
  }
  function Xr(e, t, r, n) {
    r !== n && Jr(e, r) !== Jr(e, n) && t.writeLine()
  }
  function Qr(e, t, r, n, a, i, o, s) {
    if (n && n.length > 0) {
      a && r.write(' ')
      for (var c = !1, u = 0, _ = n; u < _.length; u++) {
        var l = _[u]
        c && (r.write(' '), (c = !1)),
          s(e, t, r, l.pos, l.end, o),
          l.hasTrailingNewLine ? r.writeLine() : (c = !0)
      }
      c && i && r.write(' ')
    }
  }
  function Yr(t, r, n, 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 && (u = e.filter(e.getLeadingCommentRanges(t, i.pos), c))
        : (u = e.getLeadingCommentRanges(t, i.pos)),
      u)
    ) {
      for (var l = [], d = void 0, p = 0, f = u; p < f.length; p++) {
        var g = f[p]
        if (d) {
          var m = Jr(r, d.end),
            y = Jr(r, g.pos)
          if (y >= m + 2) break
        }
        l.push(g), (d = g)
      }
      if (l.length) {
        var m = Jr(r, e.lastOrUndefined(l).end),
          v = Jr(r, e.skipTrivia(t, i.pos))
        v >= m + 2 &&
          (Hr(r, n, i, u),
          Qr(t, r, n, l, !1, !0, o, a),
          (_ = {
            nodePos: i.pos,
            detachedCommentEndPos: e.lastOrUndefined(l).end
          }))
      }
    }
    return _
  }
  function Zr(t, r, n, a, i, o) {
    if (42 === t.charCodeAt(a + 1))
      for (
        var s = e.computeLineAndCharacterOfPosition(r, a),
          c = r.length,
          u = void 0,
          _ = a,
          l = s.line;
        _ < i;
        l++
      ) {
        var d = l + 1 === c ? t.length + 1 : r[l + 1]
        if (_ !== a) {
          void 0 === u && (u = en(t, r[s.line], a))
          var p = n.getIndent() * Sr(),
            f = p - u + en(t, _, d)
          if (f > 0) {
            var g = f % Sr(),
              m = Cr((f - g) / Sr())
            for (n.rawWrite(m); g; ) n.rawWrite(' '), g--
          } else n.rawWrite('')
        }
        $r(t, i, n, o, _, d), (_ = d)
      }
    else n.write(t.substring(a, i))
  }
  function $r(e, t, r, n, a, i) {
    var o = Math.min(t, i - 1),
      s = e.substring(a, o).replace(/^\s+|\s+$/g, '')
    s ? (r.write(s), o !== t && r.writeLine()) : r.writeLiteral(n)
  }
  function en(t, r, n) {
    for (var a = 0; r < n && e.isWhiteSpaceSingleLine(t.charCodeAt(r)); r++)
      9 === t.charCodeAt(r) ? (a += Sr() - (a % Sr())) : a++
    return a
  }
  function tn(e) {
    return 0 !== nn(e)
  }
  function rn(e, t) {
    return 0 !== (nn(e) & t)
  }
  function nn(e) {
    if (536870912 & e.modifierFlagsCache)
      return e.modifierFlagsCache & -536870913
    var t = 0
    if (e.modifiers)
      for (var r = 0, n = e.modifiers; r < n.length; r++) {
        var a = n[r]
        t |= an(a.kind)
      }
    return (
      (4 & e.flags || (71 === e.kind && e.isInJSDocNamespace)) && (t |= 1),
      (e.modifierFlagsCache = 536870912 | t),
      t
    )
  }
  function an(e) {
    switch (e) {
      case 115:
        return 32
      case 114:
        return 4
      case 113:
        return 16
      case 112:
        return 8
      case 117:
        return 128
      case 84:
        return 1
      case 124:
        return 2
      case 76:
        return 2048
      case 79:
        return 512
      case 120:
        return 256
      case 131:
        return 64
    }
    return 0
  }
  function on(e) {
    return 54 === e || 53 === e || 51 === e
  }
  function sn(e) {
    return e >= 58 && e <= 70
  }
  function cn(e) {
    if (201 === e.kind && 85 === e.parent.token && ke(e.parent.parent))
      return e.parent.parent
  }
  function un(e, t) {
    return (
      Ja(e) &&
      (t ? 58 === e.operatorToken.kind : sn(e.operatorToken.kind)) &&
      Wa(e.left)
    )
  }
  function _n(e) {
    if (un(e, !0)) {
      var t = e.left.kind
      return 178 === t || 177 === t
    }
    return !1
  }
  function ln(e) {
    return dn(e.expression)
  }
  function dn(e) {
    return 71 === e.kind || (!!Ma(e) && dn(e.expression))
  }
  function pn(e) {
    return void 0 !== cn(e)
  }
  function fn(e) {
    return (
      201 === e.kind &&
      gn(e.expression) &&
      e.parent &&
      108 === e.parent.token &&
      e.parent.parent &&
      ke(e.parent.parent)
    )
  }
  function gn(e) {
    return 71 === e.kind || (179 === e.kind && gn(e.expression))
  }
  function mn(e) {
    return (
      (143 === e.parent.kind && e.parent.right === e) ||
      (179 === e.parent.kind && e.parent.name === e)
    )
  }
  function yn(e) {
    return 178 === e.kind && 0 === e.properties.length
  }
  function vn(e) {
    return 177 === e.kind && 0 === e.elements.length
  }
  function hn(e) {
    return bn(e) ? e.valueDeclaration.localSymbol : void 0
  }
  function bn(e) {
    return e && e.valueDeclaration && rn(e.valueDeclaration, 512)
  }
  function kn(t) {
    return e.find(e.supportedTypescriptExtensionsForExtractExtension, function(
      r
    ) {
      return e.fileExtensionIs(t, r)
    })
  }
  function xn(t) {
    for (var r = [], n = t.length, a = 0; a < n; a++) {
      var i = t.charCodeAt(a)
      i < 128
        ? r.push(i)
        : i < 2048
          ? (r.push((i >> 6) | 192), r.push((63 & i) | 128))
          : i < 65536
            ? (r.push((i >> 12) | 224),
              r.push(((i >> 6) & 63) | 128),
              r.push((63 & i) | 128))
            : i < 131072
              ? (r.push((i >> 18) | 240),
                r.push(((i >> 12) & 63) | 128),
                r.push(((i >> 6) & 63) | 128),
                r.push((63 & i) | 128))
              : e.Debug.assert(!1, 'Unexpected code point')
    }
    return r
  }
  function Cn(e) {
    for (var t, r, n, a, i = '', o = xn(e), s = 0, c = o.length; s < c; )
      (t = o[s] >> 2),
        (r = ((3 & o[s]) << 4) | (o[s + 1] >> 4)),
        (n = ((15 & o[s + 1]) << 2) | (o[s + 2] >> 6)),
        (a = 63 & o[s + 2]),
        s + 1 >= c ? (n = a = 64) : s + 2 >= c && (a = 64),
        (i += eo.charAt(t) + eo.charAt(r) + eo.charAt(n) + eo.charAt(a)),
        (s += 3)
    return i
  }
  function Sn(t) {
    return 0 === t.newLine
      ? to
      : 1 === t.newLine
        ? ro
        : e.sys
          ? e.sys.newLine
          : to
  }
  function Dn(e) {
    return Tn(e, 0)
  }
  function Tn(e, t) {
    if (t <= 5) {
      var r = e.kind
      if (
        9 === r ||
        8 === r ||
        12 === r ||
        13 === r ||
        71 === r ||
        99 === r ||
        97 === r ||
        101 === r ||
        86 === r ||
        95 === r
      )
        return !0
      if (179 === r) return Tn(e.expression, t + 1)
      if (180 === r)
        return Tn(e.expression, t + 1) && Tn(e.argumentExpression, t + 1)
      if (192 === r || 193 === r) return Tn(e.operand, t + 1)
      if (194 === r)
        return (
          40 !== e.operatorToken.kind && Tn(e.left, t + 1) && Tn(e.right, t + 1)
        )
      if (195 === r)
        return (
          Tn(e.condition, t + 1) &&
          Tn(e.whenTrue, t + 1) &&
          Tn(e.whenFalse, t + 1)
        )
      if (190 === r || 189 === r || 188 === r) return Tn(e.expression, t + 1)
      if (177 === r) return 0 === e.elements.length
      if (178 === r) return 0 === e.properties.length
      if (181 === r) {
        if (!Tn(e.expression, t + 1)) return !1
        for (var n = 0, a = e.arguments; n < a.length; n++) {
          var i = a[n]
          if (!Tn(i, t + 1)) return !1
        }
        return !0
      }
    }
    return !1
  }
  function En(t) {
    var r = e.SyntaxKind
    if (!r) return t.toString()
    var n = no[t]
    if (void 0 !== n) return n
    for (var a in r)
      if (r[a] === t) {
        var i = t + ' (' + a + ')'
        return (no[t] = i), i
      }
  }
  function Nn(e) {
    return e ? e.pos : -1
  }
  function An(e) {
    return e ? e.end : -1
  }
  function wn(t, r) {
    return e.positionIsSynthesized(t) ? -1 : t + r
  }
  function Pn(e, t) {
    return { pos: e, end: t }
  }
  function On(e, t) {
    return Pn(e.pos, t)
  }
  function Fn(e, t) {
    return Pn(t, e.end)
  }
  function In(e) {
    return e.decorators && e.decorators.length > 0 ? Fn(e, e.decorators.end) : e
  }
  function Rn(e) {
    return e.modifiers && e.modifiers.length > 0
      ? Fn(e, e.modifiers.end)
      : In(e)
  }
  function Mn(e) {
    return e.pos === e.end
  }
  function Ln(e) {
    return Mn(e) ? e : On(e, e.pos)
  }
  function Bn(e) {
    return Mn(e) ? e : Fn(e, e.end)
  }
  function Jn(t, r) {
    return Pn(t, t + e.tokenToString(r).length)
  }
  function zn(e, t) {
    return Vn(e, e, t)
  }
  function Kn(e, t, r) {
    return Un(Wn(e, r), Wn(t, r), r)
  }
  function jn(e, t, r) {
    return Un(e.end, t.end, r)
  }
  function Vn(e, t, r) {
    return Un(Wn(e, r), t.end, r)
  }
  function qn(e, t, r) {
    return Un(e.end, Wn(t, r), r)
  }
  function Un(e, t, r) {
    return e === t || Br(r, e) === Br(r, t)
  }
  function Wn(t, r) {
    return e.positionIsSynthesized(t.pos) ? -1 : e.skipTrivia(r.text, t.pos)
  }
  function Hn(t) {
    var r = e.getParseTreeNode(t)
    if (r)
      switch (r.parent.kind) {
        case 232:
        case 233:
          return r === r.parent.name
      }
    return !1
  }
  function Gn(t) {
    return e.filter(t.declarations, Xn)
  }
  function Xn(e) {
    return void 0 !== e.initializer
  }
  function Qn(e) {
    if (e.symbol)
      for (var t = 0, r = e.symbol.declarations; t < r.length; t++) {
        var n = r[t]
        if (229 === n.kind && n !== e) return !0
      }
    return !1
  }
  function Yn(e, r) {
    return e.symbol && t(e.symbol, r) === e
  }
  function Zn(e) {
    return e.hasOwnProperty('pos') && e.hasOwnProperty('end')
  }
  function $n(e) {
    return 13 === e.kind
  }
  function ea(e) {
    return 8 <= e && e <= 13
  }
  function ta(e) {
    return 9 === e || 13 === e
  }
  function ra(e) {
    return ea(e.kind)
  }
  function na(e) {
    return 13 <= e && e <= 16
  }
  function aa(e) {
    return 14 === e.kind
  }
  function ia(e) {
    var t = e.kind
    return 15 === t || 16 === t
  }
  function oa(e) {
    return 71 === e.kind
  }
  function sa(e) {
    return 190 === e.kind
  }
  function ca(e) {
    return oa(e) && e.autoGenerateKind > 0
  }
  function ua(e) {
    return nr(e.kind)
  }
  function _a(e) {
    return 143 === e.kind
  }
  function la(e) {
    return 144 === e.kind
  }
  function da(e) {
    var t = e.kind
    return 143 === t || 71 === t
  }
  function pa(e) {
    var t = e.kind
    return 71 === t || 9 === t || 8 === t || 144 === t
  }
  function fa(e) {
    var t = e.kind
    return 71 === t || 9 === t
  }
  function ga(e) {
    var t = e.kind
    return 71 === t || 174 === t || 175 === t
  }
  function ma(e) {
    return 145 === e.kind
  }
  function ya(e) {
    return 146 === e.kind
  }
  function va(e) {
    return 147 === e.kind
  }
  function ha(e) {
    return 151 === e.kind
  }
  function ba(e) {
    var t = e.kind
    return (
      152 === t ||
      149 === t ||
      151 === t ||
      153 === t ||
      154 === t ||
      157 === t ||
      206 === t
    )
  }
  function ka(e) {
    var t = e.kind
    return (
      261 === t ||
      262 === t ||
      263 === t ||
      151 === t ||
      153 === t ||
      154 === t ||
      247 === t
    )
  }
  function xa(e) {
    return (
      (e >= 158 && e <= 173) ||
      119 === e ||
      133 === e ||
      134 === e ||
      122 === e ||
      136 === e ||
      137 === e ||
      99 === e ||
      105 === e ||
      139 === e ||
      95 === e ||
      130 === e ||
      201 === e
    )
  }
  function Ca(e) {
    return xa(e.kind)
  }
  function Sa(e) {
    return 175 === e.kind
  }
  function Da(e) {
    return 174 === e.kind
  }
  function Ta(e) {
    if (e) {
      var t = e.kind
      return 175 === t || 174 === t
    }
    return !1
  }
  function Ea(e) {
    var t = e.kind
    return 177 === t || 178 === t
  }
  function Na(e) {
    return 176 === e.kind
  }
  function Aa(e) {
    var t = e.kind
    return 176 === t || 200 === t
  }
  function wa(e) {
    switch (e.kind) {
      case 226:
      case 146:
      case 176:
        return !0
    }
    return !1
  }
  function Pa(e) {
    return Oa(e) || Fa(e)
  }
  function Oa(e) {
    switch (e.kind) {
      case 174:
      case 178:
        return !0
    }
    return !1
  }
  function Fa(e) {
    switch (e.kind) {
      case 175:
      case 177:
        return !0
    }
    return !1
  }
  function Ia(e) {
    return 177 === e.kind
  }
  function Ra(e) {
    return 178 === e.kind
  }
  function Ma(e) {
    return 179 === e.kind
  }
  function La(e) {
    var t = e.kind
    return 179 === t || 143 === t
  }
  function Ba(e) {
    return 180 === e.kind
  }
  function Ja(e) {
    return 194 === e.kind
  }
  function za(e) {
    return 195 === e.kind
  }
  function Ka(e) {
    return 181 === e.kind
  }
  function ja(e) {
    var t = e.kind
    return 196 === t || 13 === t
  }
  function Va(e) {
    return 198 === e.kind
  }
  function qa(e) {
    return 201 === e.kind
  }
  function Ua(e) {
    return (
      179 === e ||
      180 === e ||
      182 === e ||
      181 === e ||
      249 === e ||
      250 === e ||
      183 === e ||
      177 === e ||
      185 === e ||
      178 === e ||
      199 === e ||
      186 === e ||
      71 === e ||
      12 === e ||
      8 === e ||
      9 === e ||
      13 === e ||
      196 === e ||
      86 === e ||
      95 === e ||
      99 === e ||
      101 === e ||
      97 === e ||
      203 === e ||
      204 === e
    )
  }
  function Wa(t) {
    return Ua(e.skipPartiallyEmittedExpressions(t).kind)
  }
  function Ha(e) {
    return (
      192 === e ||
      193 === e ||
      188 === e ||
      189 === e ||
      190 === e ||
      191 === e ||
      184 === e ||
      Ua(e)
    )
  }
  function Ga(t) {
    return Ha(e.skipPartiallyEmittedExpressions(t).kind)
  }
  function Xa(e) {
    return (
      195 === e ||
      197 === e ||
      187 === e ||
      194 === e ||
      198 === e ||
      202 === e ||
      200 === e ||
      Ha(e)
    )
  }
  function Qa(t) {
    return Xa(e.skipPartiallyEmittedExpressions(t).kind)
  }
  function Ya(e) {
    var t = e.kind
    return 184 === t || 202 === t
  }
  function Za(e) {
    return 296 === e.kind
  }
  function $a(e) {
    return 295 === e.kind
  }
  function ei(e) {
    return $a(e) || Za(e)
  }
  function ti(e) {
    return 200 === e.kind
  }
  function ri(e) {
    return 205 === e.kind
  }
  function ni(e) {
    return 207 === e.kind
  }
  function ai(e) {
    return ni(e) || Qa(e)
  }
  function ii(e) {
    return ni(e)
  }
  function oi(e) {
    return ci(e) || Qa(e)
  }
  function si(e) {
    return 226 === e.kind
  }
  function ci(e) {
    return 227 === e.kind
  }
  function ui(e) {
    return 235 === e.kind
  }
  function _i(e) {
    var t = e.kind
    return 234 === t || 233 === t || 71 === t
  }
  function li(e) {
    var t = e.kind
    return 234 === t || 233 === t
  }
  function di(e) {
    var t = e.kind
    return 71 === t || 233 === t
  }
  function pi(e) {
    return 237 === e.kind
  }
  function fi(e) {
    return 239 === e.kind
  }
  function gi(e) {
    var t = e.kind
    return 241 === t || 240 === t
  }
  function mi(e) {
    return 242 === e.kind
  }
  function yi(e) {
    return 245 === e.kind
  }
  function vi(e) {
    return 246 === e.kind
  }
  function hi(e) {
    return 233 === e.kind || 232 === e.kind
  }
  function bi(e) {
    return (
      187 === e ||
      176 === e ||
      229 === e ||
      199 === e ||
      152 === e ||
      232 === e ||
      264 === e ||
      246 === e ||
      228 === e ||
      186 === e ||
      153 === e ||
      239 === e ||
      237 === e ||
      242 === e ||
      230 === e ||
      253 === e ||
      151 === e ||
      150 === e ||
      233 === e ||
      236 === e ||
      240 === e ||
      146 === e ||
      261 === e ||
      149 === e ||
      148 === e ||
      154 === e ||
      262 === e ||
      231 === e ||
      145 === e ||
      226 === e ||
      290 === e
    )
  }
  function ki(e) {
    return (
      228 === e ||
      247 === e ||
      229 === e ||
      230 === e ||
      231 === e ||
      232 === e ||
      233 === e ||
      238 === e ||
      237 === e ||
      244 === e ||
      243 === e ||
      236 === e
    )
  }
  function xi(e) {
    return (
      218 === e ||
      217 === e ||
      225 === e ||
      212 === e ||
      210 === e ||
      209 === e ||
      215 === e ||
      216 === e ||
      214 === e ||
      211 === e ||
      222 === e ||
      219 === e ||
      221 === e ||
      223 === e ||
      224 === e ||
      208 === e ||
      213 === e ||
      220 === e ||
      295 === e ||
      298 === e ||
      297 === e
    )
  }
  function Ci(e) {
    return bi(e.kind)
  }
  function Si(e) {
    return ki(e.kind)
  }
  function Di(e) {
    return xi(e.kind)
  }
  function Ti(e) {
    var t = e.kind
    return xi(t) || ki(t) || 207 === t
  }
  function Ei(e) {
    var t = e.kind
    return 248 === t || 143 === t || 71 === t
  }
  function Ni(e) {
    return 251 === e.kind
  }
  function Ai(e) {
    return 252 === e.kind
  }
  function wi(e) {
    var t = e.kind
    return 99 === t || 71 === t || 179 === t
  }
  function Pi(e) {
    var t = e.kind
    return 249 === t || 256 === t || 250 === t || 10 === t
  }
  function Oi(e) {
    var t = e.kind
    return 254 === t
  }
  function Fi(e) {
    var t = e.kind
    return 253 === t || 255 === t
  }
  function Ii(e) {
    return 255 === e.kind
  }
  function Ri(e) {
    return 253 === e.kind
  }
  function Mi(e) {
    var t = e.kind
    return 9 === t || 256 === t
  }
  function Li(e) {
    var t = e.kind
    return 251 === t || 250 === t
  }
  function Bi(e) {
    var t = e.kind
    return 257 === t || 258 === t
  }
  function Ji(e) {
    return 259 === e.kind
  }
  function zi(e) {
    return 260 === e.kind
  }
  function Ki(e) {
    return 261 === e.kind
  }
  function ji(e) {
    return 262 === e.kind
  }
  function Vi(e) {
    return 264 === e.kind
  }
  function qi(e) {
    return 265 === e.kind
  }
  function Ui(e) {
    return e.watch && e.hasOwnProperty('watch')
  }
  ;(e.externalHelpersModuleNameText = 'tslib'),
    (e.getDeclarationOfKind = t),
    (e.findDeclaration = r)
  var Wi = []
  ;(e.getSingleLineStringWriter = n),
    (e.releaseStringWriter = a),
    (e.getFullWidth = i),
    (e.hasResolvedModule = o),
    (e.getResolvedModule = s),
    (e.setResolvedModule = c),
    (e.setResolvedTypeReferenceDirective = u),
    (e.moduleResolutionIsEqualTo = _),
    (e.typeDirectiveIsEqualTo = l),
    (e.hasChangesInResolutions = d),
    (e.containsParseError = p),
    (e.getSourceFileOfNode = g),
    (e.isStatementWithLocals = m),
    (e.getStartPositionOfLine = y),
    (e.nodePosToString = v),
    (e.getStartPosOfNode = h),
    (e.isDefined = b),
    (e.getEndLinePosition = k),
    (e.nodeIsMissing = x),
    (e.nodeIsPresent = C),
    (e.isToken = S),
    (e.getTokenPosOfNode = D),
    (e.isJSDocNode = T),
    (e.isJSDocTag = E),
    (e.getNonDecoratorTokenPosOfNode = N),
    (e.getSourceTextOfNodeFromSourceFile = A),
    (e.getTextOfNodeFromSourceText = w),
    (e.getTextOfNode = P),
    (e.getLiteralText = O),
    (e.escapeIdentifier = I),
    (e.makeIdentifierFromModuleName = R),
    (e.isBlockOrCatchScoped = M),
    (e.isCatchClauseVariableDeclarationOrBindingElement = L),
    (e.isAmbientModule = B),
    (e.isShorthandAmbientModuleSymbol = J),
    (e.isBlockScopedContainerTopLevel = K),
    (e.isGlobalScopeAugmentation = j),
    (e.isExternalModuleAugmentation = V),
    (e.isEffectiveExternalModule = q),
    (e.isBlockScope = U),
    (e.getEnclosingBlockScopeContainer = W),
    (e.declarationNameToString = H),
    (e.getNameFromIndexInfo = G),
    (e.getTextOfPropertyName = X),
    (e.entityNameToString = Q),
    (e.createDiagnosticForNode = Y),
    (e.createDiagnosticForNodeInSourceFile = Z),
    (e.createDiagnosticForNodeFromMessageChain = $),
    (e.getSpanOfTokenAtPosition = ee),
    (e.getErrorSpanForNode = re),
    (e.isExternalOrCommonJsModule = ne),
    (e.isDeclarationFile = ae),
    (e.isConstEnumDeclaration = ie),
    (e.isConst = oe),
    (e.isLet = se),
    (e.isSuperCall = ce),
    (e.isPrologueDirective = ue),
    (e.getLeadingCommentRangesOfNode = _e),
    (e.getLeadingCommentRangesOfNodeFromText = le),
    (e.getJSDocCommentRanges = de),
    (e.fullTripleSlashReferencePathRegEx = /^(\/\/\/\s*<reference\s+path\s*=\s*)('|")(.+?)\2.*?\/>/),
    (e.fullTripleSlashReferenceTypeReferenceDirectiveRegEx = /^(\/\/\/\s*<reference\s+types\s*=\s*)('|")(.+?)\2.*?\/>/),
    (e.fullTripleSlashAMDReferencePathRegEx = /^(\/\/\/\s*<amd-dependency\s+path\s*=\s*)('|")(.+?)\2.*?\/>/),
    (e.isPartOfTypeNode = pe),
    (e.isChildOfNodeWithKind = fe),
    (e.isPrefixUnaryExpression = ge),
    (e.forEachReturnStatement = me),
    (e.forEachYieldExpression = ye),
    (e.getRestParameterElementType = ve),
    (e.isVariableLike = he),
    (e.isAccessor = be),
    (e.isClassLike = ke),
    (e.isFunctionLike = xe),
    (e.isFunctionLikeKind = Ce),
    (e.introducesArgumentsExoticObject = Se),
    (e.isIterationStatement = De),
    (e.unwrapInnermostStatementOfLabel = Te),
    (e.isFunctionBlock = Ee),
    (e.isObjectLiteralMethod = Ne),
    (e.isObjectLiteralOrClassExpressionMethod = Ae),
    (e.isIdentifierTypePredicate = we),
    (e.isThisTypePredicate = Pe),
    (e.getContainingFunction = Oe),
    (e.getContainingClass = Fe),
    (e.getThisContainer = Ie),
    (e.getNewTargetContainer = Re),
    (e.getSuperContainer = Me),
    (e.getImmediatelyInvokedFunctionExpression = Le),
    (e.isSuperProperty = Be),
    (e.getEntityNameFromTypeNode = Je),
    (e.isCallLikeExpression = ze),
    (e.getInvokedExpression = Ke),
    (e.nodeCanBeDecorated = je),
    (e.nodeIsDecorated = Ve),
    (e.nodeOrChildIsDecorated = qe),
    (e.childIsDecorated = Ue),
    (e.isJSXTagName = We),
    (e.isPartOfExpression = He),
    (e.isInstantiatedModule = Ge),
    (e.isExternalModuleImportEqualsDeclaration = Xe),
    (e.getExternalModuleImportEqualsDeclarationExpression = Qe),
    (e.isInternalModuleImportEqualsDeclaration = Ye),
    (e.isSourceFileJavaScript = Ze),
    (e.isInJavaScriptFile = $e),
    (e.isRequireCall = et),
    (e.isSingleOrDoubleQuote = tt),
    (e.isDeclarationOfFunctionOrClassExpression = rt),
    (e.getRightMostAssignedExpression = nt),
    (e.isExportsIdentifier = at),
    (e.isModuleExportsPropertyAccessExpression = it),
    (e.getSpecialPropertyAssignmentKind = ot),
    (e.getExternalModuleName = st),
    (e.getNamespaceDeclarationNode = ct),
    (e.isDefaultImport = ut),
    (e.hasQuestionToken = _t),
    (e.isJSDocConstructSignature = lt),
    (e.getCommentsFromJSDoc = dt),
    (e.hasJSDocParameterTags = pt),
    (e.getJSDocs = mt),
    (e.getJSDocParameterTags = yt),
    (e.getJSDocType = vt),
    (e.getJSDocAugmentsTag = ht),
    (e.getJSDocReturnTag = bt),
    (e.getJSDocTemplateTag = kt),
    (e.hasRestParameter = xt),
    (e.hasDeclaredRestParameter = Ct),
    (e.isRestParameter = St),
    (e.isDeclaredRestParam = Dt)
  var Hi
  !(function(e) {
    ;(e[(e.None = 0)] = 'None'),
      (e[(e.Definite = 1)] = 'Definite'),
      (e[(e.Compound = 2)] = 'Compound')
  })((Hi = e.AssignmentKind || (e.AssignmentKind = {}))),
    (e.getAssignmentTargetKind = Tt),
    (e.isAssignmentTarget = Et),
    (e.isDeleteTarget = Nt),
    (e.isNodeDescendantOf = At),
    (e.isInAmbientContext = wt),
    (e.isDeclarationName = Pt),
    (e.getNameOfDeclaration = Ot),
    (e.isLiteralComputedPropertyDeclarationName = Ft),
    (e.isIdentifierName = It),
    (e.isAliasSymbolDeclaration = Rt),
    (e.exportAssignmentIsAlias = Mt),
    (e.getClassExtendsHeritageClauseElement = Lt),
    (e.getClassImplementsHeritageClauseElements = Bt),
    (e.getInterfaceBaseTypeNodes = Jt),
    (e.getHeritageClause = zt),
    (e.tryResolveScriptReference = Kt),
    (e.getAncestor = jt),
    (e.getFileReferenceFromReferencePath = Vt),
    (e.isKeyword = qt),
    (e.isTrivia = Ut)
  var Gi
  !(function(e) {
    ;(e[(e.Normal = 0)] = 'Normal'),
      (e[(e.Generator = 1)] = 'Generator'),
      (e[(e.Async = 2)] = 'Async'),
      (e[(e.Invalid = 4)] = 'Invalid'),
      (e[(e.AsyncGenerator = 3)] = 'AsyncGenerator')
  })((Gi = e.FunctionFlags || (e.FunctionFlags = {}))),
    (e.getFunctionFlags = Wt),
    (e.isAsyncFunction = Ht),
    (e.isNumericLiteral = Gt),
    (e.isStringOrNumericLiteral = Xt),
    (e.hasDynamicName = Qt),
    (e.isDynamicName = Yt),
    (e.isWellKnownSymbolSyntactically = Zt),
    (e.getPropertyNameForPropertyNameNode = $t),
    (e.getPropertyNameForKnownSymbolName = er),
    (e.isESSymbolIdentifier = tr),
    (e.isPushOrUnshiftIdentifier = rr),
    (e.isModifierKind = nr),
    (e.isParameterDeclaration = ar),
    (e.getRootDeclaration = ir),
    (e.nodeStartsNewLexicalEnvironment = or),
    (e.nodeIsSynthesized = sr),
    (e.getOriginalSourceFileOrBundle = cr),
    (e.getOriginalSourceFiles = _r),
    (e.getOriginalNodeId = lr)
  var Xi
  !(function(e) {
    ;(e[(e.Left = 0)] = 'Left'), (e[(e.Right = 1)] = 'Right')
  })((Xi = e.Associativity || (e.Associativity = {}))),
    (e.getExpressionAssociativity = dr),
    (e.getOperatorAssociativity = pr),
    (e.getExpressionPrecedence = fr),
    (e.getOperator = gr),
    (e.getOperatorPrecedence = mr),
    (e.createDiagnosticCollection = yr)
  var Qi = /[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g,
    Yi = e.createMapFromTemplate({
      '\0': '\\0',
      '\t': '\\t',
      '\x0B': '\\v',
      '\f': '\\f',
      '\b': '\\b',
      '\r': '\\r',
      '\n': '\\n',
      '\\': '\\\\',
      '"': '\\"',
      '\u2028': '\\u2028',
      '\u2029': '\\u2029',
      '': '\\u0085'
    })
  ;(e.escapeString = vr), (e.isIntrinsicJsxName = br)
  var Zi = /[^\u0000-\u007F]/g
  e.escapeNonAsciiCharacters = xr
  var $i = ['', '    ']
  ;(e.getIndentString = Cr),
    (e.getIndentSize = Sr),
    (e.createTextWriter = Dr),
    (e.getResolvedExternalModuleName = Tr),
    (e.getExternalModuleNameFromDeclaration = Er),
    (e.getExternalModuleNameFromPath = Nr),
    (e.getOwnEmitOutputFilePath = Ar),
    (e.getDeclarationEmitOutputFilePath = wr),
    (e.getSourceFilesToEmit = Pr),
    (e.sourceFileMayBeEmitted = Or),
    (e.forEachEmittedFile = Fr),
    (e.getSourceFilePathInNewDir = Mr),
    (e.writeFile = Lr),
    (e.getLineOfLocalPosition = Br),
    (e.getLineOfLocalPositionFromLineMap = Jr),
    (e.getFirstConstructorWithBody = zr),
    (e.getSetAccessorTypeAnnotationNode = Kr),
    (e.getThisParameter = jr),
    (e.parameterIsThisKeyword = Vr),
    (e.isThisIdentifier = qr),
    (e.identifierIsThisKeyword = Ur),
    (e.getAllAccessorDeclarations = Wr),
    (e.emitNewLineBeforeLeadingComments = Hr),
    (e.emitNewLineBeforeLeadingCommentsOfPosition = Gr),
    (e.emitNewLineBeforeLeadingCommentOfPosition = Xr),
    (e.emitComments = Qr),
    (e.emitDetachedComments = Yr),
    (e.writeCommentRange = Zr),
    (e.hasModifiers = tn),
    (e.hasModifier = rn),
    (e.getModifierFlags = nn),
    (e.modifierToFlag = an),
    (e.isLogicalOperator = on),
    (e.isAssignmentOperator = sn),
    (e.tryGetClassExtendingExpressionWithTypeArguments = cn),
    (e.isAssignmentExpression = un),
    (e.isDestructuringAssignment = _n),
    (e.isSupportedExpressionWithTypeArguments = ln),
    (e.isExpressionWithTypeArgumentsInClassExtendsClause = pn),
    (e.isExpressionWithTypeArgumentsInClassImplementsClause = fn),
    (e.isEntityNameExpression = gn),
    (e.isRightSideOfQualifiedNameOrPropertyAccess = mn),
    (e.isEmptyObjectLiteral = yn),
    (e.isEmptyArrayLiteral = vn),
    (e.getLocalSymbolForExportDefault = hn),
    (e.tryExtractTypeScriptExtension = kn)
  var eo = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
  e.convertToBase64 = Cn
  var to = '\r\n',
    ro = '\n'
  ;(e.getNewLineCharacter = Sn), (e.isSimpleExpression = Dn)
  var no = []
  ;(e.formatSyntaxKind = En),
    (e.getRangePos = Nn),
    (e.getRangeEnd = An),
    (e.movePos = wn),
    (e.createRange = Pn),
    (e.moveRangeEnd = On),
    (e.moveRangePos = Fn),
    (e.moveRangePastDecorators = In),
    (e.moveRangePastModifiers = Rn),
    (e.isCollapsedRange = Mn),
    (e.collapseRangeToStart = Ln),
    (e.collapseRangeToEnd = Bn),
    (e.createTokenRange = Jn),
    (e.rangeIsOnSingleLine = zn),
    (e.rangeStartPositionsAreOnSameLine = Kn),
    (e.rangeEndPositionsAreOnSameLine = jn),
    (e.rangeStartIsOnSameLineAsRangeEnd = Vn),
    (e.rangeEndIsOnSameLineAsRangeStart = qn),
    (e.positionsAreOnSameLine = Un),
    (e.getStartPositionOfRange = Wn),
    (e.isDeclarationNameOfEnumOrNamespace = Hn),
    (e.getInitializedVariables = Gn),
    (e.isMergedWithClass = Qn),
    (e.isFirstDeclarationOfKind = Yn),
    (e.isNodeArray = Zn),
    (e.isNoSubstitutionTemplateLiteral = $n),
    (e.isLiteralKind = ea),
    (e.isTextualLiteralKind = ta),
    (e.isLiteralExpression = ra),
    (e.isTemplateLiteralKind = na),
    (e.isTemplateHead = aa),
    (e.isTemplateMiddleOrTemplateTail = ia),
    (e.isIdentifier = oa),
    (e.isVoidExpression = sa),
    (e.isGeneratedIdentifier = ca),
    (e.isModifier = ua),
    (e.isQualifiedName = _a),
    (e.isComputedPropertyName = la),
    (e.isEntityName = da),
    (e.isPropertyName = pa),
    (e.isModuleName = fa),
    (e.isBindingName = ga),
    (e.isTypeParameter = ma),
    (e.isParameter = ya),
    (e.isDecorator = va),
    (e.isMethodDeclaration = ha),
    (e.isClassElement = ba),
    (e.isObjectLiteralElementLike = ka),
    (e.isTypeNode = Ca),
    (e.isArrayBindingPattern = Sa),
    (e.isObjectBindingPattern = Da),
    (e.isBindingPattern = Ta),
    (e.isAssignmentPattern = Ea),
    (e.isBindingElement = Na),
    (e.isArrayBindingElement = Aa),
    (e.isDeclarationBindingElement = wa),
    (e.isBindingOrAssignmentPattern = Pa),
    (e.isObjectBindingOrAssignmentPattern = Oa),
    (e.isArrayBindingOrAssignmentPattern = Fa),
    (e.isArrayLiteralExpression = Ia),
    (e.isObjectLiteralExpression = Ra),
    (e.isPropertyAccessExpression = Ma),
    (e.isPropertyAccessOrQualifiedName = La),
    (e.isElementAccessExpression = Ba),
    (e.isBinaryExpression = Ja),
    (e.isConditionalExpression = za),
    (e.isCallExpression = Ka),
    (e.isTemplateLiteral = ja),
    (e.isSpreadExpression = Va),
    (e.isExpressionWithTypeArguments = qa),
    (e.isLeftHandSideExpression = Wa),
    (e.isUnaryExpression = Ga),
    (e.isExpression = Qa),
    (e.isAssertionExpression = Ya),
    (e.isPartiallyEmittedExpression = Za),
    (e.isNotEmittedStatement = $a),
    (e.isNotEmittedOrPartiallyEmittedNode = ei),
    (e.isOmittedExpression = ti),
    (e.isTemplateSpan = ri),
    (e.isBlock = ni),
    (e.isConciseBody = ai),
    (e.isFunctionBody = ii),
    (e.isForInitializer = oi),
    (e.isVariableDeclaration = si),
    (e.isVariableDeclarationList = ci),
    (e.isCaseBlock = ui),
    (e.isModuleBody = _i),
    (e.isNamespaceBody = li),
    (e.isJSDocNamespaceBody = di),
    (e.isImportEqualsDeclaration = pi),
    (e.isImportClause = fi),
    (e.isNamedImportBindings = gi),
    (e.isImportSpecifier = mi),
    (e.isNamedExports = yi),
    (e.isExportSpecifier = vi),
    (e.isModuleOrEnumDeclaration = hi),
    (e.isDeclaration = Ci),
    (e.isDeclarationStatement = Si),
    (e.isStatementButNotDeclaration = Di),
    (e.isStatement = Ti),
    (e.isModuleReference = Ei),
    (e.isJsxOpeningElement = Ni),
    (e.isJsxClosingElement = Ai),
    (e.isJsxTagNameExpression = wi),
    (e.isJsxChild = Pi),
    (e.isJsxAttributes = Oi),
    (e.isJsxAttributeLike = Fi),
    (e.isJsxSpreadAttribute = Ii),
    (e.isJsxAttribute = Ri),
    (e.isStringLiteralOrJsxExpression = Mi),
    (e.isJsxOpeningLikeElement = Li),
    (e.isCaseOrDefaultClause = Bi),
    (e.isHeritageClause = Ji),
    (e.isCatchClause = zi),
    (e.isPropertyAssignment = Ki),
    (e.isShorthandPropertyAssignment = ji),
    (e.isEnumMember = Vi),
    (e.isSourceFile = qi),
    (e.isWatchSet = Ui)
})(ts || (ts = {})),
  (function(e) {
    function t(e) {
      switch (e.target) {
        case 5:
          return 'lib.esnext.full.d.ts'
        case 4:
          return 'lib.es2017.full.d.ts'
        case 3:
          return 'lib.es2016.full.d.ts'
        case 2:
          return 'lib.es6.d.ts'
        default:
          return 'lib.d.ts'
      }
    }
    function r(e) {
      return e.start + e.length
    }
    function n(e) {
      return 0 === e.length
    }
    function a(e, t) {
      return t >= e.start && t < r(e)
    }
    function i(e, t) {
      return t.start >= e.start && r(t) <= r(e)
    }
    function o(e, t) {
      var n = Math.max(e.start, t.start),
        a = Math.min(r(e), r(t))
      return n < a
    }
    function s(e, t) {
      var n = Math.max(e.start, t.start),
        a = Math.min(r(e), r(t))
      if (n < a) return f(n, a)
    }
    function c(e, t) {
      return t.start <= r(e) && r(t) >= e.start
    }
    function u(e, t, n) {
      var a = t + n
      return t <= r(e) && a >= e.start
    }
    function _(e, t, r, n) {
      var a = e + t,
        i = r + n
      return r <= a && i >= e
    }
    function l(e, t) {
      return t <= r(e) && t >= e.start
    }
    function d(e, t) {
      var n = Math.max(e.start, t.start),
        a = Math.min(r(e), r(t))
      if (n <= a) return f(n, a)
    }
    function p(e, t) {
      if (e < 0) throw new Error('start < 0')
      if (t < 0) throw new Error('length < 0')
      return { start: e, length: t }
    }
    function f(e, t) {
      return p(e, t - e)
    }
    function g(e) {
      return p(e.span.start, e.newLength)
    }
    function m(e) {
      return n(e.span) && 0 === e.newLength
    }
    function y(e, t) {
      if (t < 0) throw new Error('newLength < 0')
      return { span: e, newLength: t }
    }
    function v(t) {
      if (0 === t.length) return e.unchangedTextChangeRange
      if (1 === t.length) return t[0]
      for (
        var n = t[0],
          a = n.span.start,
          i = r(n.span),
          o = a + n.newLength,
          s = 1;
        s < t.length;
        s++
      ) {
        var c = t[s],
          u = a,
          _ = i,
          l = o,
          d = c.span.start,
          p = r(c.span),
          g = d + c.newLength
        ;(a = Math.min(u, d)),
          (i = Math.max(_, _ + (p - l))),
          (o = Math.max(g, g + (l - p)))
      }
      return y(f(a, i), o - a)
    }
    function h(t) {
      if (t && 145 === t.kind)
        for (var r = t; r; r = r.parent)
          if (e.isFunctionLike(r) || e.isClassLike(r) || 230 === r.kind)
            return r
    }
    function b(t) {
      return (
        e.hasModifier(t, 92) &&
        152 === t.parent.kind &&
        e.isClassLike(t.parent.parent)
      )
    }
    function k(t) {
      for (; t && (176 === t.kind || e.isBindingPattern(t)); ) t = t.parent
      return t
    }
    function x(t) {
      t = k(t)
      var r = e.getModifierFlags(t)
      return (
        226 === t.kind && (t = t.parent),
        t && 227 === t.kind && ((r |= e.getModifierFlags(t)), (t = t.parent)),
        t && 208 === t.kind && (r |= e.getModifierFlags(t)),
        r
      )
    }
    function C(e) {
      e = k(e)
      var t = e.flags
      return (
        226 === e.kind && (e = e.parent),
        e && 227 === e.kind && ((t |= e.flags), (e = e.parent)),
        e && 208 === e.kind && (t |= e.flags),
        t
      )
    }
    function S(t, r, n) {
      function a(t, n, a) {
        var i = e.normalizePath(r.getExecutingFilePath()),
          o = e.getDirectoryPath(i),
          s = e.combinePaths(o, t)
        if (
          (n && (s = s + '-' + n),
          (s = r.resolvePath(
            e.combinePaths(s, 'diagnosticMessages.generated.json')
          )),
          !r.fileExists(s))
        )
          return !1
        var c = ''
        try {
          c = r.readFile(s)
        } catch (u) {
          return (
            a &&
              a.push(
                e.createCompilerDiagnostic(
                  e.Diagnostics.Unable_to_open_file_0,
                  s
                )
              ),
            !1
          )
        }
        try {
          e.localizedDiagnosticMessages = JSON.parse(c)
        } catch (u) {
          return (
            a &&
              a.push(
                e.createCompilerDiagnostic(
                  e.Diagnostics.Corrupted_locale_file_0,
                  s
                )
              ),
            !1
          )
        }
        return !0
      }
      var i = /^([a-z]+)([_\-]([a-z]+))?$/.exec(t.toLowerCase())
      if (!i)
        return void (
          n &&
          n.push(
            e.createCompilerDiagnostic(
              e.Diagnostics
                .Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1,
              'en',
              'ja-jp'
            )
          )
        )
      var o = i[1],
        s = i[3]
      a(o, s, n) || a(o, void 0, n)
    }
    function D(e, t) {
      if (e) for (; void 0 !== e.original; ) e = e.original
      return !t || t(e) ? e : void 0
    }
    function T(e) {
      return 0 === (8 & e.flags)
    }
    function E(e, t) {
      return void 0 === e || T(e)
        ? e
        : ((e = D(e)), !T(e) || (t && !t(e)) ? void 0 : e)
    }
    function N(e) {
      return e.length >= 3 &&
        95 === e.charCodeAt(0) &&
        95 === e.charCodeAt(1) &&
        95 === e.charCodeAt(2)
        ? e.substr(1)
        : e
    }
    ;(e.getDefaultLibFileName = t),
      (e.textSpanEnd = r),
      (e.textSpanIsEmpty = n),
      (e.textSpanContainsPosition = a),
      (e.textSpanContainsTextSpan = i),
      (e.textSpanOverlapsWith = o),
      (e.textSpanOverlap = s),
      (e.textSpanIntersectsWithTextSpan = c),
      (e.textSpanIntersectsWith = u),
      (e.decodedTextSpanIntersectsWith = _),
      (e.textSpanIntersectsWithPosition = l),
      (e.textSpanIntersection = d),
      (e.createTextSpan = p),
      (e.createTextSpanFromBounds = f),
      (e.textChangeRangeNewSpan = g),
      (e.textChangeRangeIsUnchanged = m),
      (e.createTextChangeRange = y),
      (e.unchangedTextChangeRange = y(p(0, 0), 0)),
      (e.collapseTextChangeRangesAcrossMultipleVersions = v),
      (e.getTypeParameterOwner = h),
      (e.isParameterPropertyDeclaration = b),
      (e.getCombinedModifierFlags = x),
      (e.getCombinedNodeFlags = C),
      (e.validateLocaleAndSetLanguage = S),
      (e.getOriginalNode = D),
      (e.isParseTreeNode = T),
      (e.getParseTreeNode = E),
      (e.unescapeIdentifier = N)
  })(ts || (ts = {}))
var ts
!(function(e) {
  function t(t) {
    var r = e.createNode(t, -1, -1)
    return (r.flags |= 8), r
  }
  function r(t, r) {
    return (
      t !== r &&
        (Aa(t, r),
        oa(t, r),
        r.startsOnNewLine && (t.startsOnNewLine = !0),
        e.aggregateTransformFlags(t)),
      t
    )
  }
  function n(t, r) {
    if (t) {
      if (e.isNodeArray(t)) return t
    } else t = []
    var n = t
    return (n.pos = -1), (n.end = -1), (n.hasTrailingComma = r), n
  }
  function a(e) {
    var r = t(e.kind)
    ;(r.flags |= e.flags), Aa(r, e)
    for (var n in e)
      !r.hasOwnProperty(n) && e.hasOwnProperty(n) && (r[n] = e[n])
    return r
  }
  function i(e) {
    return 'number' == typeof e
      ? o(e + '')
      : 'boolean' == typeof e
        ? e
          ? v()
          : h()
        : 'string' == typeof e
          ? s(e)
          : c(e)
  }
  function o(e) {
    var r = t(8)
    return (r.text = e), (r.numericLiteralFlags = 0), r
  }
  function s(e) {
    var r = t(9)
    return (r.text = e), r
  }
  function c(e) {
    var t = s(e.text)
    return (t.textSourceNode = e), t
  }
  function u(r) {
    var n = t(71)
    return (
      (n.text = e.escapeIdentifier(r)),
      (n.originalKeywordKind = r ? e.stringToToken(r) : 0),
      (n.autoGenerateKind = 0),
      (n.autoGenerateId = 0),
      n
    )
  }
  function _(e) {
    var t = u('')
    return (t.autoGenerateKind = 1), (t.autoGenerateId = Oa), Oa++, e && e(t), t
  }
  function l() {
    var e = u('')
    return (e.autoGenerateKind = 2), (e.autoGenerateId = Oa), Oa++, e
  }
  function d(e) {
    var t = u(e)
    return (t.autoGenerateKind = 3), (t.autoGenerateId = Oa), Oa++, t
  }
  function p(e) {
    var t = u('')
    return (
      (t.autoGenerateKind = 4),
      (t.autoGenerateId = Oa),
      (t.original = e),
      Oa++,
      t
    )
  }
  function f(e) {
    return t(e)
  }
  function g() {
    return t(97)
  }
  function m() {
    return t(99)
  }
  function y() {
    return t(95)
  }
  function v() {
    return t(101)
  }
  function h() {
    return t(86)
  }
  function b(e, r) {
    var n = t(143)
    return (n.left = e), (n.right = ea(r)), n
  }
  function k(e, t, n) {
    return e.left !== t || e.right !== n ? r(b(t, n), e) : e
  }
  function x(e) {
    var r = t(144)
    return (r.expression = e), r
  }
  function C(e, t) {
    return e.expression !== t ? r(x(t), e) : e
  }
  function S(e, r, n, a) {
    var i = t(e)
    return (i.typeParameters = ra(r)), (i.parameters = ra(n)), (i.type = a), i
  }
  function D(e, t, n, a) {
    return e.typeParameters !== t || e.parameters !== n || e.type !== a
      ? r(S(e.kind, t, n, a), e)
      : e
  }
  function T(e, t, r) {
    return S(160, e, t, r)
  }
  function E(e, t, r, n) {
    return D(e, t, r, n)
  }
  function N(e, t, r) {
    return S(161, e, t, r)
  }
  function A(e, t, r, n) {
    return D(e, t, r, n)
  }
  function w(e, t, r) {
    return S(155, e, t, r)
  }
  function P(e, t, r, n) {
    return D(e, t, r, n)
  }
  function O(e, t, r) {
    return S(156, e, t, r)
  }
  function F(e, t, r, n) {
    return D(e, t, r, n)
  }
  function I(e, t, r, n, a) {
    var i = S(150, e, t, r)
    return (i.name = ea(n)), (i.questionToken = a), i
  }
  function R(e, t, n, a, i, o) {
    return e.typeParameters !== t ||
      e.parameters !== n ||
      e.type !== a ||
      e.name !== i ||
      e.questionToken !== o
      ? r(I(t, n, a, i, o), e)
      : e
  }
  function M(e) {
    return t(e)
  }
  function L() {
    return t(169)
  }
  function B(e) {
    var r = t(173)
    return (r.literal = e), r
  }
  function J(e, t) {
    return e.literal !== t ? r(B(t), e) : e
  }
  function z(e, r) {
    var n = t(159)
    return (n.typeName = ea(e)), (n.typeArguments = ra(r)), n
  }
  function K(e, t, n) {
    return e.typeName !== t || e.typeArguments !== n ? r(z(t, n), e) : e
  }
  function j(e, r) {
    var n = t(158)
    return (n.parameterName = ea(e)), (n.type = r), n
  }
  function V(e, t, n) {
    return e.parameterName !== t || e.type !== n ? r(j(t, n), e) : e
  }
  function q(e) {
    var r = t(162)
    return (r.exprName = e), r
  }
  function U(e, t) {
    return e.exprName !== t ? r(q(t), e) : e
  }
  function W(e) {
    var r = t(164)
    return (r.elementType = e), r
  }
  function H(e, t) {
    return e.elementType !== t ? r(W(t), e) : e
  }
  function G(e, r) {
    var a = t(e)
    return (a.types = n(r)), a
  }
  function X(e, t) {
    return e.types !== t ? r(G(e.kind, t), e) : e
  }
  function Q(e) {
    var r = t(163)
    return (r.members = n(e)), r
  }
  function Y(e, t) {
    return e.members !== t ? r(Q(t), e) : e
  }
  function Z(e) {
    var r = t(165)
    return (r.elementTypes = n(e)), r
  }
  function $(e, t) {
    return e.elementTypes !== t ? r(Z(t), e) : e
  }
  function ee(e, r, n, a) {
    var i = t(172)
    return (
      (i.readonlyToken = e),
      (i.typeParameter = r),
      (i.questionToken = n),
      (i.type = a),
      i
    )
  }
  function te(e, t, n, a, i) {
    return e.readonlyToken !== t ||
      e.typeParameter !== n ||
      e.questionToken !== a ||
      e.type !== i
      ? r(ee(t, n, a, i), e)
      : e
  }
  function re(e) {
    var r = t(170)
    return (r.operator = 127), (r.type = e), r
  }
  function ne(e, t) {
    return e.type !== t ? r(re(t), e) : e
  }
  function ae(e, r) {
    var n = t(171)
    return (n.objectType = e), (n.indexType = r), n
  }
  function ie(e, t, n) {
    return e.objectType !== t || e.indexType !== n ? r(ae(t, n), e) : e
  }
  function oe(e, r, n) {
    var a = t(145)
    return (a.name = ea(e)), (a.constraint = r), (a['default'] = n), a
  }
  function se(e, t, n, a) {
    return e.name !== t || e.constraint !== n || e['default'] !== a
      ? r(oe(t, n, a), e)
      : e
  }
  function ce(e, r, n, a) {
    var i = t(148)
    return (
      (i.name = ea(e)),
      (i.questionToken = r),
      (i.type = n),
      (i.initializer = a),
      i
    )
  }
  function ue(e, t, n, a, i) {
    return e.name !== t ||
      e.questionToken !== n ||
      e.type !== a ||
      e.initializer !== i
      ? r(ce(t, n, a, i), e)
      : e
  }
  function _e(e, r, a, i) {
    var o = t(157)
    return (
      (o.decorators = ra(e)),
      (o.modifiers = ra(r)),
      (o.parameters = n(a)),
      (o.type = i),
      o
    )
  }
  function le(e, t, n, a, i) {
    return e.parameters !== a ||
      e.type !== i ||
      e.decorators !== t ||
      e.modifiers !== n
      ? r(_e(t, n, a, i), e)
      : e
  }
  function de(r, n, a, i, o, s, c) {
    var u = t(146)
    return (
      (u.decorators = ra(r)),
      (u.modifiers = ra(n)),
      (u.dotDotDotToken = a),
      (u.name = ea(i)),
      (u.questionToken = o),
      (u.type = s),
      (u.initializer = c ? e.parenthesizeExpressionForList(c) : void 0),
      u
    )
  }
  function pe(e, t, n, a, i, o, s, c) {
    return e.decorators !== t ||
      e.modifiers !== n ||
      e.dotDotDotToken !== a ||
      e.name !== i ||
      e.questionToken !== o ||
      e.type !== s ||
      e.initializer !== c
      ? r(de(t, n, a, i, e.questionToken, s, c), e)
      : e
  }
  function fe(r) {
    var n = t(147)
    return (n.expression = e.parenthesizeForAccess(r)), n
  }
  function ge(e, t) {
    return e.expression !== t ? r(fe(t), e) : e
  }
  function me(e, r, n, a, i, o) {
    var s = t(149)
    return (
      (s.decorators = ra(e)),
      (s.modifiers = ra(r)),
      (s.name = ea(n)),
      (s.questionToken = a),
      (s.type = i),
      (s.initializer = o),
      s
    )
  }
  function ye(e, t, n, a, i, o) {
    return e.decorators !== t ||
      e.modifiers !== n ||
      e.name !== a ||
      e.type !== i ||
      e.initializer !== o
      ? r(me(t, n, a, e.questionToken, i, o), e)
      : e
  }
  function ve(e, r, a, i, o, s, c, u, _) {
    var l = t(151)
    return (
      (l.decorators = ra(e)),
      (l.modifiers = ra(r)),
      (l.asteriskToken = a),
      (l.name = ea(i)),
      (l.questionToken = o),
      (l.typeParameters = ra(s)),
      (l.parameters = n(c)),
      (l.type = u),
      (l.body = _),
      l
    )
  }
  function he(e, t, n, a, i, o, s, c, u, _) {
    return e.decorators !== t ||
      e.modifiers !== n ||
      e.asteriskToken !== a ||
      e.name !== i ||
      e.typeParameters !== s ||
      e.parameters !== c ||
      e.type !== u ||
      e.body !== _
      ? r(ve(t, n, a, i, o, s, c, u, _), e)
      : e
  }
  function be(e, r, a, i) {
    var o = t(152)
    return (
      (o.decorators = ra(e)),
      (o.modifiers = ra(r)),
      (o.typeParameters = void 0),
      (o.parameters = n(a)),
      (o.type = void 0),
      (o.body = i),
      o
    )
  }
  function ke(e, t, n, a, i) {
    return e.decorators !== t ||
      e.modifiers !== n ||
      e.parameters !== a ||
      e.body !== i
      ? r(be(t, n, a, i), e)
      : e
  }
  function xe(e, r, a, i, o, s) {
    var c = t(153)
    return (
      (c.decorators = ra(e)),
      (c.modifiers = ra(r)),
      (c.name = ea(a)),
      (c.typeParameters = void 0),
      (c.parameters = n(i)),
      (c.type = o),
      (c.body = s),
      c
    )
  }
  function Ce(e, t, n, a, i, o, s) {
    return e.decorators !== t ||
      e.modifiers !== n ||
      e.name !== a ||
      e.parameters !== i ||
      e.type !== o ||
      e.body !== s
      ? r(xe(t, n, a, i, o, s), e)
      : e
  }
  function Se(e, r, a, i, o) {
    var s = t(154)
    return (
      (s.decorators = ra(e)),
      (s.modifiers = ra(r)),
      (s.name = ea(a)),
      (s.typeParameters = void 0),
      (s.parameters = n(i)),
      (s.body = o),
      s
    )
  }
  function De(e, t, n, a, i, o) {
    return e.decorators !== t ||
      e.modifiers !== n ||
      e.name !== a ||
      e.parameters !== i ||
      e.body !== o
      ? r(Se(t, n, a, i, o), e)
      : e
  }
  function Te(e) {
    var r = t(174)
    return (r.elements = n(e)), r
  }
  function Ee(e, t) {
    return e.elements !== t ? r(Te(t), e) : e
  }
  function Ne(e) {
    var r = t(175)
    return (r.elements = n(e)), r
  }
  function Ae(e, t) {
    return e.elements !== t ? r(Ne(t), e) : e
  }
  function we(e, r, n, a) {
    var i = t(176)
    return (
      (i.dotDotDotToken = e),
      (i.propertyName = ea(r)),
      (i.name = ea(n)),
      (i.initializer = a),
      i
    )
  }
  function Pe(e, t, n, a, i) {
    return e.propertyName !== n ||
      e.dotDotDotToken !== t ||
      e.name !== a ||
      e.initializer !== i
      ? r(we(t, n, a, i), e)
      : e
  }
  function Oe(r, a) {
    var i = t(177)
    return (
      (i.elements = e.parenthesizeListElements(n(r))),
      a && (i.multiLine = !0),
      i
    )
  }
  function Fe(e, t) {
    return e.elements !== t ? r(Oe(t, e.multiLine), e) : e
  }
  function Ie(e, r) {
    var a = t(178)
    return (a.properties = n(e)), r && (a.multiLine = !0), a
  }
  function Re(e, t) {
    return e.properties !== t ? r(Ie(t, e.multiLine), e) : e
  }
  function Me(r, n) {
    var a = t(179)
    return (
      (a.expression = e.parenthesizeForAccess(r)),
      (a.name = ea(n)),
      ca(a, 131072),
      a
    )
  }
  function Le(e, t, n) {
    return e.expression !== t || e.name !== n ? r(ca(Me(t, n), sa(e)), e) : e
  }
  function Be(r, n) {
    var a = t(180)
    return (
      (a.expression = e.parenthesizeForAccess(r)),
      (a.argumentExpression = ta(n)),
      a
    )
  }
  function Je(e, t, n) {
    return e.expression !== t || e.argumentExpression !== n ? r(Be(t, n), e) : e
  }
  function ze(r, a, i) {
    var o = t(181)
    return (
      (o.expression = e.parenthesizeForAccess(r)),
      (o.typeArguments = ra(a)),
      (o.arguments = e.parenthesizeListElements(n(i))),
      o
    )
  }
  function Ke(e, t, n, a) {
    return t !== e.expression || n !== e.typeArguments || a !== e.arguments
      ? r(ze(t, n, a), e)
      : e
  }
  function je(r, a, i) {
    var o = t(182)
    return (
      (o.expression = e.parenthesizeForNew(r)),
      (o.typeArguments = ra(a)),
      (o.arguments = i ? e.parenthesizeListElements(n(i)) : void 0),
      o
    )
  }
  function Ve(e, t, n, a) {
    return e.expression !== t || e.typeArguments !== n || e.arguments !== a
      ? r(je(t, n, a), e)
      : e
  }
  function qe(r, n) {
    var a = t(183)
    return (a.tag = e.parenthesizeForAccess(r)), (a.template = n), a
  }
  function Ue(e, t, n) {
    return e.tag !== t || e.template !== n ? r(qe(t, n), e) : e
  }
  function We(r, n) {
    var a = t(184)
    return (a.type = r), (a.expression = e.parenthesizePrefixOperand(n)), a
  }
  function He(e, t, n) {
    return e.type !== t || e.expression !== n ? r(We(t, n), e) : e
  }
  function Ge(e) {
    var r = t(185)
    return (r.expression = e), r
  }
  function Xe(e, t) {
    return e.expression !== t ? r(Ge(t), e) : e
  }
  function Qe(e, r, a, i, o, s, c) {
    var u = t(186)
    return (
      (u.modifiers = ra(e)),
      (u.asteriskToken = r),
      (u.name = ea(a)),
      (u.typeParameters = ra(i)),
      (u.parameters = n(o)),
      (u.type = s),
      (u.body = c),
      u
    )
  }
  function Ye(e, t, n, a, i, o, s, c) {
    return e.name !== a ||
      e.modifiers !== t ||
      e.asteriskToken !== n ||
      e.typeParameters !== i ||
      e.parameters !== o ||
      e.type !== s ||
      e.body !== c
      ? r(Qe(t, n, a, i, o, s, c), e)
      : e
  }
  function Ze(r, a, i, o, s, c) {
    var u = t(187)
    return (
      (u.modifiers = ra(r)),
      (u.typeParameters = ra(a)),
      (u.parameters = n(i)),
      (u.type = o),
      (u.equalsGreaterThanToken = s || f(36)),
      (u.body = e.parenthesizeConciseBody(c)),
      u
    )
  }
  function $e(e, t, n, a, i, o) {
    return e.modifiers !== t ||
      e.typeParameters !== n ||
      e.parameters !== a ||
      e.type !== i ||
      e.body !== o
      ? r(Ze(t, n, a, i, e.equalsGreaterThanToken, o), e)
      : e
  }
  function et(r) {
    var n = t(188)
    return (n.expression = e.parenthesizePrefixOperand(r)), n
  }
  function tt(e, t) {
    return e.expression !== t ? r(et(t), e) : e
  }
  function rt(r) {
    var n = t(189)
    return (n.expression = e.parenthesizePrefixOperand(r)), n
  }
  function nt(e, t) {
    return e.expression !== t ? r(rt(t), e) : e
  }
  function at(r) {
    var n = t(190)
    return (n.expression = e.parenthesizePrefixOperand(r)), n
  }
  function it(e, t) {
    return e.expression !== t ? r(at(t), e) : e
  }
  function ot(r) {
    var n = t(191)
    return (n.expression = e.parenthesizePrefixOperand(r)), n
  }
  function st(e, t) {
    return e.expression !== t ? r(ot(t), e) : e
  }
  function ct(r, n) {
    var a = t(192)
    return (a.operator = r), (a.operand = e.parenthesizePrefixOperand(n)), a
  }
  function ut(e, t) {
    return e.operand !== t ? r(ct(e.operator, t), e) : e
  }
  function _t(r, n) {
    var a = t(193)
    return (a.operand = e.parenthesizePostfixOperand(r)), (a.operator = n), a
  }
  function lt(e, t) {
    return e.operand !== t ? r(_t(t, e.operator), e) : e
  }
  function dt(r, n, a) {
    var i = t(194),
      o = na(n),
      s = o.kind
    return (
      (i.left = e.parenthesizeBinaryOperand(s, r, !0, void 0)),
      (i.operatorToken = o),
      (i.right = e.parenthesizeBinaryOperand(s, a, !1, i.left)),
      i
    )
  }
  function pt(e, t, n) {
    return e.left !== t || e.right !== n ? r(dt(t, e.operatorToken, n), e) : e
  }
  function ft(r, n, a, i, o) {
    var s = t(195)
    return (
      (s.condition = e.parenthesizeForConditionalHead(r)),
      (s.questionToken = o ? n : f(55)),
      (s.whenTrue = e.parenthesizeSubexpressionOfConditionalExpression(
        o ? a : n
      )),
      (s.colonToken = o ? i : f(56)),
      (s.whenFalse = e.parenthesizeSubexpressionOfConditionalExpression(
        o ? o : a
      )),
      s
    )
  }
  function gt(e, t, n, a) {
    return e.condition !== t || e.whenTrue !== n || e.whenFalse !== a
      ? r(ft(t, e.questionToken, n, e.colonToken, a), e)
      : e
  }
  function mt(e, r) {
    var a = t(196)
    return (a.head = e), (a.templateSpans = n(r)), a
  }
  function yt(e, t, n) {
    return e.head !== t || e.templateSpans !== n ? r(mt(t, n), e) : e
  }
  function vt(e, r) {
    var n = t(197)
    return (
      (n.asteriskToken = e && 39 === e.kind ? e : void 0),
      (n.expression = e && 39 !== e.kind ? e : r),
      n
    )
  }
  function ht(e, t, n) {
    return e.expression !== n || e.asteriskToken !== t ? r(vt(t, n), e) : e
  }
  function bt(r) {
    var n = t(198)
    return (n.expression = e.parenthesizeExpressionForList(r)), n
  }
  function kt(e, t) {
    return e.expression !== t ? r(bt(t), e) : e
  }
  function xt(e, r, a, i, o) {
    var s = t(199)
    return (
      (s.decorators = void 0),
      (s.modifiers = ra(e)),
      (s.name = ea(r)),
      (s.typeParameters = ra(a)),
      (s.heritageClauses = ra(i)),
      (s.members = n(o)),
      s
    )
  }
  function Ct(e, t, n, a, i, o) {
    return e.modifiers !== t ||
      e.name !== n ||
      e.typeParameters !== a ||
      e.heritageClauses !== i ||
      e.members !== o
      ? r(xt(t, n, a, i, o), e)
      : e
  }
  function St() {
    return t(200)
  }
  function Dt(r, n) {
    var a = t(201)
    return (
      (a.expression = e.parenthesizeForAccess(n)), (a.typeArguments = ra(r)), a
    )
  }
  function Tt(e, t, n) {
    return e.typeArguments !== t || e.expression !== n ? r(Dt(t, n), e) : e
  }
  function Et(e, r) {
    var n = t(202)
    return (n.expression = e), (n.type = r), n
  }
  function Nt(e, t, n) {
    return e.expression !== t || e.type !== n ? r(Et(t, n), e) : e
  }
  function At(r) {
    var n = t(203)
    return (n.expression = e.parenthesizeForAccess(r)), n
  }
  function wt(e, t) {
    return e.expression !== t ? r(At(t), e) : e
  }
  function Pt(e, r) {
    var n = t(205)
    return (n.expression = e), (n.literal = r), n
  }
  function Ot(e, t, n) {
    return e.expression !== t || e.literal !== n ? r(Pt(t, n), e) : e
  }
  function Ft(e, r) {
    var a = t(207)
    return (a.statements = n(e)), r && (a.multiLine = r), a
  }
  function It(e, t) {
    return t !== e.statements ? r(Ft(t, e.multiLine), e) : e
  }
  function Rt(r, n) {
    var a = t(208)
    return (
      (a.decorators = void 0),
      (a.modifiers = ra(r)),
      (a.declarationList = e.isArray(n) ? Lt(n) : n),
      a
    )
  }
  function Mt(e, t, n) {
    return e.modifiers !== t || e.declarationList !== n ? r(Rt(t, n), e) : e
  }
  function Lt(e, r) {
    var a = t(227)
    return (a.flags |= r), (a.declarations = n(e)), a
  }
  function Bt(e, t) {
    return e.declarations !== t ? r(Lt(t, e.flags), e) : e
  }
  function Jt(r, n, a) {
    var i = t(226)
    return (
      (i.name = ea(r)),
      (i.type = n),
      (i.initializer =
        void 0 !== a ? e.parenthesizeExpressionForList(a) : void 0),
      i
    )
  }
  function zt(e, t, n, a) {
    return e.name !== t || e.type !== n || e.initializer !== a
      ? r(Jt(t, n, a), e)
      : e
  }
  function Kt() {
    return t(209)
  }
  function jt(r) {
    var n = t(210)
    return (n.expression = e.parenthesizeExpressionForExpressionStatement(r)), n
  }
  function Vt(e, t) {
    return e.expression !== t ? r(jt(t), e) : e
  }
  function qt(e, r, n) {
    var a = t(211)
    return (a.expression = e), (a.thenStatement = r), (a.elseStatement = n), a
  }
  function Ut(e, t, n, a) {
    return e.expression !== t || e.thenStatement !== n || e.elseStatement !== a
      ? r(qt(t, n, a), e)
      : e
  }
  function Wt(e, r) {
    var n = t(212)
    return (n.statement = e), (n.expression = r), n
  }
  function Ht(e, t, n) {
    return e.statement !== t || e.expression !== n ? r(Wt(t, n), e) : e
  }
  function Gt(e, r) {
    var n = t(213)
    return (n.expression = e), (n.statement = r), n
  }
  function Xt(e, t, n) {
    return e.expression !== t || e.statement !== n ? r(Gt(t, n), e) : e
  }
  function Qt(e, r, n, a) {
    var i = t(214)
    return (
      (i.initializer = e),
      (i.condition = r),
      (i.incrementor = n),
      (i.statement = a),
      i
    )
  }
  function Yt(e, t, n, a, i) {
    return e.initializer !== t ||
      e.condition !== n ||
      e.incrementor !== a ||
      e.statement !== i
      ? r(Qt(t, n, a, i), e)
      : e
  }
  function Zt(e, r, n) {
    var a = t(215)
    return (a.initializer = e), (a.expression = r), (a.statement = n), a
  }
  function $t(e, t, n, a) {
    return e.initializer !== t || e.expression !== n || e.statement !== a
      ? r(Zt(t, n, a), e)
      : e
  }
  function er(e, r, n, a) {
    var i = t(216)
    return (
      (i.awaitModifier = e),
      (i.initializer = r),
      (i.expression = n),
      (i.statement = a),
      i
    )
  }
  function tr(e, t, n, a, i) {
    return e.awaitModifier !== t ||
      e.initializer !== n ||
      e.expression !== a ||
      e.statement !== i
      ? r(er(t, n, a, i), e)
      : e
  }
  function rr(e) {
    var r = t(217)
    return (r.label = ea(e)), r
  }
  function nr(e, t) {
    return e.label !== t ? r(rr(t), e) : e
  }
  function ar(e) {
    var r = t(218)
    return (r.label = ea(e)), r
  }
  function ir(e, t) {
    return e.label !== t ? r(ar(t), e) : e
  }
  function or(e) {
    var r = t(219)
    return (r.expression = e), r
  }
  function sr(e, t) {
    return e.expression !== t ? r(or(t), e) : e
  }
  function cr(e, r) {
    var n = t(220)
    return (n.expression = e), (n.statement = r), n
  }
  function ur(e, t, n) {
    return e.expression !== t || e.statement !== n ? r(cr(t, n), e) : e
  }
  function _r(r, n) {
    var a = t(221)
    return (
      (a.expression = e.parenthesizeExpressionForList(r)), (a.caseBlock = n), a
    )
  }
  function lr(e, t, n) {
    return e.expression !== t || e.caseBlock !== n ? r(_r(t, n), e) : e
  }
  function dr(e, r) {
    var n = t(222)
    return (n.label = ea(e)), (n.statement = r), n
  }
  function pr(e, t, n) {
    return e.label !== t || e.statement !== n ? r(dr(t, n), e) : e
  }
  function fr(e) {
    var r = t(223)
    return (r.expression = e), r
  }
  function gr(e, t) {
    return e.expression !== t ? r(fr(t), e) : e
  }
  function mr(e, r, n) {
    var a = t(224)
    return (a.tryBlock = e), (a.catchClause = r), (a.finallyBlock = n), a
  }
  function yr(e, t, n, a) {
    return e.tryBlock !== t || e.catchClause !== n || e.finallyBlock !== a
      ? r(mr(t, n, a), e)
      : e
  }
  function vr(e, r, a, i, o, s, c, u) {
    var _ = t(228)
    return (
      (_.decorators = ra(e)),
      (_.modifiers = ra(r)),
      (_.asteriskToken = a),
      (_.name = ea(i)),
      (_.typeParameters = ra(o)),
      (_.parameters = n(s)),
      (_.type = c),
      (_.body = u),
      _
    )
  }
  function hr(e, t, n, a, i, o, s, c, u) {
    return e.decorators !== t ||
      e.modifiers !== n ||
      e.asteriskToken !== a ||
      e.name !== i ||
      e.typeParameters !== o ||
      e.parameters !== s ||
      e.type !== c ||
      e.body !== u
      ? r(vr(t, n, a, i, o, s, c, u), e)
      : e
  }
  function br(e, r, a, i, o, s) {
    var c = t(229)
    return (
      (c.decorators = ra(e)),
      (c.modifiers = ra(r)),
      (c.name = ea(a)),
      (c.typeParameters = ra(i)),
      (c.heritageClauses = ra(o)),
      (c.members = n(s)),
      c
    )
  }
  function kr(e, t, n, a, i, o, s) {
    return e.decorators !== t ||
      e.modifiers !== n ||
      e.name !== a ||
      e.typeParameters !== i ||
      e.heritageClauses !== o ||
      e.members !== s
      ? r(br(t, n, a, i, o, s), e)
      : e
  }
  function xr(e, r, a, i) {
    var o = t(232)
    return (
      (o.decorators = ra(e)),
      (o.modifiers = ra(r)),
      (o.name = ea(a)),
      (o.members = n(i)),
      o
    )
  }
  function Cr(e, t, n, a, i) {
    return e.decorators !== t ||
      e.modifiers !== n ||
      e.name !== a ||
      e.members !== i
      ? r(xr(t, n, a, i), e)
      : e
  }
  function Sr(e, r, n, a, i) {
    var o = t(233)
    return (
      (o.flags |= i),
      (o.decorators = ra(e)),
      (o.modifiers = ra(r)),
      (o.name = n),
      (o.body = a),
      o
    )
  }
  function Dr(e, t, n, a, i) {
    return e.decorators !== t ||
      e.modifiers !== n ||
      e.name !== a ||
      e.body !== i
      ? r(Sr(t, n, a, i, e.flags), e)
      : e
  }
  function Tr(e) {
    var r = t(234)
    return (r.statements = n(e)), r
  }
  function Er(e, t) {
    return e.statements !== t ? r(Tr(t), e) : e
  }
  function Nr(e) {
    var r = t(235)
    return (r.clauses = n(e)), r
  }
  function Ar(e, t) {
    return e.clauses !== t ? r(Nr(t), e) : e
  }
  function wr(e, r, n, a) {
    var i = t(237)
    return (
      (i.decorators = ra(e)),
      (i.modifiers = ra(r)),
      (i.name = ea(n)),
      (i.moduleReference = a),
      i
    )
  }
  function Pr(e, t, n, a, i) {
    return e.decorators !== t ||
      e.modifiers !== n ||
      e.name !== a ||
      e.moduleReference !== i
      ? r(wr(t, n, a, i), e)
      : e
  }
  function Or(e, r, n, a) {
    var i = t(238)
    return (
      (i.decorators = ra(e)),
      (i.modifiers = ra(r)),
      (i.importClause = n),
      (i.moduleSpecifier = a),
      i
    )
  }
  function Fr(e, t, n, a, i) {
    return e.decorators !== t ||
      e.modifiers !== n ||
      e.importClause !== a ||
      e.moduleSpecifier !== i
      ? r(Or(t, n, a, i), e)
      : e
  }
  function Ir(e, r) {
    var n = t(239)
    return (n.name = e), (n.namedBindings = r), n
  }
  function Rr(e, t, n) {
    return e.name !== t || e.namedBindings !== n ? r(Ir(t, n), e) : e
  }
  function Mr(e) {
    var r = t(240)
    return (r.name = e), r
  }
  function Lr(e, t) {
    return e.name !== t ? r(Mr(t), e) : e
  }
  function Br(e) {
    var r = t(241)
    return (r.elements = n(e)), r
  }
  function Jr(e, t) {
    return e.elements !== t ? r(Br(t), e) : e
  }
  function zr(e, r) {
    var n = t(242)
    return (n.propertyName = e), (n.name = r), n
  }
  function Kr(e, t, n) {
    return e.propertyName !== t || e.name !== n ? r(zr(t, n), e) : e
  }
  function jr(e, r, n, a) {
    var i = t(243)
    return (
      (i.decorators = ra(e)),
      (i.modifiers = ra(r)),
      (i.isExportEquals = n),
      (i.expression = a),
      i
    )
  }
  function Vr(e, t, n, a) {
    return e.decorators !== t || e.modifiers !== n || e.expression !== a
      ? r(jr(t, n, e.isExportEquals, a), e)
      : e
  }
  function qr(e, r, n, a) {
    var i = t(244)
    return (
      (i.decorators = ra(e)),
      (i.modifiers = ra(r)),
      (i.exportClause = n),
      (i.moduleSpecifier = a),
      i
    )
  }
  function Ur(e, t, n, a, i) {
    return e.decorators !== t ||
      e.modifiers !== n ||
      e.exportClause !== a ||
      e.moduleSpecifier !== i
      ? r(qr(t, n, a, i), e)
      : e
  }
  function Wr(e) {
    var r = t(245)
    return (r.elements = n(e)), r
  }
  function Hr(e, t) {
    return e.elements !== t ? r(Wr(t), e) : e
  }
  function Gr(e, r) {
    var n = t(246)
    return (n.propertyName = ea(e)), (n.name = ea(r)), n
  }
  function Xr(e, t, n) {
    return e.propertyName !== t || e.name !== n ? r(Gr(t, n), e) : e
  }
  function Qr(e) {
    var r = t(248)
    return (r.expression = e), r
  }
  function Yr(e, t) {
    return e.expression !== t ? r(Qr(t), e) : e
  }
  function Zr(e, r, a) {
    var i = t(249)
    return (
      (i.openingElement = e), (i.children = n(r)), (i.closingElement = a), i
    )
  }
  function $r(e, t, n, a) {
    return e.openingElement !== t || e.children !== n || e.closingElement !== a
      ? r(Zr(t, n, a), e)
      : e
  }
  function en(e, r) {
    var n = t(250)
    return (n.tagName = e), (n.attributes = r), n
  }
  function tn(e, t, n) {
    return e.tagName !== t || e.attributes !== n ? r(en(t, n), e) : e
  }
  function rn(e, r) {
    var n = t(251)
    return (n.tagName = e), (n.attributes = r), n
  }
  function nn(e, t, n) {
    return e.tagName !== t || e.attributes !== n ? r(rn(t, n), e) : e
  }
  function an(e) {
    var r = t(252)
    return (r.tagName = e), r
  }
  function on(e, t) {
    return e.tagName !== t ? r(an(t), e) : e
  }
  function sn(e) {
    var r = t(254)
    return (r.properties = n(e)), r
  }
  function cn(e, t) {
    return e.properties !== t ? r(sn(t), e) : e
  }
  function un(e, r) {
    var n = t(253)
    return (n.name = e), (n.initializer = r), n
  }
  function _n(e, t, n) {
    return e.name !== t || e.initializer !== n ? r(un(t, n), e) : e
  }
  function ln(e) {
    var r = t(255)
    return (r.expression = e), r
  }
  function dn(e, t) {
    return e.expression !== t ? r(ln(t), e) : e
  }
  function pn(e, r) {
    var n = t(256)
    return (n.dotDotDotToken = e), (n.expression = r), n
  }
  function fn(e, t) {
    return e.expression !== t ? r(pn(e.dotDotDotToken, t), e) : e
  }
  function gn(e, r) {
    var a = t(259)
    return (a.token = e), (a.types = n(r)), a
  }
  function mn(e, t) {
    return e.types !== t ? r(gn(e.token, t), e) : e
  }
  function yn(r, a) {
    var i = t(257)
    return (
      (i.expression = e.parenthesizeExpressionForList(r)),
      (i.statements = n(a)),
      i
    )
  }
  function vn(e, t, n) {
    return e.expression !== t || e.statements !== n ? r(yn(t, n), e) : e
  }
  function hn(e) {
    var r = t(258)
    return (r.statements = n(e)), r
  }
  function bn(e, t) {
    return e.statements !== t ? r(hn(t), e) : e
  }
  function kn(e, r) {
    var n = t(260)
    return (
      (n.variableDeclaration = 'string' == typeof e ? Jt(e) : e),
      (n.block = r),
      n
    )
  }
  function xn(e, t, n) {
    return e.variableDeclaration !== t || e.block !== n ? r(kn(t, n), e) : e
  }
  function Cn(r, n) {
    var a = t(261)
    return (
      (a.name = ea(r)),
      (a.questionToken = void 0),
      (a.initializer =
        void 0 !== n ? e.parenthesizeExpressionForList(n) : void 0),
      a
    )
  }
  function Sn(e, t, n) {
    return e.name !== t || e.initializer !== n ? r(Cn(t, n), e) : e
  }
  function Dn(r, n) {
    var a = t(262)
    return (
      (a.name = ea(r)),
      (a.objectAssignmentInitializer =
        void 0 !== n ? e.parenthesizeExpressionForList(n) : void 0),
      a
    )
  }
  function Tn(e, t, n) {
    return e.name !== t || e.objectAssignmentInitializer !== n
      ? r(Dn(t, n), e)
      : e
  }
  function En(r) {
    var n = t(263)
    return (
      (n.expression =
        void 0 !== r ? e.parenthesizeExpressionForList(r) : void 0),
      n
    )
  }
  function Nn(e, t) {
    return e.expression !== t ? r(En(t), e) : e
  }
  function An(r, n) {
    var a = t(264)
    return (
      (a.name = ea(r)),
      (a.initializer = n && e.parenthesizeExpressionForList(n)),
      a
    )
  }
  function wn(e, t, n) {
    return e.name !== t || e.initializer !== n ? r(An(t, n), e) : e
  }
  function Pn(e, a) {
    if (e.statements !== a) {
      var i = t(265)
      return (
        (i.flags |= e.flags),
        (i.statements = n(a)),
        (i.endOfFileToken = e.endOfFileToken),
        (i.fileName = e.fileName),
        (i.path = e.path),
        (i.text = e.text),
        void 0 !== e.amdDependencies && (i.amdDependencies = e.amdDependencies),
        void 0 !== e.moduleName && (i.moduleName = e.moduleName),
        void 0 !== e.referencedFiles && (i.referencedFiles = e.referencedFiles),
        void 0 !== e.typeReferenceDirectives &&
          (i.typeReferenceDirectives = e.typeReferenceDirectives),
        void 0 !== e.languageVariant && (i.languageVariant = e.languageVariant),
        void 0 !== e.isDeclarationFile &&
          (i.isDeclarationFile = e.isDeclarationFile),
        void 0 !== e.renamedDependencies &&
          (i.renamedDependencies = e.renamedDependencies),
        void 0 !== e.hasNoDefaultLib && (i.hasNoDefaultLib = e.hasNoDefaultLib),
        void 0 !== e.languageVersion && (i.languageVersion = e.languageVersion),
        void 0 !== e.scriptKind && (i.scriptKind = e.scriptKind),
        void 0 !== e.externalModuleIndicator &&
          (i.externalModuleIndicator = e.externalModuleIndicator),
        void 0 !== e.commonJsModuleIndicator &&
          (i.commonJsModuleIndicator = e.commonJsModuleIndicator),
        void 0 !== e.identifiers && (i.identifiers = e.identifiers),
        void 0 !== e.nodeCount && (i.nodeCount = e.nodeCount),
        void 0 !== e.identifierCount && (i.identifierCount = e.identifierCount),
        void 0 !== e.symbolCount && (i.symbolCount = e.symbolCount),
        void 0 !== e.parseDiagnostics &&
          (i.parseDiagnostics = e.parseDiagnostics),
        void 0 !== e.bindDiagnostics && (i.bindDiagnostics = e.bindDiagnostics),
        void 0 !== e.lineMap && (i.lineMap = e.lineMap),
        void 0 !== e.classifiableNames &&
          (i.classifiableNames = e.classifiableNames),
        void 0 !== e.resolvedModules && (i.resolvedModules = e.resolvedModules),
        void 0 !== e.resolvedTypeReferenceDirectiveNames &&
          (i.resolvedTypeReferenceDirectiveNames =
            e.resolvedTypeReferenceDirectiveNames),
        void 0 !== e.imports && (i.imports = e.imports),
        void 0 !== e.moduleAugmentations &&
          (i.moduleAugmentations = e.moduleAugmentations),
        r(i, e)
      )
    }
    return e
  }
  function On(e) {
    var t = a(e)
    return (t.pos = e.pos), (t.end = e.end), (t.parent = e.parent), t
  }
  function Fn(e) {
    var r = t(295)
    return (r.original = e), oa(r, e), r
  }
  function In(e) {
    var r = t(298)
    return (r.emitNode = {}), (r.original = e), r
  }
  function Rn(e) {
    var r = t(297)
    return (r.emitNode = {}), (r.original = e), r
  }
  function Mn(e, r) {
    var n = t(296)
    return (n.expression = e), (n.original = r), oa(n, r), n
  }
  function Ln(e, t) {
    return e.expression !== t ? r(Mn(t, e.original), e) : e
  }
  function Bn(t) {
    var r = e.createNode(266)
    return (r.sourceFiles = t), r
  }
  function Jn(e, t) {
    return e.sourceFiles !== t ? Bn(t) : e
  }
  function zn(e, t) {
    return dt(e, 26, t)
  }
  function Kn(e, t) {
    return dt(e, 27, t)
  }
  function jn(e, t) {
    return dt(e, 58, t)
  }
  function Vn(e, t) {
    return dt(e, 34, t)
  }
  function qn(e, t) {
    return dt(e, 35, t)
  }
  function Un(e, t) {
    return dt(e, 37, t)
  }
  function Wn(e, t) {
    return dt(e, 38, t)
  }
  function Hn(e) {
    return _t(e, 43)
  }
  function Gn(e, t) {
    return dt(e, 53, t)
  }
  function Xn(e, t) {
    return dt(e, 54, t)
  }
  function Qn(e) {
    return ct(51, e)
  }
  function Yn() {
    return at(i(0))
  }
  function Zn(e) {
    return jr(void 0, void 0, !1, e)
  }
  function $n(e) {
    return qr(void 0, void 0, Wr([Gr(void 0, e)]))
  }
  function ea(e) {
    return 'string' == typeof e ? u(e) : e
  }
  function ta(e) {
    return 'string' == typeof e || 'number' == typeof e ? i(e) : e
  }
  function ra(e) {
    return e ? n(e) : void 0
  }
  function na(e) {
    return 'number' == typeof e ? f(e) : e
  }
  function aa(t) {
    t = e.getSourceFileOfNode(e.getParseTreeNode(t))
    var r = t && t.emitNode,
      n = r && r.annotatedNodes
    if (n)
      for (var a = 0, i = n; a < i.length; a++) {
        var o = i[a]
        o.emitNode = void 0
      }
  }
  function ia(t) {
    if (!t.emitNode) {
      if (e.isParseTreeNode(t)) {
        if (265 === t.kind) return (t.emitNode = { annotatedNodes: [t] })
        var r = e.getSourceFileOfNode(t)
        ia(r).annotatedNodes.push(t)
      }
      t.emitNode = {}
    }
    return t.emitNode
  }
  function oa(e, t) {
    return t && ((e.pos = t.pos), (e.end = t.end)), e
  }
  function sa(e) {
    var t = e.emitNode
    return t && t.flags
  }
  function ca(e, t) {
    return (ia(e).flags = t), e
  }
  function ua(e) {
    var t = e.emitNode
    return (t && t.sourceMapRange) || e
  }
  function _a(e, t) {
    return (ia(e).sourceMapRange = t), e
  }
  function la(e, t) {
    var r = e.emitNode,
      n = r && r.tokenSourceMapRanges
    return n && n[t]
  }
  function da(e, t, r) {
    var n = ia(e),
      a = n.tokenSourceMapRanges || (n.tokenSourceMapRanges = [])
    return (a[t] = r), e
  }
  function pa(e) {
    var t = e.emitNode
    return (t && t.commentRange) || e
  }
  function fa(e, t) {
    return (ia(e).commentRange = t), e
  }
  function ga(e) {
    var t = e.emitNode
    return t && t.leadingComments
  }
  function ma(e, t) {
    return (ia(e).leadingComments = t), e
  }
  function ya(t, r, n, a) {
    return ma(
      t,
      e.append(ga(t), {
        kind: r,
        pos: -1,
        end: -1,
        hasTrailingNewLine: a,
        text: n
      })
    )
  }
  function va(e) {
    var t = e.emitNode
    return t && t.trailingComments
  }
  function ha(e, t) {
    return (ia(e).trailingComments = t), e
  }
  function ba(t, r, n, a) {
    return ha(
      t,
      e.append(va(t), {
        kind: r,
        pos: -1,
        end: -1,
        hasTrailingNewLine: a,
        text: n
      })
    )
  }
  function ka(e) {
    var t = e.emitNode
    return t && t.constantValue
  }
  function xa(e, t) {
    var r = ia(e)
    return (r.constantValue = t), e
  }
  function Ca(t, r) {
    var n = ia(t)
    return (n.helpers = e.append(n.helpers, r)), t
  }
  function Sa(t, r) {
    if (e.some(r))
      for (var n = ia(t), a = 0, i = r; a < i.length; a++) {
        var o = i[a]
        e.contains(n.helpers, o) || (n.helpers = e.append(n.helpers, o))
      }
    return t
  }
  function Da(t, r) {
    var n = t.emitNode
    if (n) {
      var a = n.helpers
      if (a) return e.orderedRemoveItem(a, r)
    }
    return !1
  }
  function Ta(e) {
    var t = e.emitNode
    return t && t.helpers
  }
  function Ea(t, r, n) {
    var a = t.emitNode,
      i = a && a.helpers
    if (e.some(i)) {
      for (var o = ia(r), s = 0, c = 0; c < i.length; c++) {
        var u = i[c]
        n(u)
          ? (s++,
            e.contains(o.helpers, u) || (o.helpers = e.append(o.helpers, u)))
          : s > 0 && (i[c - s] = u)
      }
      s > 0 && (i.length -= s)
    }
  }
  function Na(t, r) {
    return t === r
      ? 0
      : t.priority === r.priority
        ? 0
        : void 0 === t.priority
          ? 1
          : void 0 === r.priority
            ? -1
            : e.compareValues(t.priority, r.priority)
  }
  function Aa(e, t) {
    if (((e.original = t), t)) {
      var r = t.emitNode
      r && (e.emitNode = wa(r, e.emitNode))
    }
    return e
  }
  function wa(t, r) {
    var n = t.flags,
      a = t.leadingComments,
      i = t.trailingComments,
      o = t.commentRange,
      s = t.sourceMapRange,
      c = t.tokenSourceMapRanges,
      u = t.constantValue,
      _ = t.helpers
    return (
      r || (r = {}),
      a && (r.leadingComments = e.addRange(a.slice(), r.leadingComments)),
      i && (r.trailingComments = e.addRange(i.slice(), r.trailingComments)),
      n && (r.flags = n),
      o && (r.commentRange = o),
      s && (r.sourceMapRange = s),
      c && (r.tokenSourceMapRanges = Pa(c, r.tokenSourceMapRanges)),
      void 0 !== u && (r.constantValue = u),
      _ && (r.helpers = e.addRange(r.helpers, _)),
      r
    )
  }
  function Pa(e, t) {
    t || (t = [])
    for (var r in e) t[r] = e[r]
    return t
  }
  ;(e.updateNode = r),
    (e.createNodeArray = n),
    (e.getSynthesizedClone = a),
    (e.createLiteral = i),
    (e.createNumericLiteral = o),
    (e.createIdentifier = u)
  var Oa = 0
  ;(e.createTempVariable = _),
    (e.createLoopVariable = l),
    (e.createUniqueName = d),
    (e.getGeneratedNameForNode = p),
    (e.createToken = f),
    (e.createSuper = g),
    (e.createThis = m),
    (e.createNull = y),
    (e.createTrue = v),
    (e.createFalse = h),
    (e.createQualifiedName = b),
    (e.updateQualifiedName = k),
    (e.createComputedPropertyName = x),
    (e.updateComputedPropertyName = C),
    (e.createSignatureDeclaration = S),
    (e.createFunctionTypeNode = T),
    (e.updateFunctionTypeNode = E),
    (e.createConstructorTypeNode = N),
    (e.updateConstructorTypeNode = A),
    (e.createCallSignatureDeclaration = w),
    (e.updateCallSignatureDeclaration = P),
    (e.createConstructSignatureDeclaration = O),
    (e.updateConstructSignatureDeclaration = F),
    (e.createMethodSignature = I),
    (e.updateMethodSignature = R),
    (e.createKeywordTypeNode = M),
    (e.createThisTypeNode = L),
    (e.createLiteralTypeNode = B),
    (e.updateLiteralTypeNode = J),
    (e.createTypeReferenceNode = z),
    (e.updateTypeReferenceNode = K),
    (e.createTypePredicateNode = j),
    (e.updateTypePredicateNode = V),
    (e.createTypeQueryNode = q),
    (e.updateTypeQueryNode = U),
    (e.createArrayTypeNode = W),
    (e.updateArrayTypeNode = H),
    (e.createUnionOrIntersectionTypeNode = G),
    (e.updateUnionOrIntersectionTypeNode = X),
    (e.createTypeLiteralNode = Q),
    (e.updateTypeLiteralNode = Y),
    (e.createTupleTypeNode = Z),
    (e.updateTypleTypeNode = $),
    (e.createMappedTypeNode = ee),
    (e.updateMappedTypeNode = te),
    (e.createTypeOperatorNode = re),
    (e.updateTypeOperatorNode = ne),
    (e.createIndexedAccessTypeNode = ae),
    (e.updateIndexedAccessTypeNode = ie),
    (e.createTypeParameterDeclaration = oe),
    (e.updateTypeParameterDeclaration = se),
    (e.createPropertySignature = ce),
    (e.updatePropertySignature = ue),
    (e.createIndexSignatureDeclaration = _e),
    (e.updateIndexSignatureDeclaration = le),
    (e.createParameter = de),
    (e.updateParameter = pe),
    (e.createDecorator = fe),
    (e.updateDecorator = ge),
    (e.createProperty = me),
    (e.updateProperty = ye),
    (e.createMethodDeclaration = ve),
    (e.updateMethod = he),
    (e.createConstructor = be),
    (e.updateConstructor = ke),
    (e.createGetAccessor = xe),
    (e.updateGetAccessor = Ce),
    (e.createSetAccessor = Se),
    (e.updateSetAccessor = De),
    (e.createObjectBindingPattern = Te),
    (e.updateObjectBindingPattern = Ee),
    (e.createArrayBindingPattern = Ne),
    (e.updateArrayBindingPattern = Ae),
    (e.createBindingElement = we),
    (e.updateBindingElement = Pe),
    (e.createArrayLiteral = Oe),
    (e.updateArrayLiteral = Fe),
    (e.createObjectLiteral = Ie),
    (e.updateObjectLiteral = Re),
    (e.createPropertyAccess = Me),
    (e.updatePropertyAccess = Le),
    (e.createElementAccess = Be),
    (e.updateElementAccess = Je),
    (e.createCall = ze),
    (e.updateCall = Ke),
    (e.createNew = je),
    (e.updateNew = Ve),
    (e.createTaggedTemplate = qe),
    (e.updateTaggedTemplate = Ue),
    (e.createTypeAssertion = We),
    (e.updateTypeAssertion = He),
    (e.createParen = Ge),
    (e.updateParen = Xe),
    (e.createFunctionExpression = Qe),
    (e.updateFunctionExpression = Ye),
    (e.createArrowFunction = Ze),
    (e.updateArrowFunction = $e),
    (e.createDelete = et),
    (e.updateDelete = tt),
    (e.createTypeOf = rt),
    (e.updateTypeOf = nt),
    (e.createVoid = at),
    (e.updateVoid = it),
    (e.createAwait = ot),
    (e.updateAwait = st),
    (e.createPrefix = ct),
    (e.updatePrefix = ut),
    (e.createPostfix = _t),
    (e.updatePostfix = lt),
    (e.createBinary = dt),
    (e.updateBinary = pt),
    (e.createConditional = ft),
    (e.updateConditional = gt),
    (e.createTemplateExpression = mt),
    (e.updateTemplateExpression = yt),
    (e.createYield = vt),
    (e.updateYield = ht),
    (e.createSpread = bt),
    (e.updateSpread = kt),
    (e.createClassExpression = xt),
    (e.updateClassExpression = Ct),
    (e.createOmittedExpression = St),
    (e.createExpressionWithTypeArguments = Dt),
    (e.updateExpressionWithTypeArguments = Tt),
    (e.createAsExpression = Et),
    (e.updateAsExpression = Nt),
    (e.createNonNullExpression = At),
    (e.updateNonNullExpression = wt),
    (e.createTemplateSpan = Pt),
    (e.updateTemplateSpan = Ot),
    (e.createBlock = Ft),
    (e.updateBlock = It),
    (e.createVariableStatement = Rt),
    (e.updateVariableStatement = Mt),
    (e.createVariableDeclarationList = Lt),
    (e.updateVariableDeclarationList = Bt),
    (e.createVariableDeclaration = Jt),
    (e.updateVariableDeclaration = zt),
    (e.createEmptyStatement = Kt),
    (e.createStatement = jt),
    (e.updateStatement = Vt),
    (e.createIf = qt),
    (e.updateIf = Ut),
    (e.createDo = Wt),
    (e.updateDo = Ht),
    (e.createWhile = Gt),
    (e.updateWhile = Xt),
    (e.createFor = Qt),
    (e.updateFor = Yt),
    (e.createForIn = Zt),
    (e.updateForIn = $t),
    (e.createForOf = er),
    (e.updateForOf = tr),
    (e.createContinue = rr),
    (e.updateContinue = nr),
    (e.createBreak = ar),
    (e.updateBreak = ir),
    (e.createReturn = or),
    (e.updateReturn = sr),
    (e.createWith = cr),
    (e.updateWith = ur),
    (e.createSwitch = _r),
    (e.updateSwitch = lr),
    (e.createLabel = dr),
    (e.updateLabel = pr),
    (e.createThrow = fr),
    (e.updateThrow = gr),
    (e.createTry = mr),
    (e.updateTry = yr),
    (e.createFunctionDeclaration = vr),
    (e.updateFunctionDeclaration = hr),
    (e.createClassDeclaration = br),
    (e.updateClassDeclaration = kr),
    (e.createEnumDeclaration = xr),
    (e.updateEnumDeclaration = Cr),
    (e.createModuleDeclaration = Sr),
    (e.updateModuleDeclaration = Dr),
    (e.createModuleBlock = Tr),
    (e.updateModuleBlock = Er),
    (e.createCaseBlock = Nr),
    (e.updateCaseBlock = Ar),
    (e.createImportEqualsDeclaration = wr),
    (e.updateImportEqualsDeclaration = Pr),
    (e.createImportDeclaration = Or),
    (e.updateImportDeclaration = Fr),
    (e.createImportClause = Ir),
    (e.updateImportClause = Rr),
    (e.createNamespaceImport = Mr),
    (e.updateNamespaceImport = Lr),
    (e.createNamedImports = Br),
    (e.updateNamedImports = Jr),
    (e.createImportSpecifier = zr),
    (e.updateImportSpecifier = Kr),
    (e.createExportAssignment = jr),
    (e.updateExportAssignment = Vr),
    (e.createExportDeclaration = qr),
    (e.updateExportDeclaration = Ur),
    (e.createNamedExports = Wr),
    (e.updateNamedExports = Hr),
    (e.createExportSpecifier = Gr),
    (e.updateExportSpecifier = Xr),
    (e.createExternalModuleReference = Qr),
    (e.updateExternalModuleReference = Yr),
    (e.createJsxElement = Zr),
    (e.updateJsxElement = $r),
    (e.createJsxSelfClosingElement = en),
    (e.updateJsxSelfClosingElement = tn),
    (e.createJsxOpeningElement = rn),
    (e.updateJsxOpeningElement = nn),
    (e.createJsxClosingElement = an),
    (e.updateJsxClosingElement = on),
    (e.createJsxAttributes = sn),
    (e.updateJsxAttributes = cn),
    (e.createJsxAttribute = un),
    (e.updateJsxAttribute = _n),
    (e.createJsxSpreadAttribute = ln),
    (e.updateJsxSpreadAttribute = dn),
    (e.createJsxExpression = pn),
    (e.updateJsxExpression = fn),
    (e.createHeritageClause = gn),
    (e.updateHeritageClause = mn),
    (e.createCaseClause = yn),
    (e.updateCaseClause = vn),
    (e.createDefaultClause = hn),
    (e.updateDefaultClause = bn),
    (e.createCatchClause = kn),
    (e.updateCatchClause = xn),
    (e.createPropertyAssignment = Cn),
    (e.updatePropertyAssignment = Sn),
    (e.createShorthandPropertyAssignment = Dn),
    (e.updateShorthandPropertyAssignment = Tn),
    (e.createSpreadAssignment = En),
    (e.updateSpreadAssignment = Nn),
    (e.createEnumMember = An),
    (e.updateEnumMember = wn),
    (e.updateSourceFileNode = Pn),
    (e.getMutableClone = On),
    (e.createNotEmittedStatement = Fn),
    (e.createEndOfDeclarationMarker = In),
    (e.createMergeDeclarationMarker = Rn),
    (e.createPartiallyEmittedExpression = Mn),
    (e.updatePartiallyEmittedExpression = Ln),
    (e.createBundle = Bn),
    (e.updateBundle = Jn),
    (e.createComma = zn),
    (e.createLessThan = Kn),
    (e.createAssignment = jn),
    (e.createStrictEquality = Vn),
    (e.createStrictInequality = qn),
    (e.createAdd = Un),
    (e.createSubtract = Wn),
    (e.createPostfixIncrement = Hn),
    (e.createLogicalAnd = Gn),
    (e.createLogicalOr = Xn),
    (e.createLogicalNot = Qn),
    (e.createVoidZero = Yn),
    (e.createExportDefault = Zn),
    (e.createExternalModuleExport = $n),
    (e.disposeEmitNodes = aa),
    (e.getOrCreateEmitNode = ia),
    (e.setTextRange = oa),
    (e.getEmitFlags = sa),
    (e.setEmitFlags = ca),
    (e.getSourceMapRange = ua),
    (e.setSourceMapRange = _a),
    (e.getTokenSourceMapRange = la),
    (e.setTokenSourceMapRange = da),
    (e.getCommentRange = pa),
    (e.setCommentRange = fa),
    (e.getSyntheticLeadingComments = ga),
    (e.setSyntheticLeadingComments = ma),
    (e.addSyntheticLeadingComment = ya),
    (e.getSyntheticTrailingComments = va),
    (e.setSyntheticTrailingComments = ha),
    (e.addSyntheticTrailingComment = ba),
    (e.getConstantValue = ka),
    (e.setConstantValue = xa),
    (e.addEmitHelper = Ca),
    (e.addEmitHelpers = Sa),
    (e.removeEmitHelper = Da),
    (e.getEmitHelpers = Ta),
    (e.moveEmitHelpers = Ea),
    (e.compareEmitHelpers = Na),
    (e.setOriginalNode = Aa)
})(ts || (ts = {})),
  (function(e) {
    function t(t, r) {
      return 'undefined' === r
        ? e.createStrictEquality(t, e.createVoidZero())
        : e.createStrictEquality(e.createTypeOf(t), e.createLiteral(r))
    }
    function r(t, r, n) {
      if (e.isComputedPropertyName(r))
        return e.setTextRange(e.createElementAccess(t, r.expression), n)
      var a = e.setTextRange(
        e.isIdentifier(r)
          ? e.createPropertyAccess(t, r)
          : e.createElementAccess(t, r),
        r
      )
      return (e.getOrCreateEmitNode(a).flags |= 64), a
    }
    function n(t, r, n, a) {
      return e.setTextRange(
        e.createCall(e.createPropertyAccess(t, 'call'), void 0, [r].concat(n)),
        a
      )
    }
    function a(t, r, n, a) {
      return e.setTextRange(
        e.createCall(e.createPropertyAccess(t, 'apply'), void 0, [r, n]),
        a
      )
    }
    function i(t, r) {
      var n = []
      return (
        void 0 !== r && n.push('number' == typeof r ? e.createLiteral(r) : r),
        e.createCall(e.createPropertyAccess(t, 'slice'), void 0, n)
      )
    }
    function o(t, r) {
      return e.createCall(e.createPropertyAccess(t, 'concat'), void 0, r)
    }
    function s(t, r, n) {
      return e.setTextRange(
        e.createCall(
          e.createPropertyAccess(e.createIdentifier('Math'), 'pow'),
          void 0,
          [t, r]
        ),
        n
      )
    }
    function c(t, r) {
      var n = e.createIdentifier(t || 'React')
      return (n.flags &= -9), (n.parent = e.getParseTreeNode(r)), n
    }
    function u(t, r) {
      if (e.isQualifiedName(t)) {
        var n = u(t.left, r),
          a = e.createIdentifier(t.right.text)
        return (a.text = t.right.text), e.createPropertyAccess(n, a)
      }
      return c(t.text, r)
    }
    function _(t, r, n) {
      return t ? u(t, n) : e.createPropertyAccess(c(r, n), 'createElement')
    }
    function l(t, r, n, a, i, o, s) {
      var c = [n]
      if ((a && c.push(a), i && i.length > 0))
        if ((a || c.push(e.createNull()), i.length > 1))
          for (var u = 0, l = i; u < l.length; u++) {
            var d = l[u]
            ;(d.startsOnNewLine = !0), c.push(d)
          }
        else c.push(i[0])
      return e.setTextRange(e.createCall(_(t, r, o), void 0, c), s)
    }
    function d(t) {
      return e.setEmitFlags(e.createIdentifier(t), 4098)
    }
    function p(t, r, n) {
      return (
        t.requestEmitHelper(Re),
        e.setTextRange(e.createCall(d('__values'), void 0, [r]), n)
      )
    }
    function f(t, r, n, a) {
      return (
        t.requestEmitHelper(Me),
        e.setTextRange(
          e.createCall(
            d('__read'),
            void 0,
            void 0 !== n ? [r, e.createLiteral(n)] : [r]
          ),
          a
        )
      )
    }
    function g(t, r, n) {
      return (
        t.requestEmitHelper(Me),
        t.requestEmitHelper(Le),
        e.setTextRange(e.createCall(d('__spread'), void 0, r), n)
      )
    }
    function m(t, r) {
      if (e.isVariableDeclarationList(t)) {
        var n = e.firstOrUndefined(t.declarations),
          a = e.updateVariableDeclaration(n, n.name, void 0, r)
        return e.setTextRange(
          e.createVariableStatement(
            void 0,
            e.updateVariableDeclarationList(t, [a])
          ),
          t
        )
      }
      var i = e.setTextRange(e.createAssignment(t, r), t)
      return e.setTextRange(e.createStatement(i), t)
    }
    function y(t, r) {
      return e.isBlock(t)
        ? e.updateBlock(
            t,
            e.setTextRange(
              e.createNodeArray([r].concat(t.statements)),
              t.statements
            )
          )
        : e.createBlock(e.createNodeArray([t, r]), !0)
    }
    function v(t, r, n) {
      if (!r) return t
      var a = e.updateLabel(
        r,
        r.label,
        222 === r.statement.kind ? v(t, r.statement) : t
      )
      return n && n(r), a
    }
    function h(e, t) {
      var r = _e(e)
      switch (r.kind) {
        case 71:
          return t
        case 99:
        case 8:
        case 9:
          return !1
        case 177:
          var n = r.elements
          return 0 !== n.length
        case 178:
          return r.properties.length > 0
        default:
          return !0
      }
    }
    function b(t, r, n, a) {
      var i,
        o,
        s = ue(t, 7)
      if (e.isSuperProperty(s)) (i = e.createThis()), (o = s)
      else if (97 === s.kind)
        (i = e.createThis()),
          (o = n < 2 ? e.setTextRange(e.createIdentifier('_super'), s) : s)
      else if (4096 & e.getEmitFlags(s)) (i = e.createVoidZero()), (o = ee(s))
      else
        switch (s.kind) {
          case 179:
            h(s.expression, a)
              ? ((i = e.createTempVariable(r)),
                (o = e.createPropertyAccess(
                  e.setTextRange(
                    e.createAssignment(i, s.expression),
                    s.expression
                  ),
                  s.name
                )),
                e.setTextRange(o, s))
              : ((i = s.expression), (o = s))
            break
          case 180:
            h(s.expression, a)
              ? ((i = e.createTempVariable(r)),
                (o = e.createElementAccess(
                  e.setTextRange(
                    e.createAssignment(i, s.expression),
                    s.expression
                  ),
                  s.argumentExpression
                )),
                e.setTextRange(o, s))
              : ((i = s.expression), (o = s))
            break
          default:
            ;(i = e.createVoidZero()), (o = ee(t))
        }
      return { target: o, thisArg: i }
    }
    function k(t) {
      return e.reduceLeft(t, e.createComma)
    }
    function x(t) {
      if (e.isQualifiedName(t)) {
        var r = x(t.left),
          n = e.getMutableClone(t.right)
        return e.setTextRange(e.createPropertyAccess(r, n), t)
      }
      return e.getMutableClone(t)
    }
    function C(t) {
      return e.isIdentifier(t)
        ? e.createLiteral(t)
        : e.isComputedPropertyName(t)
          ? e.getMutableClone(t.expression)
          : e.getMutableClone(t)
    }
    function S(e, t, r) {
      switch (t.kind) {
        case 153:
        case 154:
          return D(e.properties, t, r, e.multiLine)
        case 261:
          return T(t, r)
        case 262:
          return E(t, r)
        case 151:
          return N(t, r)
      }
    }
    function D(t, r, n, a) {
      var i = e.getAllAccessorDeclarations(t, r),
        o = i.firstAccessor,
        s = i.getAccessor,
        c = i.setAccessor
      if (r === o) {
        var u = []
        if (s) {
          var _ = e.createFunctionExpression(
            s.modifiers,
            void 0,
            void 0,
            void 0,
            s.parameters,
            void 0,
            s.body
          )
          e.setTextRange(_, s), e.setOriginalNode(_, s)
          var l = e.createPropertyAssignment('get', _)
          u.push(l)
        }
        if (c) {
          var d = e.createFunctionExpression(
            c.modifiers,
            void 0,
            void 0,
            void 0,
            c.parameters,
            void 0,
            c.body
          )
          e.setTextRange(d, c), e.setOriginalNode(d, c)
          var p = e.createPropertyAssignment('set', d)
          u.push(p)
        }
        u.push(e.createPropertyAssignment('enumerable', e.createTrue())),
          u.push(e.createPropertyAssignment('configurable', e.createTrue()))
        var f = e.setTextRange(
          e.createCall(
            e.createPropertyAccess(
              e.createIdentifier('Object'),
              'defineProperty'
            ),
            void 0,
            [n, C(r.name), e.createObjectLiteral(u, a)]
          ),
          o
        )
        return e.aggregateTransformFlags(f)
      }
    }
    function T(t, n) {
      return e.aggregateTransformFlags(
        e.setOriginalNode(
          e.setTextRange(
            e.createAssignment(r(n, t.name, t.name), t.initializer),
            t
          ),
          t
        )
      )
    }
    function E(t, n) {
      return e.aggregateTransformFlags(
        e.setOriginalNode(
          e.setTextRange(
            e.createAssignment(
              r(n, t.name, t.name),
              e.getSynthesizedClone(t.name)
            ),
            t
          ),
          t
        )
      )
    }
    function N(t, n) {
      return e.aggregateTransformFlags(
        e.setOriginalNode(
          e.setTextRange(
            e.createAssignment(
              r(n, t.name, t.name),
              e.setOriginalNode(
                e.setTextRange(
                  e.createFunctionExpression(
                    t.modifiers,
                    t.asteriskToken,
                    void 0,
                    void 0,
                    t.parameters,
                    void 0,
                    t.body
                  ),
                  t
                ),
                t
              )
            ),
            t
          ),
          t
        )
      )
    }
    function A(e, t, r) {
      return M(e, t, r, 49152)
    }
    function w(t) {
      return 0 !== (32768 & e.getEmitFlags(t))
    }
    function P(e, t, r) {
      return M(e, t, r, 16384)
    }
    function O(t) {
      return 0 !== (16384 & e.getEmitFlags(t))
    }
    function F(e, t, r) {
      return M(e, t, r, 8192)
    }
    function I(t) {
      return 0 !== (8192 & e.getEmitFlags(t))
    }
    function R(e, t, r) {
      return M(e, t, r)
    }
    function M(t, r, n, a) {
      var i = e.getNameOfDeclaration(t)
      if (i && e.isIdentifier(i) && !e.isGeneratedIdentifier(i)) {
        var o = e.getMutableClone(i)
        return (
          (a |= e.getEmitFlags(i)),
          n || (a |= 48),
          r || (a |= 1536),
          a && e.setEmitFlags(o, a),
          o
        )
      }
      return e.getGeneratedNameForNode(t)
    }
    function L(t, r, n, a) {
      return t && e.hasModifier(r, 1) ? B(t, M(r), n, a) : F(r, n, a)
    }
    function B(t, r, n, a) {
      var i = e.createPropertyAccess(
        t,
        e.nodeIsSynthesized(r) ? r : e.getSynthesizedClone(r)
      )
      e.setTextRange(i, r)
      var o
      return a || (o |= 48), n || (o |= 1536), o && e.setEmitFlags(i, o), i
    }
    function J(t, r) {
      return e.isBlock(t)
        ? t
        : e.setTextRange(
            e.createBlock([e.setTextRange(e.createReturn(t), t)], r),
            t
          )
    }
    function z(e) {
      return 'use strict' === e.expression.text
    }
    function K(e, t, r, n) {
      var a = j(e, t, r)
      return V(e, t, a, n)
    }
    function j(t, r, n) {
      e.Debug.assert(
        0 === t.length,
        'Prologue directives should be at the first statement in the target statements array'
      )
      for (var a = !1, i = 0, o = r.length; i < o; ) {
        var s = r[i]
        if (!e.isPrologueDirective(s)) break
        z(s) && (a = !0), t.push(s), i++
      }
      return (
        n && !a && t.push(pe(e.createStatement(e.createLiteral('use strict')))),
        i
      )
    }
    function V(t, r, n, a) {
      for (var i = r.length; n < i; ) {
        var o = r[n]
        if (!(1048576 & e.getEmitFlags(o))) break
        t.push(a ? e.visitNode(o, a, e.isStatement) : o), n++
      }
      return n
    }
    function q(t) {
      var r = e.firstOrUndefined(t)
      return void 0 !== r && e.isPrologueDirective(r) && z(r)
    }
    function U(t) {
      for (var r = !1, n = 0, a = t; n < a.length; n++) {
        var i = a[n]
        if (!e.isPrologueDirective(i)) break
        if (z(i)) {
          r = !0
          break
        }
      }
      return r
        ? t
        : e.setTextRange(
            e.createNodeArray(
              [pe(e.createStatement(e.createLiteral('use strict')))].concat(t)
            ),
            t
          )
    }
    function W(t) {
      var r = e.getOperatorPrecedence(195, 55),
        n = de(t),
        a = e.getExpressionPrecedence(n)
      return e.compareValues(a, r) === -1 ? e.createParen(t) : t
    }
    function H(t, r, n, a) {
      var i = de(r)
      return 185 === i.kind ? r : G(t, r, n, a) ? e.createParen(r) : r
    }
    function G(t, r, n, a) {
      var i = e.getOperatorPrecedence(194, t),
        o = e.getOperatorAssociativity(194, t),
        s = de(r),
        c = e.getExpressionPrecedence(s)
      switch (e.compareValues(c, i)) {
        case -1:
          return !(!n && 1 === o && 197 === r.kind)
        case 1:
          return !1
        case 0:
          if (n) return 1 === o
          if (e.isBinaryExpression(s) && s.operatorToken.kind === t) {
            if (X(t)) return !1
            if (37 === t) {
              var u = a ? Q(a) : 0
              if (e.isLiteralKind(u) && u === Q(s)) return !1
            }
          }
          var _ = e.getExpressionAssociativity(s)
          return 0 === _
      }
    }
    function X(e) {
      return 39 === e || 49 === e || 48 === e || 50 === e
    }
    function Q(t) {
      if (((t = de(t)), e.isLiteralKind(t.kind))) return t.kind
      if (194 === t.kind && 37 === t.operatorToken.kind) {
        if (void 0 !== t.cachedLiteralKind) return t.cachedLiteralKind
        var r = Q(t.left),
          n = e.isLiteralKind(r) && r === Q(t.right) ? r : 0
        return (t.cachedLiteralKind = n), n
      }
      return 0
    }
    function Y(t) {
      var r = e.getOperatorPrecedence(195, 55),
        n = de(t),
        a = e.getExpressionPrecedence(n)
      return e.compareValues(a, r) === -1 ? e.createParen(t) : t
    }
    function Z(t) {
      return 194 === t.kind && 26 === t.operatorToken.kind
        ? e.createParen(t)
        : t
    }
    function $(t) {
      var r = de(t)
      switch (r.kind) {
        case 181:
          return e.createParen(t)
        case 182:
          return r.arguments ? t : e.createParen(t)
      }
      return ee(t)
    }
    function ee(t) {
      var r = de(t)
      return e.isLeftHandSideExpression(r) && (182 !== r.kind || r.arguments)
        ? t
        : e.setTextRange(e.createParen(t), t)
    }
    function te(t) {
      return e.isLeftHandSideExpression(t)
        ? t
        : e.setTextRange(e.createParen(t), t)
    }
    function re(t) {
      return e.isUnaryExpression(t) ? t : e.setTextRange(e.createParen(t), t)
    }
    function ne(t) {
      for (var r, n = 0; n < t.length; n++) {
        var a = ae(t[n])
        ;(void 0 === r && a === t[n]) ||
          (void 0 === r && (r = t.slice(0, n)), r.push(a))
      }
      return void 0 !== r
        ? e.setTextRange(e.createNodeArray(r, t.hasTrailingComma), t)
        : t
    }
    function ae(t) {
      var r = de(t),
        n = e.getExpressionPrecedence(r),
        a = e.getOperatorPrecedence(194, 26)
      return n > a ? t : e.setTextRange(e.createParen(t), t)
    }
    function ie(t) {
      var r = de(t)
      if (e.isCallExpression(r)) {
        var n = r.expression,
          a = de(n).kind
        if (186 === a || 187 === a) {
          var i = e.getMutableClone(r)
          return (i.expression = e.setTextRange(e.createParen(n), n)), oe(t, i)
        }
      } else {
        var o = se(r).kind
        if (178 === o || 186 === o) return e.setTextRange(e.createParen(t), t)
      }
      return t
    }
    function oe(t, r) {
      if (e.isPartiallyEmittedExpression(t)) {
        var n = e.getMutableClone(t)
        return (n.expression = oe(n.expression, r)), n
      }
      return r
    }
    function se(e) {
      for (;;) {
        switch (e.kind) {
          case 193:
            e = e.operand
            continue
          case 194:
            e = e.left
            continue
          case 195:
            e = e.condition
            continue
          case 181:
          case 180:
          case 179:
            e = e.expression
            continue
          case 296:
            e = e.expression
            continue
        }
        return e
      }
    }
    function ce(t) {
      return e.isBlock(t) || 178 !== se(t).kind
        ? t
        : e.setTextRange(e.createParen(t), t)
    }
    function ue(e, t) {
      void 0 === t && (t = 7)
      var r
      do
        (r = e),
          1 & t && (e = _e(e)),
          2 & t && (e = le(e)),
          4 & t && (e = de(e))
      while (r !== e)
      return e
    }
    function _e(e) {
      for (; 185 === e.kind; ) e = e.expression
      return e
    }
    function le(t) {
      for (; e.isAssertionExpression(t); ) t = t.expression
      return t
    }
    function de(e) {
      for (; 296 === e.kind; ) e = e.expression
      return e
    }
    function pe(e) {
      return (e.startsOnNewLine = !0), e
    }
    function fe(t) {
      var r = e.getOriginalNode(t, e.isSourceFile),
        n = r && r.emitNode
      return n && n.externalHelpersModuleName
    }
    function ge(t, r) {
      if (r.importHelpers && (e.isExternalModule(t) || r.isolatedModules)) {
        var n = fe(t)
        if (n) return n
        var a = e.getEmitHelpers(t)
        if (a)
          for (var i = 0, o = a; i < o.length; i++) {
            var s = o[i]
            if (!s.scoped) {
              var c = e.getOriginalNode(t, e.isSourceFile),
                u = e.getOrCreateEmitNode(c)
              return (
                u.externalHelpersModuleName ||
                (u.externalHelpersModuleName = e.createUniqueName(
                  e.externalHelpersModuleNameText
                ))
              )
            }
          }
      }
    }
    function me(t, r) {
      var n = e.getNamespaceDeclarationNode(t)
      if (n && !e.isDefaultImport(t)) {
        var a = n.name
        return e.isGeneratedIdentifier(a)
          ? a
          : e.createIdentifier(e.getSourceTextOfNodeFromSourceFile(r, n.name))
      }
      return 238 === t.kind && t.importClause
        ? e.getGeneratedNameForNode(t)
        : 244 === t.kind && t.moduleSpecifier
          ? e.getGeneratedNameForNode(t)
          : void 0
    }
    function ye(t, r, n, a, i) {
      var o = e.getExternalModuleName(t)
      if (9 === o.kind)
        return be(t, n, a, i) || ve(o, r) || e.getSynthesizedClone(o)
    }
    function ve(t, r) {
      var n = r.renamedDependencies && r.renamedDependencies.get(t.text)
      return n && e.createLiteral(n)
    }
    function he(t, r, n) {
      if (t)
        return t.moduleName
          ? e.createLiteral(t.moduleName)
          : e.isDeclarationFile(t) || (!n.out && !n.outFile)
            ? void 0
            : e.createLiteral(e.getExternalModuleNameFromPath(r, t.fileName))
    }
    function be(e, t, r, n) {
      return he(r.getExternalModuleFileFromDeclaration(e), t, n)
    }
    function ke(t) {
      return e.isDeclarationBindingElement(t)
        ? t.initializer
        : e.isPropertyAssignment(t)
          ? e.isAssignmentExpression(t.initializer, !0)
            ? t.initializer.right
            : void 0
          : e.isShorthandPropertyAssignment(t)
            ? t.objectAssignmentInitializer
            : e.isAssignmentExpression(t, !0)
              ? t.right
              : e.isSpreadExpression(t)
                ? ke(t.expression)
                : void 0
    }
    function xe(t) {
      if (e.isDeclarationBindingElement(t)) return t.name
      {
        if (!e.isObjectLiteralElementLike(t))
          return e.isAssignmentExpression(t, !0)
            ? xe(t.left)
            : e.isSpreadExpression(t)
              ? xe(t.expression)
              : t
        switch (t.kind) {
          case 261:
            return xe(t.initializer)
          case 262:
            return t.name
          case 263:
            return xe(t.expression)
        }
      }
    }
    function Ce(e) {
      switch (e.kind) {
        case 146:
        case 176:
          return e.dotDotDotToken
        case 198:
        case 263:
          return e
      }
    }
    function Se(t) {
      switch (t.kind) {
        case 176:
          if (t.propertyName) {
            var r = t.propertyName
            return e.isComputedPropertyName(r) &&
              e.isStringOrNumericLiteral(r.expression)
              ? r.expression
              : r
          }
          break
        case 261:
          if (t.name) {
            var r = t.name
            return e.isComputedPropertyName(r) &&
              e.isStringOrNumericLiteral(r.expression)
              ? r.expression
              : r
          }
          break
        case 263:
          return t.name
      }
      var n = xe(t)
      return n && e.isPropertyName(n)
        ? e.isComputedPropertyName(n) &&
          e.isStringOrNumericLiteral(n.expression)
          ? n.expression
          : n
        : void e.Debug.fail('Invalid property name for binding element.')
    }
    function De(e) {
      switch (e.kind) {
        case 174:
        case 175:
        case 177:
          return e.elements
        case 178:
          return e.properties
      }
    }
    function Te(t) {
      if (e.isBindingElement(t)) {
        if (t.dotDotDotToken)
          return (
            e.Debug.assertNode(t.name, e.isIdentifier),
            e.setOriginalNode(e.setTextRange(e.createSpread(t.name), t), t)
          )
        var r = Pe(t.name)
        return t.initializer
          ? e.setOriginalNode(
              e.setTextRange(e.createAssignment(r, t.initializer), t),
              t
            )
          : r
      }
      return e.Debug.assertNode(t, e.isExpression), t
    }
    function Ee(t) {
      if (e.isBindingElement(t)) {
        if (t.dotDotDotToken)
          return (
            e.Debug.assertNode(t.name, e.isIdentifier),
            e.setOriginalNode(
              e.setTextRange(e.createSpreadAssignment(t.name), t),
              t
            )
          )
        if (t.propertyName) {
          var r = Pe(t.name)
          return e.setOriginalNode(
            e.setTextRange(
              e.createPropertyAssignment(
                t.propertyName,
                t.initializer ? e.createAssignment(r, t.initializer) : r
              ),
              t
            ),
            t
          )
        }
        return (
          e.Debug.assertNode(t.name, e.isIdentifier),
          e.setOriginalNode(
            e.setTextRange(
              e.createShorthandPropertyAssignment(t.name, t.initializer),
              t
            ),
            t
          )
        )
      }
      return e.Debug.assertNode(t, e.isObjectLiteralElementLike), t
    }
    function Ne(e) {
      switch (e.kind) {
        case 175:
        case 177:
          return we(e)
        case 174:
        case 178:
          return Ae(e)
      }
    }
    function Ae(t) {
      return e.isObjectBindingPattern(t)
        ? e.setOriginalNode(
            e.setTextRange(e.createObjectLiteral(e.map(t.elements, Ee)), t),
            t
          )
        : (e.Debug.assertNode(t, e.isObjectLiteralExpression), t)
    }
    function we(t) {
      return e.isArrayBindingPattern(t)
        ? e.setOriginalNode(
            e.setTextRange(e.createArrayLiteral(e.map(t.elements, Te)), t),
            t
          )
        : (e.Debug.assertNode(t, e.isArrayLiteralExpression), t)
    }
    function Pe(t) {
      return e.isBindingPattern(t)
        ? Ne(t)
        : (e.Debug.assertNode(t, e.isExpression), t)
    }
    function Oe(t, r, n) {
      var a,
        i = [],
        o = e.createMultiMap(),
        s = [],
        c = e.createMap(),
        u = !1,
        _ = void 0,
        l = !1,
        d = ge(t, n),
        p =
          d &&
          e.createImportDeclaration(
            void 0,
            void 0,
            e.createImportClause(void 0, e.createNamespaceImport(d)),
            e.createLiteral(e.externalHelpersModuleNameText)
          )
      p && i.push(p)
      for (var f = 0, g = t.statements; f < g.length; f++) {
        var m = g[f]
        switch (m.kind) {
          case 238:
            i.push(m)
            break
          case 237:
            248 === m.moduleReference.kind && i.push(m)
            break
          case 244:
            if (m.moduleSpecifier)
              m.exportClause ? i.push(m) : (i.push(m), (l = !0))
            else
              for (var y = 0, v = m.exportClause.elements; y < v.length; y++) {
                var h = v[y]
                if (!c.get(h.name.text)) {
                  var b = h.propertyName || h.name
                  o.add(b.text, h)
                  var k =
                    r.getReferencedImportDeclaration(b) ||
                    r.getReferencedValueDeclaration(b)
                  k && Ie(s, e.getOriginalNodeId(k), h.name),
                    c.set(h.name.text, !0),
                    (a = e.append(a, h.name))
                }
              }
            break
          case 243:
            m.isExportEquals && !_ && (_ = m)
            break
          case 208:
            if (e.hasModifier(m, 1))
              for (
                var x = 0, C = m.declarationList.declarations;
                x < C.length;
                x++
              ) {
                var k = C[x]
                a = Fe(k, c, a)
              }
            break
          case 228:
            if (e.hasModifier(m, 1))
              if (e.hasModifier(m, 512))
                u || (Ie(s, e.getOriginalNodeId(m), R(m)), (u = !0))
              else {
                var b = m.name
                c.get(b.text) ||
                  (Ie(s, e.getOriginalNodeId(m), b),
                  c.set(b.text, !0),
                  (a = e.append(a, b)))
              }
            break
          case 229:
            if (e.hasModifier(m, 1))
              if (e.hasModifier(m, 512))
                u || (Ie(s, e.getOriginalNodeId(m), R(m)), (u = !0))
              else {
                var b = m.name
                c.get(b.text) ||
                  (Ie(s, e.getOriginalNodeId(m), b),
                  c.set(b.text, !0),
                  (a = e.append(a, b)))
              }
        }
      }
      return {
        externalImports: i,
        exportSpecifiers: o,
        exportEquals: _,
        hasExportStarsToExportValues: l,
        exportedBindings: s,
        exportedNames: a,
        externalHelpersImportDeclaration: p
      }
    }
    function Fe(t, r, n) {
      if (e.isBindingPattern(t.name))
        for (var a = 0, i = t.name.elements; a < i.length; a++) {
          var o = i[a]
          e.isOmittedExpression(o) || (n = Fe(o, r, n))
        }
      else
        e.isGeneratedIdentifier(t.name) ||
          r.get(t.name.text) ||
          (r.set(t.name.text, !0), (n = e.append(n, t.name)))
      return n
    }
    function Ie(e, t, r) {
      var n = e[t]
      return n ? n.push(r) : (e[t] = n = [r]), n
    }
    ;(e.createTypeCheck = t),
      (e.createMemberAccessForPropertyName = r),
      (e.createFunctionCall = n),
      (e.createFunctionApply = a),
      (e.createArraySlice = i),
      (e.createArrayConcat = o),
      (e.createMathPow = s),
      (e.createExpressionForJsxElement = l),
      (e.getHelperName = d)
    var Re = {
      name: 'typescript:values',
      scoped: !1,
      text:
        '\n            var __values = (this && this.__values) || function (o) {\n                var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0;\n                if (m) return m.call(o);\n                return {\n                    next: function () {\n                        if (o && i >= o.length) o = void 0;\n                        return { value: o && o[i++], done: !o };\n                    }\n                };\n            };\n        '
    }
    e.createValuesHelper = p
    var Me = {
      name: 'typescript:read',
      scoped: !1,
      text:
        '\n            var __read = (this && this.__read) || function (o, n) {\n                var m = typeof Symbol === "function" && o[Symbol.iterator];\n                if (!m) return o;\n                var i = m.call(o), r, ar = [], e;\n                try {\n                    while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n                }\n                catch (error) { e = { error: error }; }\n                finally {\n                    try {\n                        if (r && !r.done && (m = i["return"])) m.call(i);\n                    }\n                    finally { if (e) throw e.error; }\n                }\n                return ar;\n            };\n        '
    }
    e.createReadHelper = f
    var Le = {
      name: 'typescript:spread',
      scoped: !1,
      text:
        '\n            var __spread = (this && this.__spread) || function () {\n                for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));\n                return ar;\n            };'
    }
    ;(e.createSpreadHelper = g),
      (e.createForOfBindingStatement = m),
      (e.insertLeadingStatement = y),
      (e.restoreEnclosingLabel = v),
      (e.createCallBinding = b),
      (e.inlineExpressions = k),
      (e.createExpressionFromEntityName = x),
      (e.createExpressionForPropertyName = C),
      (e.createExpressionForObjectLiteralElementLike = S),
      (e.getInternalName = A),
      (e.isInternalName = w),
      (e.getLocalName = P),
      (e.isLocalName = O),
      (e.getExportName = F),
      (e.isExportName = I),
      (e.getDeclarationName = R),
      (e.getExternalModuleOrNamespaceExportName = L),
      (e.getNamespaceMemberName = B),
      (e.convertToFunctionBody = J),
      (e.addPrologue = K),
      (e.addStandardPrologue = j),
      (e.addCustomPrologue = V),
      (e.startsWithUseStrict = q),
      (e.ensureUseStrict = U),
      (e.parenthesizeConditionalHead = W),
      (e.parenthesizeBinaryOperand = H),
      (e.parenthesizeForConditionalHead = Y),
      (e.parenthesizeSubexpressionOfConditionalExpression = Z),
      (e.parenthesizeForNew = $),
      (e.parenthesizeForAccess = ee),
      (e.parenthesizePostfixOperand = te),
      (e.parenthesizePrefixOperand = re),
      (e.parenthesizeListElements = ne),
      (e.parenthesizeExpressionForList = ae),
      (e.parenthesizeExpressionForExpressionStatement = ie),
      (e.parenthesizeConciseBody = ce)
    var Be
    !(function(e) {
      ;(e[(e.Parentheses = 1)] = 'Parentheses'),
        (e[(e.Assertions = 2)] = 'Assertions'),
        (e[(e.PartiallyEmittedExpressions = 4)] =
          'PartiallyEmittedExpressions'),
        (e[(e.All = 7)] = 'All')
    })((Be = e.OuterExpressionKinds || (e.OuterExpressionKinds = {}))),
      (e.skipOuterExpressions = ue),
      (e.skipParentheses = _e),
      (e.skipAssertions = le),
      (e.skipPartiallyEmittedExpressions = de),
      (e.startOnNewLine = pe),
      (e.getExternalHelpersModuleName = fe),
      (e.getOrCreateExternalHelpersModuleNameIfNeeded = ge),
      (e.getLocalNameForExternalImport = me),
      (e.getExternalModuleNameLiteral = ye),
      (e.tryGetModuleNameFromFile = he),
      (e.getInitializerOfBindingOrAssignmentElement = ke),
      (e.getTargetOfBindingOrAssignmentElement = xe),
      (e.getRestIndicatorOfBindingOrAssignmentElement = Ce),
      (e.getPropertyNameOfBindingOrAssignmentElement = Se),
      (e.getElementsOfBindingOrAssignmentPattern = De),
      (e.convertToArrayAssignmentElement = Te),
      (e.convertToObjectAssignmentElement = Ee),
      (e.convertToAssignmentPattern = Ne),
      (e.convertToObjectAssignmentPattern = Ae),
      (e.convertToArrayAssignmentPattern = we),
      (e.convertToAssignmentElementTarget = Pe),
      (e.collectExternalModuleInfo = Oe)
  })(ts || (ts = {}))
var ts
!(function(e) {
  function t(t, r, n) {
    return 265 === t
      ? new (g || (g = e.objectAllocator.getSourceFileConstructor()))(t, r, n)
      : 71 === t
        ? new (f || (f = e.objectAllocator.getIdentifierConstructor()))(t, r, n)
        : t < 143
          ? new (p || (p = e.objectAllocator.getTokenConstructor()))(t, r, n)
          : new (d || (d = e.objectAllocator.getNodeConstructor()))(t, r, n)
  }
  function r(e, t) {
    if (t) return e(t)
  }
  function n(e, t) {
    if (t) return e(t)
  }
  function a(e, t) {
    if (t)
      for (var r = 0, n = t; r < n.length; r++) {
        var a = n[r],
          i = e(a)
        if (i) return i
      }
  }
  function i(e, t, i) {
    if (e) {
      var o = i ? n : a,
        s = i || t
      switch (e.kind) {
        case 143:
          return r(t, e.left) || r(t, e.right)
        case 145:
          return (
            r(t, e.name) ||
            r(t, e.constraint) ||
            r(t, e['default']) ||
            r(t, e.expression)
          )
        case 262:
          return (
            o(s, e.decorators) ||
            o(s, e.modifiers) ||
            r(t, e.name) ||
            r(t, e.questionToken) ||
            r(t, e.equalsToken) ||
            r(t, e.objectAssignmentInitializer)
          )
        case 263:
          return r(t, e.expression)
        case 146:
        case 149:
        case 148:
        case 261:
        case 226:
        case 176:
          return (
            o(s, e.decorators) ||
            o(s, e.modifiers) ||
            r(t, e.propertyName) ||
            r(t, e.dotDotDotToken) ||
            r(t, e.name) ||
            r(t, e.questionToken) ||
            r(t, e.type) ||
            r(t, e.initializer)
          )
        case 160:
        case 161:
        case 155:
        case 156:
        case 157:
          return (
            o(s, e.decorators) ||
            o(s, e.modifiers) ||
            o(s, e.typeParameters) ||
            o(s, e.parameters) ||
            r(t, e.type)
          )
        case 151:
        case 150:
        case 152:
        case 153:
        case 154:
        case 186:
        case 228:
        case 187:
          return (
            o(s, e.decorators) ||
            o(s, e.modifiers) ||
            r(t, e.asteriskToken) ||
            r(t, e.name) ||
            r(t, e.questionToken) ||
            o(s, e.typeParameters) ||
            o(s, e.parameters) ||
            r(t, e.type) ||
            r(t, e.equalsGreaterThanToken) ||
            r(t, e.body)
          )
        case 159:
          return r(t, e.typeName) || o(s, e.typeArguments)
        case 158:
          return r(t, e.parameterName) || r(t, e.type)
        case 162:
          return r(t, e.exprName)
        case 163:
          return o(s, e.members)
        case 164:
          return r(t, e.elementType)
        case 165:
          return o(s, e.elementTypes)
        case 166:
        case 167:
          return o(s, e.types)
        case 168:
        case 170:
          return r(t, e.type)
        case 171:
          return r(t, e.objectType) || r(t, e.indexType)
        case 172:
          return (
            r(t, e.readonlyToken) ||
            r(t, e.typeParameter) ||
            r(t, e.questionToken) ||
            r(t, e.type)
          )
        case 173:
          return r(t, e.literal)
        case 174:
        case 175:
          return o(s, e.elements)
        case 177:
          return o(s, e.elements)
        case 178:
          return o(s, e.properties)
        case 179:
          return r(t, e.expression) || r(t, e.name)
        case 180:
          return r(t, e.expression) || r(t, e.argumentExpression)
        case 181:
        case 182:
          return (
            r(t, e.expression) || o(s, e.typeArguments) || o(s, e.arguments)
          )
        case 183:
          return r(t, e.tag) || r(t, e.template)
        case 184:
          return r(t, e.type) || r(t, e.expression)
        case 185:
          return r(t, e.expression)
        case 188:
          return r(t, e.expression)
        case 189:
          return r(t, e.expression)
        case 190:
          return r(t, e.expression)
        case 192:
          return r(t, e.operand)
        case 197:
          return r(t, e.asteriskToken) || r(t, e.expression)
        case 191:
          return r(t, e.expression)
        case 193:
          return r(t, e.operand)
        case 194:
          return r(t, e.left) || r(t, e.operatorToken) || r(t, e.right)
        case 202:
          return r(t, e.expression) || r(t, e.type)
        case 203:
          return r(t, e.expression)
        case 204:
          return r(t, e.name)
        case 195:
          return (
            r(t, e.condition) ||
            r(t, e.questionToken) ||
            r(t, e.whenTrue) ||
            r(t, e.colonToken) ||
            r(t, e.whenFalse)
          )
        case 198:
          return r(t, e.expression)
        case 207:
        case 234:
          return o(s, e.statements)
        case 265:
          return o(s, e.statements) || r(t, e.endOfFileToken)
        case 208:
          return (
            o(s, e.decorators) || o(s, e.modifiers) || r(t, e.declarationList)
          )
        case 227:
          return o(s, e.declarations)
        case 210:
          return r(t, e.expression)
        case 211:
          return (
            r(t, e.expression) || r(t, e.thenStatement) || r(t, e.elseStatement)
          )
        case 212:
          return r(t, e.statement) || r(t, e.expression)
        case 213:
          return r(t, e.expression) || r(t, e.statement)
        case 214:
          return (
            r(t, e.initializer) ||
            r(t, e.condition) ||
            r(t, e.incrementor) ||
            r(t, e.statement)
          )
        case 215:
          return r(t, e.initializer) || r(t, e.expression) || r(t, e.statement)
        case 216:
          return (
            r(t, e.awaitModifier) ||
            r(t, e.initializer) ||
            r(t, e.expression) ||
            r(t, e.statement)
          )
        case 217:
        case 218:
          return r(t, e.label)
        case 219:
          return r(t, e.expression)
        case 220:
          return r(t, e.expression) || r(t, e.statement)
        case 221:
          return r(t, e.expression) || r(t, e.caseBlock)
        case 235:
          return o(s, e.clauses)
        case 257:
          return r(t, e.expression) || o(s, e.statements)
        case 258:
          return o(s, e.statements)
        case 222:
          return r(t, e.label) || r(t, e.statement)
        case 223:
          return r(t, e.expression)
        case 224:
          return r(t, e.tryBlock) || r(t, e.catchClause) || r(t, e.finallyBlock)
        case 260:
          return r(t, e.variableDeclaration) || r(t, e.block)
        case 147:
          return r(t, e.expression)
        case 229:
        case 199:
          return (
            o(s, e.decorators) ||
            o(s, e.modifiers) ||
            r(t, e.name) ||
            o(s, e.typeParameters) ||
            o(s, e.heritageClauses) ||
            o(s, e.members)
          )
        case 230:
          return (
            o(s, e.decorators) ||
            o(s, e.modifiers) ||
            r(t, e.name) ||
            o(s, e.typeParameters) ||
            o(s, e.heritageClauses) ||
            o(s, e.members)
          )
        case 231:
          return (
            o(s, e.decorators) ||
            o(s, e.modifiers) ||
            r(t, e.name) ||
            o(s, e.typeParameters) ||
            r(t, e.type)
          )
        case 232:
          return (
            o(s, e.decorators) ||
            o(s, e.modifiers) ||
            r(t, e.name) ||
            o(s, e.members)
          )
        case 264:
          return r(t, e.name) || r(t, e.initializer)
        case 233:
          return (
            o(s, e.decorators) ||
            o(s, e.modifiers) ||
            r(t, e.name) ||
            r(t, e.body)
          )
        case 237:
          return (
            o(s, e.decorators) ||
            o(s, e.modifiers) ||
            r(t, e.name) ||
            r(t, e.moduleReference)
          )
        case 238:
          return (
            o(s, e.decorators) ||
            o(s, e.modifiers) ||
            r(t, e.importClause) ||
            r(t, e.moduleSpecifier)
          )
        case 239:
          return r(t, e.name) || r(t, e.namedBindings)
        case 236:
          return r(t, e.name)
        case 240:
          return r(t, e.name)
        case 241:
        case 245:
          return o(s, e.elements)
        case 244:
          return (
            o(s, e.decorators) ||
            o(s, e.modifiers) ||
            r(t, e.exportClause) ||
            r(t, e.moduleSpecifier)
          )
        case 242:
        case 246:
          return r(t, e.propertyName) || r(t, e.name)
        case 243:
          return o(s, e.decorators) || o(s, e.modifiers) || r(t, e.expression)
        case 196:
          return r(t, e.head) || o(s, e.templateSpans)
        case 205:
          return r(t, e.expression) || r(t, e.literal)
        case 144:
          return r(t, e.expression)
        case 259:
          return o(s, e.types)
        case 201:
          return r(t, e.expression) || o(s, e.typeArguments)
        case 248:
          return r(t, e.expression)
        case 247:
          return o(s, e.decorators)
        case 249:
          return (
            r(t, e.openingElement) || o(s, e.children) || r(t, e.closingElement)
          )
        case 250:
        case 251:
          return r(t, e.tagName) || r(t, e.attributes)
        case 254:
          return o(s, e.properties)
        case 253:
          return r(t, e.name) || r(t, e.initializer)
        case 255:
          return r(t, e.expression)
        case 256:
          return r(t, e.dotDotDotToken) || r(t, e.expression)
        case 252:
          return r(t, e.tagName)
        case 267:
          return r(t, e.type)
        case 271:
          return o(s, e.types)
        case 272:
          return o(s, e.types)
        case 270:
          return r(t, e.elementType)
        case 274:
          return r(t, e.type)
        case 273:
          return r(t, e.type)
        case 275:
          return r(t, e.literal)
        case 277:
          return r(t, e.name) || o(s, e.typeArguments)
        case 278:
          return r(t, e.type)
        case 279:
          return o(s, e.parameters) || r(t, e.type)
        case 280:
          return r(t, e.type)
        case 281:
          return r(t, e.type)
        case 282:
          return r(t, e.type)
        case 276:
          return r(t, e.name) || r(t, e.type)
        case 283:
          return o(s, e.tags)
        case 286:
          return (
            r(t, e.preParameterName) ||
            r(t, e.typeExpression) ||
            r(t, e.postParameterName)
          )
        case 287:
          return r(t, e.typeExpression)
        case 288:
          return r(t, e.typeExpression)
        case 285:
          return r(t, e.typeExpression)
        case 289:
          return o(s, e.typeParameters)
        case 290:
          return (
            r(t, e.typeExpression) ||
            r(t, e.fullName) ||
            r(t, e.name) ||
            r(t, e.jsDocTypeLiteral)
          )
        case 292:
          return o(s, e.jsDocPropertyTags)
        case 291:
          return r(t, e.typeExpression) || r(t, e.name)
        case 296:
          return r(t, e.expression)
        case 293:
          return r(t, e.literal)
      }
    }
  }
  function o(t, r, n, a, i) {
    void 0 === a && (a = !1), e.performance.mark('beforeParse')
    var o = m.parseSourceFile(t, r, n, void 0, a, i)
    return (
      e.performance.mark('afterParse'),
      e.performance.measure('Parse', 'beforeParse', 'afterParse'),
      o
    )
  }
  function s(e, t) {
    return m.parseIsolatedEntityName(e, t)
  }
  function c(e) {
    return void 0 !== e.externalModuleIndicator
  }
  function u(e, t, r, n) {
    return y.updateSourceFile(e, t, r, n)
  }
  function _(e, t, r) {
    var n = m.JSDocParser.parseIsolatedJSDocComment(e, t, r)
    return n && n.jsDoc && m.fixupParentReferences(n.jsDoc), n
  }
  function l(e, t, r) {
    return m.JSDocParser.parseJSDocTypeExpressionForTests(e, t, r)
  }
  var d, p, f, g
  ;(e.createNode = t),
    (e.forEachChild = i),
    (e.createSourceFile = o),
    (e.parseIsolatedEntityName = s),
    (e.isExternalModule = c),
    (e.updateSourceFile = u),
    (e.parseIsolatedJSDocComment = _),
    (e.parseJSDocTypeExpressionForTests = l)
  var m
  !(function(t) {
    function r(t, r, n, a, i, u) {
      ;(u = e.ensureScriptKind(t, u)), o(r, n, a, u)
      var _ = c(t, n, i, u)
      return s(), _
    }
    function n(e, t) {
      o(e, t, void 0, 1), L()
      var r = He(!0),
        n = 1 === M() && !ri.length
      return s(), n ? r : void 0
    }
    function a(e) {
      return 4 === e || 2 === e || 1 === e ? 1 : 0
    }
    function o(t, r, n, i) {
      ;(Ya = e.objectAllocator.getNodeConstructor()),
        (Za = e.objectAllocator.getTokenConstructor()),
        ($a = e.objectAllocator.getIdentifierConstructor()),
        (ei = e.objectAllocator.getSourceFileConstructor()),
        (ii = t),
        (ni = n),
        (ri = []),
        (ui = 0),
        (si = e.createMap()),
        (ci = 0),
        (oi = 0),
        (_i = 1 === i || 2 === i ? 65536 : 0),
        (pi = !1),
        li.setText(ii),
        li.setOnError(F),
        li.setScriptTarget(r),
        li.setLanguageVariant(a(i))
    }
    function s() {
      li.setText(''),
        li.setOnError(void 0),
        (ri = void 0),
        (ti = void 0),
        (si = void 0),
        (ni = void 0),
        (ii = void 0)
    }
    function c(t, r, n, a) {
      return (
        (ti = l(t, r, a)),
        (ti.flags = _i),
        L(),
        Xa(ti),
        (ti.statements = we(0, Kn)),
        e.Debug.assert(1 === M()),
        (ti.endOfFileToken = Z()),
        Qa(ti),
        (ti.nodeCount = oi),
        (ti.identifierCount = ci),
        (ti.identifiers = si),
        (ti.parseDiagnostics = ri),
        n && _(ti),
        ti
      )
    }
    function u(t) {
      var r = e.getJSDocCommentRanges(t, ti.text)
      if (r)
        for (var n = 0, a = r; n < a.length; n++) {
          var i = a[n],
            o = mi.parseJSDocComment(t, i.pos, i.end - i.pos)
          o && (t.jsDoc || (t.jsDoc = []), t.jsDoc.push(o))
        }
      return t
    }
    function _(e) {
      function t(e) {
        if (e.parent !== r) {
          e.parent = r
          var n = r
          if (((r = e), i(e, t), e.jsDoc))
            for (var a = 0, o = e.jsDoc; a < o.length; a++) {
              var s = o[a]
              ;(s.parent = e), (r = s), i(s, t)
            }
          r = n
        }
      }
      var r = e
      i(e, t)
    }
    function l(t, r, n) {
      var i = new ei(265, 0, ii.length)
      return (
        oi++,
        (i.text = ii),
        (i.bindDiagnostics = []),
        (i.languageVersion = r),
        (i.fileName = e.normalizePath(t)),
        (i.languageVariant = a(n)),
        (i.isDeclarationFile = e.fileExtensionIs(i.fileName, '.d.ts')),
        (i.scriptKind = n),
        i
      )
    }
    function d(e, t) {
      e ? (_i |= t) : (_i &= ~t)
    }
    function p(e) {
      d(e, 2048)
    }
    function f(e) {
      d(e, 4096)
    }
    function g(e) {
      d(e, 8192)
    }
    function m(e) {
      d(e, 16384)
    }
    function y(e, t) {
      var r = e & _i
      if (r) {
        d(!1, r)
        var n = t()
        return d(!0, r), n
      }
      return t()
    }
    function v(e, t) {
      var r = e & ~_i
      if (r) {
        d(!0, r)
        var n = t()
        return d(!1, r), n
      }
      return t()
    }
    function h(e) {
      return y(2048, e)
    }
    function b(e) {
      return v(2048, e)
    }
    function k(e) {
      return v(4096, e)
    }
    function x(e) {
      return v(8192, e)
    }
    function C(e) {
      return v(16384, e)
    }
    function S(e) {
      return y(16384, e)
    }
    function D(e) {
      return v(20480, e)
    }
    function T(e) {
      return 0 !== (_i & e)
    }
    function E() {
      return T(4096)
    }
    function N() {
      return T(2048)
    }
    function A() {
      return T(8192)
    }
    function w() {
      return T(16384)
    }
    function P(e, t) {
      var r = li.getTokenPos(),
        n = li.getTextPos() - r
      O(r, n, e, t)
    }
    function O(t, r, n, a) {
      var i = e.lastOrUndefined(ri)
      ;(i && t === i.start) || ri.push(e.createFileDiagnostic(ti, t, r, n, a)),
        (pi = !0)
    }
    function F(e, t) {
      var r = li.getTextPos()
      O(r, t || 0, e)
    }
    function I() {
      return li.getStartPos()
    }
    function R() {
      return li.getStartPos()
    }
    function M() {
      return ai
    }
    function L() {
      return (ai = li.scan())
    }
    function B() {
      return (ai = li.reScanGreaterToken())
    }
    function J() {
      return (ai = li.reScanSlashToken())
    }
    function z() {
      return (ai = li.reScanTemplateToken())
    }
    function K() {
      return (ai = li.scanJsxIdentifier())
    }
    function j() {
      return (ai = li.scanJsxToken())
    }
    function V() {
      return (ai = li.scanJsxAttributeValue())
    }
    function q(t, r) {
      var n = ai,
        a = ri.length,
        i = pi,
        o = _i,
        s = r ? li.lookAhead(t) : li.tryScan(t)
      return (
        e.Debug.assert(o === _i),
        (s && !r) || ((ai = n), (ri.length = a), (pi = i)),
        s
      )
    }
    function U(e) {
      return q(e, !0)
    }
    function W(e) {
      return q(e, !1)
    }
    function H() {
      return (
        71 === M() ||
        ((116 !== M() || !E()) && ((121 !== M() || !w()) && M() > 107))
      )
    }
    function G(t, r, n) {
      return (
        void 0 === n && (n = !0),
        M() === t
          ? (n && L(), !0)
          : (r ? P(r) : P(e.Diagnostics._0_expected, e.tokenToString(t)), !1)
      )
    }
    function X(e) {
      return M() === e && (L(), !0)
    }
    function Q(e) {
      if (M() === e) return Z()
    }
    function Y(e, t, r, n) {
      return Q(e) || ae(e, t, r, n)
    }
    function Z() {
      var e = te(M())
      return L(), ne(e)
    }
    function $() {
      return (
        25 === M() || (18 === M() || 1 === M() || li.hasPrecedingLineBreak())
      )
    }
    function ee() {
      return $() ? (25 === M() && L(), !0) : G(25)
    }
    function te(e, t) {
      return (
        oi++,
        t >= 0 || (t = li.getStartPos()),
        e >= 143
          ? new Ya(e, t, t)
          : 71 === e
            ? new $a(e, t, t)
            : new Za(e, t, t)
      )
    }
    function re(e, t) {
      var r = e || []
      return t >= 0 || (t = I()), (r.pos = t), (r.end = t), r
    }
    function ne(e, t) {
      return (
        (e.end = void 0 === t ? li.getStartPos() : t),
        _i && (e.flags |= _i),
        pi && ((pi = !1), (e.flags |= 32768)),
        e
      )
    }
    function ae(e, t, r, n) {
      t ? O(li.getStartPos(), 0, r, n) : P(r, n)
      var a = te(e, li.getStartPos())
      return (a.text = ''), ne(a)
    }
    function ie(t) {
      t = e.escapeIdentifier(t)
      var r = si.get(t)
      return void 0 === r && si.set(t, (r = t)), r
    }
    function oe(t, r) {
      if ((ci++, t)) {
        var n = te(71)
        return (
          71 !== M() && (n.originalKeywordKind = M()),
          (n.text = ie(li.getTokenValue())),
          L(),
          ne(n)
        )
      }
      return ae(71, !1, r || e.Diagnostics.Identifier_expected)
    }
    function se(e) {
      return oe(H(), e)
    }
    function ce() {
      return oe(e.tokenIsIdentifierOrKeyword(M()))
    }
    function ue() {
      return e.tokenIsIdentifierOrKeyword(M()) || 9 === M() || 8 === M()
    }
    function _e(e) {
      return 9 === M() || 8 === M() ? Ye(!0) : e && 21 === M() ? fe() : ce()
    }
    function le() {
      return _e(!0)
    }
    function de() {
      return _e(!1)
    }
    function pe() {
      return 9 === M() || 8 === M() || e.tokenIsIdentifierOrKeyword(M())
    }
    function fe() {
      var e = te(144)
      return G(21), (e.expression = h(er)), G(22), ne(e)
    }
    function ge(e) {
      return M() === e && W(ye)
    }
    function me() {
      return L(), !li.hasPrecedingLineBreak() && he()
    }
    function ye() {
      return 76 === M()
        ? 83 === L()
        : 84 === M()
          ? (L(),
            79 === M()
              ? U(be)
              : 39 !== M() && 118 !== M() && 17 !== M() && he())
          : 79 === M()
            ? be()
            : 115 === M()
              ? (L(), he())
              : me()
    }
    function ve() {
      return e.isModifierKind(M()) && W(ye)
    }
    function he() {
      return 21 === M() || 17 === M() || 39 === M() || 24 === M() || ue()
    }
    function be() {
      return (
        L(),
        75 === M() ||
          89 === M() ||
          (117 === M() && U(Fn)) ||
          (120 === M() && U(In))
      )
    }
    function ke(t, r) {
      var n = Oe(t)
      if (n) return !0
      switch (t) {
        case 0:
        case 1:
        case 3:
          return !(25 === M() && r) && Bn()
        case 2:
          return 73 === M() || 79 === M()
        case 4:
          return U(bt)
        case 5:
          return U(ua) || (25 === M() && !r)
        case 6:
          return 21 === M() || ue()
        case 12:
          return 21 === M() || 39 === M() || 24 === M() || ue()
        case 17:
          return ue()
        case 9:
          return 21 === M() || 24 === M() || ue()
        case 7:
          return 17 === M() ? U(xe) : r ? H() && !De() : Yt() && !De()
        case 8:
          return Xn()
        case 10:
          return 26 === M() || 24 === M() || Xn()
        case 18:
          return H()
        case 11:
        case 15:
          return 26 === M() || 24 === M() || Zt()
        case 16:
          return ct()
        case 19:
        case 20:
          return 26 === M() || Rt()
        case 21:
          return xa()
        case 22:
          return e.tokenIsIdentifierOrKeyword(M())
        case 13:
          return e.tokenIsIdentifierOrKeyword(M()) || 17 === M()
        case 14:
          return !0
        case 23:
        case 24:
        case 26:
          return mi.isJSDocType()
        case 25:
          return pe()
      }
      e.Debug.fail("Non-exhaustive case in 'isListElement'.")
    }
    function xe() {
      if ((e.Debug.assert(17 === M()), 18 === L())) {
        var t = L()
        return 26 === t || 17 === t || 85 === t || 108 === t
      }
      return !0
    }
    function Ce() {
      return L(), H()
    }
    function Se() {
      return L(), e.tokenIsIdentifierOrKeyword(M())
    }
    function De() {
      return (108 === M() || 85 === M()) && U(Te)
    }
    function Te() {
      return L(), Zt()
    }
    function Ee(e) {
      if (1 === M()) return !0
      switch (e) {
        case 1:
        case 2:
        case 4:
        case 5:
        case 6:
        case 12:
        case 9:
        case 22:
          return 18 === M()
        case 3:
          return 18 === M() || 73 === M() || 79 === M()
        case 7:
          return 17 === M() || 85 === M() || 108 === M()
        case 8:
          return Ne()
        case 18:
          return (
            29 === M() || 19 === M() || 17 === M() || 85 === M() || 108 === M()
          )
        case 11:
          return 20 === M() || 25 === M()
        case 15:
        case 20:
        case 10:
          return 22 === M()
        case 16:
        case 17:
          return 20 === M() || 22 === M()
        case 19:
          return 26 !== M()
        case 21:
          return 17 === M() || 18 === M()
        case 13:
          return 29 === M() || 41 === M()
        case 14:
          return 27 === M() && U(Ia)
        case 23:
          return 20 === M() || 56 === M() || 18 === M()
        case 24:
          return 29 === M() || 18 === M()
        case 26:
          return 22 === M() || 18 === M()
        case 25:
          return 18 === M()
      }
    }
    function Ne() {
      return !!$() || (!!yr(M()) || 36 === M())
    }
    function Ae() {
      for (var e = 0; e < 27; e++)
        if (ui & (1 << e) && (ke(e, !0) || Ee(e))) return !0
      return !1
    }
    function we(e, t) {
      var r = ui
      ui |= 1 << e
      for (var n = re(); !Ee(e); )
        if (ke(e, !1)) {
          var a = Pe(e, t)
          n.push(a)
        } else if (je(e)) break
      return (n.end = R()), (ui = r), n
    }
    function Pe(e, t) {
      var r = Oe(e)
      return r ? Fe(r) : t()
    }
    function Oe(t) {
      if (!pi && ni) {
        var r = ni.currentNode(li.getStartPos())
        if (
          !e.nodeIsMissing(r) &&
          !r.intersectsChange &&
          !e.containsParseError(r)
        ) {
          var n = 96256 & r.flags
          if (n === _i && Ie(r, t)) return r
        }
      }
    }
    function Fe(e) {
      return li.setTextPos(e.end), L(), e
    }
    function Ie(e, t) {
      switch (t) {
        case 5:
          return Re(e)
        case 2:
          return Me(e)
        case 0:
        case 1:
        case 3:
          return Le(e)
        case 6:
          return Be(e)
        case 4:
          return Je(e)
        case 8:
          return ze(e)
        case 16:
          return Ke(e)
        case 17:
          return !1
        case 21:
        case 18:
        case 20:
        case 19:
        case 11:
        case 12:
        case 7:
        case 13:
        case 14:
      }
      return !1
    }
    function Re(e) {
      if (e)
        switch (e.kind) {
          case 152:
          case 157:
          case 153:
          case 154:
          case 149:
          case 206:
            return !0
          case 151:
            var t = e,
              r = 71 === t.name.kind && 123 === t.name.originalKeywordKind
            return !r
        }
      return !1
    }
    function Me(e) {
      if (e)
        switch (e.kind) {
          case 257:
          case 258:
            return !0
        }
      return !1
    }
    function Le(e) {
      if (e)
        switch (e.kind) {
          case 228:
          case 208:
          case 207:
          case 211:
          case 210:
          case 223:
          case 219:
          case 221:
          case 218:
          case 217:
          case 215:
          case 216:
          case 214:
          case 213:
          case 220:
          case 209:
          case 224:
          case 222:
          case 212:
          case 225:
          case 238:
          case 237:
          case 244:
          case 243:
          case 233:
          case 229:
          case 230:
          case 232:
          case 231:
            return !0
        }
      return !1
    }
    function Be(e) {
      return 264 === e.kind
    }
    function Je(e) {
      if (e)
        switch (e.kind) {
          case 156:
          case 150:
          case 157:
          case 148:
          case 155:
            return !0
        }
      return !1
    }
    function ze(e) {
      if (226 !== e.kind) return !1
      var t = e
      return void 0 === t.initializer
    }
    function Ke(e) {
      if (146 !== e.kind) return !1
      var t = e
      return void 0 === t.initializer
    }
    function je(e) {
      return P(Ve(e)), !!Ae() || (L(), !1)
    }
    function Ve(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 17:
        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 18:
          return e.Diagnostics.Type_parameter_declaration_expected
        case 19:
          return e.Diagnostics.Type_argument_expected
        case 20:
          return e.Diagnostics.Type_expected
        case 21:
          return e.Diagnostics.Unexpected_token_expected
        case 22:
          return e.Diagnostics.Identifier_expected
        case 13:
          return e.Diagnostics.Identifier_expected
        case 14:
          return e.Diagnostics.Identifier_expected
        case 23:
          return e.Diagnostics.Parameter_declaration_expected
        case 24:
          return e.Diagnostics.Type_argument_expected
        case 26:
          return e.Diagnostics.Type_expected
        case 25:
          return e.Diagnostics.Property_assignment_expected
      }
    }
    function qe(e, t, r) {
      var n = ui
      ui |= 1 << e
      for (var a = re(), i = -1; ; )
        if (ke(e, !1)) {
          if ((a.push(Pe(e, t)), (i = li.getTokenPos()), X(26))) continue
          if (((i = -1), Ee(e))) break
          G(26), r && 25 === M() && !li.hasPrecedingLineBreak() && L()
        } else {
          if (Ee(e)) break
          if (je(e)) break
        }
      return i >= 0 && (a.hasTrailingComma = !0), (a.end = R()), (ui = n), a
    }
    function Ue() {
      return re()
    }
    function We(e, t, r, n) {
      if (G(r)) {
        var a = qe(e, t)
        return G(n), a
      }
      return Ue()
    }
    function He(e, t) {
      for (var r = se(t); X(23); ) {
        var n = te(143, r.pos)
        ;(n.left = r), (n.right = Ge(e)), (r = ne(n))
      }
      return r
    }
    function Ge(t) {
      if (li.hasPrecedingLineBreak() && e.tokenIsIdentifierOrKeyword(M())) {
        var r = U(On)
        if (r) return ae(71, !0, e.Diagnostics.Identifier_expected)
      }
      return t ? ce() : se()
    }
    function Xe() {
      var t = te(196)
      ;(t.head = Ze()),
        e.Debug.assert(14 === t.head.kind, 'Template head has wrong token kind')
      var r = re()
      do r.push(Qe())
      while (15 === e.lastOrUndefined(r).literal.kind)
      return (r.end = R()), (t.templateSpans = r), ne(t)
    }
    function Qe() {
      var t = te(205)
      t.expression = h(er)
      var r
      return (
        18 === M()
          ? (z(), (r = $e()))
          : (r = Y(16, !1, e.Diagnostics._0_expected, e.tokenToString(18))),
        (t.literal = r),
        ne(t)
      )
    }
    function Ye(e) {
      return et(M(), e)
    }
    function Ze() {
      var t = et(M(), !1)
      return (
        e.Debug.assert(14 === t.kind, 'Template head has wrong token kind'), t
      )
    }
    function $e() {
      var t = et(M(), !1)
      return (
        e.Debug.assert(
          15 === t.kind || 16 === t.kind,
          'Template fragment has wrong token kind'
        ),
        t
      )
    }
    function et(e, t) {
      var r = te(e),
        n = li.getTokenValue()
      return (
        (r.text = t ? ie(n) : n),
        li.hasExtendedUnicodeEscape() && (r.hasExtendedUnicodeEscape = !0),
        li.isUnterminated() && (r.isUnterminated = !0),
        8 === r.kind && (r.numericLiteralFlags = li.getNumericLiteralFlags()),
        L(),
        ne(r),
        r
      )
    }
    function tt() {
      var t = te(159)
      return (
        (t.typeName = He(!1, e.Diagnostics.Type_expected)),
        li.hasPrecedingLineBreak() ||
          27 !== M() ||
          (t.typeArguments = We(19, Gt, 27, 29)),
        ne(t)
      )
    }
    function rt(e) {
      L()
      var t = te(158, e.pos)
      return (t.parameterName = e), (t.type = Gt()), ne(t)
    }
    function nt() {
      var e = te(169)
      return L(), ne(e)
    }
    function at() {
      var e = te(162)
      return G(103), (e.exprName = He(!0)), ne(e)
    }
    function it() {
      var e = te(145)
      return (
        (e.name = se()),
        X(85) &&
          (Rt() || !Zt() ? (e.constraint = Gt()) : (e.expression = Ar())),
        X(58) && (e['default'] = Gt()),
        ne(e)
      )
    }
    function ot() {
      if (27 === M()) return We(18, it, 27, 29)
    }
    function st() {
      if (X(56)) return Gt()
    }
    function ct() {
      return (
        24 === M() || Xn() || e.isModifierKind(M()) || 57 === M() || 99 === M()
      )
    }
    function ut() {
      var t = te(146)
      return 99 === M()
        ? ((t.name = oe(!0)), (t.type = st()), ne(t))
        : ((t.decorators = _a()),
          (t.modifiers = la()),
          (t.dotDotDotToken = Q(24)),
          (t.name = Qn()),
          0 === e.getFullWidth(t.name) &&
            !e.hasModifiers(t) &&
            e.isModifierKind(M()) &&
            L(),
          (t.questionToken = Q(55)),
          (t.type = st()),
          (t.initializer = _t(!0)),
          u(ne(t)))
    }
    function _t(e) {
      return e ? lt() : oa()
    }
    function lt() {
      return tr(!0)
    }
    function dt(e, t, r, n, a) {
      var i = 36 === e
      ;(a.typeParameters = ot()),
        (a.parameters = pt(t, r, n)),
        i ? (G(e), (a.type = Wt())) : X(e) && (a.type = Wt())
    }
    function pt(e, t, r) {
      if (G(19)) {
        var n = E(),
          a = w()
        f(e), m(t)
        var i = qe(16, ut)
        if ((f(n), m(a), !G(20) && r)) return
        return i
      }
      return r ? void 0 : Ue()
    }
    function ft() {
      X(26) || ee()
    }
    function gt(e) {
      var t = te(e)
      return 156 === e && G(94), dt(56, !1, !1, !1, t), ft(), u(ne(t))
    }
    function mt() {
      return 21 === M() && U(yt)
    }
    function yt() {
      if ((L(), 24 === M() || 22 === M())) return !0
      if (e.isModifierKind(M())) {
        if ((L(), H())) return !0
      } else {
        if (!H()) return !1
        L()
      }
      return (
        56 === M() ||
        26 === M() ||
        (55 === M() && (L(), 56 === M() || 26 === M() || 22 === M()))
      )
    }
    function vt(e, t, r) {
      var n = te(157, e)
      return (
        (n.decorators = t),
        (n.modifiers = r),
        (n.parameters = We(16, ut, 21, 22)),
        (n.type = Qt()),
        ft(),
        ne(n)
      )
    }
    function ht(e, t) {
      var r = le(),
        n = Q(55)
      if (19 === M() || 27 === M()) {
        var a = te(150, e)
        return (
          (a.modifiers = t),
          (a.name = r),
          (a.questionToken = n),
          dt(56, !1, !1, !1, a),
          ft(),
          u(ne(a))
        )
      }
      var i = te(148, e)
      return (
        (i.modifiers = t),
        (i.name = r),
        (i.questionToken = n),
        (i.type = Qt()),
        58 === M() && (i.initializer = oa()),
        ft(),
        u(ne(i))
      )
    }
    function bt() {
      if (19 === M() || 27 === M()) return !0
      for (var t; e.isModifierKind(M()); ) (t = !0), L()
      return (
        21 === M() ||
        (ue() && ((t = !0), L()),
        !!t &&
          (19 === M() ||
            27 === M() ||
            55 === M() ||
            56 === M() ||
            26 === M() ||
            $()))
      )
    }
    function kt() {
      if (19 === M() || 27 === M()) return gt(155)
      if (94 === M() && U(xt)) return gt(156)
      var e = I(),
        t = la()
      return mt() ? vt(e, void 0, t) : ht(e, t)
    }
    function xt() {
      return L(), 19 === M() || 27 === M()
    }
    function Ct() {
      var e = te(163)
      return (e.members = St()), ne(e)
    }
    function St() {
      var e
      return G(17) ? ((e = we(4, kt)), G(18)) : (e = Ue()), e
    }
    function Dt() {
      return L(), 131 === M() && L(), 21 === M() && Ce() && 92 === L()
    }
    function Tt() {
      var e = te(145)
      return (e.name = se()), G(92), (e.constraint = Gt()), ne(e)
    }
    function Et() {
      var e = te(172)
      return (
        G(17),
        (e.readonlyToken = Q(131)),
        G(21),
        (e.typeParameter = Tt()),
        G(22),
        (e.questionToken = Q(55)),
        (e.type = Qt()),
        ee(),
        G(18),
        ne(e)
      )
    }
    function Nt() {
      var e = te(165)
      return (e.elementTypes = We(20, Gt, 21, 22)), ne(e)
    }
    function At() {
      var e = te(168)
      return G(19), (e.type = Gt()), G(20), ne(e)
    }
    function wt(e) {
      var t = te(e)
      return 161 === e && G(94), dt(36, !1, !1, !1, t), ne(t)
    }
    function Pt() {
      var e = Z()
      return 23 === M() ? void 0 : e
    }
    function Ot() {
      var e = te(173)
      return (e.literal = wr()), ne(e), e
    }
    function Ft() {
      return 8 === L()
    }
    function It() {
      switch (M()) {
        case 119:
        case 136:
        case 133:
        case 122:
        case 137:
        case 139:
        case 130:
        case 134:
          var e = W(Pt)
          return e || tt()
        case 9:
        case 8:
        case 101:
        case 86:
          return Ot()
        case 38:
          return U(Ft) ? Ot() : tt()
        case 105:
        case 95:
          return Z()
        case 99:
          var t = nt()
          return 126 !== M() || li.hasPrecedingLineBreak() ? t : rt(t)
        case 103:
          return at()
        case 17:
          return U(Dt) ? Et() : Ct()
        case 21:
          return Nt()
        case 19:
          return At()
        default:
          return tt()
      }
    }
    function Rt() {
      switch (M()) {
        case 119:
        case 136:
        case 133:
        case 122:
        case 137:
        case 105:
        case 139:
        case 95:
        case 99:
        case 103:
        case 130:
        case 17:
        case 21:
        case 27:
        case 49:
        case 48:
        case 94:
        case 9:
        case 8:
        case 101:
        case 86:
        case 134:
          return !0
        case 38:
          return U(Ft)
        case 19:
          return U(Mt)
        default:
          return H()
      }
    }
    function Mt() {
      return L(), 20 === M() || ct() || Rt()
    }
    function Lt() {
      for (var e = It(); !li.hasPrecedingLineBreak() && X(21); )
        if (Rt()) {
          var t = te(171, e.pos)
          ;(t.objectType = e), (t.indexType = Gt()), G(22), (e = ne(t))
        } else {
          var t = te(164, e.pos)
          ;(t.elementType = e), G(22), (e = ne(t))
        }
      return e
    }
    function Bt(e) {
      var t = te(170)
      return G(e), (t.operator = e), (t.type = Jt()), ne(t)
    }
    function Jt() {
      switch (M()) {
        case 127:
          return Bt(127)
      }
      return Lt()
    }
    function zt(e, t, r) {
      X(r)
      var n = t()
      if (M() === r) {
        for (var a = re([n], n.pos); X(r); ) a.push(t())
        a.end = R()
        var i = te(e, n.pos)
        ;(i.types = a), (n = ne(i))
      }
      return n
    }
    function Kt() {
      return zt(167, Jt, 48)
    }
    function jt() {
      return zt(166, Kt, 49)
    }
    function Vt() {
      return 27 === M() || (19 === M() && U(Ut))
    }
    function qt() {
      if ((e.isModifierKind(M()) && la(), H() || 99 === M())) return L(), !0
      if (21 === M() || 17 === M()) {
        var t = ri.length
        return Qn(), t === ri.length
      }
      return !1
    }
    function Ut() {
      if ((L(), 20 === M() || 24 === M())) return !0
      if (qt()) {
        if (56 === M() || 26 === M() || 55 === M() || 58 === M()) return !0
        if (20 === M() && (L(), 36 === M())) return !0
      }
      return !1
    }
    function Wt() {
      var e = H() && W(Ht),
        t = Gt()
      if (e) {
        var r = te(158, e.pos)
        return (r.parameterName = e), (r.type = t), ne(r)
      }
      return t
    }
    function Ht() {
      var e = se()
      if (126 === M() && !li.hasPrecedingLineBreak()) return L(), e
    }
    function Gt() {
      return y(20480, Xt)
    }
    function Xt() {
      return Vt() ? wt(160) : 94 === M() ? wt(161) : jt()
    }
    function Qt() {
      return X(56) ? Gt() : void 0
    }
    function Yt() {
      switch (M()) {
        case 99:
        case 97:
        case 95:
        case 101:
        case 86:
        case 8:
        case 9:
        case 13:
        case 14:
        case 19:
        case 21:
        case 17:
        case 89:
        case 75:
        case 94:
        case 41:
        case 63:
        case 71:
          return !0
        default:
          return H()
      }
    }
    function Zt() {
      if (Yt()) return !0
      switch (M()) {
        case 37:
        case 38:
        case 52:
        case 51:
        case 80:
        case 103:
        case 105:
        case 43:
        case 44:
        case 27:
        case 121:
        case 116:
          return !0
        default:
          return !!hr() || H()
      }
    }
    function $t() {
      return 17 !== M() && 89 !== M() && 75 !== M() && 57 !== M() && Zt()
    }
    function er() {
      var e = A()
      e && g(!1)
      for (var t, r = rr(); (t = Q(26)); ) r = kr(r, t, rr())
      return e && g(!0), r
    }
    function tr(e) {
      if (
        58 === M() ||
        (!(li.hasPrecedingLineBreak() || (e && 17 === M())) && Zt())
      )
        return G(58), rr()
    }
    function rr() {
      if (nr()) return ir()
      var t = sr() || lr()
      if (t) return t
      var r = mr(0)
      return 71 === r.kind && 36 === M()
        ? or(r)
        : e.isLeftHandSideExpression(r) && e.isAssignmentOperator(B())
          ? kr(r, Z(), rr())
          : gr(r)
    }
    function nr() {
      return 116 === M() && (!!E() || U(Rn))
    }
    function ar() {
      return L(), !li.hasPrecedingLineBreak() && H()
    }
    function ir() {
      var e = te(197)
      return (
        L(),
        li.hasPrecedingLineBreak() || (39 !== M() && !Zt())
          ? ne(e)
          : ((e.asteriskToken = Q(39)), (e.expression = rr()), ne(e))
      )
    }
    function or(t, r) {
      e.Debug.assert(
        36 === M(),
        'parseSimpleArrowFunctionExpression should only have been called if we had a =>'
      )
      var n
      r ? ((n = te(187, r.pos)), (n.modifiers = r)) : (n = te(187, t.pos))
      var a = te(146, t.pos)
      return (
        (a.name = t),
        ne(a),
        (n.parameters = re([a], a.pos)),
        (n.parameters.end = a.end),
        (n.equalsGreaterThanToken = Y(36, !1, e.Diagnostics._0_expected, '=>')),
        (n.body = fr(!!r)),
        u(ne(n))
      )
    }
    function sr() {
      var t = cr()
      if (0 !== t) {
        var r = 1 === t ? pr(!0) : W(_r)
        if (r) {
          var n = !!(256 & e.getModifierFlags(r)),
            a = M()
          return (
            (r.equalsGreaterThanToken = Y(
              36,
              !1,
              e.Diagnostics._0_expected,
              '=>'
            )),
            (r.body = 36 === a || 17 === a ? fr(n) : se()),
            u(ne(r))
          )
        }
      }
    }
    function cr() {
      return 19 === M() || 27 === M() || 120 === M()
        ? U(ur)
        : 36 === M()
          ? 1
          : 0
    }
    function ur() {
      if (120 === M()) {
        if ((L(), li.hasPrecedingLineBreak())) return 0
        if (19 !== M() && 27 !== M()) return 0
      }
      var t = M(),
        r = L()
      if (19 === t) {
        if (20 === r) {
          var n = L()
          switch (n) {
            case 36:
            case 56:
            case 17:
              return 1
            default:
              return 0
          }
        }
        return 21 === r || 17 === r
          ? 2
          : 24 === r
            ? 1
            : H()
              ? 56 === L()
                ? 1
                : 2
              : 0
      }
      if ((e.Debug.assert(27 === t), !H())) return 0
      if (1 === ti.languageVariant) {
        var a = U(function() {
          var e = L()
          if (85 === e) {
            var t = L()
            switch (t) {
              case 58:
              case 29:
                return !1
              default:
                return !0
            }
          } else if (26 === e) return !0
          return !1
        })
        return a ? 1 : 0
      }
      return 2
    }
    function _r() {
      return pr(!1)
    }
    function lr() {
      if (120 === M()) {
        var e = U(dr)
        if (1 === e) {
          var t = da(),
            r = mr(0)
          return or(r, t)
        }
      }
    }
    function dr() {
      if (120 === M()) {
        if ((L(), li.hasPrecedingLineBreak() || 36 === M())) return 0
        var e = mr(0)
        if (!li.hasPrecedingLineBreak() && 71 === e.kind && 36 === M()) return 1
      }
      return 0
    }
    function pr(t) {
      var r = te(187)
      r.modifiers = da()
      var n = !!(256 & e.getModifierFlags(r))
      if (
        (dt(56, !1, n, !t, r), r.parameters && (t || 36 === M() || 17 === M()))
      )
        return r
    }
    function fr(e) {
      return 17 === M()
        ? fn(!1, e, !1)
        : 25 !== M() && 89 !== M() && 75 !== M() && Bn() && !$t()
          ? fn(!1, e, !0)
          : e
            ? C(rr)
            : S(rr)
    }
    function gr(t) {
      var r = Q(55)
      if (!r) return t
      var n = te(195, t.pos)
      return (
        (n.condition = t),
        (n.questionToken = r),
        (n.whenTrue = y(di, rr)),
        (n.colonToken = Y(
          56,
          !1,
          e.Diagnostics._0_expected,
          e.tokenToString(56)
        )),
        (n.whenFalse = rr()),
        ne(n)
      )
    }
    function mr(e) {
      var t = Ar()
      return vr(e, t)
    }
    function yr(e) {
      return 92 === e || 142 === e
    }
    function vr(e, t) {
      for (;;) {
        B()
        var r = br(),
          n = 40 === M() ? r >= e : r > e
        if (!n) break
        if (92 === M() && N()) break
        if (118 === M()) {
          if (li.hasPrecedingLineBreak()) break
          L(), (t = xr(t, Gt()))
        } else t = kr(t, Z(), mr(r))
      }
      return t
    }
    function hr() {
      return (!N() || 92 !== M()) && br() > 0
    }
    function br() {
      switch (M()) {
        case 54:
          return 1
        case 53:
          return 2
        case 49:
          return 3
        case 50:
          return 4
        case 48:
          return 5
        case 32:
        case 33:
        case 34:
        case 35:
          return 6
        case 27:
        case 29:
        case 30:
        case 31:
        case 93:
        case 92:
        case 118:
          return 7
        case 45:
        case 46:
        case 47:
          return 8
        case 37:
        case 38:
          return 9
        case 39:
        case 41:
        case 42:
          return 10
        case 40:
          return 11
      }
      return -1
    }
    function kr(e, t, r) {
      var n = te(194, e.pos)
      return (n.left = e), (n.operatorToken = t), (n.right = r), ne(n)
    }
    function xr(e, t) {
      var r = te(202, e.pos)
      return (r.expression = e), (r.type = t), ne(r)
    }
    function Cr() {
      var e = te(192)
      return (e.operator = M()), L(), (e.operand = wr()), ne(e)
    }
    function Sr() {
      var e = te(188)
      return L(), (e.expression = wr()), ne(e)
    }
    function Dr() {
      var e = te(189)
      return L(), (e.expression = wr()), ne(e)
    }
    function Tr() {
      var e = te(190)
      return L(), (e.expression = wr()), ne(e)
    }
    function Er() {
      return 121 === M() && (!!w() || U(ar))
    }
    function Nr() {
      var e = te(191)
      return L(), (e.expression = wr()), ne(e)
    }
    function Ar() {
      if (Pr()) {
        var t = Or()
        return 40 === M() ? vr(br(), t) : t
      }
      var r = M(),
        n = wr()
      if (40 === M()) {
        var a = e.skipTrivia(ii, n.pos)
        184 === n.kind
          ? O(
              a,
              n.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
            )
          : O(
              a,
              n.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(r)
            )
      }
      return n
    }
    function wr() {
      switch (M()) {
        case 37:
        case 38:
        case 52:
        case 51:
          return Cr()
        case 80:
          return Sr()
        case 103:
          return Dr()
        case 105:
          return Tr()
        case 27:
          return Gr()
        case 121:
          if (Er()) return Nr()
        default:
          return Or()
      }
    }
    function Pr() {
      switch (M()) {
        case 37:
        case 38:
        case 52:
        case 51:
        case 80:
        case 103:
        case 105:
        case 121:
          return !1
        case 27:
          if (1 !== ti.languageVariant) return !1
        default:
          return !0
      }
    }
    function Or() {
      if (43 === M() || 44 === M()) {
        var t = te(192)
        return (t.operator = M()), L(), (t.operand = Fr()), ne(t)
      }
      if (1 === ti.languageVariant && 27 === M() && U(Se)) return Lr(!0)
      var r = Fr()
      if (
        (e.Debug.assert(e.isLeftHandSideExpression(r)),
        (43 === M() || 44 === M()) && !li.hasPrecedingLineBreak())
      ) {
        var t = te(193, r.pos)
        return (t.operand = r), (t.operator = M()), L(), ne(t)
      }
      return r
    }
    function Fr() {
      var e = 97 === M() ? Rr() : Ir()
      return Qr(e)
    }
    function Ir() {
      var e = en()
      return Xr(e)
    }
    function Rr() {
      var t = Z()
      if (19 === M() || 23 === M() || 21 === M()) return t
      var r = te(179, t.pos)
      return (
        (r.expression = t),
        Y(
          23,
          !1,
          e.Diagnostics
            .super_must_be_followed_by_an_argument_list_or_member_access
        ),
        (r.name = Ge(!0)),
        ne(r)
      )
    }
    function Mr(e, t) {
      return (
        e.kind === t.kind &&
        (71 === e.kind
          ? e.text === t.text
          : 99 === e.kind ||
            (e.name.text === t.name.text && Mr(e.expression, t.expression)))
      )
    }
    function Lr(t) {
      var r,
        n = jr(t)
      if (251 === n.kind) {
        var a = te(249, n.pos)
        ;(a.openingElement = n),
          (a.children = zr(a.openingElement.tagName)),
          (a.closingElement = Hr(t)),
          Mr(a.openingElement.tagName, a.closingElement.tagName) ||
            O(
              a.closingElement.pos,
              a.closingElement.end - a.closingElement.pos,
              e.Diagnostics.Expected_corresponding_JSX_closing_tag_for_0,
              e.getTextOfNodeFromSourceText(ii, a.openingElement.tagName)
            ),
          (r = ne(a))
      } else e.Debug.assert(250 === n.kind), (r = n)
      if (t && 27 === M()) {
        var i = W(function() {
          return Lr(!0)
        })
        if (i) {
          P(e.Diagnostics.JSX_expressions_must_have_one_parent_element)
          var o = te(194, r.pos)
          return (
            (o.end = i.end),
            (o.left = r),
            (o.right = i),
            (o.operatorToken = ae(26, !1, void 0)),
            (o.operatorToken.pos = o.operatorToken.end = o.right.pos),
            o
          )
        }
      }
      return r
    }
    function Br() {
      var e = te(10, li.getStartPos())
      return (
        (e.containsOnlyWhiteSpaces = 11 === ai), (ai = li.scanJsxToken()), ne(e)
      )
    }
    function Jr() {
      switch (M()) {
        case 10:
        case 11:
          return Br()
        case 17:
          return qr(!1)
        case 27:
          return Lr(!1)
      }
      e.Debug.fail('Unknown JSX child kind ' + M())
    }
    function zr(t) {
      var r = re(),
        n = ui
      for (ui |= 16384; ; ) {
        if (((ai = li.reScanJsxToken()), 28 === M())) break
        if (1 === M()) {
          O(
            t.pos,
            t.end - t.pos,
            e.Diagnostics.JSX_element_0_has_no_corresponding_closing_tag,
            e.getTextOfNodeFromSourceText(ii, t)
          )
          break
        }
        if (7 === M()) break
        var a = Jr()
        a && r.push(a)
      }
      return (r.end = li.getTokenPos()), (ui = n), r
    }
    function Kr() {
      var e = te(254)
      return (e.properties = we(13, Ur)), ne(e)
    }
    function jr(e) {
      var t = li.getStartPos()
      G(27)
      var r,
        n = Vr(),
        a = Kr()
      return (
        29 === M()
          ? ((r = te(251, t)), j())
          : (G(41), e ? G(29) : (G(29, void 0, !1), j()), (r = te(250, t))),
        (r.tagName = n),
        (r.attributes = a),
        ne(r)
      )
    }
    function Vr() {
      K()
      for (var e = 99 === M() ? Z() : ce(); X(23); ) {
        var t = te(179, e.pos)
        ;(t.expression = e), (t.name = Ge(!0)), (e = ne(t))
      }
      return e
    }
    function qr(e) {
      var t = te(256)
      return (
        G(17),
        18 !== M() && ((t.dotDotDotToken = Q(24)), (t.expression = rr())),
        e ? G(18) : (G(18, void 0, !1), j()),
        ne(t)
      )
    }
    function Ur() {
      if (17 === M()) return Wr()
      K()
      var e = te(253)
      if (((e.name = ce()), 58 === M()))
        switch (V()) {
          case 9:
            e.initializer = Ye()
            break
          default:
            e.initializer = qr(!0)
        }
      return ne(e)
    }
    function Wr() {
      var e = te(255)
      return G(17), G(24), (e.expression = er()), G(18), ne(e)
    }
    function Hr(e) {
      var t = te(252)
      return (
        G(28), (t.tagName = Vr()), e ? G(29) : (G(29, void 0, !1), j()), ne(t)
      )
    }
    function Gr() {
      var e = te(184)
      return G(27), (e.type = Gt()), G(29), (e.expression = wr()), ne(e)
    }
    function Xr(e) {
      for (;;) {
        var t = Q(23)
        if (t) {
          var r = te(179, e.pos)
          ;(r.expression = e), (r.name = Ge(!0)), (e = ne(r))
        } else if (51 !== M() || li.hasPrecedingLineBreak())
          if (A() || !X(21)) {
            if (13 !== M() && 14 !== M()) return e
            var n = te(183, e.pos)
            ;(n.tag = e), (n.template = 13 === M() ? Ye() : Xe()), (e = ne(n))
          } else {
            var a = te(180, e.pos)
            if (
              ((a.expression = e),
              22 !== M() &&
                ((a.argumentExpression = h(er)),
                9 === a.argumentExpression.kind ||
                  8 === a.argumentExpression.kind))
            ) {
              var i = a.argumentExpression
              i.text = ie(i.text)
            }
            G(22), (e = ne(a))
          }
        else {
          L()
          var o = te(203, e.pos)
          ;(o.expression = e), (e = ne(o))
        }
      }
    }
    function Qr(e) {
      for (;;)
        if (((e = Xr(e)), 27 !== M())) {
          if (19 !== M()) return e
          var t = te(181, e.pos)
          ;(t.expression = e), (t.arguments = Yr()), (e = ne(t))
        } else {
          var r = W(Zr)
          if (!r) return e
          var t = te(181, e.pos)
          ;(t.expression = e),
            (t.typeArguments = r),
            (t.arguments = Yr()),
            (e = ne(t))
        }
    }
    function Yr() {
      G(19)
      var e = qe(11, an)
      return G(20), e
    }
    function Zr() {
      if (X(27)) {
        var e = qe(19, Gt)
        if (G(29)) return e && $r() ? e : void 0
      }
    }
    function $r() {
      switch (M()) {
        case 19:
        case 23:
        case 20:
        case 22:
        case 56:
        case 25:
        case 55:
        case 32:
        case 34:
        case 33:
        case 35:
        case 53:
        case 54:
        case 50:
        case 48:
        case 49:
        case 18:
        case 1:
          return !0
        case 26:
        case 17:
        default:
          return !1
      }
    }
    function en() {
      switch (M()) {
        case 8:
        case 9:
        case 13:
          return Ye()
        case 99:
        case 97:
        case 95:
        case 101:
        case 86:
          return Z()
        case 19:
          return tn()
        case 21:
          return on()
        case 17:
          return un()
        case 120:
          if (!U(In)) break
          return _n()
        case 75:
          return fa()
        case 89:
          return _n()
        case 94:
          return dn()
        case 41:
        case 63:
          if (12 === J()) return Ye()
          break
        case 14:
          return Xe()
      }
      return se(e.Diagnostics.Expression_expected)
    }
    function tn() {
      var e = te(185)
      return G(19), (e.expression = h(er)), G(20), ne(e)
    }
    function rn() {
      var e = te(198)
      return G(24), (e.expression = rr()), ne(e)
    }
    function nn() {
      return 24 === M() ? rn() : 26 === M() ? te(200) : rr()
    }
    function an() {
      return y(di, nn)
    }
    function on() {
      var e = te(177)
      return (
        G(21),
        li.hasPrecedingLineBreak() && (e.multiLine = !0),
        (e.elements = qe(15, nn)),
        G(22),
        ne(e)
      )
    }
    function sn(e, t, r) {
      return ge(125) ? sa(153, e, t, r) : ge(135) ? sa(154, e, t, r) : void 0
    }
    function cn() {
      var e = li.getStartPos(),
        t = Q(24)
      if (t) {
        var r = te(263, e)
        return (r.expression = rr()), u(ne(r))
      }
      var n = _a(),
        a = la(),
        i = sn(e, n, a)
      if (i) return i
      var o = Q(39),
        s = H(),
        c = le(),
        _ = Q(55)
      if (o || 19 === M() || 27 === M()) return na(e, n, a, o, c, _)
      var l = s && (26 === M() || 18 === M() || 58 === M())
      if (l) {
        var d = te(262, e)
        ;(d.name = c), (d.questionToken = _)
        var p = Q(58)
        return (
          p && ((d.equalsToken = p), (d.objectAssignmentInitializer = h(rr))),
          u(ne(d))
        )
      }
      var f = te(261, e)
      return (
        (f.modifiers = a),
        (f.name = c),
        (f.questionToken = _),
        G(56),
        (f.initializer = h(rr)),
        u(ne(f))
      )
    }
    function un() {
      var e = te(178)
      return (
        G(17),
        li.hasPrecedingLineBreak() && (e.multiLine = !0),
        (e.properties = qe(12, cn, !0)),
        G(18),
        ne(e)
      )
    }
    function _n() {
      var t = A()
      t && g(!1)
      var r = te(186)
      ;(r.modifiers = la()), G(89), (r.asteriskToken = Q(39))
      var n = !!r.asteriskToken,
        a = !!(256 & e.getModifierFlags(r))
      return (
        (r.name = n && a ? D(ln) : n ? k(ln) : a ? C(ln) : ln()),
        dt(56, n, a, !1, r),
        (r.body = fn(n, a, !1)),
        t && g(!0),
        u(ne(r))
      )
    }
    function ln() {
      return H() ? se() : void 0
    }
    function dn() {
      var e = li.getStartPos()
      if ((G(94), X(23))) {
        var t = te(204, e)
        return (t.keywordToken = 94), (t.name = ce()), ne(t)
      }
      var r = te(182, e)
      return (
        (r.expression = Ir()),
        (r.typeArguments = W(Zr)),
        (r.typeArguments || 19 === M()) && (r.arguments = Yr()),
        ne(r)
      )
    }
    function pn(e, t) {
      var r = te(207)
      return (
        G(17, t) || e
          ? (li.hasPrecedingLineBreak() && (r.multiLine = !0),
            (r.statements = we(1, Kn)),
            G(18))
          : (r.statements = Ue()),
        ne(r)
      )
    }
    function fn(e, t, r, n) {
      var a = E()
      f(e)
      var i = w()
      m(t)
      var o = A()
      o && g(!1)
      var s = pn(r, n)
      return o && g(!0), f(a), m(i), s
    }
    function gn() {
      var e = te(209)
      return G(25), ne(e)
    }
    function mn() {
      var e = te(211)
      return (
        G(90),
        G(19),
        (e.expression = h(er)),
        G(20),
        (e.thenStatement = Kn()),
        (e.elseStatement = X(82) ? Kn() : void 0),
        ne(e)
      )
    }
    function yn() {
      var e = te(212)
      return (
        G(81),
        (e.statement = Kn()),
        G(106),
        G(19),
        (e.expression = h(er)),
        G(20),
        X(25),
        ne(e)
      )
    }
    function vn() {
      var e = te(213)
      return (
        G(106),
        G(19),
        (e.expression = h(er)),
        G(20),
        (e.statement = Kn()),
        ne(e)
      )
    }
    function hn() {
      var e = I()
      G(88)
      var t = Q(121)
      G(19)
      var r = void 0
      25 !== M() &&
        (r = 104 === M() || 110 === M() || 76 === M() ? Zn(!0) : b(er))
      var n
      if (t ? G(142) : X(142)) {
        var a = te(216, e)
        ;(a.awaitModifier = t),
          (a.initializer = r),
          (a.expression = h(rr)),
          G(20),
          (n = a)
      } else if (X(92)) {
        var i = te(215, e)
        ;(i.initializer = r), (i.expression = h(er)), G(20), (n = i)
      } else {
        var o = te(214, e)
        ;(o.initializer = r),
          G(25),
          25 !== M() && 20 !== M() && (o.condition = h(er)),
          G(25),
          20 !== M() && (o.incrementor = h(er)),
          G(20),
          (n = o)
      }
      return (n.statement = Kn()), ne(n)
    }
    function bn(e) {
      var t = te(e)
      return G(218 === e ? 72 : 77), $() || (t.label = se()), ee(), ne(t)
    }
    function kn() {
      var e = te(219)
      return G(96), $() || (e.expression = h(er)), ee(), ne(e)
    }
    function xn() {
      var e = te(220)
      return (
        G(107),
        G(19),
        (e.expression = h(er)),
        G(20),
        (e.statement = Kn()),
        ne(e)
      )
    }
    function Cn() {
      var e = te(257)
      return (
        G(73), (e.expression = h(er)), G(56), (e.statements = we(3, Kn)), ne(e)
      )
    }
    function Sn() {
      var e = te(258)
      return G(79), G(56), (e.statements = we(3, Kn)), ne(e)
    }
    function Dn() {
      return 73 === M() ? Cn() : Sn()
    }
    function Tn() {
      var e = te(221)
      G(98), G(19), (e.expression = h(er)), G(20)
      var t = te(235, li.getStartPos())
      return G(17), (t.clauses = we(2, Dn)), G(18), (e.caseBlock = ne(t)), ne(e)
    }
    function En() {
      var e = te(223)
      return (
        G(100),
        (e.expression = li.hasPrecedingLineBreak() ? void 0 : h(er)),
        ee(),
        ne(e)
      )
    }
    function Nn() {
      var e = te(224)
      return (
        G(102),
        (e.tryBlock = pn(!1)),
        (e.catchClause = 74 === M() ? An() : void 0),
        (e.catchClause && 87 !== M()) || (G(87), (e.finallyBlock = pn(!1))),
        ne(e)
      )
    }
    function An() {
      var e = te(260)
      return (
        G(74),
        G(19) && (e.variableDeclaration = Yn()),
        G(20),
        (e.block = pn(!1)),
        ne(e)
      )
    }
    function wn() {
      var e = te(225)
      return G(78), ee(), ne(e)
    }
    function Pn() {
      var e = li.getStartPos(),
        t = h(er)
      if (71 === t.kind && X(56)) {
        var r = te(222, e)
        return (r.label = t), (r.statement = Kn()), u(ne(r))
      }
      var n = te(210, e)
      return (n.expression = t), ee(), u(ne(n))
    }
    function On() {
      return (
        L(), e.tokenIsIdentifierOrKeyword(M()) && !li.hasPrecedingLineBreak()
      )
    }
    function Fn() {
      return L(), 75 === M() && !li.hasPrecedingLineBreak()
    }
    function In() {
      return L(), 89 === M() && !li.hasPrecedingLineBreak()
    }
    function Rn() {
      return (
        L(),
        (e.tokenIsIdentifierOrKeyword(M()) || 8 === M()) &&
          !li.hasPrecedingLineBreak()
      )
    }
    function Mn() {
      for (;;)
        switch (M()) {
          case 104:
          case 110:
          case 76:
          case 89:
          case 75:
          case 83:
            return !0
          case 109:
          case 138:
            return ar()
          case 128:
          case 129:
            return Vn()
          case 117:
          case 120:
          case 124:
          case 112:
          case 113:
          case 114:
          case 131:
            if ((L(), li.hasPrecedingLineBreak())) return !1
            continue
          case 141:
            return L(), 17 === M() || 71 === M() || 84 === M()
          case 91:
            return (
              L(),
              9 === M() ||
                39 === M() ||
                17 === M() ||
                e.tokenIsIdentifierOrKeyword(M())
            )
          case 84:
            if (
              (L(),
              58 === M() ||
                39 === M() ||
                17 === M() ||
                79 === M() ||
                118 === M())
            )
              return !0
            continue
          case 115:
            L()
            continue
          default:
            return !1
        }
    }
    function Ln() {
      return U(Mn)
    }
    function Bn() {
      switch (M()) {
        case 57:
        case 25:
        case 17:
        case 104:
        case 110:
        case 89:
        case 75:
        case 83:
        case 90:
        case 81:
        case 106:
        case 88:
        case 77:
        case 72:
        case 96:
        case 107:
        case 98:
        case 100:
        case 102:
        case 78:
        case 74:
        case 87:
          return !0
        case 76:
        case 84:
        case 91:
          return Ln()
        case 120:
        case 124:
        case 109:
        case 128:
        case 129:
        case 138:
        case 141:
          return !0
        case 114:
        case 112:
        case 113:
        case 115:
        case 131:
          return Ln() || !U(On)
        default:
          return Zt()
      }
    }
    function Jn() {
      return L(), H() || 17 === M() || 21 === M()
    }
    function zn() {
      return U(Jn)
    }
    function Kn() {
      switch (M()) {
        case 25:
          return gn()
        case 17:
          return pn(!1)
        case 104:
          return ea(li.getStartPos(), void 0, void 0)
        case 110:
          if (zn()) return ea(li.getStartPos(), void 0, void 0)
          break
        case 89:
          return ta(li.getStartPos(), void 0, void 0)
        case 75:
          return ga(li.getStartPos(), void 0, void 0)
        case 90:
          return mn()
        case 81:
          return yn()
        case 106:
          return vn()
        case 88:
          return hn()
        case 77:
          return bn(217)
        case 72:
          return bn(218)
        case 96:
          return kn()
        case 107:
          return xn()
        case 98:
          return Tn()
        case 100:
          return En()
        case 102:
        case 74:
        case 87:
          return Nn()
        case 78:
          return wn()
        case 57:
          return jn()
        case 120:
        case 109:
        case 138:
        case 128:
        case 129:
        case 124:
        case 76:
        case 83:
        case 84:
        case 91:
        case 112:
        case 113:
        case 114:
        case 117:
        case 115:
        case 131:
        case 141:
          if (Ln()) return jn()
      }
      return Pn()
    }
    function jn() {
      var t = I(),
        r = _a(),
        n = la()
      switch (M()) {
        case 104:
        case 110:
        case 76:
          return ea(t, r, n)
        case 89:
          return ta(t, r, n)
        case 75:
          return ga(t, r, n)
        case 109:
          return Sa(t, r, n)
        case 138:
          return Da(t, r, n)
        case 83:
          return Ea(t, r, n)
        case 141:
        case 128:
        case 129:
          return Pa(t, r, n)
        case 91:
          return Ma(t, r, n)
        case 84:
          switch ((L(), M())) {
            case 79:
            case 58:
              return Ga(t, r, n)
            case 118:
              return Ra(t, r, n)
            default:
              return Ha(t, r, n)
          }
        default:
          if (r || n) {
            var a = ae(247, !0, e.Diagnostics.Declaration_expected)
            return (a.pos = t), (a.decorators = r), (a.modifiers = n), ne(a)
          }
      }
    }
    function Vn() {
      return L(), !li.hasPrecedingLineBreak() && (H() || 9 === M())
    }
    function qn(e, t, r) {
      return 17 !== M() && $() ? void ee() : fn(e, t, !1, r)
    }
    function Un() {
      if (26 === M()) return te(200)
      var e = te(176)
      return (
        (e.dotDotDotToken = Q(24)),
        (e.name = Qn()),
        (e.initializer = _t(!1)),
        ne(e)
      )
    }
    function Wn() {
      var e = te(176)
      e.dotDotDotToken = Q(24)
      var t = H(),
        r = le()
      return (
        t && 56 !== M()
          ? (e.name = r)
          : (G(56), (e.propertyName = r), (e.name = Qn())),
        (e.initializer = _t(!1)),
        ne(e)
      )
    }
    function Hn() {
      var e = te(174)
      return G(17), (e.elements = qe(9, Wn)), G(18), ne(e)
    }
    function Gn() {
      var e = te(175)
      return G(21), (e.elements = qe(10, Un)), G(22), ne(e)
    }
    function Xn() {
      return 17 === M() || 21 === M() || H()
    }
    function Qn() {
      return 21 === M() ? Gn() : 17 === M() ? Hn() : se()
    }
    function Yn() {
      var e = te(226)
      return (
        (e.name = Qn()),
        (e.type = Qt()),
        yr(M()) || (e.initializer = tr(!1)),
        ne(e)
      )
    }
    function Zn(t) {
      var r = te(227)
      switch (M()) {
        case 104:
          break
        case 110:
          r.flags |= 1
          break
        case 76:
          r.flags |= 2
          break
        default:
          e.Debug.fail()
      }
      if ((L(), 142 === M() && U($n))) r.declarations = Ue()
      else {
        var n = N()
        p(t), (r.declarations = qe(8, Yn)), p(n)
      }
      return ne(r)
    }
    function $n() {
      return Ce() && 20 === L()
    }
    function ea(e, t, r) {
      var n = te(208, e)
      return (
        (n.decorators = t),
        (n.modifiers = r),
        (n.declarationList = Zn(!1)),
        ee(),
        u(ne(n))
      )
    }
    function ta(t, r, n) {
      var a = te(228, t)
      ;(a.decorators = r),
        (a.modifiers = n),
        G(89),
        (a.asteriskToken = Q(39)),
        (a.name = e.hasModifier(a, 512) ? ln() : se())
      var i = !!a.asteriskToken,
        o = e.hasModifier(a, 256)
      return (
        dt(56, i, o, !1, a),
        (a.body = qn(i, o, e.Diagnostics.or_expected)),
        u(ne(a))
      )
    }
    function ra(t, r, n) {
      var a = te(152, t)
      return (
        (a.decorators = r),
        (a.modifiers = n),
        G(123),
        dt(56, !1, !1, !1, a),
        (a.body = qn(!1, !1, e.Diagnostics.or_expected)),
        u(ne(a))
      )
    }
    function na(t, r, n, a, i, o, s) {
      var c = te(151, t)
      ;(c.decorators = r),
        (c.modifiers = n),
        (c.asteriskToken = a),
        (c.name = i),
        (c.questionToken = o)
      var _ = !!a,
        l = e.hasModifier(c, 256)
      return dt(56, _, l, !1, c), (c.body = qn(_, l, s)), u(ne(c))
    }
    function aa(t, r, n, a, i) {
      var o = te(149, t)
      return (
        (o.decorators = r),
        (o.modifiers = n),
        (o.name = a),
        (o.questionToken = i),
        (o.type = Qt()),
        (o.initializer = e.hasModifier(o, 32) ? h(oa) : y(6144, oa)),
        ee(),
        u(ne(o))
      )
    }
    function ia(t, r, n) {
      var a = Q(39),
        i = le(),
        o = Q(55)
      return a || 19 === M() || 27 === M()
        ? na(t, r, n, a, i, o, e.Diagnostics.or_expected)
        : aa(t, r, n, i, o)
    }
    function oa() {
      return tr(!1)
    }
    function sa(e, t, r, n) {
      var a = te(e, t)
      return (
        (a.decorators = r),
        (a.modifiers = n),
        (a.name = le()),
        dt(56, !1, !1, !1, a),
        (a.body = qn(!1, !1)),
        u(ne(a))
      )
    }
    function ca(e) {
      switch (e) {
        case 114:
        case 112:
        case 113:
        case 115:
        case 131:
          return !0
        default:
          return !1
      }
    }
    function ua() {
      var t
      if (57 === M()) return !0
      for (; e.isModifierKind(M()); ) {
        if (((t = M()), ca(t))) return !0
        L()
      }
      if (39 === M()) return !0
      if ((ue() && ((t = M()), L()), 21 === M())) return !0
      if (void 0 !== t) {
        if (!e.isKeyword(t) || 135 === t || 125 === t) return !0
        switch (M()) {
          case 19:
          case 27:
          case 56:
          case 58:
          case 55:
            return !0
          default:
            return $()
        }
      }
      return !1
    }
    function _a() {
      for (var e; ; ) {
        var t = I()
        if (!X(57)) break
        var r = te(147, t)
        ;(r.expression = x(Fr)), ne(r), e ? e.push(r) : (e = re([r], t))
      }
      return e && (e.end = R()), e
    }
    function la(e) {
      for (var t; ; ) {
        var r = li.getStartPos(),
          n = M()
        if (76 === M() && e) {
          if (!W(me)) break
        } else if (!ve()) break
        var a = ne(te(n, r))
        t ? t.push(a) : (t = re([a], r))
      }
      return t && (t.end = li.getStartPos()), t
    }
    function da() {
      var e
      if (120 === M()) {
        var t = li.getStartPos(),
          r = M()
        L()
        var n = ne(te(r, t))
        ;(e = re([n], t)), (e.end = li.getStartPos())
      }
      return e
    }
    function pa() {
      if (25 === M()) {
        var t = te(206)
        return L(), ne(t)
      }
      var r = I(),
        n = _a(),
        a = la(!0),
        i = sn(r, n, a)
      if (i) return i
      if (123 === M()) return ra(r, n, a)
      if (mt()) return vt(r, n, a)
      if (
        e.tokenIsIdentifierOrKeyword(M()) ||
        9 === M() ||
        8 === M() ||
        39 === M() ||
        21 === M()
      )
        return ia(r, n, a)
      if (n || a) {
        var o = ae(71, !0, e.Diagnostics.Declaration_expected)
        return aa(r, n, a, o, void 0)
      }
      e.Debug.fail(
        'Should not have attempted to parse class member declaration.'
      )
    }
    function fa() {
      return ma(li.getStartPos(), void 0, void 0, 199)
    }
    function ga(e, t, r) {
      return ma(e, t, r, 229)
    }
    function ma(e, t, r, n) {
      var a = te(n, e)
      return (
        (a.decorators = t),
        (a.modifiers = r),
        G(75),
        (a.name = ya()),
        (a.typeParameters = ot()),
        (a.heritageClauses = ha()),
        G(17) ? ((a.members = Ca()), G(18)) : (a.members = Ue()),
        u(ne(a))
      )
    }
    function ya() {
      return H() && !va() ? se() : void 0
    }
    function va() {
      return 108 === M() && U(Se)
    }
    function ha() {
      if (xa()) return we(21, ba)
    }
    function ba() {
      var e = M()
      if (85 === e || 108 === e) {
        var t = te(259)
        return (t.token = e), L(), (t.types = qe(7, ka)), ne(t)
      }
    }
    function ka() {
      var e = te(201)
      return (
        (e.expression = Fr()),
        27 === M() && (e.typeArguments = We(19, Gt, 27, 29)),
        ne(e)
      )
    }
    function xa() {
      return 85 === M() || 108 === M()
    }
    function Ca() {
      return we(5, pa)
    }
    function Sa(e, t, r) {
      var n = te(230, e)
      return (
        (n.decorators = t),
        (n.modifiers = r),
        G(109),
        (n.name = se()),
        (n.typeParameters = ot()),
        (n.heritageClauses = ha()),
        (n.members = St()),
        u(ne(n))
      )
    }
    function Da(e, t, r) {
      var n = te(231, e)
      return (
        (n.decorators = t),
        (n.modifiers = r),
        G(138),
        (n.name = se()),
        (n.typeParameters = ot()),
        G(58),
        (n.type = Gt()),
        ee(),
        u(ne(n))
      )
    }
    function Ta() {
      var e = te(264, li.getStartPos())
      return (e.name = le()), (e.initializer = h(oa)), u(ne(e))
    }
    function Ea(e, t, r) {
      var n = te(232, e)
      return (
        (n.decorators = t),
        (n.modifiers = r),
        G(83),
        (n.name = se()),
        G(17) ? ((n.members = qe(6, Ta)), G(18)) : (n.members = Ue()),
        u(ne(n))
      )
    }
    function Na() {
      var e = te(234, li.getStartPos())
      return (
        G(17) ? ((e.statements = we(1, Kn)), G(18)) : (e.statements = Ue()),
        ne(e)
      )
    }
    function Aa(e, t, r, n) {
      var a = te(233, e),
        i = 16 & n
      return (
        (a.decorators = t),
        (a.modifiers = r),
        (a.flags |= n),
        (a.name = se()),
        (a.body = X(23) ? Aa(I(), void 0, void 0, 4 | i) : Na()),
        u(ne(a))
      )
    }
    function wa(e, t, r) {
      var n = te(233, e)
      return (
        (n.decorators = t),
        (n.modifiers = r),
        141 === M() ? ((n.name = se()), (n.flags |= 512)) : (n.name = Ye(!0)),
        17 === M() ? (n.body = Na()) : ee(),
        ne(n)
      )
    }
    function Pa(e, t, r) {
      var n = 0
      if (141 === M()) return wa(e, t, r)
      if (X(129)) n |= 16
      else if ((G(128), 9 === M())) return wa(e, t, r)
      return Aa(e, t, r, n)
    }
    function Oa() {
      return 132 === M() && U(Fa)
    }
    function Fa() {
      return 19 === L()
    }
    function Ia() {
      return 41 === L()
    }
    function Ra(e, t, r) {
      var n = te(236, e)
      return (
        (n.decorators = t),
        (n.modifiers = r),
        G(118),
        G(129),
        (n.name = se()),
        ee(),
        ne(n)
      )
    }
    function Ma(e, t, r) {
      G(91)
      var n,
        a = li.getStartPos()
      if (H() && ((n = se()), 26 !== M() && 140 !== M())) return La(e, t, r, n)
      var i = te(238, e)
      return (
        (i.decorators = t),
        (i.modifiers = r),
        (n || 39 === M() || 17 === M()) &&
          ((i.importClause = Ba(n, a)), G(140)),
        (i.moduleSpecifier = Ka()),
        ee(),
        ne(i)
      )
    }
    function La(e, t, r, n) {
      var a = te(237, e)
      return (
        (a.decorators = t),
        (a.modifiers = r),
        (a.name = n),
        G(58),
        (a.moduleReference = Ja()),
        ee(),
        u(ne(a))
      )
    }
    function Ba(e, t) {
      var r = te(239, t)
      return (
        e && (r.name = e),
        (r.name && !X(26)) || (r.namedBindings = 39 === M() ? ja() : Va(241)),
        ne(r)
      )
    }
    function Ja() {
      return Oa() ? za() : He(!1)
    }
    function za() {
      var e = te(248)
      return G(132), G(19), (e.expression = Ka()), G(20), ne(e)
    }
    function Ka() {
      if (9 === M()) {
        var e = Ye()
        return ie(e.text), e
      }
      return er()
    }
    function ja() {
      var e = te(240)
      return G(39), G(118), (e.name = se()), ne(e)
    }
    function Va(e) {
      var t = te(e)
      return (t.elements = We(22, 241 === e ? Ua : qa, 17, 18)), ne(t)
    }
    function qa() {
      return Wa(246)
    }
    function Ua() {
      return Wa(242)
    }
    function Wa(t) {
      var r = te(t),
        n = e.isKeyword(M()) && !H(),
        a = li.getTokenPos(),
        i = li.getTextPos(),
        o = ce()
      return (
        118 === M()
          ? ((r.propertyName = o),
            G(118),
            (n = e.isKeyword(M()) && !H()),
            (a = li.getTokenPos()),
            (i = li.getTextPos()),
            (r.name = ce()))
          : (r.name = o),
        242 === t && n && O(a, i - a, e.Diagnostics.Identifier_expected),
        ne(r)
      )
    }
    function Ha(e, t, r) {
      var n = te(244, e)
      return (
        (n.decorators = t),
        (n.modifiers = r),
        X(39)
          ? (G(140), (n.moduleSpecifier = Ka()))
          : ((n.exportClause = Va(245)),
            (140 === M() || (9 === M() && !li.hasPrecedingLineBreak())) &&
              (G(140), (n.moduleSpecifier = Ka()))),
        ee(),
        ne(n)
      )
    }
    function Ga(e, t, r) {
      var n = te(243, e)
      return (
        (n.decorators = t),
        (n.modifiers = r),
        X(58) ? (n.isExportEquals = !0) : G(79),
        (n.expression = rr()),
        ee(),
        ne(n)
      )
    }
    function Xa(t) {
      for (
        var r,
          n = e.createScanner(t.languageVersion, !1, 0, ii),
          a = [],
          i = [],
          o = [],
          s = void 0;
        ;

      ) {
        var c = n.scan()
        if (2 !== c) {
          if (e.isTrivia(c)) continue
          break
        }
        var u = {
            kind: n.getToken(),
            pos: n.getTokenPos(),
            end: n.getTextPos()
          },
          _ = ii.substring(u.pos, u.end),
          l = e.getFileReferenceFromReferencePath(_, u)
        if (l) {
          var d = l.fileReference
          t.hasNoDefaultLib = l.isNoDefaultLib
          var p = l.diagnosticMessage
          d && (l.isTypeReferenceDirective ? i.push(d) : a.push(d)),
            p && ri.push(e.createFileDiagnostic(t, u.pos, u.end - u.pos, p))
        } else {
          var f = /^\/\/\/\s*<amd-module\s+name\s*=\s*('|")(.+?)\1/gim,
            g = f.exec(_)
          g &&
            (r &&
              ri.push(
                e.createFileDiagnostic(
                  t,
                  u.pos,
                  u.end - u.pos,
                  e.Diagnostics
                    .An_AMD_module_cannot_have_multiple_name_assignments
                )
              ),
            (r = g[2]))
          var m = /^\/\/\/\s*<amd-dependency\s/gim,
            y = /\spath\s*=\s*('|")(.+?)\1/gim,
            v = /\sname\s*=\s*('|")(.+?)\1/gim,
            h = m.exec(_)
          if (h) {
            var b = y.exec(_),
              k = v.exec(_)
            if (b) {
              var x = { path: b[2], name: k ? k[2] : void 0 }
              o.push(x)
            }
          }
          var C = /^\/\/\/?\s*(@ts-check|@ts-nocheck)\s*$/gim,
            S = C.exec(_)
          S &&
            (s = {
              enabled: 0 === e.compareStrings(S[1], '@ts-check', !0),
              end: u.end,
              pos: u.pos
            })
        }
      }
      ;(t.referencedFiles = a),
        (t.typeReferenceDirectives = i),
        (t.amdDependencies = o),
        (t.moduleName = r),
        (t.checkJsDirective = s)
    }
    function Qa(t) {
      t.externalModuleIndicator = e.forEach(t.statements, function(t) {
        return e.hasModifier(t, 1) ||
          (237 === t.kind && 248 === t.moduleReference.kind) ||
          238 === t.kind ||
          243 === t.kind ||
          244 === t.kind
          ? t
          : void 0
      })
    }
    var Ya,
      Za,
      $a,
      ei,
      ti,
      ri,
      ni,
      ai,
      ii,
      oi,
      si,
      ci,
      ui,
      _i,
      li = e.createScanner(5, !0),
      di = 10240,
      pi = !1
    ;(t.parseSourceFile = r),
      (t.parseIsolatedEntityName = n),
      (t.fixupParentReferences = _)
    var fi
    !(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.RestProperties = 17)] = 'RestProperties'),
        (e[(e.TypeParameters = 18)] = 'TypeParameters'),
        (e[(e.TypeArguments = 19)] = 'TypeArguments'),
        (e[(e.TupleElementTypes = 20)] = 'TupleElementTypes'),
        (e[(e.HeritageClauses = 21)] = 'HeritageClauses'),
        (e[(e.ImportOrExportSpecifiers = 22)] = 'ImportOrExportSpecifiers'),
        (e[(e.JSDocFunctionParameters = 23)] = 'JSDocFunctionParameters'),
        (e[(e.JSDocTypeArguments = 24)] = 'JSDocTypeArguments'),
        (e[(e.JSDocRecordMembers = 25)] = 'JSDocRecordMembers'),
        (e[(e.JSDocTupleTypes = 26)] = 'JSDocTupleTypes'),
        (e[(e.Count = 27)] = 'Count')
    })(fi || (fi = {}))
    var gi
    !(function(e) {
      ;(e[(e.False = 0)] = 'False'),
        (e[(e.True = 1)] = 'True'),
        (e[(e.Unknown = 2)] = 'Unknown')
    })(gi || (gi = {}))
    var mi
    !(function(t) {
      function r() {
        switch (M()) {
          case 39:
          case 55:
          case 19:
          case 21:
          case 51:
          case 17:
          case 89:
          case 24:
          case 94:
          case 99:
            return !0
        }
        return e.tokenIsIdentifierOrKeyword(M())
      }
      function n(e, t, r) {
        o(e, 5, void 0, 1),
          (ti = l('file.js', 5, 1)),
          li.setText(e, t, r),
          (ai = li.scan())
        var n = a(),
          i = ri
        return s(), n ? { jsDocTypeExpression: n, diagnostics: i } : void 0
      }
      function a() {
        var e = te(267, li.getTokenPos())
        return G(17), (e.type = i()), G(18), _(e), ne(e)
      }
      function i() {
        var e = c()
        if (49 === M()) {
          var t = te(271, e.pos)
          ;(t.types = T(e)), (e = ne(t))
        }
        if (58 === M()) {
          var r = te(278, e.pos)
          L(), (r.type = e), (e = ne(r))
        }
        return e
      }
      function c() {
        for (var e = u(); ; )
          if (21 === M()) {
            var t = te(270, e.pos)
            ;(t.elementType = e), L(), G(22), (e = ne(t))
          } else if (55 === M()) {
            var r = te(273, e.pos)
            ;(r.type = e), L(), (e = ne(r))
          } else {
            if (51 !== M()) break
            var n = te(274, e.pos)
            ;(n.type = e), L(), (e = ne(n))
          }
        return e
      }
      function u() {
        switch (M()) {
          case 39:
            return E()
          case 55:
            return A()
          case 19:
            return D()
          case 21:
            return C()
          case 51:
            return x()
          case 17:
            return k()
          case 89:
            return g()
          case 24:
            return f()
          case 94:
            return p()
          case 99:
            return d()
          case 119:
          case 136:
          case 133:
          case 122:
          case 137:
          case 105:
          case 95:
          case 139:
          case 130:
          case 134:
            return Z()
          case 9:
          case 8:
          case 101:
          case 86:
            return N()
        }
        return y()
      }
      function d() {
        var e = te(282)
        return L(), G(56), (e.type = c()), ne(e)
      }
      function p() {
        var e = te(281)
        return L(), G(56), (e.type = c()), ne(e)
      }
      function f() {
        var e = te(280)
        return L(), (e.type = c()), ne(e)
      }
      function g() {
        var e = te(279)
        return (
          L(),
          G(19),
          (e.parameters = qe(23, m)),
          S(e.parameters),
          G(20),
          56 === M() && (L(), (e.type = c())),
          ne(e)
        )
      }
      function m() {
        var e = te(146)
        return (e.type = c()), X(58) && (e.questionToken = te(58)), ne(e)
      }
      function y() {
        var e = te(277)
        if (((e.name = de()), 27 === M())) e.typeArguments = v()
        else
          for (; X(23); ) {
            if (27 === M()) {
              e.typeArguments = v()
              break
            }
            e.name = b(e.name)
          }
        return ne(e)
      }
      function v() {
        L()
        var e = qe(24, c)
        return S(e), h(e), G(29), e
      }
      function h(t) {
        if (0 === ri.length && t && 0 === t.length) {
          var r = t.pos - '<'.length,
            n = e.skipTrivia(ii, t.end) + '>'.length
          return O(r, n - r, e.Diagnostics.Type_argument_list_cannot_be_empty)
        }
      }
      function b(e) {
        var t = te(143, e.pos)
        return (t.left = e), (t.right = ce()), ne(t)
      }
      function k() {
        var e = te(275)
        return (e.literal = Ct()), ne(e)
      }
      function x() {
        var e = te(274)
        return L(), (e.type = c()), ne(e)
      }
      function C() {
        var e = te(272)
        return L(), (e.types = qe(26, c)), S(e.types), G(22), ne(e)
      }
      function S(t) {
        if (0 === ri.length && t.hasTrailingComma) {
          var r = t.end - ','.length
          O(r, ','.length, e.Diagnostics.Trailing_comma_not_allowed)
        }
      }
      function D() {
        var e = te(271)
        return L(), (e.types = T(c())), G(20), ne(e)
      }
      function T(t) {
        e.Debug.assert(!!t)
        for (var r = re([t], t.pos); X(49); ) r.push(c())
        return (r.end = li.getStartPos()), r
      }
      function E() {
        var e = te(268)
        return L(), ne(e)
      }
      function N() {
        var e = te(293)
        return (e.literal = Ot()), ne(e)
      }
      function A() {
        var e = li.getStartPos()
        if (
          (L(),
          26 === M() ||
            18 === M() ||
            20 === M() ||
            29 === M() ||
            58 === M() ||
            49 === M())
        ) {
          var t = te(269, e)
          return ne(t)
        }
        var t = te(273, e)
        return (t.type = c()), ne(t)
      }
      function w(e, t, r) {
        o(e, 5, void 0, 1), (ti = { languageVariant: 0, text: e })
        var n = I(t, r),
          a = ri
        return s(), n ? { jsDoc: n, diagnostics: a } : void 0
      }
      function F(e, t, r) {
        var n = ai,
          a = ri.length,
          i = pi,
          o = I(t, r)
        return o && (o.parent = e), (ai = n), (ri.length = a), (pi = i), o
      }
      function I(t, r) {
        function n(e) {
          for (; e.length && ('\n' === e[0] || '\r' === e[0]); ) e.shift()
        }
        function i(e) {
          for (
            ;
            e.length && ('\n' === e[e.length - 1] || '\r' === e[e.length - 1]);

          )
            e.pop()
        }
        function o(e, t) {
          return (
            47 === e.charCodeAt(t) &&
            42 === e.charCodeAt(t + 1) &&
            42 === e.charCodeAt(t + 2) &&
            42 !== e.charCodeAt(t + 3)
          )
        }
        function s() {
          var e = te(283, t)
          return (
            (e.tags = E), (e.comment = A.length ? A.join('') : void 0), ne(e, T)
          )
        }
        function c() {
          for (; 5 === M() || 4 === M(); ) x()
        }
        function u(t) {
          e.Debug.assert(57 === M())
          var r = te(57, li.getTokenPos())
          ;(r.end = li.getTextPos()), x()
          var n = C()
          if ((c(), n)) {
            var a
            if (n)
              switch (n.text) {
                case 'augments':
                  a = v(r, n)
                  break
                case 'param':
                  a = f(r, n)
                  break
                case 'return':
                case 'returns':
                  a = g(r, n)
                  break
                case 'template':
                  a = k(r, n)
                  break
                case 'type':
                  a = m(r, n)
                  break
                case 'typedef':
                  a = h(r, n)
                  break
                default:
                  a = l(r, n)
              }
            else a = l(r, n)
            a && d(a, _(t + a.end - a.pos))
          }
        }
        function _(e) {
          function t(t) {
            r || (r = e), a.push(t), (e += t.length)
          }
          for (var r, a = [], o = 0; 57 !== M() && 1 !== M(); ) {
            switch (M()) {
              case 4:
                o >= 1 && ((o = 0), a.push(li.getTokenText())), (e = 0)
                break
              case 57:
                break
              case 5:
                if (2 === o) t(li.getTokenText())
                else {
                  var s = li.getTokenText()
                  void 0 !== r &&
                    e + s.length > r &&
                    a.push(s.slice(r - e - 1)),
                    (e += s.length)
                }
                break
              case 39:
                if (0 === o) {
                  ;(o = 1), (e += li.getTokenText().length)
                  break
                }
              default:
                ;(o = 2), t(li.getTokenText())
            }
            if (57 === M()) break
            x()
          }
          return n(a), i(a), a
        }
        function l(e, t) {
          var r = te(284, e.pos)
          return (r.atToken = e), (r.tagName = t), ne(r)
        }
        function d(e, t) {
          ;(e.comment = t.join('')),
            E ? E.push(e) : (E = re([e], e.pos)),
            (E.end = e.end)
        }
        function p() {
          return W(function() {
            if ((c(), 17 === M())) return a()
          })
        }
        function f(t, r) {
          var n = p()
          c()
          var a, i
          if (
            (Q(21)
              ? ((a = C()), c(), (i = !0), Q(58) && er(), G(22))
              : e.tokenIsIdentifierOrKeyword(M()) && (a = C()),
            !a)
          )
            return void O(
              li.getStartPos(),
              0,
              e.Diagnostics.Identifier_expected
            )
          var o, s
          n ? (s = a) : (o = a), n || (n = p())
          var u = te(286, t.pos)
          return (
            (u.atToken = t),
            (u.tagName = r),
            (u.preParameterName = o),
            (u.typeExpression = n),
            (u.postParameterName = s),
            (u.parameterName = s || o),
            (u.isBracketed = i),
            ne(u)
          )
        }
        function g(t, r) {
          e.forEach(E, function(e) {
            return 287 === e.kind
          }) &&
            O(
              r.pos,
              li.getTokenPos() - r.pos,
              e.Diagnostics._0_tag_already_specified,
              r.text
            )
          var n = te(287, t.pos)
          return (
            (n.atToken = t), (n.tagName = r), (n.typeExpression = p()), ne(n)
          )
        }
        function m(t, r) {
          e.forEach(E, function(e) {
            return 288 === e.kind
          }) &&
            O(
              r.pos,
              li.getTokenPos() - r.pos,
              e.Diagnostics._0_tag_already_specified,
              r.text
            )
          var n = te(288, t.pos)
          return (
            (n.atToken = t), (n.tagName = r), (n.typeExpression = p()), ne(n)
          )
        }
        function y(t, r) {
          var n = p()
          c()
          var a = C()
          if ((c(), !a))
            return void O(
              li.getStartPos(),
              0,
              e.Diagnostics.Identifier_expected
            )
          var i = te(291, t.pos)
          return (
            (i.atToken = t),
            (i.tagName = r),
            (i.name = a),
            (i.typeExpression = n),
            ne(i)
          )
        }
        function v(e, t) {
          var r = p(),
            n = te(285, e.pos)
          return (n.atToken = e), (n.tagName = t), (n.typeExpression = r), ne(n)
        }
        function h(e, t) {
          function r() {
            for (
              var e = te(292, li.getStartPos()),
                t = li.getStartPos(),
                r = !0,
                n = !1,
                a = !1;
              1 !== M() && !a;

            )
              switch ((x(), M())) {
                case 57:
                  r && ((a = !b(e)), a || (t = li.getStartPos())), (n = !1)
                  break
                case 4:
                  ;(t = li.getStartPos() - 1), (r = !0), (n = !1)
                  break
                case 39:
                  n && (r = !1), (n = !0)
                  break
                case 71:
                  r = !1
                  break
                case 1:
              }
            return li.setTextPos(t), ne(e)
          }
          function n(e) {
            var t = li.getTokenPos(),
              r = C()
            if (r && X(23)) {
              var a = te(233, t)
              return (a.flags |= e), (a.name = r), (a.body = n(4)), a
            }
            return r && 4 & e && (r.isInJSDocNamespace = !0), r
          }
          var a = p()
          c()
          var i = te(290, e.pos)
          if (
            ((i.atToken = e), (i.tagName = t), (i.fullName = n(0)), i.fullName)
          )
            for (var o = i.fullName; ; ) {
              if (71 === o.kind || !o.body) {
                i.name = 71 === o.kind ? o : o.name
                break
              }
              o = o.body
            }
          if (((i.typeExpression = a), c(), a)) {
            if (277 === a.type.kind) {
              var s = a.type
              if (71 === s.name.kind) {
                var u = s.name
                'Object' === u.text && (i.jsDocTypeLiteral = r())
              }
            }
            i.jsDocTypeLiteral || (i.jsDocTypeLiteral = a.type)
          } else i.jsDocTypeLiteral = r()
          return ne(i)
        }
        function b(t) {
          e.Debug.assert(57 === M())
          var r = te(57, li.getStartPos())
          ;(r.end = li.getTextPos()), x()
          var n = C()
          if ((c(), !n)) return !1
          switch (n.text) {
            case 'type':
              return !t.jsDocTypeTag && ((t.jsDocTypeTag = m(r, n)), !0)
            case 'prop':
            case 'property':
              var a = y(r, n)
              return (
                !!a &&
                (t.jsDocPropertyTags || (t.jsDocPropertyTags = []),
                t.jsDocPropertyTags.push(a),
                !0)
              )
          }
          return !1
        }
        function k(t, r) {
          e.forEach(E, function(e) {
            return 289 === e.kind
          }) &&
            O(
              r.pos,
              li.getTokenPos() - r.pos,
              e.Diagnostics._0_tag_already_specified,
              r.text
            )
          for (var n = re(); ; ) {
            var a = C()
            if ((c(), !a))
              return void O(
                li.getStartPos(),
                0,
                e.Diagnostics.Identifier_expected
              )
            var i = te(145, a.pos)
            if (((i.name = a), ne(i), n.push(i), 26 !== M())) break
            x(), c()
          }
          var o = te(289, t.pos)
          return (
            (o.atToken = t),
            (o.tagName = r),
            (o.typeParameters = n),
            ne(o),
            (n.end = o.end),
            o
          )
        }
        function x() {
          return (ai = li.scanJSDocToken())
        }
        function C() {
          return S(e.tokenIsIdentifierOrKeyword(M()))
        }
        function S(t) {
          if (!t) return void P(e.Diagnostics.Identifier_expected)
          var r = li.getTokenPos(),
            n = li.getTextPos(),
            a = te(71, r)
          return (a.text = D.substring(r, n)), ne(a, n), x(), a
        }
        var D = ii
        t = t || 0
        var T = void 0 === r ? D.length : t + r
        ;(r = T - t),
          e.Debug.assert(t >= 0),
          e.Debug.assert(t <= T),
          e.Debug.assert(T <= D.length)
        var E,
          N,
          A = []
        return o(D, t)
          ? (li.scanRange(t + 3, r - 5, function() {
              function e(e) {
                o || (o = c), A.push(e), (c += e.length)
              }
              var r = !0,
                a = 1,
                o = void 0,
                c = t - Math.max(D.lastIndexOf('\n', t), 0) + 4
              for (x(); 5 === M(); ) x()
              for (4 === M() && ((a = 0), (c = 0), x()); 1 !== M(); ) {
                switch (M()) {
                  case 57:
                    0 === a || 1 === a
                      ? (i(A), u(c), (a = 0), (r = !1), (o = void 0), c++)
                      : e(li.getTokenText())
                    break
                  case 4:
                    A.push(li.getTokenText()), (a = 0), (c = 0)
                    break
                  case 39:
                    var _ = li.getTokenText()
                    1 === a || 2 === a
                      ? ((a = 2), e(_))
                      : ((a = 1), (c += _.length))
                    break
                  case 71:
                    e(li.getTokenText()), (a = 2)
                    break
                  case 5:
                    var l = li.getTokenText()
                    2 === a
                      ? A.push(l)
                      : void 0 !== o &&
                        c + l.length > o &&
                        A.push(l.slice(o - c - 1)),
                      (c += l.length)
                    break
                  case 1:
                    break
                  default:
                    ;(a = 2), e(li.getTokenText())
                }
                r ? x() : (r = !0)
              }
              n(A), i(A), (N = s())
            }),
            N)
          : N
      }
      ;(t.isJSDocType = r),
        (t.parseJSDocTypeExpressionForTests = n),
        (t.parseJSDocTypeExpression = a),
        (t.parseIsolatedJSDocComment = w),
        (t.parseJSDocComment = F)
      var R
      !(function(e) {
        ;(e[(e.BeginningOfLine = 0)] = 'BeginningOfLine'),
          (e[(e.SawAsterisk = 1)] = 'SawAsterisk'),
          (e[(e.SavingComments = 2)] = 'SavingComments')
      })(R || (R = {})),
        (t.parseJSDocCommentWorker = I)
    })((mi = t.JSDocParser || (t.JSDocParser = {})))
  })(m || (m = {}))
  var y
  !(function(t) {
    function r(t, r, n, a) {
      if (
        ((a = a || e.Debug.shouldAssert(2)),
        l(t, r, n, a),
        e.textChangeRangeIsUnchanged(n))
      )
        return t
      if (0 === t.statements.length)
        return m.parseSourceFile(
          t.fileName,
          r,
          t.languageVersion,
          void 0,
          !0,
          t.scriptKind
        )
      var i = t
      e.Debug.assert(!i.hasBeenIncrementallyParsed),
        (i.hasBeenIncrementallyParsed = !0)
      var o = t.text,
        s = d(t),
        _ = u(t, n)
      l(t, r, _, a),
        e.Debug.assert(_.span.start <= n.span.start),
        e.Debug.assert(e.textSpanEnd(_.span) === e.textSpanEnd(n.span)),
        e.Debug.assert(
          e.textSpanEnd(e.textChangeRangeNewSpan(_)) ===
            e.textSpanEnd(e.textChangeRangeNewSpan(n))
        )
      var p = e.textChangeRangeNewSpan(_).length - _.span.length
      c(
        i,
        _.span.start,
        e.textSpanEnd(_.span),
        e.textSpanEnd(e.textChangeRangeNewSpan(_)),
        p,
        o,
        r,
        a
      )
      var f = m.parseSourceFile(
        t.fileName,
        r,
        t.languageVersion,
        s,
        !0,
        t.scriptKind
      )
      return f
    }
    function n(t, r, n, o, c, u) {
      function _(t) {
        var r = ''
        if (
          (u && a(t) && (r = o.substring(t.pos, t.end)),
          t._children && (t._children = void 0),
          (t.pos += n),
          (t.end += n),
          u && a(t) && e.Debug.assert(r === c.substring(t.pos, t.end)),
          i(t, _, l),
          t.jsDoc)
        )
          for (var d = 0, p = t.jsDoc; d < p.length; d++) {
            var f = p[d]
            i(f, _, l)
          }
        s(t, u)
      }
      function l(e) {
        ;(e._children = void 0), (e.pos += n), (e.end += n)
        for (var t = 0, r = e; t < r.length; t++) {
          var a = r[t]
          _(a)
        }
      }
      r ? l(t) : _(t)
    }
    function a(e) {
      switch (e.kind) {
        case 9:
        case 8:
        case 71:
          return !0
      }
      return !1
    }
    function o(t, r, n, a, i) {
      e.Debug.assert(
        t.end >= r,
        'Adjusting an element that was entirely before the change range'
      ),
        e.Debug.assert(
          t.pos <= n,
          '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 >= n ? (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, r) {
      if (r) {
        var n = t.pos
        i(t, function(t) {
          e.Debug.assert(t.pos >= n), (n = t.end)
        }),
          e.Debug.assert(n <= t.end)
      }
    }
    function c(t, r, a, c, u, _, l, d) {
      function p(t) {
        if ((e.Debug.assert(t.pos <= t.end), t.pos > a))
          return void n(t, !1, u, _, l, d)
        var g = t.end
        return g >= r
          ? ((t.intersectsChange = !0),
            (t._children = void 0),
            o(t, r, a, c, u),
            i(t, p, f),
            void s(t, d))
          : void e.Debug.assert(g < r)
      }
      function f(t) {
        if ((e.Debug.assert(t.pos <= t.end), t.pos > a))
          return void n(t, !0, u, _, l, d)
        var i = t.end
        if (i >= r) {
          ;(t.intersectsChange = !0), (t._children = void 0), o(t, r, a, c, u)
          for (var s = 0, f = t; s < f.length; s++) {
            var g = f[s]
            p(g)
          }
        } else e.Debug.assert(i < r)
      }
      p(t)
    }
    function u(t, r) {
      for (var n = 1, a = r.span.start, i = 0; a > 0 && i <= n; i++) {
        var o = _(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(r.span)),
        u = r.newLength + (r.span.start - a)
      return e.createTextChangeRange(c, u)
    }
    function _(t, r) {
      function n(e) {
        for (;;) {
          var t = a(e)
          if (!t) return e
          e = t
        }
      }
      function a(t) {
        var r = void 0
        return (
          i(t, function(t) {
            e.nodeIsPresent(t) && (r = t)
          }),
          r
        )
      }
      function o(t) {
        if (!e.nodeIsMissing(t))
          return t.pos <= r
            ? (t.pos >= c.pos && (c = t),
              r < t.end
                ? (i(t, o), !0)
                : (e.Debug.assert(t.end <= r), void (s = t)))
            : (e.Debug.assert(t.pos > r), !0)
      }
      var s,
        c = t
      if ((i(t, o), s)) {
        var u = n(s)
        u.pos > c.pos && (c = u)
      }
      return c
    }
    function l(t, r, n, a) {
      var i = t.text
      if (
        n &&
        (e.Debug.assert(i.length - n.span.length + n.newLength === r.length),
        a || e.Debug.shouldAssert(3))
      ) {
        var o = i.substr(0, n.span.start),
          s = r.substr(0, n.span.start)
        e.Debug.assert(o === s)
        var c = i.substring(e.textSpanEnd(n.span), i.length),
          u = r.substring(e.textSpanEnd(e.textChangeRangeNewSpan(n)), r.length)
        e.Debug.assert(c === u)
      }
    }
    function d(t) {
      function r(e) {
        function r(t) {
          return e >= t.pos && e < t.end && (i(t, r, s), !0)
        }
        function s(t) {
          if (e >= t.pos && e < t.end)
            for (var c = 0; c < t.length; c++) {
              var u = t[c]
              if (u) {
                if (u.pos === e) return (n = t), (a = c), (o = u), !0
                if (u.pos < e && e < u.end) return i(u, r, s), !0
              }
            }
          return !1
        }
        ;(n = void 0), (a = -1), (o = void 0), i(t, r, s)
      }
      var n = t.statements,
        a = 0
      e.Debug.assert(a < n.length)
      var o = n[a],
        s = -1
      return {
        currentNode: function(t) {
          return (
            t !== s &&
              (o && o.end === t && a < n.length - 1 && (a++, (o = n[a])),
              (o && o.pos === t) || r(t)),
            (s = t),
            e.Debug.assert(!o || o.pos === t),
            o
          )
        }
      }
    }
    t.updateSourceFile = r
    var p
    !(function(e) {
      e[(e.Value = -1)] = 'Value'
    })(p || (p = {}))
  })(y || (y = {}))
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(r) {
    if (230 === r.kind || 231 === r.kind) return 0
    if (e.isConstEnumDeclaration(r)) return 2
    if ((238 !== r.kind && 237 !== r.kind) || e.hasModifier(r, 1)) {
      if (234 === r.kind) {
        var n = 0
        return (
          e.forEachChild(r, function(e) {
            switch (t(e)) {
              case 0:
                return !1
              case 2:
                return (n = 2), !1
              case 1:
                return (n = 1), !0
            }
          }),
          n
        )
      }
      if (233 === r.kind) {
        var a = r.body
        return a ? t(a) : 1
      }
      return 71 === r.kind && r.isInJSDocNamespace ? 0 : 1
    }
    return 0
  }
  function r(t, r) {
    e.performance.mark('beforeBind'),
      R(t, r),
      e.performance.mark('afterBind'),
      e.performance.measure('Bind', 'beforeBind', 'afterBind')
  }
  function n() {
    function r(t, r) {
      ;(Tt = t),
        (Et = r),
        (Nt = e.getEmitScriptTarget(Et)),
        (qt = n(Tt, r)),
        (Wt = e.createMap()),
        (Gt = 0),
        (Ht = e.isDeclarationFile(Tt)),
        (Ut = e.objectAllocator.getSymbolConstructor()),
        Tt.locals ||
          (We(Tt), (Tt.symbolCount = Gt), (Tt.classifiableNames = Wt)),
        (Tt = void 0),
        (Et = void 0),
        (Nt = void 0),
        (At = void 0),
        (wt = void 0),
        (Pt = void 0),
        (Ot = void 0),
        (Ft = !1),
        (It = void 0),
        (Rt = void 0),
        (Mt = void 0),
        (Lt = void 0),
        (Bt = void 0),
        (Jt = void 0),
        (Kt = void 0),
        (jt = !1),
        (Vt = 0),
        (Yt = 0)
    }
    function n(t, r) {
      return (
        !(
          (void 0 === r.alwaysStrict ? !r.strict : !r.alwaysStrict) ||
          e.isDeclarationFile(t)
        ) || !!t.externalModuleIndicator
      )
    }
    function i(e, t) {
      return Gt++, new Ut(e, t)
    }
    function o(t, r, n) {
      if (
        ((t.flags |= n),
        (r.symbol = t),
        t.declarations || (t.declarations = []),
        t.declarations.push(r),
        1952 & n && !t.exports && (t.exports = e.createMap()),
        6240 & n && !t.members && (t.members = e.createMap()),
        107455 & n)
      ) {
        var a = t.valueDeclaration
        ;(!a || (a.kind !== r.kind && 233 === a.kind)) &&
          (t.valueDeclaration = r)
      }
    }
    function s(t) {
      var r = e.getNameOfDeclaration(t)
      if (r) {
        if (e.isAmbientModule(t))
          return e.isGlobalScopeAugmentation(t)
            ? '__global'
            : '"' + r.text + '"'
        if (144 === r.kind) {
          var n = r.expression
          return e.isStringOrNumericLiteral(n)
            ? n.text
            : (e.Debug.assert(e.isWellKnownSymbolSyntactically(n)),
              e.getPropertyNameForKnownSymbolName(n.name.text))
        }
        return r.text
      }
      switch (t.kind) {
        case 152:
          return '__constructor'
        case 160:
        case 155:
          return '__call'
        case 161:
        case 156:
          return '__new'
        case 157:
          return '__index'
        case 244:
          return '__export'
        case 243:
          return t.isExportEquals ? 'export=' : 'default'
        case 194:
          switch (e.getSpecialPropertyAssignmentKind(t)) {
            case 2:
              return 'export='
            case 1:
            case 4:
            case 5:
              return t.left.name.text
            case 3:
              return t.left.expression.name.text
          }
          e.Debug.fail('Unknown binary declaration kind')
          break
        case 228:
        case 229:
          return e.hasModifier(t, 512) ? 'default' : void 0
        case 279:
          return e.isJSDocConstructSignature(t) ? '__new' : '__call'
        case 146:
          e.Debug.assert(279 === t.parent.kind)
          var a = t.parent,
            i = e.indexOf(a.parameters, t)
          return 'arg' + i
        case 290:
          var o = t.parent && t.parent.parent,
            s = void 0
          if (
            o &&
            208 === o.kind &&
            o.declarationList.declarations.length > 0
          ) {
            var c = o.declarationList.declarations[0].name
            71 === c.kind && (s = c.text)
          }
          return s
      }
    }
    function c(t) {
      return t.name ? e.declarationNameToString(t.name) : s(t)
    }
    function u(t, r, n, a, u) {
      e.Debug.assert(!e.hasDynamicName(n))
      var _,
        l = e.hasModifier(n, 512),
        d = l && r ? 'default' : s(n)
      if (void 0 === d) _ = i(0, '__missing')
      else if (
        ((_ = t.get(d)),
        _ || t.set(d, (_ = i(0, d))),
        d && 788448 & a && Wt.set(d, d),
        _.flags & u)
      )
        if (_.isReplaceableByMethod) t.set(d, (_ = i(0, d)))
        else {
          n.name && (n.name.parent = n)
          var p =
            2 & _.flags
              ? e.Diagnostics.Cannot_redeclare_block_scoped_variable_0
              : e.Diagnostics.Duplicate_identifier_0
          _.declarations &&
            _.declarations.length &&
            (l
              ? (p =
                  e.Diagnostics.A_module_cannot_have_multiple_default_exports)
              : _.declarations &&
                _.declarations.length &&
                (l || (243 === n.kind && !n.isExportEquals)) &&
                (p =
                  e.Diagnostics.A_module_cannot_have_multiple_default_exports)),
            e.forEach(_.declarations, function(t) {
              Tt.bindDiagnostics.push(
                e.createDiagnosticForNode(
                  e.getNameOfDeclaration(t) || t,
                  p,
                  c(t)
                )
              )
            }),
            Tt.bindDiagnostics.push(
              e.createDiagnosticForNode(e.getNameOfDeclaration(n) || n, p, c(n))
            ),
            (_ = i(0, d))
        }
      return o(_, n, a), (_.parent = r), _
    }
    function _(t, r, n) {
      var a = 1 & e.getCombinedModifierFlags(t)
      if (8388608 & r)
        return 246 === t.kind || (237 === t.kind && a)
          ? u(wt.symbol.exports, wt.symbol, t, r, n)
          : u(wt.locals, void 0, t, r, n)
      var i =
        290 === t.kind &&
        t.name &&
        71 === t.name.kind &&
        t.name.isInJSDocNamespace
      if ((!e.isAmbientModule(t) && (a || 32 & wt.flags)) || i) {
        var o =
            (107455 & r ? 1048576 : 0) |
            (793064 & r ? 2097152 : 0) |
            (1920 & r ? 4194304 : 0),
          s = u(wt.locals, void 0, t, o, n)
        return (
          (s.exportSymbol = u(wt.symbol.exports, wt.symbol, t, r, n)),
          (t.localSymbol = s),
          s
        )
      }
      return u(wt.locals, void 0, t, r, n)
    }
    function l(t, r) {
      var n = wt,
        a = Pt
      if (
        (1 & r
          ? ((wt = Pt = t), 32 & r && (wt.locals = e.createMap()), pe(wt))
          : 2 & r && ((Pt = t), (Pt.locals = void 0)),
        4 & r)
      ) {
        var i = It,
          o = Rt,
          s = Mt,
          c = Lt,
          u = Kt,
          _ = jt,
          l =
            16 & r &&
            !e.hasModifier(t, 256) &&
            !!e.getImmediatelyInvokedFunctionExpression(t)
        l
          ? (Lt = x())
          : ((It = { flags: 2 }), 144 & r && (It.container = t), (Lt = void 0)),
          (Rt = void 0),
          (Mt = void 0),
          (Kt = void 0),
          (jt = !1),
          d(t),
          (t.flags &= -1409),
          !(1 & It.flags) &&
            8 & r &&
            e.nodeIsPresent(t.body) &&
            ((t.flags |= 128), jt && (t.flags |= 256)),
          265 === t.kind && (t.flags |= Vt),
          l ? (D(Lt, It), (It = w(Lt))) : (It = i),
          (Rt = o),
          (Mt = s),
          (Lt = c),
          (Kt = u),
          (jt = _)
      } else
        64 & r
          ? ((Ft = !1), d(t), (t.flags = Ft ? 64 | t.flags : t.flags & -65))
          : d(t)
      ;(wt = n), (Pt = a)
    }
    function d(e) {
      if (Ht) g(e)
      else if (536870912 & e.transformFlags)
        (Ht = !0), g(e), (Ht = !1), (Yt |= e.transformFlags & ~O(e.kind))
      else {
        var t = Yt
        ;(Yt = 0), g(e), (Yt = t | a(e, Yt))
      }
    }
    function p(t) {
      if (void 0 !== t)
        if (Ht) e.forEach(t, We)
        else {
          var r = Yt
          Yt = 0
          for (var n = 0, a = 0, i = t; a < i.length; a++) {
            var o = i[a]
            We(o), (n |= o.transformFlags & -536870913)
          }
          ;(t.transformFlags = 536870912 | n), (Yt |= r)
        }
    }
    function f(t) {
      e.forEachChild(t, We, p)
    }
    function g(t) {
      if ((e.isInJavaScriptFile(t) && t.jsDoc && e.forEach(t.jsDoc, We), Dt(t)))
        return void f(t)
      switch (t.kind) {
        case 213:
          L(t)
          break
        case 212:
          B(t)
          break
        case 214:
          J(t)
          break
        case 215:
        case 216:
          z(t)
          break
        case 211:
          K(t)
          break
        case 219:
        case 223:
          j(t)
          break
        case 218:
        case 217:
          U(t)
          break
        case 224:
          W(t)
          break
        case 221:
          H(t)
          break
        case 235:
          G(t)
          break
        case 257:
          X(t)
          break
        case 222:
          Z(t)
          break
        case 192:
          re(t)
          break
        case 193:
          ne(t)
          break
        case 194:
          ae(t)
          break
        case 188:
          ie(t)
          break
        case 195:
          oe(t)
          break
        case 226:
          ce(t)
          break
        case 181:
          le(t)
          break
        case 283:
          ue(t)
          break
        case 290:
          _e(t)
          break
        default:
          f(t)
      }
    }
    function m(e) {
      switch (e.kind) {
        case 71:
        case 99:
        case 179:
          return y(e)
        case 181:
          return v(e)
        case 185:
          return m(e.expression)
        case 194:
          return b(e)
        case 192:
          return 51 === e.operator && m(e.operand)
      }
      return !1
    }
    function y(e) {
      return (
        71 === e.kind ||
        99 === e.kind ||
        97 === e.kind ||
        (179 === e.kind && y(e.expression))
      )
    }
    function v(e) {
      if (e.arguments)
        for (var t = 0, r = e.arguments; t < r.length; t++) {
          var n = r[t]
          if (y(n)) return !0
        }
      return !(179 !== e.expression.kind || !y(e.expression.expression))
    }
    function h(e, t) {
      return 189 === e.kind && k(e.expression) && 9 === t.kind
    }
    function b(e) {
      switch (e.operatorToken.kind) {
        case 58:
          return y(e.left)
        case 32:
        case 33:
        case 34:
        case 35:
          return (
            k(e.left) || k(e.right) || h(e.right, e.left) || h(e.left, e.right)
          )
        case 93:
          return k(e.left)
        case 26:
          return m(e.right)
      }
      return !1
    }
    function k(e) {
      switch (e.kind) {
        case 185:
          return k(e.expression)
        case 194:
          switch (e.operatorToken.kind) {
            case 58:
              return k(e.left)
            case 26:
              return k(e.right)
          }
      }
      return y(e)
    }
    function x() {
      return { flags: 4, antecedents: void 0 }
    }
    function C() {
      return { flags: 8, antecedents: void 0 }
    }
    function S(e) {
      e.flags |= 512 & e.flags ? 1024 : 512
    }
    function D(t, r) {
      1 & r.flags ||
        e.contains(t.antecedents, r) ||
        ((t.antecedents || (t.antecedents = [])).push(r), S(r))
    }
    function T(e, t, r) {
      return 1 & t.flags
        ? t
        : r
          ? (101 === r.kind && 64 & e) || (86 === r.kind && 32 & e)
            ? Xt
            : m(r)
              ? (S(t), { flags: e, expression: r, antecedent: t })
              : t
          : 32 & e
            ? t
            : Xt
    }
    function E(e, t, r, n) {
      return m(t.expression)
        ? (S(e),
          {
            flags: 128,
            switchStatement: t,
            clauseStart: r,
            clauseEnd: n,
            antecedent: e
          })
        : e
    }
    function N(e, t) {
      return S(e), { flags: 16, antecedent: e, node: t }
    }
    function A(e, t) {
      return S(e), { flags: 256, antecedent: e, node: t }
    }
    function w(e) {
      var t = e.antecedents
      return t ? (1 === t.length ? t[0] : e) : Xt
    }
    function P(e) {
      var t = e.parent
      switch (t.kind) {
        case 211:
        case 213:
        case 212:
          return t.expression === e
        case 214:
        case 195:
          return t.condition === e
      }
      return !1
    }
    function F(e) {
      for (;;)
        if (185 === e.kind) e = e.expression
        else {
          if (192 !== e.kind || 51 !== e.operator)
            return (
              194 === e.kind &&
              (53 === e.operatorToken.kind || 54 === e.operatorToken.kind)
            )
          e = e.operand
        }
    }
    function I(e) {
      for (
        ;
        185 === e.parent.kind ||
        (192 === e.parent.kind && 51 === e.parent.operator);

      )
        e = e.parent
      return !P(e) && !F(e.parent)
    }
    function R(e, t, r) {
      var n = Bt,
        a = Jt
      ;(Bt = t),
        (Jt = r),
        We(e),
        (Bt = n),
        (Jt = a),
        (e && F(e)) || (D(t, T(32, It, e)), D(r, T(64, It, e)))
    }
    function M(e, t, r) {
      var n = Rt,
        a = Mt
      ;(Rt = t), (Mt = r), We(e), (Rt = n), (Mt = a)
    }
    function L(e) {
      var t = C(),
        r = x(),
        n = x()
      D(t, It),
        (It = t),
        R(e.expression, r, n),
        (It = w(r)),
        M(e.statement, n, t),
        D(t, It),
        (It = w(n))
    }
    function B(t) {
      var r = C(),
        n = 222 === t.parent.kind ? e.lastOrUndefined(Kt) : void 0,
        a = n ? n.continueTarget : x(),
        i = n ? n.breakTarget : x()
      D(r, It),
        (It = r),
        M(t.statement, i, a),
        D(a, It),
        (It = w(a)),
        R(t.expression, r, i),
        (It = w(i))
    }
    function J(e) {
      var t = C(),
        r = x(),
        n = x()
      We(e.initializer),
        D(t, It),
        (It = t),
        R(e.condition, r, n),
        (It = w(r)),
        M(e.statement, n, t),
        We(e.incrementor),
        D(t, It),
        (It = w(n))
    }
    function z(e) {
      var t = C(),
        r = x()
      D(t, It),
        (It = t),
        216 === e.kind && We(e.awaitModifier),
        We(e.expression),
        D(r, It),
        We(e.initializer),
        227 !== e.initializer.kind && ee(e.initializer),
        M(e.statement, r, t),
        D(t, It),
        (It = w(r))
    }
    function K(e) {
      var t = x(),
        r = x(),
        n = x()
      R(e.expression, t, r),
        (It = w(t)),
        We(e.thenStatement),
        D(n, It),
        (It = w(r)),
        We(e.elseStatement),
        D(n, It),
        (It = w(n))
    }
    function j(e) {
      We(e.expression),
        219 === e.kind && ((jt = !0), Lt && D(Lt, It)),
        (It = Xt)
    }
    function V(e) {
      if (Kt)
        for (var t = 0, r = Kt; t < r.length; t++) {
          var n = r[t]
          if (n.name === e) return n
        }
    }
    function q(e, t, r) {
      var n = 218 === e.kind ? t : r
      n && (D(n, It), (It = Xt))
    }
    function U(e) {
      if ((We(e.label), e.label)) {
        var t = V(e.label.text)
        t && ((t.referenced = !0), q(e, t.breakTarget, t.continueTarget))
      } else q(e, Rt, Mt)
    }
    function W(e) {
      var t = x(),
        r = It
      We(e.tryBlock), D(t, It)
      var n = It,
        a = Xt
      if (
        (e.catchClause && ((It = r), We(e.catchClause), D(t, It), (a = It)),
        e.finallyBlock)
      ) {
        var i = { flags: 2048, antecedent: r, lock: {} }
        if (
          (D(t, i),
          (It = w(t)),
          We(e.finallyBlock),
          1 & It.flags ||
            (1 & n.flags &&
              1 & a.flags &&
              (It = n === Qt || a === Qt ? Qt : Xt)),
          !(1 & It.flags))
        ) {
          var o = { flags: 4096, antecedent: It }
          ;(i.lock = o), (It = o)
        }
      } else It = w(t)
    }
    function H(t) {
      var r = x()
      We(t.expression)
      var n = Rt,
        a = zt
      ;(Rt = r), (zt = It), We(t.caseBlock), D(r, It)
      var i = e.forEach(t.caseBlock.clauses, function(e) {
        return 258 === e.kind
      })
      ;(t.possiblyExhaustive = !i && !r.antecedents),
        i || D(r, E(zt, t, 0, 0)),
        (Rt = n),
        (zt = a),
        (It = w(r))
    }
    function G(t) {
      var r = Yt
      Yt = 0
      for (var n = t.clauses, a = Xt, i = 0; i < n.length; i++) {
        for (var o = i; !n[i].statements.length && i + 1 < n.length; )
          We(n[i]), i++
        var s = x()
        D(s, E(zt, t.parent, o, i + 1)), D(s, a), (It = w(s))
        var c = n[i]
        We(c),
          (a = It),
          1 & It.flags ||
            i === n.length - 1 ||
            !Et.noFallthroughCasesInSwitch ||
            qe(c, e.Diagnostics.Fallthrough_case_in_switch)
      }
      ;(n.transformFlags = 536870912 | Yt), (Yt |= r)
    }
    function X(e) {
      var t = It
      ;(It = zt), We(e.expression), (It = t), p(e.statements)
    }
    function Q(e, t, r) {
      var n = { name: e, breakTarget: t, continueTarget: r, referenced: !1 }
      return (Kt || (Kt = [])).push(n), n
    }
    function Y() {
      Kt.pop()
    }
    function Z(t) {
      var r = C(),
        n = x()
      We(t.label), D(r, It)
      var a = Q(t.label.text, n, r)
      We(t.statement),
        Y(),
        a.referenced ||
          Et.allowUnusedLabels ||
          Tt.bindDiagnostics.push(
            e.createDiagnosticForNode(t.label, e.Diagnostics.Unused_label)
          ),
        (t.statement && 212 === t.statement.kind) || (D(n, It), (It = w(n)))
    }
    function $(e) {
      ee(194 === e.kind && 58 === e.operatorToken.kind ? e.left : e)
    }
    function ee(e) {
      if (y(e)) It = N(It, e)
      else if (177 === e.kind)
        for (var t = 0, r = e.elements; t < r.length; t++) {
          var n = r[t]
          198 === n.kind ? ee(n.expression) : $(n)
        }
      else if (178 === e.kind)
        for (var a = 0, i = e.properties; a < i.length; a++) {
          var o = i[a]
          261 === o.kind
            ? $(o.initializer)
            : 262 === o.kind
              ? ee(o.name)
              : 263 === o.kind && ee(o.expression)
        }
    }
    function te(e, t, r) {
      var n = x()
      53 === e.operatorToken.kind ? R(e.left, n, r) : R(e.left, t, n),
        (It = w(n)),
        We(e.operatorToken),
        R(e.right, t, r)
    }
    function re(e) {
      if (51 === e.operator) {
        var t = Bt
        ;(Bt = Jt), (Jt = t), f(e), (Jt = Bt), (Bt = t)
      } else f(e), (43 !== e.operator && 44 !== e.operator) || ee(e.operand)
    }
    function ne(e) {
      f(e), (43 !== e.operator && 44 !== e.operator) || ee(e.operand)
    }
    function ae(t) {
      var r = t.operatorToken.kind
      if (53 === r || 54 === r)
        if (I(t)) {
          var n = x()
          te(t, n, n), (It = w(n))
        } else te(t, Bt, Jt)
      else if (
        (f(t),
        e.isAssignmentOperator(r) &&
          !e.isAssignmentTarget(t) &&
          (ee(t.left), 58 === r && 180 === t.left.kind))
      ) {
        var a = t.left
        k(a.expression) && (It = A(It, t))
      }
    }
    function ie(e) {
      f(e), 179 === e.expression.kind && ee(e.expression)
    }
    function oe(e) {
      var t = x(),
        r = x(),
        n = x()
      R(e.condition, t, r),
        (It = w(t)),
        We(e.questionToken),
        We(e.whenTrue),
        D(n, It),
        (It = w(r)),
        We(e.colonToken),
        We(e.whenFalse),
        D(n, It),
        (It = w(n))
    }
    function se(t) {
      var r = e.isOmittedExpression(t) ? void 0 : t.name
      if (e.isBindingPattern(r))
        for (var n = 0, a = r.elements; n < a.length; n++) {
          var i = a[n]
          se(i)
        }
      else It = N(It, t)
    }
    function ce(e) {
      f(e),
        (e.initializer ||
          215 === e.parent.parent.kind ||
          216 === e.parent.parent.kind) &&
          se(e)
    }
    function ue(t) {
      e.forEachChild(t, function(e) {
        290 !== e.kind && We(e)
      })
    }
    function _e(t) {
      e.forEachChild(t, function(e) {
        ;(t.fullName && e === t.name && 71 !== t.fullName.kind) || We(e)
      })
    }
    function le(t) {
      for (var r = t.expression; 185 === r.kind; ) r = r.expression
      if (
        (186 === r.kind || 187 === r.kind
          ? (p(t.typeArguments), p(t.arguments), We(t.expression))
          : f(t),
        179 === t.expression.kind)
      ) {
        var n = t.expression
        k(n.expression) &&
          e.isPushOrUnshiftIdentifier(n.name) &&
          (It = A(It, t))
      }
    }
    function de(t) {
      switch (t.kind) {
        case 199:
        case 229:
        case 232:
        case 178:
        case 163:
        case 292:
        case 275:
        case 254:
          return 1
        case 230:
          return 65
        case 279:
        case 233:
        case 231:
        case 172:
          return 33
        case 265:
          return 37
        case 151:
          if (e.isObjectLiteralOrClassExpressionMethod(t)) return 173
        case 152:
        case 228:
        case 150:
        case 153:
        case 154:
        case 155:
        case 156:
        case 157:
        case 160:
        case 161:
          return 45
        case 186:
        case 187:
          return 61
        case 234:
          return 4
        case 149:
          return t.initializer ? 4 : 0
        case 260:
        case 214:
        case 215:
        case 216:
        case 235:
          return 2
        case 207:
          return e.isFunctionLike(t.parent) ? 0 : 2
      }
      return 0
    }
    function pe(e) {
      Ot && (Ot.nextContainer = e), (Ot = e)
    }
    function fe(e, t, r) {
      return ge(e, t, r)
    }
    function ge(e, t, r) {
      switch (wt.kind) {
        case 233:
          return _(e, t, r)
        case 265:
          return ye(e, t, r)
        case 199:
        case 229:
          return me(e, t, r)
        case 232:
          return u(wt.symbol.exports, wt.symbol, e, t, r)
        case 163:
        case 178:
        case 230:
        case 275:
        case 292:
        case 254:
          return u(wt.symbol.members, wt.symbol, e, t, r)
        case 160:
        case 161:
        case 155:
        case 156:
        case 157:
        case 151:
        case 150:
        case 152:
        case 153:
        case 154:
        case 228:
        case 186:
        case 187:
        case 279:
        case 231:
        case 172:
          return u(wt.locals, void 0, e, t, r)
      }
    }
    function me(t, r, n) {
      return e.hasModifier(t, 32)
        ? u(wt.symbol.exports, wt.symbol, t, r, n)
        : u(wt.symbol.members, wt.symbol, t, r, n)
    }
    function ye(t, r, n) {
      return e.isExternalModule(Tt) ? _(t, r, n) : u(Tt.locals, void 0, t, r, n)
    }
    function ve(e) {
      var t = 265 === e.kind ? e : e.body
      if (t && (265 === t.kind || 234 === t.kind))
        for (var r = 0, n = t.statements; r < n.length; r++) {
          var a = n[r]
          if (244 === a.kind || 243 === a.kind) return !0
        }
      return !1
    }
    function he(t) {
      e.isInAmbientContext(t) && !ve(t) ? (t.flags |= 32) : (t.flags &= -33)
    }
    function be(t) {
      if ((he(t), e.isAmbientModule(t)))
        if (
          (e.hasModifier(t, 1) &&
            qe(
              t,
              e.Diagnostics
                .export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible
            ),
          e.isExternalModuleAugmentation(t))
        )
          ke(t)
        else {
          var r = void 0
          if (9 === t.name.kind) {
            var n = t.name.text
            e.hasZeroOrOneAsteriskCharacter(n)
              ? (r = e.tryParsePattern(n))
              : qe(
                  t.name,
                  e.Diagnostics
                    .Pattern_0_can_have_at_most_one_Asterisk_character,
                  n
                )
          }
          var a = fe(t, 512, 106639)
          r &&
            (Tt.patternAmbientModules || (Tt.patternAmbientModules = [])).push({
              pattern: r,
              symbol: a
            })
        }
      else {
        var i = ke(t)
        if (0 !== i)
          if (304 & t.symbol.flags) t.symbol.constEnumOnlyModule = !1
          else {
            var o = 2 === i
            void 0 === t.symbol.constEnumOnlyModule
              ? (t.symbol.constEnumOnlyModule = o)
              : (t.symbol.constEnumOnlyModule =
                  t.symbol.constEnumOnlyModule && o)
          }
      }
    }
    function ke(e) {
      var r = t(e),
        n = 0 !== r
      return fe(e, n ? 512 : 1024, n ? 106639 : 0), r
    }
    function xe(t) {
      var r = i(131072, s(t))
      o(r, t, 131072)
      var n = i(2048, '__type')
      o(n, t, 2048), (n.members = e.createMap()), n.members.set(r.name, r)
    }
    function Ce(t) {
      var r
      if (
        ((function(e) {
          ;(e[(e.Property = 1)] = 'Property'),
            (e[(e.Accessor = 2)] = 'Accessor')
        })(r || (r = {})),
        qt)
      )
        for (
          var n = e.createMap(), a = 0, i = t.properties;
          a < i.length;
          a++
        ) {
          var o = i[a]
          if (263 !== o.kind && 71 === o.name.kind) {
            var s = o.name,
              c = 261 === o.kind || 262 === o.kind || 151 === o.kind ? 1 : 2,
              u = n.get(s.text)
            if (u) {
              if (1 === c && 1 === u) {
                var _ = e.getErrorSpanForNode(Tt, s)
                Tt.bindDiagnostics.push(
                  e.createFileDiagnostic(
                    Tt,
                    _.start,
                    _.length,
                    e.Diagnostics
                      .An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode
                  )
                )
              }
            } else n.set(s.text, c)
          }
        }
      return Te(t, 4096, '__object')
    }
    function Se(e) {
      return Te(e, 4096, '__jsxAttributes')
    }
    function De(e, t, r) {
      return fe(e, t, r)
    }
    function Te(e, t, r) {
      var n = i(t, r)
      o(n, e, t)
    }
    function Ee(t, r, n) {
      switch (Pt.kind) {
        case 233:
          _(t, r, n)
          break
        case 265:
          if (e.isExternalModule(wt)) {
            _(t, r, n)
            break
          }
        default:
          Pt.locals || ((Pt.locals = e.createMap()), pe(Pt)),
            u(Pt.locals, void 0, t, r, n)
      }
    }
    function Ne(e) {
      Ee(e, 2, 107455)
    }
    function Ae(t) {
      qt &&
        t.originalKeywordKind >= 108 &&
        t.originalKeywordKind <= 116 &&
        !e.isIdentifierName(t) &&
        !e.isInAmbientContext(t) &&
        (Tt.parseDiagnostics.length ||
          Tt.bindDiagnostics.push(
            e.createDiagnosticForNode(t, we(t), e.declarationNameToString(t))
          ))
    }
    function we(t) {
      return e.getContainingClass(t)
        ? e.Diagnostics
            .Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode
        : Tt.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 Pe(t) {
      qt &&
        e.isLeftHandSideExpression(t.left) &&
        e.isAssignmentOperator(t.operatorToken.kind) &&
        Re(t, t.left)
    }
    function Oe(e) {
      qt && e.variableDeclaration && Re(e, e.variableDeclaration.name)
    }
    function Fe(t) {
      if (qt && 71 === t.expression.kind) {
        var r = e.getErrorSpanForNode(Tt, t.expression)
        Tt.bindDiagnostics.push(
          e.createFileDiagnostic(
            Tt,
            r.start,
            r.length,
            e.Diagnostics
              .delete_cannot_be_called_on_an_identifier_in_strict_mode
          )
        )
      }
    }
    function Ie(e) {
      return 71 === e.kind && ('eval' === e.text || 'arguments' === e.text)
    }
    function Re(t, r) {
      if (r && 71 === r.kind) {
        var n = r
        if (Ie(n)) {
          var a = e.getErrorSpanForNode(Tt, r)
          Tt.bindDiagnostics.push(
            e.createFileDiagnostic(Tt, a.start, a.length, Me(t), n.text)
          )
        }
      }
    }
    function Me(t) {
      return e.getContainingClass(t)
        ? e.Diagnostics
            .Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode
        : Tt.externalModuleIndicator
          ? e.Diagnostics
              .Invalid_use_of_0_Modules_are_automatically_in_strict_mode
          : e.Diagnostics.Invalid_use_of_0_in_strict_mode
    }
    function Le(e) {
      qt && Re(e, e.name)
    }
    function Be(t) {
      return e.getContainingClass(t)
        ? e.Diagnostics
            .Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_definitions_are_automatically_in_strict_mode
        : Tt.externalModuleIndicator
          ? e.Diagnostics
              .Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_are_automatically_in_strict_mode
          : e.Diagnostics
              .Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5
    }
    function Je(t) {
      if (
        Nt < 2 &&
        265 !== Pt.kind &&
        233 !== Pt.kind &&
        !e.isFunctionLike(Pt)
      ) {
        var r = e.getErrorSpanForNode(Tt, t)
        Tt.bindDiagnostics.push(
          e.createFileDiagnostic(Tt, r.start, r.length, Be(t))
        )
      }
    }
    function ze(t) {
      qt &&
        4 & t.numericLiteralFlags &&
        Tt.bindDiagnostics.push(
          e.createDiagnosticForNode(
            t,
            e.Diagnostics.Octal_literals_are_not_allowed_in_strict_mode
          )
        )
    }
    function Ke(e) {
      qt && Re(e, e.operand)
    }
    function je(e) {
      qt && ((43 !== e.operator && 44 !== e.operator) || Re(e, e.operand))
    }
    function Ve(t) {
      qt && qe(t, e.Diagnostics.with_statements_are_not_allowed_in_strict_mode)
    }
    function qe(t, r, n, a, i) {
      var o = e.getSpanOfTokenAtPosition(Tt, t.pos)
      Tt.bindDiagnostics.push(
        e.createFileDiagnostic(Tt, o.start, o.length, r, n, a, i)
      )
    }
    function Ue(t) {
      return '__' + e.indexOf(t.parent.parameters, t)
    }
    function We(t) {
      if (t) {
        t.parent = At
        var r = qt
        if ((e.isInJavaScriptFile(t) && He(t), Qe(t), t.kind > 142)) {
          var n = At
          At = t
          var i = de(t)
          0 === i ? d(t) : l(t, i), (At = n)
        } else Ht || 0 !== (536870912 & t.transformFlags) || (Yt |= a(t, 0))
        qt = r
      }
    }
    function He(e) {
      if (e.jsDoc)
        for (var t = 0, r = e.jsDoc; t < r.length; t++) {
          var n = r[t]
          if (n.tags)
            for (var a = 0, i = n.tags; a < i.length; a++) {
              var o = i[a]
              if (290 === o.kind) {
                var s = At
                ;(At = n), We(o), (At = s)
              }
            }
        }
    }
    function Ge(t) {
      if (!qt)
        for (var r = 0, n = t; r < n.length; r++) {
          var a = n[r]
          if (!e.isPrologueDirective(a)) return
          if (Xe(a)) return void (qt = !0)
        }
    }
    function Xe(t) {
      var r = e.getTextOfNodeFromSourceText(Tt.text, t.expression)
      return '"use strict"' === r || "'use strict'" === r
    }
    function Qe(t) {
      switch (t.kind) {
        case 71:
          if (t.isInJSDocNamespace) {
            for (var r = t.parent; r && 290 !== r.kind; ) r = r.parent
            Ee(r, 524288, 793064)
            break
          }
        case 99:
          return (
            It && (e.isExpression(t) || 262 === At.kind) && (t.flowNode = It),
            Ae(t)
          )
        case 179:
          It && y(t) && (t.flowNode = It)
          break
        case 194:
          var n = e.getSpecialPropertyAssignmentKind(t)
          switch (n) {
            case 1:
              it(t)
              break
            case 2:
              ut(t)
              break
            case 3:
              lt(t)
              break
            case 4:
              _t(t)
              break
            case 5:
              dt(t)
              break
            case 0:
              break
            default:
              e.Debug.fail('Unknown special property assignment kind')
          }
          return Pe(t)
        case 260:
          return Oe(t)
        case 188:
          return Fe(t)
        case 8:
          return ze(t)
        case 193:
          return Ke(t)
        case 192:
          return je(t)
        case 220:
          return Ve(t)
        case 169:
          return void (Ft = !0)
        case 158:
          return Ye(t)
        case 145:
          return fe(t, 262144, 530920)
        case 146:
          return ht(t)
        case 226:
        case 176:
          return vt(t)
        case 149:
        case 148:
        case 276:
          return xt(t, 4 | (t.questionToken ? 67108864 : 0), 0)
        case 291:
          return Ct(t)
        case 261:
        case 262:
          return xt(t, 4, 0)
        case 264:
          return xt(t, 8, 900095)
        case 263:
        case 255:
          for (var a = wt, i = !1; a.parent; ) {
            if (
              178 === a.kind &&
              194 === a.parent.kind &&
              58 === a.parent.operatorToken.kind &&
              a.parent.left === a
            ) {
              i = !0
              break
            }
            a = a.parent
          }
          return
        case 155:
        case 156:
        case 157:
          return fe(t, 131072, 0)
        case 151:
        case 150:
          return xt(
            t,
            8192 | (t.questionToken ? 67108864 : 0),
            e.isObjectLiteralMethod(t) ? 0 : 99263
          )
        case 228:
          return bt(t)
        case 152:
          return fe(t, 16384, 0)
        case 153:
          return xt(t, 32768, 41919)
        case 154:
          return xt(t, 65536, 74687)
        case 160:
        case 161:
        case 279:
          return xe(t)
        case 163:
        case 172:
        case 292:
        case 275:
          return Te(t, 2048, '__type')
        case 178:
          return Ce(t)
        case 186:
        case 187:
          return kt(t)
        case 181:
          e.isInJavaScriptFile(t) && gt(t)
          break
        case 199:
        case 229:
          return (qt = !0), mt(t)
        case 230:
          return Ee(t, 64, 792968)
        case 290:
          if (!t.fullName || 71 === t.fullName.kind)
            return Ee(t, 524288, 793064)
          break
        case 231:
          return Ee(t, 524288, 793064)
        case 232:
          return yt(t)
        case 233:
          return be(t)
        case 254:
          return Se(t)
        case 253:
          return De(t, 4, 0)
        case 237:
        case 240:
        case 242:
        case 246:
          return fe(t, 8388608, 8388608)
        case 236:
          return tt(t)
        case 239:
          return nt(t)
        case 244:
          return rt(t)
        case 243:
          return et(t)
        case 265:
          return Ge(t.statements), Ze()
        case 207:
          if (!e.isFunctionLike(t.parent)) return
        case 234:
          return Ge(t.statements)
      }
    }
    function Ye(e) {
      var t = e.parameterName,
        r = e.type
      t && 71 === t.kind && Ae(t), t && 169 === t.kind && (Ft = !0), We(r)
    }
    function Ze() {
      he(Tt), e.isExternalModule(Tt) && $e()
    }
    function $e() {
      Te(Tt, 512, '"' + e.removeFileExtension(Tt.fileName) + '"')
    }
    function et(t) {
      if (wt.symbol && wt.symbol.exports) {
        var r = 243 === t.kind && e.exportAssignmentIsAlias(t) ? 8388608 : 4
        u(wt.symbol.exports, wt.symbol, t, r, 8388660)
      } else Te(t, 8388608, s(t))
    }
    function tt(t) {
      if (
        (t.modifiers &&
          t.modifiers.length &&
          Tt.bindDiagnostics.push(
            e.createDiagnosticForNode(
              t,
              e.Diagnostics.Modifiers_cannot_appear_here
            )
          ),
        265 !== t.parent.kind)
      )
        return void Tt.bindDiagnostics.push(
          e.createDiagnosticForNode(
            t,
            e.Diagnostics.Global_module_exports_may_only_appear_at_top_level
          )
        )
      var r = t.parent
      return e.isExternalModule(r)
        ? r.isDeclarationFile
          ? ((Tt.symbol.globalExports =
              Tt.symbol.globalExports || e.createMap()),
            void u(Tt.symbol.globalExports, Tt.symbol, t, 8388608, 8388608))
          : void Tt.bindDiagnostics.push(
              e.createDiagnosticForNode(
                t,
                e.Diagnostics
                  .Global_module_exports_may_only_appear_in_declaration_files
              )
            )
        : void Tt.bindDiagnostics.push(
            e.createDiagnosticForNode(
              t,
              e.Diagnostics
                .Global_module_exports_may_only_appear_in_module_files
            )
          )
    }
    function rt(e) {
      wt.symbol && wt.symbol.exports
        ? e.exportClause || u(wt.symbol.exports, wt.symbol, e, 33554432, 0)
        : Te(e, 33554432, s(e))
    }
    function nt(e) {
      e.name && fe(e, 8388608, 8388608)
    }
    function at(e) {
      Tt.commonJsModuleIndicator ||
        ((Tt.commonJsModuleIndicator = e), Tt.externalModuleIndicator || $e())
    }
    function it(e) {
      at(e), u(Tt.symbol.exports, Tt.symbol, e.left, 7340036, 0)
    }
    function ot(t) {
      return (
        e.isExportsIdentifier(t) ||
        e.isModuleExportsPropertyAccessExpression(t) ||
        st(t)
      )
    }
    function st(e) {
      if (71 === e.kind) {
        var t = pt(e.text)
        if (t && t.valueDeclaration && 226 === t.valueDeclaration.kind) {
          var r = t.valueDeclaration
          if (r.initializer) return ct(r.initializer)
        }
      }
      return !1
    }
    function ct(t) {
      return (
        ot(t) ||
        (e.isAssignmentExpression(t, !0) && (ct(t.left) || ct(t.right)))
      )
    }
    function ut(t) {
      var r = e.getRightMostAssignedExpression(t.right)
      return e.isEmptyObjectLiteral(r) || ot(r)
        ? void at(t)
        : (at(t), void u(Tt.symbol.exports, Tt.symbol, t, 7340548, 0))
    }
    function _t(t) {
      e.Debug.assert(e.isInJavaScriptFile(t))
      var r = e.getThisContainer(t, !1)
      switch (r.kind) {
        case 228:
        case 186:
          ;(r.symbol.members = r.symbol.members || e.createMap()),
            u(r.symbol.members, r.symbol, t, 4, 0)
          break
        case 152:
        case 149:
        case 151:
        case 153:
        case 154:
          var n = r.parent,
            a = u(
              e.hasModifier(r, 32) ? n.symbol.exports : n.symbol.members,
              n.symbol,
              t,
              4,
              0
            )
          a && (a.isReplaceableByMethod = !0)
      }
    }
    function lt(e) {
      var t = e.left,
        r = t.expression,
        n = r.expression
      ;(t.parent = e), (n.parent = r), (r.parent = t), ft(n.text, t, !0)
    }
    function dt(e) {
      var t = e.left,
        r = t.expression
      ;(t.parent = e), (r.parent = t), st(r) ? it(e) : ft(r.text, t, !1)
    }
    function pt(e) {
      return (
        (wt.symbol && wt.symbol.exports && wt.symbol.exports.get(e)) ||
        (wt.locals && wt.locals.get(e))
      )
    }
    function ft(t, r, n) {
      var a = pt(t)
      if (
        (a &&
          e.isDeclarationOfFunctionOrClassExpression(a) &&
          (a = a.valueDeclaration.initializer.symbol),
        a && 48 & a.flags)
      ) {
        var i = n
          ? a.members || (a.members = e.createMap())
          : a.exports || (a.exports = e.createMap())
        u(i, a, r, 4, 0)
      }
    }
    function gt(t) {
      !Tt.commonJsModuleIndicator && e.isRequireCall(t, !1) && at(t)
    }
    function mt(t) {
      if (229 === t.kind) Ee(t, 32, 899519)
      else {
        var r = t.name ? t.name.text : '__class'
        Te(t, 32, r), t.name && Wt.set(t.name.text, t.name.text)
      }
      var n = t.symbol,
        a = i(16777220, 'prototype'),
        o = n.exports.get(a.name)
      o &&
        (t.name && (t.name.parent = t),
        Tt.bindDiagnostics.push(
          e.createDiagnosticForNode(
            o.declarations[0],
            e.Diagnostics.Duplicate_identifier_0,
            a.name
          )
        )),
        n.exports.set(a.name, a),
        (a.parent = n)
    }
    function yt(t) {
      return e.isConst(t) ? Ee(t, 128, 899967) : Ee(t, 256, 899327)
    }
    function vt(t) {
      qt && Re(t, t.name),
        e.isBindingPattern(t.name) ||
          (e.isBlockOrCatchScoped(t)
            ? Ne(t)
            : e.isParameterDeclaration(t)
              ? fe(t, 1, 107455)
              : fe(t, 1, 107454))
    }
    function ht(t) {
      if (
        (qt && Re(t, t.name),
        e.isBindingPattern(t.name) ? Te(t, 1, Ue(t)) : fe(t, 1, 107455),
        e.isParameterPropertyDeclaration(t))
      ) {
        var r = t.parent.parent
        u(
          r.symbol.members,
          r.symbol,
          t,
          4 | (t.questionToken ? 67108864 : 0),
          0
        )
      }
    }
    function bt(t) {
      e.isDeclarationFile(Tt) ||
        e.isInAmbientContext(t) ||
        (e.isAsyncFunction(t) && (Vt |= 1024)),
        Le(t),
        qt ? (Je(t), Ee(t, 16, 106927)) : fe(t, 16, 106927)
    }
    function kt(t) {
      e.isDeclarationFile(Tt) ||
        e.isInAmbientContext(t) ||
        (e.isAsyncFunction(t) && (Vt |= 1024)),
        It && (t.flowNode = It),
        Le(t)
      var r = t.name ? t.name.text : '__function'
      return Te(t, 16, r)
    }
    function xt(t, r, n) {
      return (
        e.isDeclarationFile(Tt) ||
          e.isInAmbientContext(t) ||
          (e.isAsyncFunction(t) && (Vt |= 1024)),
        It && e.isObjectLiteralOrClassExpressionMethod(t) && (t.flowNode = It),
        e.hasDynamicName(t) ? Te(t, r, '__computed') : fe(t, r, n)
      )
    }
    function Ct(e) {
      return fe(e, 4, 0)
    }
    function St(e) {
      var r = t(e)
      return 1 === r || (2 === r && Et.preserveConstEnums)
    }
    function Dt(t) {
      if (!(1 & It.flags)) return !1
      if (It === Xt) {
        var r =
          (e.isStatementButNotDeclaration(t) && 209 !== t.kind) ||
          229 === t.kind ||
          (233 === t.kind && St(t)) ||
          (232 === t.kind &&
            (!e.isConstEnumDeclaration(t) || Et.preserveConstEnums))
        if (r) {
          It = Qt
          var n =
            !Et.allowUnreachableCode &&
            !e.isInAmbientContext(t) &&
            (208 !== t.kind ||
              3 & e.getCombinedNodeFlags(t.declarationList) ||
              e.forEach(t.declarationList.declarations, function(e) {
                return e.initializer
              }))
          n && qe(t, e.Diagnostics.Unreachable_code_detected)
        }
      }
      return !0
    }
    var Tt,
      Et,
      Nt,
      At,
      wt,
      Pt,
      Ot,
      Ft,
      It,
      Rt,
      Mt,
      Lt,
      Bt,
      Jt,
      zt,
      Kt,
      jt,
      Vt,
      qt,
      Ut,
      Wt,
      Ht,
      Gt = 0,
      Xt = { flags: 1 },
      Qt = { flags: 1 },
      Yt = 0
    return r
  }
  function a(e, t) {
    var r = e.kind
    switch (r) {
      case 181:
        return i(e, t)
      case 182:
        return s(e, t)
      case 233:
        return A(e, t)
      case 185:
        return _(e, t)
      case 194:
        return c(e, t)
      case 210:
        return N(e, t)
      case 146:
        return u(e, t)
      case 187:
        return x(e, t)
      case 186:
        return k(e, t)
      case 228:
        return b(e, t)
      case 226:
        return S(e, t)
      case 227:
        return w(e, t)
      case 208:
        return D(e, t)
      case 222:
        return T(e, t)
      case 229:
        return l(e, t)
      case 199:
        return d(e, t)
      case 259:
        return p(e, t)
      case 260:
        return f(e, t)
      case 201:
        return g(e, t)
      case 152:
        return m(e, t)
      case 149:
        return h(e, t)
      case 151:
        return y(e, t)
      case 153:
      case 154:
        return v(e, t)
      case 237:
        return E(e, t)
      case 179:
        return C(e, t)
      default:
        return P(e, r, t)
    }
  }
  function i(e, t) {
    var r = t,
      n = e.expression,
      a = n.kind
    return (
      e.typeArguments && (r |= 3),
      (524288 & t || o(n, a)) && (r |= 192),
      (e.transformFlags = 536870912 | r),
      r & -537396546
    )
  }
  function o(e, t) {
    switch (t) {
      case 97:
        return !0
      case 179:
      case 180:
        var r = e.expression,
          n = r.kind
        return 97 === n
    }
    return !1
  }
  function s(e, t) {
    var r = t
    return (
      e.typeArguments && (r |= 3),
      524288 & t && (r |= 192),
      (e.transformFlags = 536870912 | r),
      r & -537396546
    )
  }
  function c(e, t) {
    var r = t,
      n = e.operatorToken.kind,
      a = e.left.kind
    return (
      58 === n && 178 === a
        ? (r |= 3272)
        : 58 === n && 177 === a
          ? (r |= 3264)
          : (40 !== n && 62 !== n) || (r |= 32),
      (e.transformFlags = 536870912 | r),
      r & -536872258
    )
  }
  function u(t, r) {
    var n = r,
      a = e.getModifierFlags(t),
      i = t.name,
      o = t.initializer,
      s = t.dotDotDotToken
    return (
      (t.questionToken || t.type || 4096 & r || e.isThisIdentifier(i)) &&
        (n |= 3),
      92 & a && (n |= 262147),
      1048576 & r && (n |= 8),
      (8388608 & r || o || s) && (n |= 131264),
      (t.transformFlags = 536870912 | n),
      n & -536872258
    )
  }
  function _(e, t) {
    var r = t,
      n = e.expression,
      a = n.kind,
      i = n.transformFlags
    return (
      (202 !== a && 184 !== a) || (r |= 3),
      1024 & i && (r |= 1024),
      (e.transformFlags = 536870912 | r),
      r & -536872258
    )
  }
  function l(t, r) {
    var n,
      a = e.getModifierFlags(t)
    return (
      2 & a
        ? (n = 3)
        : ((n = 192 | r),
          (274432 & r || t.typeParameters) && (n |= 3),
          65536 & r && (n |= 16384)),
      (t.transformFlags = 536870912 | n),
      n & -539358530
    )
  }
  function d(e, t) {
    var r = 192 | t
    return (
      (274432 & t || e.typeParameters) && (r |= 3),
      65536 & t && (r |= 16384),
      (e.transformFlags = 536870912 | r),
      r & -539358530
    )
  }
  function p(t, r) {
    var n = r
    switch (t.token) {
      case 85:
        n |= 192
        break
      case 108:
        n |= 3
        break
      default:
        e.Debug.fail('Unexpected token for heritage clause')
    }
    return (t.transformFlags = 536870912 | n), n & -536872258
  }
  function f(t, r) {
    var n = r
    return (
      t.variableDeclaration &&
        e.isBindingPattern(t.variableDeclaration.name) &&
        (n |= 192),
      (t.transformFlags = 536870912 | n),
      n & -537920834
    )
  }
  function g(e, t) {
    var r = 192 | t
    return (
      e.typeArguments && (r |= 3),
      (e.transformFlags = 536870912 | r),
      r & -536872258
    )
  }
  function m(t, r) {
    var n = r
    return (
      (!e.hasModifier(t, 2270) && t.body) || (n |= 3),
      1048576 & r && (n |= 8),
      (t.transformFlags = 536870912 | n),
      n & -601015618
    )
  }
  function y(t, r) {
    var n = 192 | r
    return (
      (t.decorators ||
        e.hasModifier(t, 2270) ||
        t.typeParameters ||
        t.type ||
        !t.body) &&
        (n |= 3),
      1048576 & r && (n |= 8),
      e.hasModifier(t, 256) && (n |= t.asteriskToken ? 8 : 16),
      t.asteriskToken && (n |= 768),
      (t.transformFlags = 536870912 | n),
      n & -601015618
    )
  }
  function v(t, r) {
    var n = r
    return (
      (t.decorators || e.hasModifier(t, 2270) || t.type || !t.body) && (n |= 3),
      1048576 & r && (n |= 8),
      (t.transformFlags = 536870912 | n),
      n & -601015618
    )
  }
  function h(e, t) {
    var r = 3 | t
    return (
      e.initializer && (r |= 8192),
      (e.transformFlags = 536870912 | r),
      r & -536872258
    )
  }
  function b(t, r) {
    var n,
      a = e.getModifierFlags(t),
      i = t.body
    return (
      !i || 2 & a
        ? (n = 3)
        : ((n = 33554432 | r),
          (2270 & a || t.typeParameters || t.type) && (n |= 3),
          256 & a && (n |= t.asteriskToken ? 8 : 16),
          1048576 & r && (n |= 8),
          163840 & r && (n |= 192),
          t.asteriskToken && (n |= 768)),
      (t.transformFlags = 536870912 | n),
      n & -601281858
    )
  }
  function k(t, r) {
    var n = r
    return (
      (e.hasModifier(t, 2270) || t.typeParameters || t.type) && (n |= 3),
      e.hasModifier(t, 256) && (n |= t.asteriskToken ? 8 : 16),
      1048576 & r && (n |= 8),
      163840 & r && (n |= 192),
      t.asteriskToken && (n |= 768),
      (t.transformFlags = 536870912 | n),
      n & -601281858
    )
  }
  function x(t, r) {
    var n = 192 | r
    return (
      (e.hasModifier(t, 2270) || t.typeParameters || t.type) && (n |= 3),
      e.hasModifier(t, 256) && (n |= 16),
      1048576 & r && (n |= 8),
      16384 & r && (n |= 32768),
      (t.transformFlags = 536870912 | n),
      n & -601249090
    )
  }
  function C(e, t) {
    var r = t,
      n = e.expression,
      a = n.kind
    return (
      97 === a && (r |= 16384),
      (e.transformFlags = 536870912 | r),
      r & -536872258
    )
  }
  function S(e, t) {
    var r = t
    return (
      (r |= 8388800),
      1048576 & t && (r |= 8),
      e.type && (r |= 3),
      (e.transformFlags = 536870912 | r),
      r & -536872258
    )
  }
  function D(t, r) {
    var n,
      a = e.getModifierFlags(t),
      i = t.declarationList.transformFlags
    return (
      2 & a ? (n = 3) : ((n = r), 8388608 & i && (n |= 192)),
      (t.transformFlags = 536870912 | n),
      n & -536872258
    )
  }
  function T(t, r) {
    var n = r
    return (
      4194304 & r && e.isIterationStatement(t, !0) && (n |= 192),
      (t.transformFlags = 536870912 | n),
      n & -536872258
    )
  }
  function E(t, r) {
    var n = r
    return (
      e.isExternalModuleImportEqualsDeclaration(t) || (n |= 3),
      (t.transformFlags = 536870912 | n),
      n & -536872258
    )
  }
  function N(e, t) {
    var r = t
    return (
      1024 & e.expression.transformFlags && (r |= 192),
      (e.transformFlags = 536870912 | r),
      r & -536872258
    )
  }
  function A(t, r) {
    var n = 3,
      a = e.getModifierFlags(t)
    return (
      0 === (2 & a) && (n |= r),
      (t.transformFlags = 536870912 | n),
      n & -574674242
    )
  }
  function w(e, t) {
    var r = 33554432 | t
    return (
      8388608 & t && (r |= 192),
      3 & e.flags && (r |= 4194496),
      (e.transformFlags = 536870912 | r),
      r & -546309442
    )
  }
  function P(e, t, r) {
    var n = r,
      a = 536872257
    switch (t) {
      case 120:
      case 191:
        n |= 24
        break
      case 114:
      case 112:
      case 113:
      case 117:
      case 124:
      case 76:
      case 232:
      case 264:
      case 184:
      case 202:
      case 203:
      case 131:
        n |= 3
        break
      case 249:
      case 250:
      case 251:
      case 10:
      case 252:
      case 253:
      case 254:
      case 255:
      case 256:
        n |= 4
        break
      case 13:
      case 14:
      case 15:
      case 16:
      case 196:
      case 183:
      case 262:
      case 115:
      case 204:
        n |= 192
        break
      case 9:
        e.hasExtendedUnicodeEscape && (n |= 192)
        break
      case 8:
        48 & e.numericLiteralFlags && (n |= 192)
        break
      case 216:
        e.awaitModifier && (n |= 8), (n |= 192)
        break
      case 197:
        n |= 16777416
        break
      case 119:
      case 133:
      case 130:
      case 134:
      case 136:
      case 122:
      case 137:
      case 105:
      case 145:
      case 148:
      case 150:
      case 155:
      case 156:
      case 157:
      case 158:
      case 159:
      case 160:
      case 161:
      case 162:
      case 163:
      case 164:
      case 165:
      case 166:
      case 167:
      case 168:
      case 230:
      case 231:
      case 169:
      case 170:
      case 171:
      case 172:
      case 173:
        ;(n = 3), (a = -3)
        break
      case 144:
        ;(n |= 2097152), 16384 & r && (n |= 65536)
        break
      case 198:
        n |= 524480
        break
      case 263:
        n |= 1048584
        break
      case 97:
        n |= 192
        break
      case 99:
        n |= 16384
        break
      case 174:
        ;(n |= 8388800), 524288 & r && (n |= 1048584), (a = 537396545)
        break
      case 175:
        ;(n |= 8388800), (a = 537396545)
        break
      case 176:
        ;(n |= 192), e.dotDotDotToken && (n |= 524288)
        break
      case 147:
        n |= 4099
        break
      case 178:
        ;(a = 540087617),
          2097152 & r && (n |= 192),
          65536 & r && (n |= 16384),
          1048576 & r && (n |= 8)
        break
      case 177:
      case 182:
        ;(a = 537396545), 524288 & r && (n |= 192)
        break
      case 212:
      case 213:
      case 214:
      case 215:
        4194304 & r && (n |= 192)
        break
      case 265:
        32768 & r && (n |= 192)
        break
      case 219:
      case 217:
      case 218:
        n |= 33554432
    }
    return (e.transformFlags = 536870912 | n), n & ~a
  }
  function O(e) {
    if (e >= 158 && e <= 173) return -3
    switch (e) {
      case 181:
      case 182:
      case 177:
        return 537396545
      case 233:
        return 574674241
      case 146:
        return 536872257
      case 187:
        return 601249089
      case 186:
      case 228:
        return 601281857
      case 227:
        return 546309441
      case 229:
      case 199:
        return 539358529
      case 152:
        return 601015617
      case 151:
      case 153:
      case 154:
        return 601015617
      case 119:
      case 133:
      case 130:
      case 136:
      case 134:
      case 122:
      case 137:
      case 105:
      case 145:
      case 148:
      case 150:
      case 155:
      case 156:
      case 157:
      case 230:
      case 231:
        return -3
      case 178:
        return 540087617
      case 260:
        return 537920833
      case 174:
      case 175:
        return 537396545
      default:
        return 536872257
    }
  }
  var F
  !(function(e) {
    ;(e[(e.NonInstantiated = 0)] = 'NonInstantiated'),
      (e[(e.Instantiated = 1)] = 'Instantiated'),
      (e[(e.ConstEnumOnly = 2)] = 'ConstEnumOnly')
  })((F = e.ModuleInstanceState || (e.ModuleInstanceState = {}))),
    (e.getModuleInstanceState = t)
  var I
  !(function(e) {
    ;(e[(e.None = 0)] = 'None'),
      (e[(e.IsContainer = 1)] = 'IsContainer'),
      (e[(e.IsBlockScopedContainer = 2)] = 'IsBlockScopedContainer'),
      (e[(e.IsControlFlowContainer = 4)] = 'IsControlFlowContainer'),
      (e[(e.IsFunctionLike = 8)] = 'IsFunctionLike'),
      (e[(e.IsFunctionExpression = 16)] = 'IsFunctionExpression'),
      (e[(e.HasLocals = 32)] = 'HasLocals'),
      (e[(e.IsInterface = 64)] = 'IsInterface'),
      (e[(e.IsObjectLiteralOrClassExpressionMethod = 128)] =
        'IsObjectLiteralOrClassExpressionMethod')
  })(I || (I = {}))
  var R = n()
  ;(e.bindSourceFile = r),
    (e.computeTransformFlagsForNode = a),
    (e.getTransformFlagsSubtreeExclusions = O)
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t) {
    t.trace(e.formatMessage.apply(void 0, arguments))
  }
  function r(e, t) {
    return e.traceResolution && void 0 !== t.trace
  }
  function n(t) {
    if (t) return e.Debug.assert(e.extensionIsTypeScript(t.extension)), t.path
  }
  function a(e, t) {
    var r = e.path,
      n = e.extension
    return { resolvedFileName: r, extension: n, isExternalLibraryImport: t }
  }
  function i(e, t, r) {
    return { resolvedModule: e && a(e, t), failedLookupLocations: r }
  }
  function o(t) {
    return !(e.isRootedDiskPath(t) || e.isExternalModuleNameRelative(t))
  }
  function s(r, n, a, i) {
    function o(r) {
      if (!e.hasProperty(s, r))
        return void (
          i.traceEnabled &&
          t(i.host, e.Diagnostics.package_json_does_not_have_a_0_field, r)
        )
      var n = s[r]
      if ('string' != typeof n)
        return void (
          i.traceEnabled &&
          t(
            i.host,
            e.Diagnostics
              .Expected_type_of_0_field_in_package_json_to_be_string_got_1,
            r,
            typeof n
          )
        )
      var o = e.normalizePath(e.combinePaths(a, n))
      return (
        i.traceEnabled &&
          t(
            i.host,
            e.Diagnostics.package_json_has_0_field_1_that_references_2,
            r,
            n,
            o
          ),
        o
      )
    }
    var s = c(n, i.host)
    return r ? o('typings') || o('types') : o('main')
  }
  function c(e, t) {
    try {
      var r = t.readFile(e)
      return r ? JSON.parse(r) : {}
    } catch (n) {
      return {}
    }
  }
  function u(t, r) {
    if (t.typeRoots) return t.typeRoots
    var n
    return (
      t.configFilePath
        ? (n = e.getDirectoryPath(t.configFilePath))
        : r.getCurrentDirectory && (n = r.getCurrentDirectory()),
      void 0 !== n ? _(n, r) : void 0
    )
  }
  function _(t, r) {
    if (!r.directoryExists) return [e.combinePaths(t, V)]
    var n
    return (
      K(e.normalizePath(t), function(t) {
        var a = e.combinePaths(t, V)
        r.directoryExists(a) && (n || (n = [])).push(a)
      }),
      n
    )
  }
  function l(a, i, o, s) {
    function c() {
      return p && p.length
        ? (l &&
            t(
              s,
              e.Diagnostics.Resolving_with_primary_search_path_0,
              p.join(', ')
            ),
          e.forEach(p, function(r) {
            var i = e.combinePaths(r, a),
              o = e.getDirectoryPath(i),
              c = x(o, s)
            return (
              !c &&
                l &&
                t(
                  s,
                  e.Diagnostics
                    .Directory_0_does_not_exist_skipping_all_lookups_in_it,
                  o
                ),
              n(T(j.DtsOnly, i, f, !c, d))
            )
          }))
        : void (
            l &&
            t(
              s,
              e.Diagnostics
                .Root_directory_cannot_be_determined_skipping_primary_search_paths
            )
          )
    }
    function _() {
      var r,
        o = i && e.getDirectoryPath(i)
      if (void 0 !== o) {
        l &&
          t(
            s,
            e.Diagnostics.Looking_up_in_node_modules_folder_initial_location_0,
            o
          )
        var c = O(j.DtsOnly, a, o, f, d, void 0)
        return (
          (r = n(c && c.value)),
          !r &&
            l &&
            t(s, e.Diagnostics.Type_reference_directive_0_was_not_resolved, a),
          r
        )
      }
      l &&
        t(
          s,
          e.Diagnostics
            .Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder
        )
    }
    var l = r(o, s),
      d = { compilerOptions: o, host: s, traceEnabled: l },
      p = u(o, s)
    l &&
      (void 0 === i
        ? void 0 === p
          ? t(
              s,
              e.Diagnostics
                .Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set,
              a
            )
          : t(
              s,
              e.Diagnostics
                .Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1,
              a,
              p
            )
        : void 0 === p
          ? t(
              s,
              e.Diagnostics
                .Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set,
              a,
              i
            )
          : t(
              s,
              e.Diagnostics
                .Resolving_type_reference_directive_0_containing_file_1_root_directory_2,
              a,
              i,
              p
            ))
    var f = [],
      g = c(),
      m = !0
    g || ((g = _()), (m = !1))
    var y
    return (
      g &&
        ((g = b(g, s, l)),
        l &&
          t(
            s,
            e.Diagnostics
              .Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2,
            a,
            g,
            m
          ),
        (y = { primary: m, resolvedFileName: g })),
      { resolvedTypeReferenceDirective: y, failedLookupLocations: f }
    )
  }
  function d(t, r) {
    if (t.types) return t.types
    var n = []
    if (r.directoryExists && r.getDirectories) {
      var a = u(t, r)
      if (a)
        for (var i = 0, o = a; i < o.length; i++) {
          var s = o[i]
          if (r.directoryExists(s))
            for (var _ = 0, l = r.getDirectories(s); _ < l.length; _++) {
              var d = l[_],
                p = e.normalizePath(d),
                f = w(e.combinePaths(s, p)),
                g = r.fileExists(f) && null === c(f, r).typings
              g || n.push(e.getBaseFileName(p))
            }
        }
    }
    return n
  }
  function p(t, r) {
    function n(n) {
      var a = e.toPath(n, t, r),
        i = s.get(a)
      return i || ((i = e.createMap()), s.set(a, i)), i
    }
    function a(e) {
      if (o(e)) {
        var t = c.get(e)
        return t || ((t = i()), c.set(e, t)), t
      }
    }
    function i() {
      function n(n) {
        return o.get(e.toPath(n, t, r))
      }
      function a(n, a) {
        var s = e.toPath(n, t, r)
        if (!o.contains(s)) {
          o.set(s, a)
          for (
            var c = a.resolvedModule && a.resolvedModule.resolvedFileName,
              u = i(s, c),
              _ = s;
            ;

          ) {
            var l = e.getDirectoryPath(_)
            if (l === _ || o.contains(l)) break
            if ((o.set(l, a), (_ = l), _ === u)) break
          }
        }
      }
      function i(n, a) {
        if (void 0 !== a) {
          for (
            var i = e.toPath(e.getDirectoryPath(a), t, r), o = 0;
            o < Math.min(n.length, i.length) &&
            n.charCodeAt(o) === i.charCodeAt(o);

          )
            o++
          var s = n.lastIndexOf(e.directorySeparator, o)
          if (!(s < 0)) return n.substr(0, s)
        }
      }
      var o = e.createFileMap()
      return { get: n, set: a }
    }
    var s = e.createFileMap(),
      c = e.createMap()
    return { getOrCreateCacheForDirectory: n, getOrCreateCacheForModuleName: a }
  }
  function f(n, a, i, o, s) {
    var c = r(i, o)
    c && t(o, e.Diagnostics.Resolving_module_0_from_1, n, a)
    var u = e.getDirectoryPath(a),
      _ = s && s.getOrCreateCacheForDirectory(u),
      l = _ && _.get(n)
    if (l)
      c && t(o, e.Diagnostics.Resolution_for_module_0_was_found_in_cache, n)
    else {
      var d = i.moduleResolution
      switch (
        (void 0 === d
          ? ((d =
              e.getEmitModuleKind(i) === e.ModuleKind.CommonJS
                ? e.ModuleResolutionKind.NodeJs
                : e.ModuleResolutionKind.Classic),
            c &&
              t(
                o,
                e.Diagnostics.Module_resolution_kind_is_not_specified_using_0,
                e.ModuleResolutionKind[d]
              ))
          : c &&
            t(
              o,
              e.Diagnostics.Explicitly_specified_module_resolution_kind_Colon_0,
              e.ModuleResolutionKind[d]
            ),
        d)
      ) {
        case e.ModuleResolutionKind.NodeJs:
          l = v(n, a, i, o, s)
          break
        case e.ModuleResolutionKind.Classic:
          l = B(n, a, i, o, s)
      }
      if (_) {
        _.set(n, l)
        var p = s.getOrCreateCacheForModuleName(n)
        p && p.set(u, l)
      }
    }
    return (
      c &&
        (l.resolvedModule
          ? t(
              o,
              e.Diagnostics.Module_name_0_was_successfully_resolved_to_1,
              n,
              l.resolvedModule.resolvedFileName
            )
          : t(o, e.Diagnostics.Module_name_0_was_not_resolved, n)),
      l
    )
  }
  function g(e, t, r, n, a, i) {
    return o(t) ? y(e, t, n, a, i) : m(e, t, r, n, a, i)
  }
  function m(r, n, a, i, o, s) {
    if (s.compilerOptions.rootDirs) {
      s.traceEnabled &&
        t(
          s.host,
          e.Diagnostics
            .rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0,
          n
        )
      for (
        var c,
          u,
          _ = e.normalizePath(e.combinePaths(a, n)),
          l = 0,
          d = s.compilerOptions.rootDirs;
        l < d.length;
        l++
      ) {
        var p = d[l],
          f = e.normalizePath(p)
        e.endsWith(f, e.directorySeparator) || (f += e.directorySeparator)
        var g = e.startsWith(_, f) && (void 0 === u || u.length < f.length)
        s.traceEnabled &&
          t(
            s.host,
            e.Diagnostics.Checking_if_0_is_the_longest_matching_prefix_for_1_2,
            f,
            _,
            g
          ),
          g && ((u = f), (c = p))
      }
      if (u) {
        s.traceEnabled &&
          t(s.host, e.Diagnostics.Longest_matching_prefix_for_0_is_1, _, u)
        var m = _.substr(u.length)
        s.traceEnabled &&
          t(
            s.host,
            e.Diagnostics.Loading_0_from_the_root_dir_1_candidate_location_2,
            m,
            u,
            _
          )
        var y = i(r, _, o, !x(a, s.host), s)
        if (y) return y
        s.traceEnabled &&
          t(s.host, e.Diagnostics.Trying_other_entries_in_rootDirs)
        for (var v = 0, h = s.compilerOptions.rootDirs; v < h.length; v++) {
          var p = h[v]
          if (p !== c) {
            var b = e.combinePaths(e.normalizePath(p), m)
            s.traceEnabled &&
              t(
                s.host,
                e.Diagnostics
                  .Loading_0_from_the_root_dir_1_candidate_location_2,
                m,
                p,
                b
              )
            var k = e.getDirectoryPath(b),
              C = i(r, b, o, !x(k, s.host), s)
            if (C) return C
          }
        }
        s.traceEnabled &&
          t(s.host, e.Diagnostics.Module_resolution_using_rootDirs_has_failed)
      }
    }
  }
  function y(r, n, a, i, o) {
    if (o.compilerOptions.baseUrl) {
      o.traceEnabled &&
        t(
          o.host,
          e.Diagnostics
            .baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1,
          o.compilerOptions.baseUrl,
          n
        )
      var s = void 0
      if (
        (o.compilerOptions.paths &&
          (o.traceEnabled &&
            t(
              o.host,
              e.Diagnostics
                .paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0,
              n
            ),
          (s = e.matchPatternOrExact(
            e.getOwnKeys(o.compilerOptions.paths),
            n
          ))),
        s)
      ) {
        var c = 'string' == typeof s ? void 0 : e.matchedText(s, n),
          u = 'string' == typeof s ? s : e.patternText(s)
        return (
          o.traceEnabled &&
            t(o.host, e.Diagnostics.Module_name_0_matched_pattern_1, n, u),
          e.forEach(o.compilerOptions.paths[u], function(n) {
            var s = c ? n.replace('*', c) : n,
              u = e.normalizePath(e.combinePaths(o.compilerOptions.baseUrl, s))
            o.traceEnabled &&
              t(
                o.host,
                e.Diagnostics
                  .Trying_substitution_0_candidate_module_location_Colon_1,
                n,
                s
              )
            var _ = e.tryGetExtensionFromPath(u)
            if (void 0 !== _) {
              var l = D(u, i, !1, o)
              return l && { path: l, extension: _ }
            }
            return a(r, u, i, !x(e.getDirectoryPath(u), o.host), o)
          })
        )
      }
      var _ = e.normalizePath(e.combinePaths(o.compilerOptions.baseUrl, n))
      return (
        o.traceEnabled &&
          t(
            o.host,
            e.Diagnostics.Resolving_module_name_0_relative_to_base_url_1_2,
            n,
            o.compilerOptions.baseUrl,
            _
          ),
        a(r, _, i, !x(e.getDirectoryPath(_), o.host), o)
      )
    }
  }
  function v(e, t, r, n, a) {
    return h(e, t, r, n, a, !1)
  }
  function h(n, a, s, c, u, _) {
    function l(r) {
      var a = function(e, t, r, n, a) {
          return k(e, t, r, n, a, !0)
        },
        i = g(r, n, d, a, f, m)
      if (i) return z({ resolved: i, isExternalLibraryImport: !1 })
      if (o(n)) {
        p &&
          t(
            c,
            e.Diagnostics
              .Loading_module_0_from_node_modules_folder_target_file_type_1,
            n,
            j[r]
          )
        var s = O(r, n, d, f, m, u)
        return (
          s && {
            value: s.value && {
              resolved: {
                path: b(s.value.path, c, p),
                extension: s.value.extension
              },
              isExternalLibraryImport: !0
            }
          }
        )
      }
      var _ = e.normalizePath(e.combinePaths(d, n)),
        l = k(r, _, f, !1, m, !0)
      return l && z({ resolved: l, isExternalLibraryImport: !1 })
    }
    void 0 === _ && (_ = !1)
    var d = e.getDirectoryPath(a),
      p = r(s, c),
      f = [],
      m = { compilerOptions: s, host: c, traceEnabled: p },
      y = _ ? l(j.JavaScript) : l(j.TypeScript) || l(j.JavaScript)
    if (y && y.value) {
      var v = y.value,
        h = v.resolved,
        x = v.isExternalLibraryImport
      return i(h, x, f)
    }
    return { resolvedModule: void 0, failedLookupLocations: f }
  }
  function b(r, n, a) {
    if (!n.realpath) return r
    var i = e.normalizePath(n.realpath(r))
    return a && t(n, e.Diagnostics.Resolving_real_path_for_0_result_1, r, i), i
  }
  function k(r, n, a, i, o, s) {
    if (
      (o.traceEnabled &&
        t(
          o.host,
          e.Diagnostics
            .Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1,
          n,
          j[r]
        ),
      !e.pathEndsWithDirectorySeparator(n))
    ) {
      if (!i) {
        var c = e.getDirectoryPath(n)
        x(c, o.host) ||
          (o.traceEnabled &&
            t(
              o.host,
              e.Diagnostics
                .Directory_0_does_not_exist_skipping_all_lookups_in_it,
              c
            ),
          (i = !0))
      }
      var u = C(r, n, a, i, o)
      if (u) return u
    }
    if (!i) {
      var _ = x(n, o.host)
      _ ||
        (o.traceEnabled &&
          t(
            o.host,
            e.Diagnostics.Directory_0_does_not_exist_skipping_all_lookups_in_it,
            n
          ),
        (i = !0))
    }
    return T(r, n, a, i, o, s)
  }
  function x(e, t) {
    return !t.directoryExists || t.directoryExists(e)
  }
  function C(r, n, a, i, o) {
    var s = S(n, r, a, i, o)
    if (s) return s
    if (e.hasJavaScriptFileExtension(n)) {
      var c = e.removeFileExtension(n)
      if (o.traceEnabled) {
        var u = n.substring(c.length)
        t(
          o.host,
          e.Diagnostics.File_name_0_has_a_1_extension_stripping_it,
          n,
          u
        )
      }
      return S(c, r, a, i, o)
    }
  }
  function S(t, r, n, a, i) {
    function o(e, r) {
      var o = D(t + e, n, a, i)
      return o && { path: o, extension: r }
    }
    if (!a) {
      var s = e.getDirectoryPath(t)
      s && (a = !x(s, i.host))
    }
    switch (r) {
      case j.DtsOnly:
        return o('.d.ts', e.Extension.Dts)
      case j.TypeScript:
        return (
          o('.ts', e.Extension.Ts) ||
          o('.tsx', e.Extension.Tsx) ||
          o('.d.ts', e.Extension.Dts)
        )
      case j.JavaScript:
        return o('.js', e.Extension.Js) || o('.jsx', e.Extension.Jsx)
    }
  }
  function D(r, n, a, i) {
    if (!a) {
      if (i.host.fileExists(r))
        return (
          i.traceEnabled &&
            t(
              i.host,
              e.Diagnostics.File_0_exist_use_it_as_a_name_resolution_result,
              r
            ),
          r
        )
      i.traceEnabled && t(i.host, e.Diagnostics.File_0_does_not_exist, r)
    }
    n.push(r)
  }
  function T(r, n, a, i, o, s) {
    void 0 === s && (s = !0)
    var c = !i && x(n, o.host)
    if (s) {
      var u = w(n)
      if (c && o.host.fileExists(u)) {
        var _ = E(u, r, n, a, o)
        if (_) return _
      } else
        c &&
          o.traceEnabled &&
          t(o.host, e.Diagnostics.File_0_does_not_exist, u),
          a.push(u)
    }
    return C(r, e.combinePaths(n, 'index'), a, !c, o)
  }
  function E(r, n, a, i, o) {
    o.traceEnabled && t(o.host, e.Diagnostics.Found_package_json_at_0, r)
    var c = s(n !== j.JavaScript, r, a, o)
    if (c) {
      var u = !x(e.getDirectoryPath(c), o.host),
        _ = D(c, i, u, o)
      if (_) {
        var l = _ && N(n, _)
        if (l) return l
        o.traceEnabled &&
          t(
            o.host,
            e.Diagnostics.File_0_has_an_unsupported_extension_so_skipping_it,
            _
          )
      }
      var d = n === j.DtsOnly ? j.TypeScript : n
      return k(d, c, i, u, o, !1)
    }
  }
  function N(t, r) {
    var n = e.tryGetExtensionFromPath(r)
    return void 0 !== n && A(t, n) ? { path: r, extension: n } : void 0
  }
  function A(t, r) {
    switch (t) {
      case j.JavaScript:
        return r === e.Extension.Js || r === e.Extension.Jsx
      case j.TypeScript:
        return (
          r === e.Extension.Ts || r === e.Extension.Tsx || r === e.Extension.Dts
        )
      case j.DtsOnly:
        return r === e.Extension.Dts
    }
  }
  function w(t) {
    return e.combinePaths(t, 'package.json')
  }
  function P(t, r, n, a, i, o) {
    var s = e.normalizePath(e.combinePaths(n, r))
    return C(t, s, i, !a, o) || T(t, s, i, !a, o)
  }
  function O(e, t, r, n, a, i) {
    return I(e, t, r, n, a, !1, i)
  }
  function F(e, t, r, n) {
    return I(j.DtsOnly, e, t, r, n, !0, void 0)
  }
  function I(t, r, n, a, i, o, s) {
    var c = s && s.getOrCreateCacheForModuleName(r)
    return K(e.normalizeSlashes(n), function(n) {
      if ('node_modules' !== e.getBaseFileName(n)) {
        var s = L(c, r, n, i.traceEnabled, i.host)
        return s ? s : z(R(t, r, n, a, i, o))
      }
    })
  }
  function R(r, n, a, i, o, s) {
    void 0 === s && (s = !1)
    var c = e.combinePaths(a, 'node_modules'),
      u = x(c, o.host)
    !u &&
      o.traceEnabled &&
      t(
        o.host,
        e.Diagnostics.Directory_0_does_not_exist_skipping_all_lookups_in_it,
        c
      )
    var _ = s ? void 0 : P(r, n, c, u, i, o)
    if (_) return _
    if (r !== j.JavaScript) {
      var l = e.combinePaths(c, '@types'),
        d = u
      return (
        u &&
          !x(l, o.host) &&
          (o.traceEnabled &&
            t(
              o.host,
              e.Diagnostics
                .Directory_0_does_not_exist_skipping_all_lookups_in_it,
              l
            ),
          (d = !1)),
        P(j.DtsOnly, M(n, o), l, d, i, o)
      )
    }
  }
  function M(r, n) {
    if (e.startsWith(r, '@')) {
      var a = r.replace(e.directorySeparator, '__')
      if (a !== r) {
        var i = a.slice(1)
        return (
          n.traceEnabled &&
            t(n.host, e.Diagnostics.Scoped_package_detected_looking_in_0, i),
          i
        )
      }
    }
    return r
  }
  function L(r, n, a, i, o) {
    var s = r && r.get(a)
    if (s)
      return (
        i && t(o, e.Diagnostics.Resolution_for_module_0_was_found_in_cache, n),
        {
          value: s.resolvedModule && {
            path: s.resolvedModule.resolvedFileName,
            extension: s.resolvedModule.extension
          }
        }
      )
  }
  function B(t, n, a, s, c) {
    function u(r) {
      var n = g(r, t, p, C, d, l)
      if (n) return { value: n }
      var a = c && c.getOrCreateCacheForModuleName(t)
      if (!o(t)) {
        var i = e.normalizePath(e.combinePaths(p, t))
        return z(C(r, i, d, !1, l))
      }
      var u = K(p, function(n) {
        var i = L(a, t, n, _, s)
        if (i) return i
        var o = e.normalizePath(e.combinePaths(n, t))
        return z(C(r, o, d, !1, l))
      })
      return u ? u : r === j.TypeScript ? F(t, p, d, l) : void 0
    }
    var _ = r(a, s),
      l = { compilerOptions: a, host: s, traceEnabled: _ },
      d = [],
      p = e.getDirectoryPath(n),
      f = u(j.TypeScript) || u(j.JavaScript)
    return i(f && f.value, !1, d)
  }
  function J(n, a, o, s, c) {
    var u = r(o, s)
    u &&
      t(
        s,
        e.Diagnostics
          .Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2,
        a,
        n,
        c
      )
    var _ = { compilerOptions: o, host: s, traceEnabled: u },
      l = [],
      d = R(j.DtsOnly, n, c, l, _)
    return i(d, !0, l)
  }
  function z(e) {
    return void 0 !== e ? { value: e } : void 0
  }
  function K(t, r) {
    for (;;) {
      var n = r(t)
      if (void 0 !== n) return n
      var a = e.getDirectoryPath(t)
      if (a === t) return
      t = a
    }
  }
  ;(e.trace = t), (e.isTraceEnabled = r)
  var j
  !(function(e) {
    ;(e[(e.TypeScript = 0)] = 'TypeScript'),
      (e[(e.JavaScript = 1)] = 'JavaScript'),
      (e[(e.DtsOnly = 2)] = 'DtsOnly')
  })(j || (j = {})),
    (e.moduleHasNonRelativeName = o),
    (e.getEffectiveTypeRoots = u)
  var V = e.combinePaths('node_modules', '@types')
  ;(e.resolveTypeReferenceDirective = l),
    (e.getAutomaticTypeDirectiveNames = d),
    (e.createModuleResolutionCache = p),
    (e.resolveModuleName = f),
    (e.nodeModuleNameResolver = v),
    (e.nodeModuleNameResolverWorker = h),
    (e.directoryProbablyExists = x),
    (e.classicNameResolver = B),
    (e.loadModuleFromGlobalCache = J)
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(e) {
    return e.id || ((e.id = o), o++), e.id
  }
  function r(e) {
    return e.id || ((e.id = i), i++), e.id
  }
  function n(n, i) {
    function o() {
      return (
        Lh ||
          ((Lh = 'React'),
          Jy.jsxFactory
            ? ((Bh = e.parseIsolatedEntityName(Jy.jsxFactory, zy)),
              Bh && (Lh = rg(Bh).text))
            : Jy.reactNamespace && (Lh = Jy.reactNamespace)),
        Lh
      )
    }
    function u(e, t) {
      return hg(e, t), Hy
    }
    function _(t, r, n, a, i) {
      var o = t
        ? e.createDiagnosticForNode(t, r, n, a, i)
        : e.createCompilerDiagnostic(r, n, a, i)
      Mh.add(o)
    }
    function l(e, t) {
      Ry++
      var r = new Py(134217728 | e, t)
      return (r.checkFlags = 0), r
    }
    function d(e) {
      return 0 !== (134217728 & e.flags)
    }
    function p(e) {
      var t = 0
      return (
        2 & e && (t |= 107455),
        1 & e && (t |= 107454),
        4 & e && (t |= 0),
        8 & e && (t |= 900095),
        16 & e && (t |= 106927),
        32 & e && (t |= 899519),
        64 & e && (t |= 792968),
        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 |= 530920),
        524288 & e && (t |= 793064),
        8388608 & e && (t |= 8388608),
        t
      )
    }
    function f(e, t) {
      t.mergeId || ((t.mergeId = s), s++), (Sh[t.mergeId] = e)
    }
    function g(t) {
      var r = l(t.flags, t.name)
      return (
        (r.declarations = t.declarations.slice(0)),
        (r.parent = t.parent),
        t.valueDeclaration && (r.valueDeclaration = t.valueDeclaration),
        t.constEnumOnlyModule && (r.constEnumOnlyModule = !0),
        t.members && (r.members = e.cloneMap(t.members)),
        t.exports && (r.exports = e.cloneMap(t.exports)),
        f(r, t),
        r
      )
    }
    function m(t, r) {
      if (t.flags & p(r.flags))
        if (1024 & t.flags)
          _(
            e.getNameOfDeclaration(r.declarations[0]),
            e.Diagnostics
              .Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity,
            Ue(t)
          )
        else {
          var n =
            2 & t.flags || 2 & r.flags
              ? e.Diagnostics.Cannot_redeclare_block_scoped_variable_0
              : e.Diagnostics.Duplicate_identifier_0
          e.forEach(r.declarations, function(t) {
            _(e.getNameOfDeclaration(t) || t, n, Ue(r))
          }),
            e.forEach(t.declarations, function(t) {
              _(e.getNameOfDeclaration(t) || t, n, Ue(r))
            })
        }
      else
        512 & r.flags &&
          512 & t.flags &&
          t.constEnumOnlyModule &&
          !r.constEnumOnlyModule &&
          (t.constEnumOnlyModule = !1),
          (t.flags |= r.flags),
          r.valueDeclaration &&
            (!t.valueDeclaration ||
              (233 === t.valueDeclaration.kind &&
                233 !== r.valueDeclaration.kind)) &&
            (t.valueDeclaration = r.valueDeclaration),
          e.addRange(t.declarations, r.declarations),
          r.members &&
            (t.members || (t.members = e.createMap()), y(t.members, r.members)),
          r.exports &&
            (t.exports || (t.exports = e.createMap()), y(t.exports, r.exports)),
          f(t, r)
    }
    function y(e, t) {
      t.forEach(function(t, r) {
        var n = e.get(r)
        n
          ? (134217728 & n.flags || ((n = g(n)), e.set(r, n)), m(n, t))
          : e.set(r, t)
      })
    }
    function v(t) {
      var r = t.parent
      if (r.symbol.declarations[0] !== r)
        return void e.Debug.assert(r.symbol.declarations.length > 1)
      if (e.isGlobalScopeAugmentation(r)) y(gh, r.symbol.exports)
      else {
        var n = e.isInAmbientContext(t.parent.parent)
            ? void 0
            : e.Diagnostics
                .Invalid_module_name_in_augmentation_module_0_cannot_be_found,
          a = oe(t, t, n, !0)
        if (!a) return
        ;(a = ce(a)),
          1920 & a.flags
            ? ((a = 134217728 & a.flags ? a : g(a)), m(a, r.symbol))
            : _(
                t,
                e.Diagnostics
                  .Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity,
                t.text
              )
      }
    }
    function h(t, r, n) {
      function a(t, r) {
        return function(n) {
          return Mh.add(e.createDiagnosticForNode(n, r, t))
        }
      }
      r.forEach(function(r, i) {
        var o = t.get(i)
        o ? e.forEach(o.declarations, a(i, n)) : t.set(i, r)
      })
    }
    function b(e) {
      if (134217728 & e.flags) return e
      var t = r(e)
      return Dh[t] || (Dh[t] = {})
    }
    function k(e) {
      var r = t(e)
      return Th[r] || (Th[r] = { flags: 0 })
    }
    function x(e) {
      return 32768 & e.flags ? e.objectFlags : 0
    }
    function C(e) {
      return 134217728 & e.flags ? e.checkFlags : 0
    }
    function S(t) {
      return 265 === t.kind && !e.isExternalOrCommonJsModule(t)
    }
    function D(t, r, n) {
      if (n) {
        var a = t.get(r)
        if (a) {
          if (
            (e.Debug.assert(
              0 === (1 & C(a)),
              'Should never get an instantiated symbol here.'
            ),
            a.flags & n)
          )
            return a
          if (8388608 & a.flags) {
            var i = $(a)
            if (i === iv || i.flags & n) return a
          }
        }
      }
    }
    function T(t, r) {
      var n = t.parent,
        a = t.parent.parent,
        i = D(n.locals, r, 107455),
        o = D(a.symbol.members, r, 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 E(t, r) {
      function a(t, r) {
        var n = e.getEnclosingBlockScopeContainer(t)
        switch (t.parent.parent.kind) {
          case 208:
          case 214:
          case 216:
            if (L(r, t, n)) return !0
        }
        switch (t.parent.parent.kind) {
          case 215:
          case 216:
            if (L(r, t.parent.parent.expression, n)) return !0
        }
        return !1
      }
      function i(t, r, n) {
        return !!e.findAncestor(t, function(a) {
          if (a === n) return 'quit'
          if (e.isFunctionLike(a)) return !0
          var i =
            a.parent && 149 === a.parent.kind && a.parent.initializer === a
          if (i)
            if (32 & e.getModifierFlags(a.parent)) {
              if (151 === r.kind) return !0
            } else {
              var o = 149 === r.kind && !(32 & e.getModifierFlags(r))
              if (!o || e.getContainingClass(t) !== e.getContainingClass(r))
                return !0
            }
        })
      }
      var o = e.getSourceFileOfNode(t),
        s = e.getSourceFileOfNode(r)
      if (o !== s) {
        if (
          (Ky && (o.externalModuleIndicator || s.externalModuleIndicator)) ||
          (!Jy.outFile && !Jy.out) ||
          e.isInAmbientContext(t)
        )
          return !0
        if (i(r, t)) return !0
        var c = n.getSourceFiles()
        return e.indexOf(c, o) <= e.indexOf(c, s)
      }
      if (t.pos <= r.pos) {
        if (176 === t.kind) {
          var u = e.getAncestor(r, 176)
          return u
            ? e.findAncestor(u, e.isBindingElement) !==
                e.findAncestor(t, e.isBindingElement) || t.pos < u.pos
            : E(e.getAncestor(t, 226), r)
        }
        return 226 !== t.kind || !a(t, r)
      }
      if (246 === r.parent.kind) return !0
      var _ = e.getEnclosingBlockScopeContainer(t)
      return Bs(r) || i(r, t, _)
    }
    function N(t, r, n, a, i) {
      var o,
        s,
        c,
        u,
        l = t,
        d = !1
      e: for (; t; ) {
        if (t.locals && !S(t) && (o = D(t.locals, r, n))) {
          var p = !0
          if (
            (e.isFunctionLike(t) &&
              s &&
              s !== t.body &&
              (n & o.flags & 793064 &&
                283 !== s.kind &&
                (p =
                  !!(262144 & o.flags) &&
                  (s === t.type || 146 === s.kind || 145 === s.kind)),
              107455 & n &&
                1 & o.flags &&
                (p =
                  146 === s.kind ||
                  (s === t.type && 146 === o.valueDeclaration.kind))),
            p)
          )
            break e
          o = void 0
        }
        switch (t.kind) {
          case 265:
            if (!e.isExternalOrCommonJsModule(t)) break
            d = !0
          case 233:
            var f = he(t).exports
            if (265 === t.kind || e.isAmbientModule(t)) {
              if ((o = f.get('default'))) {
                var g = e.getLocalSymbolForExportDefault(o)
                if (g && o.flags & n && g.name === r) break e
                o = void 0
              }
              var m = f.get(r)
              if (m && 8388608 === m.flags && e.getDeclarationOfKind(m, 246))
                break
            }
            if ((o = D(f, r, 8914931 & n))) break e
            break
          case 232:
            if ((o = D(he(t).exports, r, 8 & n))) break e
            break
          case 149:
          case 148:
            if (e.isClassLike(t.parent) && !(32 & e.getModifierFlags(t))) {
              var y = Ce(t.parent)
              y && y.locals && D(y.locals, r, 107455 & n) && (c = t)
            }
            break
          case 229:
          case 199:
          case 230:
            if ((o = D(he(t).members, r, 793064 & n))) {
              if (!A(o, t)) {
                o = void 0
                break
              }
              if (s && 32 & e.getModifierFlags(s))
                return void _(
                  l,
                  e.Diagnostics
                    .Static_members_cannot_reference_class_type_parameters
                )
              break e
            }
            if (199 === t.kind && 32 & n) {
              var v = t.name
              if (v && r === v.text) {
                o = t.symbol
                break e
              }
            }
            break
          case 144:
            if (
              ((u = t.parent.parent),
              (e.isClassLike(u) || 230 === u.kind) &&
                (o = D(he(u).members, r, 793064 & n)))
            )
              return void _(
                l,
                e.Diagnostics
                  .A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type
              )
            break
          case 151:
          case 150:
          case 152:
          case 153:
          case 154:
          case 228:
          case 187:
            if (3 & n && 'arguments' === r) {
              o = Qy
              break e
            }
            break
          case 186:
            if (3 & n && 'arguments' === r) {
              o = Qy
              break e
            }
            if (16 & n) {
              var h = t.name
              if (h && r === h.text) {
                o = t.symbol
                break e
              }
            }
            break
          case 147:
            t.parent && 146 === t.parent.kind && (t = t.parent),
              t.parent && e.isClassElement(t.parent) && (t = t.parent)
        }
        ;(s = t), (t = t.parent)
      }
      if ((o && a && jy && (o.isReferenced = !0), o || (o = D(gh, r, n)), !o))
        return void (
          a &&
          ((l &&
            (w(l, r, i) || P(l) || F(l, r, n) || I(l, r, n) || R(l, r, n))) ||
            _(l, a, 'string' == typeof i ? i : e.declarationNameToString(i)))
        )
      if (a) {
        if (c) {
          var b = c.name
          return void _(
            l,
            e.Diagnostics
              .Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor,
            e.declarationNameToString(b),
            'string' == typeof i ? i : e.declarationNameToString(i)
          )
        }
        if (2 & n || ((32 & n || 384 & n) && 107455 === (107455 & n))) {
          var k = ke(o)
          ;(2 & k.flags || 32 & k.flags || 384 & k.flags) && M(k, l)
        }
        if (o && d && 107455 === (107455 & n)) {
          var x = o.declarations
          x &&
            1 === x.length &&
            236 === x[0].kind &&
            _(
              l,
              e.Diagnostics
                ._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead,
              r
            )
        }
      }
      return o
    }
    function A(e, t) {
      for (var r = 0, n = e.declarations; r < n.length; r++) {
        var a = n[r]
        if (145 === a.kind && a.parent === t) return !0
      }
      return !1
    }
    function w(t, r, n) {
      if ((71 === t.kind && Eg(t)) || Bs(t)) return !1
      for (var a = e.getThisContainer(t, !0), i = a; i; ) {
        if (e.isClassLike(i.parent)) {
          var o = he(i.parent)
          if (!o) break
          var s = zt(o)
          if (fn(s, r))
            return (
              _(
                t,
                e.Diagnostics
                  .Cannot_find_name_0_Did_you_mean_the_static_member_1_0,
                'string' == typeof n ? n : e.declarationNameToString(n),
                Ue(o)
              ),
              !0
            )
          if (i === a && !(32 & e.getModifierFlags(i))) {
            var c = mr(o).thisType
            if (fn(c, r))
              return (
                _(
                  t,
                  e.Diagnostics
                    .Cannot_find_name_0_Did_you_mean_the_instance_member_this_0,
                  'string' == typeof n ? n : e.declarationNameToString(n)
                ),
                !0
              )
          }
        }
        i = i.parent
      }
      return !1
    }
    function P(t) {
      var r = O(t),
        n = !(!r || !ae(r, 64, !0))
      return (
        n &&
          _(
            t,
            e.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements,
            e.getTextOfNode(r)
          ),
        n
      )
    }
    function O(t) {
      switch (t.kind) {
        case 71:
        case 179:
          return t.parent ? O(t.parent) : void 0
        case 201:
          return (
            e.Debug.assert(e.isEntityNameExpression(t.expression)), t.expression
          )
        default:
          return
      }
    }
    function F(t, r, n) {
      if (1920 === n) {
        var a = Z(N(t, r, 792640, void 0, void 0))
        if (a)
          return (
            _(
              t,
              e.Diagnostics
                ._0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here,
              r
            ),
            !0
          )
      }
      return !1
    }
    function I(t, r, n) {
      if (107455 & n) {
        var a = Z(N(t, r, 792640, void 0, void 0))
        if (a && !(1024 & a.flags))
          return (
            _(
              t,
              e.Diagnostics
                ._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,
              r
            ),
            !0
          )
      }
      return !1
    }
    function R(t, r, n) {
      if (107031 & n) {
        var a = Z(N(t, r, 1024, void 0, void 0))
        if (a)
          return _(t, e.Diagnostics.Cannot_use_namespace_0_as_a_value, r), !0
      } else if (792640 & n) {
        var a = Z(N(t, r, 1024, void 0, void 0))
        if (a)
          return _(t, e.Diagnostics.Cannot_use_namespace_0_as_a_type, r), !0
      }
      return !1
    }
    function M(t, r) {
      e.Debug.assert(!!(2 & t.flags || 32 & t.flags || 384 & t.flags))
      var n = e.forEach(t.declarations, function(t) {
        return e.isBlockOrCatchScoped(t) || e.isClassLike(t) || 232 === t.kind
          ? t
          : void 0
      })
      e.Debug.assert(
        void 0 !== n,
        'Declaration to checkResolvedBlockScopedVariable is undefined'
      ),
        e.isInAmbientContext(n) ||
          E(n, r) ||
          (2 & t.flags
            ? _(
                r,
                e.Diagnostics
                  .Block_scoped_variable_0_used_before_its_declaration,
                e.declarationNameToString(e.getNameOfDeclaration(n))
              )
            : 32 & t.flags
              ? _(
                  r,
                  e.Diagnostics.Class_0_used_before_its_declaration,
                  e.declarationNameToString(e.getNameOfDeclaration(n))
                )
              : 384 & t.flags &&
                _(
                  r,
                  e.Diagnostics.Enum_0_used_before_its_declaration,
                  e.declarationNameToString(e.getNameOfDeclaration(n))
                ))
    }
    function L(t, r, n) {
      return (
        r &&
        !!e.findAncestor(t, function(t) {
          return t === n || e.isFunctionLike(t) ? 'quit' : t === r
        })
      )
    }
    function B(t) {
      if (e.isAliasSymbolDeclaration(t))
        return 237 === t.kind
          ? t
          : e.findAncestor(t, function(e) {
              return 238 === e.kind
            })
    }
    function J(t) {
      return e.find(t.declarations, e.isAliasSymbolDeclaration)
    }
    function z(t, r) {
      return 248 === t.moduleReference.kind
        ? ce(ie(t, e.getExternalModuleImportEqualsDeclarationExpression(t)))
        : re(t.moduleReference, r)
    }
    function K(t, r) {
      var n = ie(t, t.parent.moduleSpecifier)
      if (n) {
        var a = void 0
        if (e.isShorthandAmbientModuleSymbol(n)) a = n
        else {
          var i = n.exports.get('export=')
          a = i ? fn(zt(i), 'default') : Z(n.exports.get('default'), r)
        }
        if (a || Vy) {
          if (!a && Vy) return ce(n, r) || Z(n, r)
        } else _(t.name, e.Diagnostics.Module_0_has_no_default_export, Ue(n))
        return a
      }
    }
    function j(e, t) {
      var r = e.parent.parent.moduleSpecifier
      return ue(ie(e, r), r, t)
    }
    function V(t, r) {
      if (794600 & t.flags) return t
      var n = l(t.flags | r.flags, t.name)
      return (
        (n.declarations = e.concatenate(t.declarations, r.declarations)),
        (n.parent = t.parent || r.parent),
        t.valueDeclaration && (n.valueDeclaration = t.valueDeclaration),
        r.members && (n.members = r.members),
        t.exports && (n.exports = t.exports),
        n
      )
    }
    function q(e, t, r) {
      if (1536 & e.flags) return Z(fe(e).get(t), r)
    }
    function U(e, t) {
      if (3 & e.flags) {
        var r = e.valueDeclaration.type
        if (r) return Z(fn(Fi(r), t))
      }
    }
    function W(t, r, n) {
      var a = ie(t, t.moduleSpecifier),
        i = ue(a, t.moduleSpecifier, n)
      if (i) {
        var o = r.propertyName || r.name
        if (o.text) {
          if (e.isShorthandAmbientModuleSymbol(a)) return a
          var s = void 0
          ;(s =
            a && a.exports && a.exports.get('export=')
              ? fn(zt(i), o.text)
              : U(i, o.text)),
            (s = Z(s, n))
          var c = q(i, o.text, n)
          !c && Vy && 'default' === o.text && (c = ce(a, n) || Z(a, n))
          var u = c && s ? V(s, c) : c || s
          return (
            u ||
              _(
                o,
                e.Diagnostics.Module_0_has_no_exported_member_1,
                ne(a),
                e.declarationNameToString(o)
              ),
            u
          )
        }
      }
    }
    function H(e, t) {
      return W(e.parent.parent.parent, e, t)
    }
    function G(e, t) {
      return ce(e.parent.symbol, t)
    }
    function X(e, t) {
      return e.parent.parent.moduleSpecifier
        ? W(e.parent.parent, e, t)
        : ae(e.propertyName || e.name, 901119, !1, t)
    }
    function Q(e, t) {
      return ae(e.expression, 901119, !1, t)
    }
    function Y(e, t) {
      switch (e.kind) {
        case 237:
          return z(e, t)
        case 239:
          return K(e, t)
        case 240:
          return j(e, t)
        case 242:
          return H(e, t)
        case 246:
          return X(e, t)
        case 243:
          return Q(e, t)
        case 236:
          return G(e, t)
      }
    }
    function Z(e, t) {
      var r = !t && e && 8388608 & e.flags && !(901119 & e.flags)
      return r ? $(e) : e
    }
    function $(t) {
      e.Debug.assert(0 !== (8388608 & t.flags), 'Should only get Alias here.')
      var r = b(t)
      if (r.target) r.target === ov && (r.target = iv)
      else {
        r.target = ov
        var n = J(t)
        e.Debug.assert(!!n)
        var a = Y(n)
        r.target === ov
          ? (r.target = a || iv)
          : _(n, e.Diagnostics.Circular_definition_of_import_alias_0, Ue(t))
      }
      return r.target
    }
    function ee(e) {
      var t = he(e),
        r = $(t)
      if (r) {
        var n = r === iv || (107455 & r.flags && !rm(r))
        n && te(t)
      }
    }
    function te(t) {
      var r = b(t)
      if (!r.referenced) {
        r.referenced = !0
        var n = J(t)
        e.Debug.assert(!!n),
          243 === n.kind
            ? Fd(n.expression)
            : 246 === n.kind
              ? Fd(n.propertyName || n.name)
              : e.isInternalModuleImportEqualsDeclaration(n) &&
                Fd(n.moduleReference)
      }
    }
    function re(t, r) {
      return (
        71 === t.kind &&
          e.isRightSideOfQualifiedNameOrPropertyAccess(t) &&
          (t = t.parent),
        71 === t.kind || 143 === t.parent.kind
          ? ae(t, 1920, !1, r)
          : (e.Debug.assert(237 === t.parent.kind), ae(t, 901119, !1, r))
      )
    }
    function ne(e) {
      return e.parent ? ne(e.parent) + '.' + Ue(e) : Ue(e)
    }
    function ae(t, r, n, a, i) {
      if (!e.nodeIsMissing(t)) {
        var o
        if (71 === t.kind) {
          var s =
            1920 === r
              ? e.Diagnostics.Cannot_find_namespace_0
              : e.Diagnostics.Cannot_find_name_0
          if (((o = N(i || t, t.text, r, n ? void 0 : s, t)), !o)) return
        } else if (143 === t.kind || 179 === t.kind) {
          var c = void 0
          if (143 === t.kind) c = t.left
          else {
            if (
              179 !== t.kind ||
              (185 !== t.expression.kind &&
                !e.isEntityNameExpression(t.expression))
            )
              return
            c = t.expression
          }
          var u = 143 === t.kind ? t.right : t.name,
            l = ae(c, 1920, n, !1, i)
          if (!l || e.nodeIsMissing(u)) return
          if (l === iv) return l
          if (((o = D(fe(l), u.text, r)), !o))
            return void (
              n ||
              _(
                u,
                e.Diagnostics.Namespace_0_has_no_exported_member_1,
                ne(l),
                e.declarationNameToString(u)
              )
            )
        } else {
          if (185 === t.kind)
            return e.isEntityNameExpression(t.expression)
              ? ae(t.expression, r, n, a, i)
              : void 0
          e.Debug.fail('Unknown entity name kind.')
        }
        return (
          e.Debug.assert(
            0 === (1 & C(o)),
            'Should never get an instantiated symbol here.'
          ),
          o.flags & r || a ? o : $(o)
        )
      }
    }
    function ie(t, r) {
      return oe(t, r, e.Diagnostics.Cannot_find_module_0)
    }
    function oe(e, t, r, n) {
      if ((void 0 === n && (n = !1), 9 === t.kind || 13 === t.kind)) {
        var a = t
        return se(e, a.text, r, a, n)
      }
    }
    function se(t, r, a, i, o) {
      void 0 === o && (o = !1)
      var s = e.escapeIdentifier(r)
      if (void 0 !== s) {
        var c = Tn(s, !0)
        if (c) return c
        var u = e.isExternalModuleNameRelative(s),
          l = e.getResolvedModule(e.getSourceFileOfNode(t), r),
          d = l && e.getResolutionDiagnostic(Jy, l),
          p = l && !d && n.getSourceFile(l.resolvedFileName)
        if (p)
          return p.symbol
            ? ve(p.symbol)
            : void (a && _(i, e.Diagnostics.File_0_is_not_a_module, p.fileName))
        if (Av) {
          var f = e.findBestPatternMatch(
            Av,
            function(e) {
              return e.pattern
            },
            s
          )
          if (f) return ve(f.symbol)
        }
        if (u || !l || e.extensionIsTypeScript(l.extension)) {
          if (a)
            if (d) _(i, d, s, l.resolvedFileName)
            else {
              var g = e.tryExtractTypeScriptExtension(s)
              if (g) {
                var m =
                  e.Diagnostics
                    .An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead
                _(i, m, g, e.removeExtension(s, g))
              } else _(i, a, s)
            }
        } else if (o) {
          var m =
            e.Diagnostics
              .Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented
          _(i, m, r, l.resolvedFileName)
        } else
          Uy &&
            a &&
            _(
              i,
              e.Diagnostics
                .Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,
              r,
              l.resolvedFileName
            )
      }
    }
    function ce(e, t) {
      return (e && ve(Z(e.exports.get('export='), t))) || e
    }
    function ue(t, r, n) {
      var a = ce(t, n)
      return (
        n ||
          !a ||
          1539 & a.flags ||
          (_(
            r,
            e.Diagnostics
              .Module_0_resolves_to_a_non_module_entity_and_cannot_be_imported_using_this_construct,
            Ue(t)
          ),
          (a = void 0)),
        a
      )
    }
    function _e(e) {
      return void 0 !== e.exports.get('export=')
    }
    function le(e) {
      return Sn(ge(e))
    }
    function de(t) {
      var r = le(t),
        n = ce(t)
      return n !== t && e.addRange(r, en(zt(n))), r
    }
    function pe(e, t) {
      var r = ge(t)
      if (r) return r.get(e)
    }
    function fe(e) {
      return 1536 & e.flags ? ge(e) : e.exports || By
    }
    function ge(e) {
      var t = b(e)
      return t.resolvedExports || (t.resolvedExports = ye(e))
    }
    function me(t, r, n, a) {
      r &&
        r.forEach(function(r, i) {
          if ('default' !== i) {
            var o = t.get(i)
            if (o) {
              if (n && a && o && Z(o) !== Z(r)) {
                var s = n.get(i)
                s.exportsWithDuplicate
                  ? s.exportsWithDuplicate.push(a)
                  : (s.exportsWithDuplicate = [a])
              }
            } else
              t.set(i, r),
                n &&
                  a &&
                  n.set(i, {
                    specifierText: e.getTextOfNode(a.moduleSpecifier)
                  })
          }
        })
    }
    function ye(t) {
      function r(t) {
        if (t && 1952 & t.flags && !e.contains(n, t)) {
          n.push(t)
          var a = e.cloneMap(t.exports),
            i = t.exports.get('__export')
          if (i) {
            for (
              var o = e.createMap(),
                s = e.createMap(),
                c = 0,
                u = i.declarations;
              c < u.length;
              c++
            ) {
              var _ = u[c],
                l = ie(_, _.moduleSpecifier),
                d = r(l)
              me(o, d, s, _)
            }
            s.forEach(function(t, r) {
              var n = t.exportsWithDuplicate
              if ('export=' !== r && n && n.length && !a.has(r))
                for (var i = 0, o = n; i < o.length; i++) {
                  var c = o[i]
                  Mh.add(
                    e.createDiagnosticForNode(
                      c,
                      e.Diagnostics
                        .Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity,
                      s.get(r).specifierText,
                      r
                    )
                  )
                }
            }),
              me(a, o)
          }
          return a
        }
      }
      var n = []
      return (t = ce(t)), r(t) || t.exports
    }
    function ve(e) {
      var t
      return e && e.mergeId && (t = Sh[e.mergeId]) ? t : e
    }
    function he(e) {
      return ve(e.symbol)
    }
    function be(e) {
      return ve(e.parent)
    }
    function ke(e) {
      return e && 0 !== (1048576 & e.flags) ? ve(e.exportSymbol) : e
    }
    function xe(e) {
      return !!(107455 & e.flags || (8388608 & e.flags && 107455 & $(e).flags))
    }
    function Ce(t) {
      for (var r = t.members, n = 0, a = r; n < a.length; n++) {
        var i = a[n]
        if (152 === i.kind && e.nodeIsPresent(i.body)) return i
      }
    }
    function Se(e) {
      var t = new Oy(Yy, e)
      return Iy++, (t.id = Iy), t
    }
    function De(e, t) {
      var r = Se(e)
      return (r.intrinsicName = t), r
    }
    function Te(e) {
      var t = $a(e)
      return (t.flags |= 8), (t.intrinsicName = 'boolean'), t
    }
    function Ee(e, t) {
      var r = Se(32768)
      return (r.objectFlags = e), (r.symbol = t), r
    }
    function Ne() {
      return $a(
        e.convertToArray(Vh.keys(), function(e) {
          return Ei(32, e)
        })
      )
    }
    function Ae(e) {
      return (
        95 === e.charCodeAt(0) &&
        95 === e.charCodeAt(1) &&
        95 !== e.charCodeAt(2) &&
        64 !== e.charCodeAt(2)
      )
    }
    function we(e) {
      var t
      return (
        e.forEach(function(e, r) {
          Ae(r) || (t || (t = []), xe(e) && t.push(e))
        }),
        t || Ly
      )
    }
    function Pe(e, t, r, n, a, i) {
      return (
        (e.members = t),
        (e.properties = we(t)),
        (e.callSignatures = r),
        (e.constructSignatures = n),
        a && (e.stringIndexInfo = a),
        i && (e.numberIndexInfo = i),
        e
      )
    }
    function Oe(e, t, r, n, a, i) {
      return Pe(Ee(16, e), t, r, n, a, i)
    }
    function Fe(t, r) {
      for (var n, a = t; a; a = a.parent) {
        if (a.locals && !S(a) && (n = r(a.locals))) return n
        switch (a.kind) {
          case 265:
            if (!e.isExternalOrCommonJsModule(a)) break
          case 233:
            if ((n = r(he(a).exports))) return n
        }
      }
      return r(gh)
    }
    function Ie(e) {
      return 107455 === e ? 107455 : 1920
    }
    function Re(t, r, n, a) {
      function i(e) {
        return o(e, [])
      }
      function o(i, s) {
        function c(e, t) {
          if (!Me(e, r, t)) return !0
          var n = Re(e.parent, r, Ie(t), a)
          return !!n
        }
        function u(r, a) {
          if (t === (a || r)) return !e.forEach(r.declarations, Je) && c(r, n)
        }
        function _(r) {
          return u(r.get(t.name))
            ? [t]
            : e.forEachEntry(r, function(t) {
                if (
                  8388608 & t.flags &&
                  'export=' !== t.name &&
                  !e.getDeclarationOfKind(t, 246) &&
                  (!a ||
                    e.forEach(
                      t.declarations,
                      e.isExternalModuleImportEqualsDeclaration
                    ))
                ) {
                  var r = $(t)
                  if (u(t, $(t))) return [t]
                  var i = r.exports ? o(r.exports, s) : void 0
                  if (i && c(t, Ie(n))) return [t].concat(i)
                }
              })
        }
        if (!e.contains(s, i)) {
          s.push(i)
          var l = _(i)
          return s.pop(), l
        }
      }
      if (t && !Le(t)) return Fe(r, i)
    }
    function Me(t, r, n) {
      var a = !1
      return (
        Fe(r, function(r) {
          var i = r.get(t.name)
          return (
            !!i &&
            (i === t ||
              ((i =
                8388608 & i.flags && !e.getDeclarationOfKind(i, 246)
                  ? $(i)
                  : i),
              !!(i.flags & n) && ((a = !0), !0)))
          )
        }),
        a
      )
    }
    function Le(e) {
      if (e.declarations && e.declarations.length) {
        for (var t = 0, r = e.declarations; t < r.length; t++) {
          var n = r[t]
          switch (n.kind) {
            case 149:
            case 151:
            case 153:
            case 154:
              continue
            default:
              return !1
          }
        }
        return !0
      }
      return !1
    }
    function Be(t, r, n, a) {
      function i(t) {
        var r = e.findAncestor(t, Je)
        return r && he(r)
      }
      if (t && r && !(262144 & t.flags)) {
        for (var o = t, s = n; t; ) {
          var c = Re(t, r, s, !1)
          if (c) {
            var u = ze(c[0], a)
            return u
              ? u
              : {
                  accessibility: 1,
                  errorSymbolName: Ue(o, r, n),
                  errorModuleName: t !== o ? Ue(t, r, 1920) : void 0
                }
          }
          ;(s = Ie(n)), (t = be(t))
        }
        var _ = e.forEach(o.declarations, i)
        if (_) {
          var l = i(r)
          if (_ !== l)
            return {
              accessibility: 2,
              errorSymbolName: Ue(o, r, n),
              errorModuleName: Ue(_)
            }
        }
        return { accessibility: 1, errorSymbolName: Ue(o, r, n) }
      }
      return { accessibility: 0 }
    }
    function Je(t) {
      return (
        e.isAmbientModule(t) ||
        (265 === t.kind && e.isExternalOrCommonJsModule(t))
      )
    }
    function ze(t, r) {
      function n(t) {
        if (!nt(t)) {
          var n = B(t)
          return (
            !(!n || 1 & e.getModifierFlags(n) || !nt(n.parent)) &&
            (r &&
              ((k(t).isVisible = !0),
              a ? e.contains(a, n) || a.push(n) : (a = [n])),
            !0)
          )
        }
        return !0
      }
      var a
      if (
        !e.forEach(t.declarations, function(e) {
          return !n(e)
        })
      )
        return { accessibility: 0, aliasesToMakeVisible: a }
    }
    function Ke(t, r) {
      var n
      n =
        162 === t.parent.kind ||
        e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)
          ? 1156031
          : 143 === t.kind || 179 === t.kind || 237 === t.parent.kind
            ? 1920
            : 793064
      var a = rg(t),
        i = N(r, a.text, n, void 0, void 0)
      return (
        (i && ze(i, !0)) || {
          accessibility: 1,
          errorSymbolName: e.getTextOfNode(a),
          errorNode: a
        }
      )
    }
    function je(t, r) {
      t.writeKeyword(e.tokenToString(r))
    }
    function Ve(t, r) {
      t.writePunctuation(e.tokenToString(r))
    }
    function qe(e) {
      e.writeSpace(' ')
    }
    function Ue(t, r, n) {
      var a = e.getSingleLineStringWriter()
      rt().buildSymbolDisplay(t, a, r, n)
      var i = a.string()
      return e.releaseStringWriter(a), i
    }
    function We(t, r, n, a) {
      var i = e.getSingleLineStringWriter()
      rt().buildSignatureDisplay(t, i, r, n, a)
      var o = i.string()
      return e.releaseStringWriter(i), o
    }
    function He(t, r, n) {
      var a = e.getSingleLineStringWriter()
      rt().buildTypeDisplay(t, a, r, n)
      var i = a.string()
      e.releaseStringWriter(a)
      var o = Jy.noErrorTruncation || 4 & n ? void 0 : 100
      return (
        o && i.length >= o && (i = i.substr(0, o - '...'.length) + '...'), i
      )
    }
    function Ge() {
      function t(e, t) {
        return {
          enclosingDeclaration: e,
          flags: t,
          encounteredError: !1,
          inObjectTypeLiteral: !1,
          checkAlias: !0,
          symbolStack: void 0
        }
      }
      function r(t) {
        function o(e) {
          for (var t = [], n = 0, a = e; n < a.length; n++) {
            var i = a[n],
              o = r(i)
            o && t.push(o)
          }
          return t
        }
        function u(t) {
          e.Debug.assert(!!(32768 & t.flags))
          var n = Ur(t),
            a = i(n),
            o = Hr(t),
            s = r(o),
            c =
              t.declaration && t.declaration.readonlyToken
                ? e.createToken(131)
                : void 0,
            u =
              t.declaration && t.declaration.questionToken
                ? e.createToken(55)
                : void 0
          return e.createMappedTypeNode(c, a, u, s)
        }
        function _(t) {
          function r() {
            var t = !!(
                8192 & n.flags &&
                e.forEach(n.declarations, function(t) {
                  return 32 & e.getModifierFlags(t)
                })
              ),
              r =
                !!(16 & n.flags) &&
                (n.parent ||
                  e.forEach(n.declarations, function(e) {
                    return 265 === e.parent.kind || 234 === e.parent.kind
                  }))
            if (t || r) return e.contains(c.symbolStack, n)
          }
          var n = t.symbol
          if (n) {
            if ((32 & n.flags && !It(n)) || 896 & n.flags || r()) return d(n)
            if (e.contains(c.symbolStack, n)) {
              var a = Ze(t)
              if (a) {
                var i = s(a, !1)
                return e.createTypeReferenceNode(i, void 0)
              }
              return e.createKeywordTypeNode(119)
            }
            c.symbolStack || (c.symbolStack = []), c.symbolStack.push(n)
            var o = l(t)
            return c.symbolStack.pop(), o
          }
          return l(t)
        }
        function l(t) {
          if (32 & t.objectFlags && 278528 & Wr(t).flags) return u(t)
          var r = Qr(t)
          if (
            !r.properties.length &&
            !r.stringIndexInfo &&
            !r.numberIndexInfo
          ) {
            if (!r.callSignatures.length && !r.constructSignatures.length)
              return e.createTypeLiteralNode(void 0)
            if (
              1 === r.callSignatures.length &&
              !r.constructSignatures.length
            ) {
              var n = r.callSignatures[0]
              return a(n, 160)
            }
            if (
              1 === r.constructSignatures.length &&
              !r.callSignatures.length
            ) {
              var n = r.constructSignatures[0]
              return a(n, 161)
            }
          }
          var i = c.inObjectTypeLiteral
          c.inObjectTypeLiteral = !0
          var o = f(r)
          return (c.inObjectTypeLiteral = i), e.createTypeLiteralNode(o)
        }
        function d(t) {
          var r = s(t, !1)
          return e.createTypeQueryNode(r)
        }
        function p(t) {
          var n = t.typeArguments || Ly
          if (t.target === Ov) {
            var a = r(n[0])
            return e.createArrayTypeNode(a)
          }
          if (8 & t.target.objectFlags) {
            if (n.length > 0) {
              var i = o(n.slice(0, ea(t)))
              if (i && i.length > 0) return e.createTupleTypeNode(i)
            }
            return void (
              c.encounteredError ||
              c.flags & e.NodeBuilderFlags.allowEmptyTuple ||
              (c.encounteredError = !0)
            )
          }
          var u = t.target.outerTypeParameters,
            _ = 0,
            l = void 0
          if (u)
            for (var d = u.length; _ < d; ) {
              var p = _,
                f = Xn(u[_])
              do _++
              while (_ < d && Xn(u[_]) === f)
              if (!e.rangeEquals(u, n, p, _)) {
                var g = s(f, !0)
                l
                  ? (e.Debug.assert(!l.right),
                    (l.right = g),
                    (l = e.createQualifiedName(l, void 0)))
                  : (l = e.createQualifiedName(g, void 0))
              }
            }
          var m = void 0,
            y = s(t.symbol, !0)
          l ? (e.Debug.assert(!l.right), (l.right = y), (m = l)) : (m = y)
          var v = (t.target.typeParameters || Ly).length,
            h = e.some(n) ? o(n.slice(_, v - _)) : void 0
          return e.createTypeReferenceNode(m, h)
        }
        function f(t) {
          for (var i = [], o = 0, s = t.callSignatures; o < s.length; o++) {
            var c = s[o]
            i.push(a(c, 155))
          }
          for (var u = 0, _ = t.constructSignatures; u < _.length; u++) {
            var c = _[u]
            i.push(a(c, 156))
          }
          t.stringIndexInfo && i.push(n(t.stringIndexInfo, 0)),
            t.numberIndexInfo && i.push(n(t.numberIndexInfo, 1))
          var l = t.properties
          if (!l) return i
          for (var d = 0, p = l; d < p.length; d++) {
            var f = p[d],
              g = zt(f),
              m = f.declarations && f.declarations[0]
            if (!m) return
            var y = m.name,
              v = 67108864 & f.flags ? e.createToken(55) : void 0
            if (8208 & f.flags && !Yr(g).length)
              for (var h = mn(g, 0), b = 0, k = h; b < k.length; b++) {
                var c = k[b],
                  x = a(c, 150)
                ;(x.name = y), (x.questionToken = v), i.push(x)
              }
            else {
              var C = g ? r(g) : e.createKeywordTypeNode(119)
              i.push(e.createPropertySignature(y, v, C, void 0))
            }
          }
          return i.length ? i : void 0
        }
        if (!t) return void (c.encounteredError = !0)
        if (1 & t.flags) return e.createKeywordTypeNode(119)
        if (2 & t.flags) return e.createKeywordTypeNode(136)
        if (4 & t.flags) return e.createKeywordTypeNode(133)
        if (8 & t.flags) return e.createKeywordTypeNode(122)
        if (16 & t.flags) {
          var g = s(t.symbol, !1)
          return e.createTypeReferenceNode(g, void 0)
        }
        if (32 & t.flags)
          return e.createLiteralTypeNode(e.createLiteral(t.text))
        if (64 & t.flags)
          return e.createLiteralTypeNode(e.createNumericLiteral(t.text))
        if (128 & t.flags)
          return 'true' === t.intrinsicName ? e.createTrue() : e.createFalse()
        if (256 & t.flags) {
          var g = s(t.symbol, !1)
          return e.createTypeReferenceNode(g, void 0)
        }
        if (1024 & t.flags) return e.createKeywordTypeNode(105)
        if (2048 & t.flags) return e.createKeywordTypeNode(139)
        if (4096 & t.flags) return e.createKeywordTypeNode(95)
        if (8192 & t.flags) return e.createKeywordTypeNode(130)
        if (512 & t.flags) return e.createKeywordTypeNode(137)
        if (16777216 & t.flags) return e.createKeywordTypeNode(134)
        if (16384 & t.flags && t.isThisType)
          return (
            c.inObjectTypeLiteral &&
              (c.encounteredError ||
                c.flags & e.NodeBuilderFlags.allowThisInObjectLiteral ||
                (c.encounteredError = !0)),
            e.createThis()
          )
        var m = x(t)
        if (4 & m) return e.Debug.assert(!!(32768 & t.flags)), p(t)
        if (3 & m) {
          e.Debug.assert(!!(32768 & t.flags))
          var g = s(t.symbol, !1)
          return e.createTypeReferenceNode(g, void 0)
        }
        if (16384 & t.flags) {
          var g = s(t.symbol, !1)
          return e.createTypeReferenceNode(g, void 0)
        }
        if (c.checkAlias && t.aliasSymbol) {
          var g = s(t.aliasSymbol, !1),
            y = t.aliasTypeArguments && o(t.aliasTypeArguments)
          return e.createTypeReferenceNode(g, y)
        }
        if (((c.checkAlias = !1), 65536 & t.flags)) {
          var v = Qe(t.types),
            h = v && o(v)
          return h && h.length > 0
            ? e.createUnionOrIntersectionTypeNode(166, h)
            : void (
                c.encounteredError ||
                c.flags & e.NodeBuilderFlags.allowEmptyUnionOrIntersection ||
                (c.encounteredError = !0)
              )
        }
        if (131072 & t.flags)
          return e.createUnionOrIntersectionTypeNode(167, o(t.types))
        if (48 & m) return e.Debug.assert(!!(32768 & t.flags)), _(t)
        if (262144 & t.flags) {
          var b = t.type,
            k = r(b)
          return e.createTypeOperatorNode(k)
        }
        if (524288 & t.flags) {
          var C = r(t.objectType),
            k = r(t.indexType)
          return e.createIndexedAccessTypeNode(C, k)
        }
        e.Debug.fail('Should be unreachable.')
      }
      function n(t, n) {
        var a = e.createKeywordTypeNode(0 === n ? 136 : 133),
          i = e.getNameFromIndexInfo(t),
          o = e.createParameter(void 0, void 0, void 0, i, void 0, a, void 0),
          s = r(t.type)
        return e.createIndexSignatureDeclaration(
          void 0,
          t.isReadonly ? [e.createToken(131)] : void 0,
          [o],
          s
        )
      }
      function a(t, n) {
        var a,
          s =
            t.typeParameters &&
            t.typeParameters.map(function(e) {
              return i(e)
            }),
          c = t.parameters.map(function(e) {
            return o(e)
          })
        if (t.typePredicate) {
          var u = t.typePredicate,
            _ =
              1 === u.kind
                ? e.createIdentifier(u.parameterName)
                : e.createThisTypeNode(),
            l = r(u.type)
          a = e.createTypePredicateNode(_, l)
        } else {
          var d = Ln(t)
          a = d && r(d)
        }
        var p = a && 119 !== a.kind ? a : void 0
        return e.createSignatureDeclaration(n, s, c, p)
      }
      function i(t) {
        var n = Gn(t),
          a = n && r(n),
          i = un(t),
          o = i && r(i),
          c = s(t.symbol, !0)
        return e.createTypeParameterDeclaration(c, a, o)
      }
      function o(t) {
        var n = e.getDeclarationOfKind(t, 146),
          a = zt(t),
          i = r(a),
          o = e.createParameter(
            n.decorators,
            n.modifiers,
            n.dotDotDotToken && e.createToken(24),
            e.getSynthesizedClone(n.name),
            n.questionToken && e.createToken(55),
            i,
            n.initializer
          )
        return o
      }
      function s(t, r) {
        function n(t, r) {
          e.Debug.assert(t && 0 <= r && r < t.length)
          var a = t[r],
            o = ''
          if (r > 0) {
            var s = t[r - 1],
              u = void 0
            if (1 & C(a)) u = Gt(s)
            else {
              var _ = jf(s)
              524384 & _.flags && (u = Ht(a))
            }
            if (u && u.length > 0) {
              c.encounteredError ||
                c.flags &
                  e.NodeBuilderFlags.allowTypeParameterInQualifiedName ||
                (c.encounteredError = !0)
              var l = e.getSingleLineStringWriter(),
                d = rt()
              d.buildDisplayForTypeParametersAndDelimiters(
                u,
                l,
                c.enclosingDeclaration,
                0
              ),
                (o = l.string()),
                e.releaseStringWriter(l)
            }
          }
          var p = i(a),
            f = o.length > 0 ? p + '<' + o + '>' : p,
            g = e.createIdentifier(f)
          return r > 0 ? e.createQualifiedName(n(t, r - 1), g) : g
        }
        function a(t, r, n) {
          var i,
            o = Re(t, c.enclosingDeclaration, r, !1)
          if (
            !o ||
            Me(o[0], c.enclosingDeclaration, 1 === o.length ? r : Ie(r))
          ) {
            var s = be(o ? o[0] : t)
            if (s) {
              var u = a(s, Ie(r), !1)
              u && ((i = s), (o = u.concat(o || [t])))
            }
          }
          return o
            ? o
            : !n && ((!i && e.forEach(t.declarations, Je)) || 6144 & t.flags)
              ? void 0
              : [t]
        }
        function i(t) {
          var r = e.firstOrUndefined(t.declarations)
          if (r) {
            var n = e.getNameOfDeclaration(r)
            if (n) return e.declarationNameToString(n)
            if (r.parent && 226 === r.parent.kind)
              return e.declarationNameToString(r.parent.name)
            switch (
              (c.encounteredError ||
                c.flags & e.NodeBuilderFlags.allowAnonymousIdentifier ||
                (c.encounteredError = !0),
              r.kind)
            ) {
              case 199:
                return '(Anonymous class)'
              case 186:
              case 187:
                return '(Anonymous function)'
            }
          }
          return t.name
        }
        var o,
          s = 262144 & t.flags
        return (
          !s && c.enclosingDeclaration
            ? ((o = a(t, 0, !0)), e.Debug.assert(o && o.length > 0))
            : (o = [t]),
          !r ||
            1 === o.length ||
            c.encounteredError ||
            c.flags & e.NodeBuilderFlags.allowQualifedNameInPlaceOfIdentifier ||
            (c.encounteredError = !0),
          n(o, o.length - 1)
        )
      }
      var c
      return {
        typeToTypeNode: function(e, n, a) {
          c = t(n, a)
          var i = r(e),
            o = c.encounteredError ? void 0 : i
          return o
        },
        indexInfoToIndexSignatureDeclaration: function(e, r, a, i) {
          c = t(a, i)
          var o = n(e, r),
            s = c.encounteredError ? void 0 : o
          return s
        },
        signatureToSignatureDeclaration: function(e, r, n, i) {
          c = t(n, i)
          var o = a(e, r),
            s = c.encounteredError ? void 0 : o
          return s
        }
      }
    }
    function Xe(t, r, n) {
      var a = e.getSingleLineStringWriter()
      rt().buildTypePredicateDisplay(t, a, r, n)
      var i = a.string()
      return e.releaseStringWriter(a), i
    }
    function Qe(e) {
      for (var t = [], r = 0, n = 0; n < e.length; n++) {
        var a = e[n]
        if (((r |= a.flags), !(6144 & a.flags))) {
          if (384 & a.flags) {
            var i = 128 & a.flags ? vv : a.baseType,
              o = i.types.length
            if (n + o <= e.length && e[n + o - 1] === i.types[o - 1]) {
              t.push(i), (n += o - 1)
              continue
            }
          }
          t.push(a)
        }
      }
      return 4096 & r && t.push(dv), 2048 & r && t.push(_v), t || e
    }
    function Ye(e) {
      return 8 === e ? 'private' : 16 === e ? 'protected' : 'public'
    }
    function Ze(t) {
      if (t.symbol && 2048 & t.symbol.flags) {
        var r = e.findAncestor(t.symbol.declarations[0].parent, function(e) {
          return 168 !== e.kind
        })
        if (231 === r.kind) return he(r)
      }
    }
    function $e(t) {
      return (
        t &&
        t.parent &&
        234 === t.parent.kind &&
        e.isExternalModuleAugmentation(t.parent.parent)
      )
    }
    function et(t) {
      return 32 & t.flags ? '"' + e.escapeString(t.text) + '"' : t.text
    }
    function tt(t) {
      if (t.declarations && t.declarations.length) {
        var r = t.declarations[0],
          n = e.getNameOfDeclaration(r)
        if (n) return e.declarationNameToString(n)
        if (r.parent && 226 === r.parent.kind)
          return e.declarationNameToString(r.parent.name)
        switch (r.kind) {
          case 199:
            return '(Anonymous class)'
          case 186:
          case 187:
            return '(Anonymous function)'
        }
      }
      return t.name
    }
    function rt() {
      function t(e, t) {
        t.writeSymbol(tt(e), e)
      }
      function r(t, r) {
        var n = tt(t),
          a = n.charCodeAt(0),
          i = !e.isIdentifierStart(a, zy)
        i
          ? (Ve(r, 21),
            e.isSingleOrDoubleQuote(a)
              ? r.writeStringLiteral(n)
              : r.writeSymbol(n, t),
            Ve(r, 22))
          : (Ve(r, 23), r.writeSymbol(n, t))
      }
      function n(n, a, o, s, c, u) {
        function _(e) {
          d
            ? (1 & c && (1 & C(e) ? p(Gt(d), e.mapper, a, o) : i(d, a, o)),
              r(e, a))
            : t(e, a),
            (d = e)
        }
        function l(t, r, n) {
          var a = Re(t, o, r, !!(2 & c))
          if (!a || Me(a[0], o, 1 === a.length ? r : Ie(r))) {
            var i = be(a ? a[0] : t)
            i && l(i, Ie(r), !1)
          }
          if (a)
            for (var s = 0, u = a; s < u.length; s++) {
              var p = u[s]
              _(p)
            }
          else
            (!n && ((!d && e.forEach(t.declarations, Je)) || 6144 & t.flags)) ||
              _(t)
        }
        var d
        a.trackSymbol(n, o, s)
        var f = 262144 & n.flags,
          g = 128 & u
        f || (!o && !g) ? _(n) : l(n, s, !0)
      }
      function a(r, a, i, o, s) {
        function c(r, s) {
          var u = s & -513
          if (16793231 & r.flags)
            a.writeKeyword(16 & o || !dt(r) ? r.intrinsicName : 'any')
          else if (16384 & r.flags && r.isThisType)
            S && a.reportInaccessibleThisError(), a.writeKeyword('this')
          else if (4 & x(r)) l(r, u)
          else if (256 & r.flags)
            n(be(r.symbol), a, i, 793064, 0, u), Ve(a, 23), t(r.symbol, a)
          else if (3 & x(r) || 16400 & r.flags) n(r.symbol, a, i, 793064, 0, u)
          else if (
            512 & s ||
            !r.aliasSymbol ||
            0 !== Be(r.aliasSymbol, i, 793064, !1).accessibility
          )
            196608 & r.flags
              ? d(r, u)
              : 48 & x(r)
                ? p(r, u)
                : 96 & r.flags
                  ? a.writeStringLiteral(et(r))
                  : 262144 & r.flags
                    ? (a.writeKeyword('keyof'), qe(a), c(r.type, 64))
                    : 524288 & r.flags
                      ? (c(r.objectType, 64),
                        Ve(a, 21),
                        c(r.indexType, 0),
                        Ve(a, 22))
                      : (Ve(a, 17), qe(a), Ve(a, 24), qe(a), Ve(a, 18))
          else {
            var f = r.aliasTypeArguments
            _(r.aliasSymbol, f, 0, e.length(f), u)
          }
        }
        function u(e, t) {
          for (var r = 0; r < e.length; r++)
            r > 0 && (26 !== t && qe(a), Ve(a, t), qe(a)),
              c(e[r], 26 === t ? 0 : 64)
        }
        function _(e, t, r, o, s) {
          if (
            ((32 & e.flags || !Ae(e.name)) && n(e, a, i, 793064, 0, s), r < o)
          ) {
            for (Ve(a, 27), c(t[r], 256), r++; r < o; )
              Ve(a, 26), qe(a), c(t[r], 0), r++
            Ve(a, 29)
          }
        }
        function l(t, r) {
          var n = t.typeArguments || Ly
          if (t.target !== Ov || 1 & r)
            if (8 & t.target.objectFlags)
              Ve(a, 21), u(t.typeArguments.slice(0, ea(t)), 26), Ve(a, 22)
            else {
              var i = t.target.outerTypeParameters,
                o = 0
              if (i)
                for (var s = i.length; o < s; ) {
                  var l = o,
                    d = Xn(i[o])
                  do o++
                  while (o < s && Xn(i[o]) === d)
                  e.rangeEquals(i, n, l, o) || (_(d, n, l, o, r), Ve(a, 23))
                }
              var p = (t.target.typeParameters || Ly).length
              _(t.symbol, n, o, p, r)
            }
          else c(n[0], 64), Ve(a, 21), Ve(a, 22)
        }
        function d(e, t) {
          64 & t && Ve(a, 19),
            65536 & e.flags ? u(Qe(e.types), 49) : u(e.types, 48),
            64 & t && Ve(a, 20)
        }
        function p(t, r) {
          function o() {
            var t = !!(
                8192 & c.flags &&
                e.forEach(c.declarations, function(t) {
                  return 32 & e.getModifierFlags(t)
                })
              ),
              n =
                !!(16 & c.flags) &&
                (c.parent ||
                  e.forEach(c.declarations, function(e) {
                    return 265 === e.parent.kind || 234 === e.parent.kind
                  }))
            if (t || n) return !!(2 & r) || e.contains(s, c)
          }
          var c = t.symbol
          if (c)
            if ((32 & c.flags && !It(c)) || 896 & c.flags) f(t, r)
            else if (o()) f(t, r)
            else if (e.contains(s, c)) {
              var u = Ze(t)
              u ? n(u, a, i, 793064, 0, r) : je(a, 119)
            } else s || (s = []), s.push(c), h(t, r), s.pop()
          else h(t, r)
        }
        function f(e, t) {
          je(a, 103), qe(a), n(e.symbol, a, i, 107455, 0, t)
        }
        function g(e) {
          ed(e) && (je(a, 131), qe(a)), n(e, a), 67108864 & e.flags && Ve(a, 55)
        }
        function m(e, t) {
          if (64 & t) return !0
          if (256 & t) {
            var r =
              e.target && 32 & t ? e.target.typeParameters : e.typeParameters
            return r && 0 !== r.length
          }
          return !1
        }
        function h(e, t) {
          if (32 & e.objectFlags && 278528 & Wr(e).flags) return void k(e)
          var r = Qr(e)
          if (
            !r.properties.length &&
            !r.stringIndexInfo &&
            !r.numberIndexInfo
          ) {
            if (!r.callSignatures.length && !r.constructSignatures.length)
              return Ve(a, 17), void Ve(a, 18)
            if (
              1 === r.callSignatures.length &&
              !r.constructSignatures.length
            ) {
              var n = m(r.callSignatures[0], t)
              return (
                n && Ve(a, 19),
                y(r.callSignatures[0], a, i, 8 | C, void 0, s),
                void (n && Ve(a, 20))
              )
            }
            if (1 === r.constructSignatures.length && !r.callSignatures.length)
              return (
                64 & t && Ve(a, 19),
                je(a, 94),
                qe(a),
                y(r.constructSignatures[0], a, i, 8 | C, void 0, s),
                void (64 & t && Ve(a, 20))
              )
          }
          var o = S
          ;(S = !0),
            Ve(a, 17),
            a.writeLine(),
            a.increaseIndent(),
            b(r),
            a.decreaseIndent(),
            Ve(a, 18),
            (S = o)
        }
        function b(e) {
          for (var t = 0, r = e.callSignatures; t < r.length; t++) {
            var n = r[t]
            y(n, a, i, C, void 0, s), Ve(a, 25), a.writeLine()
          }
          for (var u = 0, _ = e.constructSignatures; u < _.length; u++) {
            var n = _[u]
            y(n, a, i, C, 1, s), Ve(a, 25), a.writeLine()
          }
          v(e.stringIndexInfo, a, 0, i, o, s),
            v(e.numberIndexInfo, a, 1, i, o, s)
          for (var l = 0, d = e.properties; l < d.length; l++) {
            var p = d[l],
              f = zt(p)
            if (8208 & p.flags && !Yr(f).length)
              for (var m = mn(f, 0), h = 0, b = m; h < b.length; h++) {
                var n = b[h]
                g(p), y(n, a, i, C, void 0, s), Ve(a, 25), a.writeLine()
              }
            else g(p), Ve(a, 56), qe(a), c(f, 0), Ve(a, 25), a.writeLine()
          }
        }
        function k(e) {
          Ve(a, 17),
            a.writeLine(),
            a.increaseIndent(),
            e.declaration.readonlyToken && (je(a, 131), qe(a)),
            Ve(a, 21),
            t(Ur(e).symbol, a),
            qe(a),
            je(a, 92),
            qe(a),
            c(Wr(e), 0),
            Ve(a, 22),
            e.declaration.questionToken && Ve(a, 55),
            Ve(a, 56),
            qe(a),
            c(Hr(e), 0),
            Ve(a, 25),
            a.writeLine(),
            a.decreaseIndent(),
            Ve(a, 18)
        }
        var C = 16 & o,
          S = !1
        return c(r, o)
      }
      function i(e, t, r, n) {
        var a = jf(e)
        ;(32 & a.flags || 64 & a.flags || 524288 & a.flags) && _(Ht(e), t, r, n)
      }
      function o(e, r, n, i, o) {
        t(e.symbol, r)
        var s = rn(e)
        s && (qe(r), je(r, 85), qe(r), a(s, r, n, i, o))
        var c = un(e)
        c && (qe(r), Ve(r, 58), qe(r), a(c, r, n, i, o))
      }
      function s(r, n, i, o, s) {
        var u = r.valueDeclaration
        ;(u ? e.isRestParameter(u) : d(r) && r.isRestParameter) && Ve(n, 24),
          u && e.isBindingPattern(u.name) ? c(u.name, n, i, o, s) : t(r, n),
          u && En(u) && Ve(n, 55),
          Ve(n, 56),
          qe(n)
        var _ = zt(r)
        u && im(u) && (_ = cs(_, 2048)), a(_, n, i, o, s)
      }
      function c(e, t, r, n, a) {
        if (174 === e.kind)
          Ve(t, 17),
            l(e.elements, t, function(e) {
              return u(e, t, r, n, a)
            }),
            Ve(t, 18)
        else if (175 === e.kind) {
          Ve(t, 21)
          var i = e.elements
          l(i, t, function(e) {
            return u(e, t, r, n, a)
          }),
            i && i.hasTrailingComma && Ve(t, 26),
            Ve(t, 22)
        }
      }
      function u(r, n, a, i, o) {
        e.isOmittedExpression(r) ||
          (e.Debug.assert(176 === r.kind),
          r.propertyName &&
            (n.writeProperty(e.getTextOfNode(r.propertyName)),
            Ve(n, 56),
            qe(n)),
          e.isBindingPattern(r.name)
            ? c(r.name, n, a, i, o)
            : (r.dotDotDotToken && Ve(n, 24), t(r.symbol, n)))
      }
      function _(e, t, r, n, a) {
        e &&
          e.length &&
          (Ve(t, 27),
          l(e, t, function(e) {
            return o(e, t, r, n, a)
          }),
          Ve(t, 29))
      }
      function l(e, t, r) {
        for (var n = 0; n < e.length; n++) n > 0 && (Ve(t, 26), qe(t)), r(e[n])
      }
      function p(e, t, r, n) {
        if (e && e.length) {
          Ve(r, 27)
          for (var i = 256, o = 0; o < e.length; o++)
            o > 0 && (Ve(r, 26), qe(r), (i = 0)), a(t(e[o]), r, n, i)
          Ve(r, 29)
        }
      }
      function f(e, t, r, n, a, i) {
        Ve(r, 19), e && s(e, r, n, a, i)
        for (var o = 0; o < t.length; o++)
          (o > 0 || e) && (Ve(r, 26), qe(r)), s(t[o], r, n, a, i)
        Ve(r, 20)
      }
      function g(t, r, n, i, o) {
        e.isIdentifierTypePredicate(t)
          ? r.writeParameter(t.parameterName)
          : je(r, 99),
          qe(r),
          je(r, 126),
          qe(r),
          a(t.type, r, n, i, o)
      }
      function m(e, t, r, n, i) {
        var o = Ln(e)
        ;(2048 & n && dt(o)) ||
          (8 & n ? (qe(t), Ve(t, 36)) : Ve(t, 56),
          qe(t),
          e.typePredicate ? g(e.typePredicate, t, r, n, i) : a(o, t, r, n, i))
      }
      function y(e, t, r, n, a, i) {
        1 === a && (je(t, 94), qe(t)),
          e.target && 32 & n
            ? p(e.target.typeParameters, e.mapper, t, r)
            : _(e.typeParameters, t, r, n, i),
          f(e.thisParameter, e.parameters, t, r, n, i),
          m(e, t, r, n, i)
      }
      function v(t, r, n, i, o, s) {
        if (t) {
          switch (
            (t.isReadonly && (je(r, 131), qe(r)),
            Ve(r, 21),
            r.writeParameter(
              t.declaration
                ? e.declarationNameToString(t.declaration.parameters[0].name)
                : 'x'
            ),
            Ve(r, 56),
            qe(r),
            n)
          ) {
            case 1:
              je(r, 133)
              break
            case 0:
              je(r, 136)
          }
          Ve(r, 22),
            Ve(r, 56),
            qe(r),
            a(t.type, r, i, o, s),
            Ve(r, 25),
            r.writeLine()
        }
      }
      return (
        Kh ||
        (Kh = {
          buildSymbolDisplay: n,
          buildTypeDisplay: a,
          buildTypeParameterDisplay: o,
          buildTypePredicateDisplay: g,
          buildParameterDisplay: s,
          buildDisplayForParametersAndDelimiters: f,
          buildDisplayForTypeParametersAndDelimiters: _,
          buildTypeParameterDisplayFromSymbol: i,
          buildSignatureDisplay: y,
          buildIndexSignatureDisplay: v,
          buildReturnTypeDisplay: m
        })
      )
    }
    function nt(t) {
      function r() {
        switch (t.kind) {
          case 176:
            return nt(t.parent.parent)
          case 226:
            if (e.isBindingPattern(t.name) && !t.name.elements.length) return !1
          case 233:
          case 229:
          case 230:
          case 231:
          case 228:
          case 232:
          case 237:
            if (e.isExternalModuleAugmentation(t)) return !0
            var r = ut(t)
            return 1 & e.getCombinedModifierFlags(t) ||
              (237 !== t.kind && 265 !== r.kind && e.isInAmbientContext(r))
              ? nt(r)
              : S(r)
          case 149:
          case 148:
          case 153:
          case 154:
          case 151:
          case 150:
            if (24 & e.getModifierFlags(t)) return !1
          case 152:
          case 156:
          case 155:
          case 157:
          case 146:
          case 234:
          case 160:
          case 161:
          case 163:
          case 159:
          case 164:
          case 165:
          case 166:
          case 167:
          case 168:
            return nt(t.parent)
          case 239:
          case 240:
          case 242:
            return !1
          case 145:
          case 265:
          case 236:
            return !0
          case 243:
            return !1
          default:
            return !1
        }
      }
      if (t) {
        var n = k(t)
        return void 0 === n.isVisible && (n.isVisible = !!r()), n.isVisible
      }
      return !1
    }
    function at(t) {
      function r(t) {
        e.forEach(t, function(t) {
          k(t).isVisible = !0
          var n = B(t) || t
          if (
            (e.contains(i, n) || i.push(n),
            e.isInternalModuleImportEqualsDeclaration(t))
          ) {
            var a = t.moduleReference,
              o = rg(a),
              s = N(t, o.text, 901119, void 0, void 0)
            s && r(s.declarations)
          }
        })
      }
      var n
      if (t.parent && 243 === t.parent.kind)
        n = N(t.parent, t.text, 9289727, e.Diagnostics.Cannot_find_name_0, t)
      else if (246 === t.parent.kind) {
        var a = t.parent
        n = a.parent.parent.moduleSpecifier
          ? W(a.parent.parent, a)
          : ae(a.propertyName || a.name, 9289727)
      }
      var i = []
      return n && r(n.declarations), i
    }
    function it(e, t) {
      var r = ot(e, t)
      if (r >= 0) {
        for (var n = kh.length, a = r; a < n; a++) xh[a] = !1
        return !1
      }
      return kh.push(e), xh.push(!0), Ch.push(t), !0
    }
    function ot(e, t) {
      for (var r = kh.length - 1; r >= 0; r--) {
        if (st(kh[r], Ch[r])) return -1
        if (kh[r] === e && Ch[r] === t) return r
      }
      return -1
    }
    function st(t, r) {
      return 0 === r
        ? b(t).type
        : 2 === r
          ? b(t).declaredType
          : 1 === r
            ? t.resolvedBaseConstructorType
            : 3 === r
              ? t.resolvedReturnType
              : void e.Debug.fail('Unhandled TypeSystemPropertyName ' + r)
    }
    function ct() {
      return kh.pop(), Ch.pop(), xh.pop()
    }
    function ut(t) {
      return (
        (t = e.findAncestor(e.getRootDeclaration(t), function(e) {
          switch (e.kind) {
            case 226:
            case 227:
            case 242:
            case 241:
            case 240:
            case 239:
              return !1
            default:
              return !0
          }
        })),
        t && t.parent
      )
    }
    function _t(t) {
      var r = mr(be(t))
      return r.typeParameters
        ? Zn(
            r,
            e.map(r.typeParameters, function(e) {
              return sv
            })
          )
        : r
    }
    function lt(e, t) {
      var r = fn(e, t)
      return r ? zt(r) : void 0
    }
    function dt(e) {
      return e && 0 !== (1 & e.flags)
    }
    function pt(e) {
      var t = he(e)
      return (t && b(t).type) || kt(e, !1)
    }
    function ft(t) {
      return 144 === t.kind && !e.isStringOrNumericLiteral(t.expression)
    }
    function gt(t, r, n) {
      if (
        ((t = Dc(t, function(e) {
          return !(6144 & e.flags)
        })),
        8192 & t.flags)
      )
        return Sv
      if (65536 & t.flags)
        return Tc(t, function(e) {
          return gt(e, r, n)
        })
      for (
        var a = e.createMap(), i = e.createMap(), o = 0, s = r;
        o < s.length;
        o++
      ) {
        var c = s[o]
        i.set(e.getTextOfPropertyName(c), !0)
      }
      for (var u = 0, _ = en(t); u < _.length; u++) {
        var l = _[u],
          d = i.has(l.name),
          p = 24 & P_(l),
          f = 65536 & l.flags && !(32768 & l.flags)
        d || p || Ci(l) || f || a.set(l.name, l)
      }
      var g = hn(t, 0),
        m = hn(t, 1)
      return Oe(n, a, Ly, Ly, g, m)
    }
    function mt(t) {
      var r = t.parent,
        n = pt(r.parent)
      if (n === uv) return uv
      if (!n || dt(n)) return t.initializer ? Rd(t) : n
      var a
      if (174 === r.kind)
        if (t.dotDotDotToken) {
          if (!$u(n))
            return (
              _(
                t,
                e.Diagnostics.Rest_types_may_only_be_created_from_object_types
              ),
              uv
            )
          for (var i = [], o = 0, s = r.elements; o < s.length; o++) {
            var c = s[o]
            c.dotDotDotToken || i.push(c.propertyName || c.name)
          }
          a = gt(n, i, t.symbol)
        } else {
          var u = t.propertyName || t.name
          if (ft(u)) return sv
          t.initializer && Iu(t.initializer)
          var l = e.getTextOfPropertyName(u)
          if (((a = lt(n, l) || (Xu(l) && bn(n, 1)) || bn(n, 0)), !a))
            return (
              _(
                u,
                e.Diagnostics
                  .Type_0_has_no_property_1_and_no_string_index_signature,
                He(n),
                e.declarationNameToString(u)
              ),
              uv
            )
        }
      else {
        var d = vf(n, r, !1, !1)
        if (t.dotDotDotToken) a = Ba(d)
        else {
          var p = '' + e.indexOf(r.elements, t)
          if (((a = es(n) ? lt(n, p) : d), !a))
            return (
              is(n)
                ? _(
                    t,
                    e.Diagnostics
                      .Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2,
                    He(n),
                    ea(n),
                    r.elements.length
                  )
                : _(t, e.Diagnostics.Type_0_has_no_property_1, He(n), p),
              uv
            )
        }
      }
      return (
        !qy ||
          !t.initializer ||
          2048 & ss(Fd(t.initializer)) ||
          (a = $s(a, 131072)),
        t.initializer ? $a([a, Fd(t.initializer)], !0) : a
      )
    }
    function yt(t) {
      var r = e.getJSDocType(t)
      if (r) return Fi(r)
    }
    function vt(t) {
      var r = e.skipParentheses(t)
      return 95 === r.kind || (71 === r.kind && Ls(r) === Xy)
    }
    function ht(t) {
      var r = e.skipParentheses(t)
      return 177 === r.kind && 0 === r.elements.length
    }
    function bt(e, t) {
      return qy && t ? cs(e, 2048) : e
    }
    function kt(t, r) {
      if (65536 & t.flags) {
        var n = yt(t)
        if (n && n !== uv) return n
      }
      if (215 === t.parent.parent.kind) {
        var a = ui(R_(t.parent.parent.expression))
        return 278528 & a.flags ? a : fv
      }
      if (216 === t.parent.parent.kind) {
        var i = t.parent.parent
        return yf(i.expression, i.awaitModifier) || sv
      }
      if (e.isBindingPattern(t.parent)) return mt(t)
      if (t.type) {
        var o = Fi(t.type)
        return bt(o, t.questionToken && r)
      }
      if (
        (Uy || 65536 & t.flags) &&
        226 === t.kind &&
        !e.isBindingPattern(t.name) &&
        !(1 & e.getCombinedModifierFlags(t)) &&
        !e.isInAmbientContext(t)
      ) {
        if (
          !(2 & e.getCombinedNodeFlags(t)) &&
          (!t.initializer || vt(t.initializer))
        )
          return cv
        if (t.initializer && ht(t.initializer)) return zv
      }
      if (146 === t.kind) {
        var s = t.parent
        if (154 === s.kind && !e.hasDynamicName(s)) {
          var c = e.getDeclarationOfKind(t.parent.symbol, 153)
          if (c) {
            var u = Pn(c),
              _ = ty(s)
            return _ && t === _
              ? (e.Debug.assert(!_.type), zt(u.thisParameter))
              : Ln(u)
          }
        }
        var n = void 0
        if ((n = 'this' === t.symbol.name ? fu(s) : gu(t)))
          return bt(n, t.questionToken && r)
      }
      if (t.initializer) {
        var n = Rd(t)
        return bt(n, t.questionToken && r)
      }
      return e.isJsxAttribute(t)
        ? mv
        : 262 === t.kind
          ? Zc(t.name)
          : e.isBindingPattern(t.name)
            ? Tt(t.name, !1, !0)
            : void 0
    }
    function xt(t) {
      for (
        var r = [], n = !1, a = !1, i = 0, o = t.declarations;
        i < o.length;
        i++
      ) {
        var s = o[i],
          c =
            194 === s.kind ? s : 179 === s.kind ? e.getAncestor(s, 194) : void 0
        if (!c) return uv
        if (
          (e.isPropertyAccessExpression(c.left) &&
            99 === c.left.expression.kind &&
            (152 === e.getThisContainer(c, !1).kind ? (n = !0) : (a = !0)),
          65536 & c.flags)
        ) {
          var u = yt(c.parent)
          if (u && u !== uv) {
            r.push(vs(u))
            continue
          }
        }
        r.push(as(Fd(c.right)))
      }
      return vs(bt($a(r, !0), a && !n))
    }
    function Ct(t, r, n) {
      return t.initializer
        ? Rd(t)
        : e.isBindingPattern(t.name)
          ? Tt(t.name, r, n)
          : (n && Uy && !Nt(t) && bs(t, sv), sv)
    }
    function St(t, r, n) {
      var a,
        i = e.createMap(),
        o = !1
      e.forEach(t.elements, function(t) {
        var s = t.propertyName || t.name
        if (ft(s)) return void (o = !0)
        if (t.dotDotDotToken) return void (a = Un(sv, !1))
        var c = e.getTextOfPropertyName(s),
          u = 4 | (t.initializer ? 67108864 : 0),
          _ = l(u, c)
        ;(_.type = Ct(t, r, n)), (_.bindingElement = t), i.set(_.name, _)
      })
      var s = Oe(void 0, i, Ly, Ly, a, void 0)
      return r && (s.pattern = t), o && (s.objectFlags |= 512), s
    }
    function Dt(t, r, n) {
      var a = t.elements,
        i = e.lastOrUndefined(a)
      if (0 === a.length || (!e.isOmittedExpression(i) && i.dotDotDotToken))
        return zy >= 2 ? Ma(sv) : Jv
      var o = e.map(a, function(t) {
          return e.isOmittedExpression(t) ? sv : Ct(t, r, n)
        }),
        s = ja(o)
      return r && ((s = $n(s)), (s.pattern = t)), s
    }
    function Tt(e, t, r) {
      return 174 === e.kind ? St(e, t, r) : Dt(e, t, r)
    }
    function Et(e, t) {
      var r = kt(e, !0)
      return r
        ? (t && ks(e, r), 261 === e.kind ? r : vs(r))
        : ((r = e.dotDotDotToken ? Jv : sv), t && Uy && (Nt(e) || bs(e, r)), r)
    }
    function Nt(t) {
      var r = e.getRootDeclaration(t),
        n = 146 === r.kind ? r.parent : r
      return vp(n)
    }
    function At(t) {
      var r = b(t)
      if (!r.type) {
        if (16777216 & t.flags) return (r.type = _t(t))
        var n = t.valueDeclaration
        if (e.isCatchClauseVariableDeclarationOrBindingElement(n))
          return (r.type = sv)
        if (243 === n.kind) return (r.type = Vd(n.expression))
        if (65536 & n.flags && 291 === n.kind && n.typeExpression)
          return (r.type = Fi(n.typeExpression.type))
        if (!it(t, 0)) return uv
        var a = void 0
        ;(a =
          194 === n.kind || (179 === n.kind && 194 === n.parent.kind)
            ? xt(t)
            : Et(n, !0)),
          ct() || (a = Jt(t)),
          (r.type = a)
      }
      return r.type
    }
    function wt(t) {
      if (t) {
        if (153 === t.kind) return t.type && Fi(t.type)
        var r = e.getSetAccessorTypeAnnotationNode(t)
        return r && Fi(r)
      }
    }
    function Pt(e) {
      var t = ty(e)
      return t && t.symbol
    }
    function Ot(e) {
      return Mn(Pn(e))
    }
    function Ft(t) {
      var r = b(t)
      if (!r.type) {
        var n = e.getDeclarationOfKind(t, 153),
          a = e.getDeclarationOfKind(t, 154)
        if (n && 65536 & n.flags) {
          var i = yt(n)
          if (i) return (r.type = i)
        }
        if (!it(t, 0)) return uv
        var o = void 0,
          s = wt(n)
        if (s) o = s
        else {
          var c = wt(a)
          c
            ? (o = c)
            : n && n.body
              ? (o = Ul(n))
              : (Uy &&
                  (a
                    ? _(
                        a,
                        e.Diagnostics
                          .Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation,
                        Ue(t)
                      )
                    : (e.Debug.assert(
                        !!n,
                        'there must existed getter as we are current checking either setter or getter in this function'
                      ),
                      _(
                        n,
                        e.Diagnostics
                          .Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation,
                        Ue(t)
                      ))),
                (o = sv))
        }
        if (!ct() && ((o = sv), Uy)) {
          var u = e.getDeclarationOfKind(t, 153)
          _(
            u,
            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,
            Ue(t)
          )
        }
        r.type = o
      }
      return r.type
    }
    function It(e) {
      var t = er(sr(e))
      return 540672 & t.flags ? t : void 0
    }
    function Rt(t) {
      var r = b(t)
      if (!r.type)
        if (1536 & t.flags && e.isShorthandAmbientModuleSymbol(t)) r.type = sv
        else {
          var n = Ee(16, t)
          if (32 & t.flags) {
            var a = It(t)
            r.type = a ? ai([n, a]) : n
          } else r.type = qy && 67108864 & t.flags ? cs(n, 2048) : n
        }
      return r.type
    }
    function Mt(e) {
      var t = b(e)
      return t.type || (t.type = pr(e)), t.type
    }
    function Lt(e) {
      var t = b(e)
      if (!t.type) {
        var r = $(e)
        t.type = 107455 & r.flags ? zt(r) : uv
      }
      return t.type
    }
    function Bt(t) {
      var r = b(t)
      if (!r.type)
        if (100 === My)
          _(
            t.valueDeclaration,
            e.Diagnostics
              .Generic_type_instantiation_is_excessively_deep_and_possibly_infinite
          ),
            (r.type = uv)
        else {
          if (!it(t, 0)) return uv
          My++
          var n = ao(zt(r.target), r.mapper)
          My--, ct() || (n = Jt(t)), (r.type = n)
        }
      return r.type
    }
    function Jt(t) {
      return t.valueDeclaration.type
        ? (_(
            t.valueDeclaration,
            e.Diagnostics
              ._0_is_referenced_directly_or_indirectly_in_its_own_type_annotation,
            Ue(t)
          ),
          uv)
        : (Uy &&
            _(
              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,
              Ue(t)
            ),
          sv)
    }
    function zt(e) {
      return 1 & C(e)
        ? Bt(e)
        : 7 & e.flags
          ? At(e)
          : 9136 & e.flags
            ? Rt(e)
            : 8 & e.flags
              ? Mt(e)
              : 98304 & e.flags
                ? Ft(e)
                : 8388608 & e.flags
                  ? Lt(e)
                  : uv
    }
    function Kt(e, t) {
      return void 0 !== e && void 0 !== t && 0 !== (4 & x(e)) && e.target === t
    }
    function jt(e) {
      return 4 & x(e) ? e.target : e
    }
    function Vt(t, r) {
      function n(t) {
        if (7 & x(t)) {
          var a = jt(t)
          return a === r || e.forEach(tr(a), n)
        }
        if (131072 & t.flags) return e.forEach(t.types, n)
      }
      return n(t)
    }
    function qt(t, r) {
      for (var n = 0, a = r; n < a.length; n++) {
        var i = a[n],
          o = fr(he(i))
        t ? e.contains(t, o) || t.push(o) : (t = [o])
      }
      return t
    }
    function Ut(e, t) {
      for (;;) {
        if (((t = t.parent), !t)) return e
        if (
          229 === t.kind ||
          199 === t.kind ||
          228 === t.kind ||
          186 === t.kind ||
          151 === t.kind ||
          187 === t.kind
        ) {
          var r = t.typeParameters
          if (r) return qt(Ut(e, t), r)
        }
      }
    }
    function Wt(t) {
      var r = 32 & t.flags ? t.valueDeclaration : e.getDeclarationOfKind(t, 230)
      return Ut(void 0, r)
    }
    function Ht(e) {
      for (var t, r = 0, n = e.declarations; r < n.length; r++) {
        var a = n[r]
        if (
          230 === a.kind ||
          229 === a.kind ||
          199 === a.kind ||
          231 === a.kind
        ) {
          var i = a
          i.typeParameters && (t = qt(t, i.typeParameters))
        }
      }
      return t
    }
    function Gt(t) {
      return e.concatenate(Wt(t), Ht(t))
    }
    function Xt(e) {
      var t = mn(e, 1)
      if (1 === t.length) {
        var r = t[0]
        return (
          !r.typeParameters &&
          1 === r.parameters.length &&
          r.hasRestParameter &&
          Ml(r.parameters[0]) === Jv
        )
      }
      return !1
    }
    function Qt(e) {
      if (ar(e) && mn(e, 1).length > 0) return !0
      if (540672 & e.flags) {
        var t = an(e)
        return t && ar(t) && Xt(t)
      }
      return !1
    }
    function Yt(t) {
      return e.getClassExtendsHeritageClauseElement(t.symbol.valueDeclaration)
    }
    function Zt(t, r, n) {
      var a = e.length(r),
        i = e.isInJavaScriptFile(n)
      return e.filter(mn(t, 1), function(t) {
        return (
          (i || a >= An(t.typeParameters)) && a <= e.length(t.typeParameters)
        )
      })
    }
    function $t(t, r, n) {
      var a = Zt(t, r, n)
      if (r) {
        var i = e.map(r, Fi)
        a = e.map(a, function(e) {
          return Jn(e, i)
        })
      }
      return a
    }
    function er(t) {
      if (!t.resolvedBaseConstructorType) {
        var r = Yt(t)
        if (!r) return (t.resolvedBaseConstructorType = _v)
        if (!it(t, 1)) return uv
        var n = Vd(r.expression)
        if ((163840 & n.flags && Qr(n), !ct()))
          return (
            _(
              t.symbol.valueDeclaration,
              e.Diagnostics
                ._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,
              Ue(t.symbol)
            ),
            (t.resolvedBaseConstructorType = uv)
          )
        if (!(1 & n.flags || n === pv || Qt(n)))
          return (
            _(
              r.expression,
              e.Diagnostics.Type_0_is_not_a_constructor_function_type,
              He(n)
            ),
            (t.resolvedBaseConstructorType = uv)
          )
        t.resolvedBaseConstructorType = n
      }
      return t.resolvedBaseConstructorType
    }
    function tr(t) {
      return (
        t.resolvedBaseTypes ||
          (8 & t.objectFlags
            ? (t.resolvedBaseTypes = [Ba($a(t.typeParameters))])
            : 96 & t.symbol.flags
              ? (32 & t.symbol.flags && rr(t), 64 & t.symbol.flags && ir(t))
              : e.Debug.fail('type must be class or interface')),
        t.resolvedBaseTypes
      )
    }
    function rr(t) {
      t.resolvedBaseTypes = t.resolvedBaseTypes || Ly
      var r = _n(er(t))
      if (163841 & r.flags) {
        var n,
          a = Yt(t),
          i = r && r.symbol ? mr(r.symbol) : void 0
        if (r.symbol && 32 & r.symbol.flags && nr(i)) n = ta(a, r.symbol)
        else if (1 & r.flags) n = r
        else {
          var o = $t(r, a.typeArguments, a)
          if (!o.length)
            return void _(
              a.expression,
              e.Diagnostics
                .No_base_constructor_has_the_specified_number_of_type_arguments
            )
          n = Ln(o[0])
        }
        var s = t.symbol.valueDeclaration
        if (s && e.isInJavaScriptFile(s)) {
          var c = e.getJSDocAugmentsTag(t.symbol.valueDeclaration)
          c && (n = Fi(c.typeExpression.type))
        }
        if (n !== uv)
          return ar(n)
            ? t === n || Vt(n, t)
              ? void _(
                  s,
                  e.Diagnostics
                    .Type_0_recursively_references_itself_as_a_base_type,
                  He(t, void 0, 1)
                )
              : void (t.resolvedBaseTypes === Ly
                  ? (t.resolvedBaseTypes = [n])
                  : t.resolvedBaseTypes.push(n))
            : void _(
                a.expression,
                e.Diagnostics
                  .Base_constructor_return_type_0_is_not_a_class_or_interface_type,
                He(n)
              )
      }
    }
    function nr(e) {
      var t = e.outerTypeParameters
      if (t) {
        var r = t.length - 1,
          n = e.typeArguments
        return t[r].symbol !== n[r].symbol
      }
      return !0
    }
    function ar(t) {
      return (
        (16809985 & t.flags && !Xr(t)) ||
        (131072 & t.flags &&
          !e.forEach(t.types, function(e) {
            return !ar(e)
          }))
      )
    }
    function ir(t) {
      t.resolvedBaseTypes = t.resolvedBaseTypes || Ly
      for (var r = 0, n = t.symbol.declarations; r < n.length; r++) {
        var a = n[r]
        if (230 === a.kind && e.getInterfaceBaseTypeNodes(a))
          for (
            var i = 0, o = e.getInterfaceBaseTypeNodes(a);
            i < o.length;
            i++
          ) {
            var s = o[i],
              c = Fi(s)
            c !== uv &&
              (ar(c)
                ? t === c || Vt(c, t)
                  ? _(
                      a,
                      e.Diagnostics
                        .Type_0_recursively_references_itself_as_a_base_type,
                      He(t, void 0, 1)
                    )
                  : t.resolvedBaseTypes === Ly
                    ? (t.resolvedBaseTypes = [c])
                    : t.resolvedBaseTypes.push(c)
                : _(
                    s,
                    e.Diagnostics
                      .An_interface_may_only_extend_a_class_or_another_interface
                  ))
          }
      }
    }
    function or(t) {
      for (var r = 0, n = t.declarations; r < n.length; r++) {
        var a = n[r]
        if (230 === a.kind) {
          if (64 & 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.isEntityNameExpression(c.expression)) {
                var u = ae(c.expression, 793064, !0)
                if (!u || !(64 & u.flags) || sr(u).thisType) return !1
              }
            }
        }
      }
      return !0
    }
    function sr(t) {
      var r = b(t)
      if (!r.declaredType) {
        var n = 32 & t.flags ? 1 : 2,
          a = (r.declaredType = Ee(n, t)),
          i = Wt(t),
          o = Ht(t)
        ;(i || o || 1 === n || !or(t)) &&
          ((a.objectFlags |= 4),
          (a.typeParameters = e.concatenate(i, o)),
          (a.outerTypeParameters = i),
          (a.localTypeParameters = o),
          (a.instantiations = e.createMap()),
          a.instantiations.set(Qn(a.typeParameters), a),
          (a.target = a),
          (a.typeArguments = a.typeParameters),
          (a.thisType = Se(16384)),
          (a.thisType.isThisType = !0),
          (a.thisType.symbol = t),
          (a.thisType.constraint = a))
      }
      return r.declaredType
    }
    function cr(t) {
      var r = b(t)
      if (!r.declaredType) {
        if (!it(t, 2)) return uv
        var n = e.getDeclarationOfKind(t, 290),
          a = void 0
        if (
          (n
            ? (a = Fi(
                n.jsDocTypeLiteral ? n.jsDocTypeLiteral : n.typeExpression.type
              ))
            : ((n = e.getDeclarationOfKind(t, 231)), (a = Fi(n.type))),
          ct())
        ) {
          var i = Ht(t)
          i &&
            ((r.typeParameters = i),
            (r.instantiations = e.createMap()),
            r.instantiations.set(Qn(i), a))
        } else
          (a = uv),
            _(
              n.name,
              e.Diagnostics.Type_alias_0_circularly_references_itself,
              Ue(t)
            )
        r.declaredType = a
      }
      return r.declaredType
    }
    function ur(t, r) {
      var n = r.initializer
      return n
        ? 8 === n.kind ||
            (192 === n.kind && 38 === n.operator && 8 === n.operand.kind) ||
            (71 === n.kind && !!t.exports.get(n.text))
        : !e.isInAmbientContext(r)
    }
    function _r(e) {
      for (var t = 0, r = e.declarations; t < r.length; t++) {
        var n = r[t]
        if (232 === n.kind)
          for (var a = 0, i = n.members; a < i.length; a++) {
            var o = i[a]
            if (!ur(e, o)) return !1
          }
      }
      return !0
    }
    function lr(e, t, r) {
      var n = Se(256)
      return (n.symbol = e), (n.baseType = t), (n.text = r), n
    }
    function dr(e) {
      var t = b(e)
      if (!t.declaredType) {
        var r = (t.declaredType = Se(16))
        if (((r.symbol = e), _r(e))) {
          for (
            var n = [], a = [], i = 0, o = r.symbol.declarations;
            i < o.length;
            i++
          ) {
            var s = o[i]
            if (232 === s.kind) {
              Qf(s)
              for (var c = 0, u = s.members; c < u.length; c++) {
                var _ = u[c],
                  l = he(_),
                  d = sm(_)
                if (!a[d]) {
                  var p = (a[d] = lr(l, r, '' + d))
                  n.push(p)
                }
              }
            }
          }
          ;(r.memberTypes = a),
            n.length > 1 &&
              ((r.flags |= 65536), (r.types = n), $y.set(Qn(n), r))
        }
      }
      return t.declaredType
    }
    function pr(e) {
      var t = b(e)
      if (!t.declaredType) {
        var r = dr(be(e))
        t.declaredType =
          65536 & r.flags ? r.memberTypes[sm(e.valueDeclaration)] : r
      }
      return t.declaredType
    }
    function fr(e) {
      var t = b(e)
      if (!t.declaredType) {
        var r = Se(16384)
        ;(r.symbol = e), (t.declaredType = r)
      }
      return t.declaredType
    }
    function gr(e) {
      var t = b(e)
      return t.declaredType || (t.declaredType = mr($(e))), t.declaredType
    }
    function mr(e) {
      return 96 & e.flags
        ? sr(e)
        : 524288 & e.flags
          ? cr(e)
          : 262144 & e.flags
            ? fr(e)
            : 384 & e.flags
              ? dr(e)
              : 8 & e.flags
                ? pr(e)
                : 8388608 & e.flags
                  ? gr(e)
                  : uv
    }
    function yr(e) {
      if (e.typeArguments)
        for (var t = 0, r = e.typeArguments; t < r.length; t++) {
          var n = r[t]
          if (!vr(n)) return !1
        }
      return !0
    }
    function vr(e) {
      switch (e.kind) {
        case 119:
        case 136:
        case 133:
        case 122:
        case 137:
        case 134:
        case 105:
        case 139:
        case 95:
        case 130:
        case 173:
          return !0
        case 164:
          return vr(e.elementType)
        case 159:
          return yr(e)
      }
      return !1
    }
    function hr(e) {
      return (e.type && vr(e.type)) || (!e.type && !e.initializer)
    }
    function br(e) {
      if (!(152 === e.kind || (e.type && vr(e.type)))) return !1
      for (var t = 0, r = e.parameters; t < r.length; t++) {
        var n = r[t]
        if (!hr(n)) return !1
      }
      return !0
    }
    function kr(e) {
      if (e.declarations && 1 === e.declarations.length) {
        var t = e.declarations[0]
        if (t)
          switch (t.kind) {
            case 149:
            case 148:
              return hr(t)
            case 151:
            case 150:
            case 152:
              return br(t)
          }
      }
      return !1
    }
    function xr(t) {
      for (var r = e.createMap(), n = 0, a = t; n < a.length; n++) {
        var i = a[n]
        r.set(i.name, i)
      }
      return r
    }
    function Cr(t, r, n) {
      for (var a = e.createMap(), i = 0, o = t; i < o.length; i++) {
        var s = o[i]
        a.set(s.name, n && kr(s) ? s : Yi(s, r))
      }
      return a
    }
    function Sr(e, t) {
      for (var r = 0, n = t; r < n.length; r++) {
        var a = n[r]
        e.has(a.name) || e.set(a.name, a)
      }
    }
    function Dr(e) {
      if (!e.declaredProperties) {
        var t = e.symbol
        ;(e.declaredProperties = we(t.members)),
          (e.declaredCallSignatures = In(t.members.get('__call'))),
          (e.declaredConstructSignatures = In(t.members.get('__new'))),
          (e.declaredStringIndexInfo = Wn(t, 0)),
          (e.declaredNumberIndexInfo = Wn(t, 1))
      }
      return e
    }
    function Tr(t, r) {
      if (4 & x(t)) {
        var n = t.target,
          a = t.typeArguments
        if (e.length(n.typeParameters) === e.length(a))
          return Zn(n, e.concatenate(a, [r || n.thisType]))
      } else if (131072 & t.flags)
        return ai(
          e.map(t.types, function(e) {
            return Tr(e, r)
          })
        )
      return t
    }
    function Er(t, r, n, a) {
      var i, o, s, c, u, _
      e.rangeEquals(n, a, 0, n.length)
        ? ((i = Ui),
          (o = r.symbol ? r.symbol.members : xr(r.declaredProperties)),
          (s = r.declaredCallSignatures),
          (c = r.declaredConstructSignatures),
          (u = r.declaredStringIndexInfo),
          (_ = r.declaredNumberIndexInfo))
        : ((i = Ki(n, a)),
          (o = Cr(r.declaredProperties, i, 1 === n.length)),
          (s = Mi(r.declaredCallSignatures, i)),
          (c = Mi(r.declaredConstructSignatures, i)),
          (u = oo(r.declaredStringIndexInfo, i)),
          (_ = oo(r.declaredNumberIndexInfo, i)))
      var l = tr(r)
      if (l.length) {
        r.symbol && o === r.symbol.members && (o = xr(r.declaredProperties))
        for (var d = e.lastOrUndefined(a), p = 0, f = l; p < f.length; p++) {
          var g = f[p],
            m = d ? Tr(ao(g, i), d) : g
          Sr(o, en(m)),
            (s = e.concatenate(s, mn(m, 0))),
            (c = e.concatenate(c, mn(m, 1))),
            u || (u = m === sv ? Un(sv, !1) : hn(m, 0)),
            (_ = _ || hn(m, 1))
        }
      }
      Pe(t, o, s, c, u, _)
    }
    function Nr(e) {
      Er(e, Dr(e), Ly, Ly)
    }
    function Ar(t) {
      var r = Dr(t.target),
        n = e.concatenate(r.typeParameters, [r.thisType]),
        a =
          t.typeArguments && t.typeArguments.length === n.length
            ? t.typeArguments
            : e.concatenate(t.typeArguments, [t])
      Er(t, r, n, a)
    }
    function wr(e, t, r, n, a, i, o, s, c) {
      var u = new Fy(Yy)
      return (
        (u.declaration = e),
        (u.typeParameters = t),
        (u.parameters = n),
        (u.thisParameter = r),
        (u.resolvedReturnType = a),
        (u.typePredicate = i),
        (u.minArgumentCount = o),
        (u.hasRestParameter = s),
        (u.hasLiteralTypes = c),
        u
      )
    }
    function Pr(e) {
      return wr(
        e.declaration,
        e.typeParameters,
        e.thisParameter,
        e.parameters,
        e.resolvedReturnType,
        e.typePredicate,
        e.minArgumentCount,
        e.hasRestParameter,
        e.hasLiteralTypes
      )
    }
    function Or(t) {
      var r = er(t),
        n = mn(r, 1)
      if (0 === n.length)
        return [
          wr(void 0, t.localTypeParameters, void 0, Ly, t, void 0, 0, !1, !1)
        ]
      for (
        var a = Yt(t),
          i = e.isInJavaScriptFile(a),
          o = e.map(a.typeArguments, Fi),
          s = e.length(o),
          c = [],
          u = 0,
          _ = n;
        u < _.length;
        u++
      ) {
        var l = _[u],
          d = An(l.typeParameters),
          p = e.length(l.typeParameters)
        if ((i || s >= d) && s <= p) {
          var f = p ? zn(l, wn(o, l.typeParameters, d, a)) : Pr(l)
          ;(f.typeParameters = t.localTypeParameters),
            (f.resolvedReturnType = t),
            c.push(f)
        }
      }
      return c
    }
    function Fr(e, t, r, n, a) {
      for (var i = 0, o = e; i < o.length; i++) {
        var s = o[i]
        if (Uo(s, t, r, n, a, po)) return s
      }
    }
    function Ir(t, r, n) {
      if (r.typeParameters) {
        if (n > 0) return
        for (var a = 1; a < t.length; a++) if (!Fr(t[a], r, !1, !1, !1)) return
        return [r]
      }
      for (var i = void 0, a = 0; a < t.length; a++) {
        var o = a === n ? r : Fr(t[a], r, !0, !0, !0)
        if (!o) return
        e.contains(i, o) || (i || (i = [])).push(o)
      }
      return i
    }
    function Rr(t, r) {
      for (
        var n = e.map(t, function(e) {
            return mn(e, r)
          }),
          a = void 0,
          i = 0;
        i < n.length;
        i++
      )
        for (var o = 0, s = n[i]; o < s.length; o++) {
          var c = s[o]
          if (!a || !Fr(a, c, !1, !0, !0)) {
            var u = Ir(n, c, i)
            if (u) {
              var _ = c
              if (u.length > 1) {
                if (
                  ((_ = Pr(c)),
                  e.forEach(u, function(e) {
                    return e.thisParameter
                  }))
                ) {
                  var l = $a(
                    e.map(u, function(e) {
                      return zt(e.thisParameter) || sv
                    }),
                    !0
                  )
                  _.thisParameter = ds(c.thisParameter, l)
                }
                ;(_.resolvedReturnType = void 0), (_.unionSignatures = u)
              }
              ;(a || (a = [])).push(_)
            }
          }
        }
      return a || Ly
    }
    function Mr(e, t) {
      for (var r = [], n = !1, a = 0, i = e; a < i.length; a++) {
        var o = i[a],
          s = hn(o, t)
        if (!s) return
        r.push(s.type), (n = n || s.isReadonly)
      }
      return Un($a(r, !0), n)
    }
    function Lr(e) {
      var t = Rr(e.types, 0),
        r = Rr(e.types, 1),
        n = Mr(e.types, 0),
        a = Mr(e.types, 1)
      Pe(e, By, t, r, n, a)
    }
    function Br(e, t) {
      return e ? (t ? ai([e, t]) : e) : t
    }
    function Jr(e, t) {
      return e
        ? t
          ? Un(ai([e.type, t.type]), e.isReadonly && t.isReadonly)
          : e
        : t
    }
    function zr(e, t) {
      return e && t && Un($a([e.type, t.type]), e.isReadonly || t.isReadonly)
    }
    function Kr(e, t, r) {
      for (var n = [], a = 0; a < t.length; a++)
        a === r ? n.push(e) : Xt(t[a]) && n.push(Ln(mn(t[a], 1)[0]))
      return ai(n)
    }
    function jr(t) {
      for (
        var r,
          n,
          a = Ly,
          i = Ly,
          o = t.types,
          s = e.countWhere(o, Xt),
          c = function(c) {
            var u = t.types[c]
            if (0 === s || (s === o.length && 0 === c) || !Xt(u)) {
              var _ = mn(u, 1)
              _.length &&
                s > 0 &&
                (_ = e.map(_, function(e) {
                  var t = Pr(e)
                  return (t.resolvedReturnType = Kr(Ln(e), o, c)), t
                })),
                (i = e.concatenate(i, _))
            }
            ;(a = e.concatenate(a, mn(u, 0))),
              (r = Jr(r, hn(u, 0))),
              (n = Jr(n, hn(u, 1)))
          },
          u = 0;
        u < o.length;
        u++
      )
        c(u)
      Pe(t, By, a, i, r, n)
    }
    function Vr(e) {
      var t = e.symbol
      if (e.target) {
        var r = Cr(Yr(e.target), e.mapper, !1),
          n = Mi(mn(e.target, 0), e.mapper),
          a = Mi(mn(e.target, 1), e.mapper),
          i = oo(hn(e.target, 0), e.mapper),
          o = oo(hn(e.target, 1), e.mapper)
        Pe(e, r, n, a, i, o)
      } else if (2048 & t.flags) {
        var r = t.members,
          n = In(r.get('__call')),
          a = In(r.get('__new')),
          i = Wn(t, 0),
          o = Wn(t, 1)
        Pe(e, r, n, a, i, o)
      } else {
        var r = By,
          a = Ly,
          i = void 0
        if ((t.exports && (r = fe(t)), 32 & t.flags)) {
          var s = sr(t)
          ;(a = In(t.members.get('__constructor'))), a.length || (a = Or(s))
          var c = er(s)
          704512 & c.flags
            ? ((r = xr(we(r))), Sr(r, en(c)))
            : c === sv && (i = Un(sv, !1))
        }
        var o = 384 & t.flags ? ph : void 0
        Pe(e, r, Ly, a, i, o), 8208 & t.flags && (e.callSignatures = In(t))
      }
    }
    function qr(t) {
      function r(e, r) {
        var o = Ki([i], [e]),
          d = t.mapper ? Wi(t.mapper, o) : o,
          p = ao(s, d)
        if (32 & e.flags) {
          var f = e.text,
            g = fn(c, f),
            m = _ || !!(g && 67108864 & g.flags),
            y = l(4 | (m ? 67108864 : 0), f)
          ;(y.checkFlags = u || (g && ed(g)) ? 8 : 0),
            (y.type = p),
            r && (y.syntheticOrigin = r),
            a.set(f, y)
        } else 2 & e.flags && (n = Un(p, u))
      }
      var n,
        a = e.createMap()
      Pe(t, By, Ly, Ly, void 0, void 0)
      var i = Ur(t),
        o = Wr(t),
        s = Hr(t),
        c = _n(Gr(t)),
        u = !!t.declaration.readonlyToken,
        _ = !!t.declaration.questionToken
      if (170 === t.declaration.typeParameter.constraint.kind) {
        for (var d = 0, p = en(c); d < p.length; d++) {
          var f = p[d]
          r(si(f), f)
        }
        hn(c, 0) && r(fv)
      } else {
        var g = 540672 & o.flags ? _n(o) : o,
          m = 262144 & g.flags ? ui(_n(g.type)) : g
        Sc(m, r)
      }
      Pe(t, a, Ly, Ly, n, void 0)
    }
    function Ur(e) {
      return (
        e.typeParameter ||
        (e.typeParameter = fr(he(e.declaration.typeParameter)))
      )
    }
    function Wr(e) {
      return (
        e.constraintType ||
        (e.constraintType = ao(rn(Ur(e)), e.mapper || Ui) || uv)
      )
    }
    function Hr(e) {
      return (
        e.templateType ||
        (e.templateType = e.declaration.type
          ? ao(
              bt(Fi(e.declaration.type), !!e.declaration.questionToken),
              e.mapper || Ui
            )
          : uv)
      )
    }
    function Gr(e) {
      if (!e.modifiersType) {
        var t = e.declaration.typeParameter.constraint
        if (170 === t.kind) e.modifiersType = ao(Fi(t.type), e.mapper || Ui)
        else {
          var r = yi(e.declaration),
            n = Wr(r),
            a = n && 16384 & n.flags ? rn(n) : n
          e.modifiersType =
            a && 262144 & a.flags ? ao(a.type, e.mapper || Ui) : Sv
        }
      }
      return e.modifiersType
    }
    function Xr(e) {
      if (32 & x(e)) {
        var t = Wr(e)
        return _d(t, 802816)
      }
      return !1
    }
    function Qr(e) {
      return (
        e.members ||
          (32768 & e.flags
            ? 4 & e.objectFlags
              ? Ar(e)
              : 3 & e.objectFlags
                ? Nr(e)
                : 16 & e.objectFlags
                  ? Vr(e)
                  : 32 & e.objectFlags && qr(e)
            : 65536 & e.flags
              ? Lr(e)
              : 131072 & e.flags && jr(e)),
        e
      )
    }
    function Yr(e) {
      return 32768 & e.flags ? Qr(e).properties : Ly
    }
    function Zr(e, t) {
      if (32768 & e.flags) {
        var r = Qr(e),
          n = r.members.get(t)
        if (n && xe(n)) return n
      }
    }
    function $r(t) {
      if (!t.resolvedProperties) {
        for (var r = e.createMap(), n = 0, a = t.types; n < a.length; n++) {
          for (var i = a[n], o = 0, s = en(i); o < s.length; o++) {
            var c = s[o]
            if (!r.has(c.name)) {
              var u = pn(t, c.name)
              u && r.set(c.name, u)
            }
          }
          if (65536 & t.flags) break
        }
        t.resolvedProperties = we(r)
      }
      return t.resolvedProperties
    }
    function en(e) {
      return (e = _n(e)), 196608 & e.flags ? $r(e) : Yr(e)
    }
    function tn(e) {
      return 16384 & e.flags ? rn(e) : 524288 & e.flags ? nn(e) : an(e)
    }
    function rn(e) {
      return on(e) ? Gn(e) : void 0
    }
    function nn(e) {
      var t = an(e.objectType),
        r = an(e.indexType)
      return t || r ? gi(t || e.objectType, r || e.indexType) : void 0
    }
    function an(e) {
      if (737280 & e.flags) {
        var t = sn(e)
        if (t !== sh && t !== ch) return t
      } else if (262144 & e.flags) return fv
    }
    function on(e) {
      return sn(e) !== ch
    }
    function sn(t) {
      function r(t) {
        if (e.contains(a, t)) return void (i = !0)
        a.push(t)
        var r = n(t)
        return a.pop(), r
      }
      function n(e) {
        if (16384 & e.flags) {
          var t = Gn(e)
          return e.isThisType ? t : t ? r(t) : void 0
        }
        if (196608 & e.flags) {
          for (var n = e.types, a = [], i = 0, o = n; i < o.length; i++) {
            var s = o[i],
              c = r(s)
            c && a.push(c)
          }
          return 65536 & e.flags && a.length === n.length
            ? $a(a)
            : 131072 & e.flags && a.length
              ? ai(a)
              : void 0
        }
        if (262144 & e.flags) return fv
        if (524288 & e.flags) {
          var u = r(e.objectType),
            _ = r(e.indexType),
            l = u && _ ? gi(u, _) : void 0
          return l && l !== uv ? r(l) : void 0
        }
        return e
      }
      var a, i
      if (!t.resolvedBaseConstraint) {
        a = []
        var o = r(t)
        t.resolvedBaseConstraint = i ? ch : Tr(o || sh, t)
      }
      return t.resolvedBaseConstraint
    }
    function cn(e) {
      return e.resolvedApparentType || (e.resolvedApparentType = Tr(e, e))
    }
    function un(t) {
      if (!t['default'])
        if (t.target) {
          var r = un(t.target)
          t['default'] = r ? ao(r, t.mapper) : sh
        } else {
          var n =
            t.symbol &&
            e.forEach(t.symbol.declarations, function(t) {
              return e.isTypeParameter(t) && t['default']
            })
          t['default'] = n ? Fi(n) : sh
        }
      return t['default'] === sh ? void 0 : t['default']
    }
    function _n(e) {
      var t = 540672 & e.flags ? an(e) || Sv : e
      return 131072 & t.flags
        ? cn(t)
        : 262178 & t.flags
          ? Iv
          : 340 & t.flags
            ? Rv
            : 136 & t.flags
              ? Mv
              : 512 & t.flags
                ? ba(zy >= 2)
                : 16777216 & t.flags
                  ? Sv
                  : t
    }
    function ln(t, r) {
      for (
        var n,
          a = t.types,
          i = 65536 & t.flags,
          o = i ? 24 : 0,
          s = i ? 0 : 67108864,
          c = 4,
          u = 0,
          _ = 0,
          d = a;
        _ < d.length;
        _++
      ) {
        var p = d[_],
          f = _n(p)
        if (f !== uv) {
          var g = fn(f, r),
            m = g ? P_(g) : 0
          !g || m & o
            ? i && (u |= 16)
            : ((s &= g.flags),
              n ? e.contains(n, g) || n.push(g) : (n = [g]),
              (u |=
                (ed(g) ? 8 : 0) |
                (24 & m ? 0 : 64) |
                (16 & m ? 128 : 0) |
                (8 & m ? 256 : 0) |
                (32 & m ? 512 : 0)),
              F_(g) || (c = 2))
        }
      }
      if (n) {
        if (1 === n.length && !(16 & u)) return n[0]
        for (var y = [], v = [], h = void 0, b = 0, k = n; b < k.length; b++) {
          var g = k[b]
          g.declarations && e.addRange(v, g.declarations)
          var f = zt(g)
          h ? f !== h && (u |= 32) : (h = f), y.push(f)
        }
        var x = l(4 | s, r)
        return (
          (x.checkFlags = c | u),
          (x.containingType = t),
          (x.declarations = v),
          (x.type = i ? $a(y) : ai(y)),
          x
        )
      }
    }
    function dn(t, r) {
      var n = t.propertyCache || (t.propertyCache = e.createMap()),
        a = n.get(r)
      return a || ((a = ln(t, r)), a && n.set(r, a)), a
    }
    function pn(e, t) {
      var r = dn(e, t)
      return !r || 16 & C(r) ? void 0 : r
    }
    function fn(e, t) {
      if (((e = _n(e)), 32768 & e.flags)) {
        var r = Qr(e),
          n = r.members.get(t)
        if (n && xe(n)) return n
        if (
          r === Nv ||
          r.callSignatures.length ||
          r.constructSignatures.length
        ) {
          var a = Zr(Pv, t)
          if (a) return a
        }
        return Zr(wv, t)
      }
      if (196608 & e.flags) return pn(e, t)
    }
    function gn(e, t) {
      if (229376 & e.flags) {
        var r = Qr(e)
        return 0 === t ? r.callSignatures : r.constructSignatures
      }
      return Ly
    }
    function mn(e, t) {
      return gn(_n(e), t)
    }
    function yn(e, t) {
      if (229376 & e.flags) {
        var r = Qr(e)
        return 0 === t ? r.stringIndexInfo : r.numberIndexInfo
      }
    }
    function vn(e, t) {
      var r = yn(e, t)
      return r && r.type
    }
    function hn(e, t) {
      return yn(_n(e), t)
    }
    function bn(e, t) {
      return vn(_n(e), t)
    }
    function kn(e, t) {
      if (ls(e)) {
        for (var r = [], n = 0, a = en(e); n < a.length; n++) {
          var i = a[n]
          ;(0 === t || Xu(i.name)) && r.push(zt(i))
        }
        if (r.length) return $a(r, !0)
      }
    }
    function xn(t) {
      if (65536 & t.flags) {
        var r = e.getJSDocTemplateTag(t)
        if (r) return Cn(r.typeParameters)
      }
    }
    function Cn(t) {
      var r = []
      return (
        e.forEach(t, function(t) {
          var n = fr(t.symbol)
          e.contains(r, n) || r.push(n)
        }),
        r
      )
    }
    function Sn(e) {
      var t = []
      return (
        e.forEach(function(e, r) {
          Ae(r) || t.push(e)
        }),
        t
      )
    }
    function Dn(t) {
      if (65536 & t.flags) {
        if (t.type && 278 === t.type.kind) return !0
        var r = e.getJSDocParameterTags(t)
        if (r)
          for (var n = 0, a = r; n < a.length; n++) {
            var i = a[n]
            if (i.isBracketed) return !0
            if (i.typeExpression) return 278 === i.typeExpression.type.kind
          }
      }
    }
    function Tn(t, r) {
      if (!e.isExternalModuleNameRelative(t)) {
        var n = D(gh, '"' + t + '"', 512)
        return n && r ? ve(n) : n
      }
    }
    function En(t) {
      if (e.hasQuestionToken(t) || Dn(t)) return !0
      if (t.initializer) {
        var r = t.parent,
          n = Pn(r),
          a = e.indexOf(r.parameters, t)
        return e.Debug.assert(a >= 0), a >= n.minArgumentCount
      }
      var i = e.getImmediatelyInvokedFunctionExpression(t.parent)
      return (
        !!i &&
        (!t.type &&
          !t.dotDotDotToken &&
          e.indexOf(t.parent.parameters, t) >= i.arguments.length)
      )
    }
    function Nn(e) {
      if (71 === e.parameterName.kind) {
        var t = e.parameterName
        return {
          kind: 1,
          parameterName: t ? t.text : void 0,
          parameterIndex: t ? Hd(e.parent.parameters, t) : void 0,
          type: Fi(e.type)
        }
      }
      return { kind: 0, type: Fi(e.type) }
    }
    function An(e) {
      var t = 0
      if (e) for (var r = 0; r < e.length; r++) un(e[r]) || (t = r + 1)
      return t
    }
    function wn(t, r, n, a) {
      var i = e.length(r)
      if (i) {
        var o = e.length(t),
          s = e.isInJavaScriptFile(a)
        if ((s || o >= n) && o <= i) {
          t || (t = [])
          for (var c = o; c < i; c++) t[c] = s ? sv : Sv
          for (var c = o; c < i; c++) {
            var u = Ki(r, t),
              _ = un(r[c])
            t[c] = _ ? ao(_, u) : s ? sv : Sv
          }
        }
      }
      return t
    }
    function Pn(t) {
      var r = k(t)
      if (!r.resolvedSignature) {
        for (
          var n = [],
            a = !1,
            i = 0,
            o = void 0,
            s = void 0,
            c = e.getImmediatelyInvokedFunctionExpression(t),
            u = e.isJSDocConstructSignature(t),
            _ =
              !c &&
              !u &&
              e.isInJavaScriptFile(t) &&
              !e.hasJSDocParameterTags(t),
            l = u ? 1 : 0;
          l < t.parameters.length;
          l++
        ) {
          var d = t.parameters[l],
            p = d.symbol
          if (p && 4 & p.flags && !e.isBindingPattern(d.name)) {
            var f = N(d, p.name, 107455, void 0, void 0)
            p = f
          }
          0 === l && 'this' === p.name ? ((s = !0), (o = d.symbol)) : n.push(p),
            d.type && 173 === d.type.kind && (a = !0)
          var g =
            d.initializer ||
            d.questionToken ||
            d.dotDotDotToken ||
            (c && n.length > c.arguments.length && !d.type) ||
            Dn(d) ||
            _
          g || (i = n.length)
        }
        if (
          !(
            (153 !== t.kind && 154 !== t.kind) ||
            e.hasDynamicName(t) ||
            (s && o)
          )
        ) {
          var m = 153 === t.kind ? 154 : 153,
            y = e.getDeclarationOfKind(t.symbol, m)
          y && (o = Pt(y))
        }
        var v = 152 === t.kind ? sr(ve(t.parent.symbol)) : void 0,
          h = v
            ? v.localTypeParameters
            : t.typeParameters
              ? Cn(t.typeParameters)
              : xn(t),
          b = On(t, u, v),
          x = t.type && 158 === t.type.kind ? Nn(t.type) : void 0
        r.resolvedSignature = wr(t, h, o, n, b, x, i, e.hasRestParameter(t), a)
      }
      return r.resolvedSignature
    }
    function On(t, r, n) {
      if (r) return Fi(t.parameters[0].type)
      if (n) return n
      if (t.type) return Fi(t.type)
      if (65536 & t.flags) {
        var a = jl(t)
        if (a && a !== uv) return a
      }
      if (153 === t.kind && !e.hasDynamicName(t)) {
        var i = e.getDeclarationOfKind(t.symbol, 154)
        return wt(i)
      }
      return e.nodeIsMissing(t.body) ? sv : void 0
    }
    function Fn(t) {
      function r(t) {
        if (!t) return !1
        switch (t.kind) {
          case 71:
            return 'arguments' === t.text && e.isPartOfExpression(t)
          case 149:
          case 151:
          case 153:
          case 154:
            return 144 === t.name.kind && r(t.name)
          default:
            return (
              !e.nodeStartsNewLexicalEnvironment(t) &&
              !e.isPartOfTypeNode(t) &&
              e.forEachChild(t, r)
            )
        }
      }
      var n = k(t)
      return (
        void 0 === n.containsArgumentsReference &&
          (8192 & n.flags
            ? (n.containsArgumentsReference = !0)
            : (n.containsArgumentsReference = r(t.body))),
        n.containsArgumentsReference
      )
    }
    function In(e) {
      if (!e) return Ly
      for (var t = [], r = 0; r < e.declarations.length; r++) {
        var n = e.declarations[r]
        switch (n.kind) {
          case 160:
          case 161:
          case 228:
          case 151:
          case 150:
          case 152:
          case 155:
          case 156:
          case 157:
          case 153:
          case 154:
          case 186:
          case 187:
          case 279:
            if (r > 0 && n.body) {
              var a = e.declarations[r - 1]
              if (n.parent === a.parent && n.kind === a.kind && n.pos === a.end)
                break
            }
            t.push(Pn(n))
        }
      }
      return t
    }
    function Rn(e) {
      var t = ie(e, e)
      if (t) {
        var r = ce(t)
        if (r) return zt(r)
      }
      return sv
    }
    function Mn(e) {
      if (e.thisParameter) return zt(e.thisParameter)
    }
    function Ln(t) {
      if (!t.resolvedReturnType) {
        if (!it(t, 3)) return uv
        var r = void 0
        if (
          ((r = t.target
            ? ao(Ln(t.target), t.mapper)
            : t.unionSignatures
              ? $a(e.map(t.unionSignatures, Ln), !0)
              : Ul(t.declaration)),
          !ct() && ((r = sv), Uy))
        ) {
          var n = t.declaration,
            a = e.getNameOfDeclaration(n)
          a
            ? _(
                a,
                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(a)
              )
            : _(
                n,
                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 = r
      }
      return t.resolvedReturnType
    }
    function Bn(t) {
      if (t.hasRestParameter) {
        var r = zt(e.lastOrUndefined(t.parameters))
        if (4 & x(r) && r.target === Ov) return r.typeArguments[0]
      }
      return sv
    }
    function Jn(t, r) {
      r = wn(r, t.typeParameters, An(t.typeParameters))
      var n = t.instantiations || (t.instantiations = e.createMap()),
        a = Qn(r),
        i = n.get(a)
      return i || n.set(a, (i = zn(t, r))), i
    }
    function zn(e, t) {
      return Qi(e, Ki(e.typeParameters, t), !0)
    }
    function Kn(e) {
      return e.typeParameters
        ? (e.erasedSignatureCache ||
            (e.erasedSignatureCache = Qi(e, ji(e.typeParameters), !0)),
          e.erasedSignatureCache)
        : e
    }
    function jn(e) {
      if (!e.isolatedSignatureType) {
        var t = 152 === e.declaration.kind || 156 === e.declaration.kind,
          r = Ee(16)
        ;(r.members = By),
          (r.properties = Ly),
          (r.callSignatures = t ? Ly : [e]),
          (r.constructSignatures = t ? [e] : Ly),
          (e.isolatedSignatureType = r)
      }
      return e.isolatedSignatureType
    }
    function Vn(e) {
      return e.members.get('__index')
    }
    function qn(e, t) {
      var r = 1 === t ? 133 : 136,
        n = Vn(e)
      if (n)
        for (var a = 0, i = n.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 === r) return s
          }
        }
    }
    function Un(e, t, r) {
      return { type: e, isReadonly: t, declaration: r }
    }
    function Wn(t, r) {
      var n = qn(t, r)
      if (n)
        return Un(
          n.type ? Fi(n.type) : sv,
          0 !== (64 & e.getModifierFlags(n)),
          n
        )
    }
    function Hn(t) {
      return e.getDeclarationOfKind(t.symbol, 145).constraint
    }
    function Gn(e) {
      if (!e.constraint)
        if (e.target) {
          var t = rn(e.target)
          e.constraint = t ? ao(t, e.mapper) : sh
        } else {
          var r = Hn(e)
          e.constraint = r ? Fi(r) : sh
        }
      return e.constraint === sh ? void 0 : e.constraint
    }
    function Xn(t) {
      return he(e.getDeclarationOfKind(t.symbol, 145).parent)
    }
    function Qn(e) {
      var t = ''
      if (e)
        for (var r = e.length, n = 0; n < r; ) {
          for (var a = e[n].id, i = 1; n + i < r && e[n + i].id === a + i; ) i++
          t.length && (t += ','), (t += a), i > 1 && (t += ':' + i), (n += i)
        }
      return t
    }
    function Yn(e, t) {
      for (var r = 0, n = 0, a = e; n < a.length; n++) {
        var i = a[n]
        i.flags & t || (r |= i.flags)
      }
      return 14680064 & r
    }
    function Zn(e, t) {
      var r = Qn(t),
        n = e.instantiations.get(r)
      return (
        n ||
          ((n = Ee(4, e.symbol)),
          e.instantiations.set(r, n),
          (n.flags |= t ? Yn(t, 0) : 0),
          (n.target = e),
          (n.typeArguments = t)),
        n
      )
    }
    function $n(e) {
      var t = Se(e.flags)
      return (
        (t.symbol = e.symbol),
        (t.objectFlags = e.objectFlags),
        (t.target = e.target),
        (t.typeArguments = e.typeArguments),
        t
      )
    }
    function ea(t) {
      return e.length(t.target.typeParameters)
    }
    function ta(t, r) {
      var n = mr(ve(r)),
        a = n.localTypeParameters
      if (a) {
        var i = e.length(t.typeArguments),
          o = An(a)
        if (!e.isInJavaScriptFile(t) && (i < o || i > a.length))
          return (
            _(
              t,
              o === a.length
                ? e.Diagnostics.Generic_type_0_requires_1_type_argument_s
                : e.Diagnostics
                    .Generic_type_0_requires_between_1_and_2_type_arguments,
              He(n, void 0, 1),
              o,
              a.length
            ),
            uv
          )
        var s = e.concatenate(
          n.outerTypeParameters,
          wn(e.map(t.typeArguments, Fi), a, o, t)
        )
        return Zn(n, s)
      }
      return t.typeArguments
        ? (_(t, e.Diagnostics.Type_0_is_not_generic, He(n)), uv)
        : n
    }
    function ra(e, t) {
      var r = mr(e),
        n = b(e),
        a = n.typeParameters,
        i = Qn(t),
        o = n.instantiations.get(i)
      return (
        o || n.instantiations.set(i, (o = io(r, Ki(a, wn(t, a, An(a)))))), o
      )
    }
    function na(t, r) {
      var n = mr(r),
        a = b(r).typeParameters
      if (a) {
        var i = e.length(t.typeArguments),
          o = An(a)
        if (i < o || i > a.length)
          return (
            _(
              t,
              o === a.length
                ? e.Diagnostics.Generic_type_0_requires_1_type_argument_s
                : e.Diagnostics
                    .Generic_type_0_requires_between_1_and_2_type_arguments,
              Ue(r),
              o,
              a.length
            ),
            uv
          )
        var s = e.map(t.typeArguments, Fi)
        return ra(r, s)
      }
      return t.typeArguments
        ? (_(t, e.Diagnostics.Type_0_is_not_generic, Ue(r)), uv)
        : n
    }
    function aa(t, r) {
      return t.typeArguments
        ? (_(t, e.Diagnostics.Type_0_is_not_generic, Ue(r)), uv)
        : mr(r)
    }
    function ia(t) {
      switch (t.kind) {
        case 159:
          return t.typeName
        case 277:
          return t.name
        case 201:
          var r = t.expression
          if (e.isEntityNameExpression(r)) return r
      }
    }
    function oa(e) {
      return e ? ae(e, 793064) || iv : iv
    }
    function sa(e, t) {
      return t === iv
        ? uv
        : 96 & t.flags
          ? ta(e, t)
          : 524288 & t.flags
            ? na(e, t)
            : 107455 & t.flags && 277 === e.kind
              ? zt(t)
              : aa(e, t)
    }
    function ca(t) {
      if (e.isIdentifier(t.name))
        switch (t.name.text) {
          case 'String':
            return fv
          case 'Number':
            return gv
          case 'Boolean':
            return vv
          case 'Void':
            return bv
          case 'Undefined':
            return _v
          case 'Null':
            return dv
          case 'Object':
            return sv
          case 'Function':
            return Nv
          case 'Array':
          case 'array':
            return t.typeArguments && t.typeArguments.length ? void 0 : Ba(sv)
          case 'Promise':
          case 'promise':
            return t.typeArguments && t.typeArguments.length ? void 0 : Vl(sv)
        }
    }
    function ua(e) {
      var t = Fi(e.type)
      return qy ? $a([t, dv]) : t
    }
    function _a(t) {
      var r = k(t)
      if (!r.resolvedType) {
        var n = void 0,
          a = void 0
        if (277 === t.kind) {
          if (((a = ca(t)), !a)) {
            var i = ia(t)
            ;(n = oa(i)), (a = sa(t, n))
          }
        } else {
          var o =
            159 === t.kind
              ? t.typeName
              : e.isEntityNameExpression(t.expression)
                ? t.expression
                : void 0
          ;(n = (o && ae(o, 793064)) || iv),
            (a =
              n === iv
                ? uv
                : 96 & n.flags
                  ? ta(t, n)
                  : 524288 & n.flags
                    ? na(t, n)
                    : aa(t, n))
        }
        ;(r.resolvedSymbol = n), (r.resolvedType = a)
      }
      return r.resolvedType
    }
    function la(e) {
      var t = k(e)
      return (
        t.resolvedType || (t.resolvedType = vs(Vd(e.exprName))), t.resolvedType
      )
    }
    function da(t, r) {
      function n(e) {
        for (var t = e.declarations, r = 0, n = t; r < n.length; r++) {
          var a = n[r]
          switch (a.kind) {
            case 229:
            case 230:
            case 232:
              return a
          }
        }
      }
      if (!t) return r ? Ev : Sv
      var a = mr(t)
      return 32768 & a.flags
        ? e.length(a.typeParameters) !== r
          ? (_(
              n(t),
              e.Diagnostics.Global_type_0_must_have_1_type_parameter_s,
              t.name,
              r
            ),
            r ? Ev : Sv)
          : a
        : (_(
            n(t),
            e.Diagnostics.Global_type_0_must_be_a_class_or_interface_type,
            t.name
          ),
          r ? Ev : Sv)
    }
    function pa(t, r) {
      return ga(
        t,
        107455,
        r ? e.Diagnostics.Cannot_find_global_value_0 : void 0
      )
    }
    function fa(t, r) {
      return ga(t, 793064, r ? e.Diagnostics.Cannot_find_global_type_0 : void 0)
    }
    function ga(e, t, r) {
      return N(void 0, e, t, r, e)
    }
    function ma(e, t, r) {
      var n = fa(e, r)
      return n || r ? da(n, t) : void 0
    }
    function ya() {
      return qv || (qv = ma('TypedPropertyDescriptor', 1, !0)) || Ev
    }
    function va() {
      return eh || (eh = ma('TemplateStringsArray', 0, !0)) || Sv
    }
    function ha(e) {
      return jv || (jv = pa('Symbol', e))
    }
    function ba(e) {
      return Vv || (Vv = ma('Symbol', 0, e)) || Sv
    }
    function ka(e) {
      return Uv || (Uv = ma('Promise', 1, e)) || Ev
    }
    function xa(e) {
      return Wv || (Wv = pa('Promise', e))
    }
    function Ca(e) {
      return Hv || (Hv = ma('PromiseConstructorLike', 0, e)) || Sv
    }
    function Sa(e) {
      return Yv || (Yv = ma('AsyncIterable', 1, e)) || Ev
    }
    function Da(e) {
      return Zv || (Zv = ma('AsyncIterator', 1, e)) || Ev
    }
    function Ta(e) {
      return $v || ($v = ma('AsyncIterableIterator', 1, e)) || Ev
    }
    function Ea(e) {
      return Gv || (Gv = ma('Iterable', 1, e)) || Ev
    }
    function Na(e) {
      return Xv || (Xv = ma('Iterator', 1, e)) || Ev
    }
    function Aa(e) {
      return Qv || (Qv = ma('IterableIterator', 1, e)) || Ev
    }
    function wa(e, t) {
      void 0 === t && (t = 0)
      var r = ga(e, 793064, void 0)
      return r && da(r, t)
    }
    function Pa(e, t) {
      var r = ga(e, 1920, void 0),
        n = r && D(r.exports, t, 793064)
      return n && mr(n)
    }
    function Oa(e, t) {
      return e !== Ev ? Zn(e, t) : Sv
    }
    function Fa(e) {
      return Oa(ya(), [e])
    }
    function Ia(e) {
      return Oa(Sa(!0), [e])
    }
    function Ra(e) {
      return Oa(Ta(!0), [e])
    }
    function Ma(e) {
      return Oa(Ea(!0), [e])
    }
    function La(e) {
      return Oa(Aa(!0), [e])
    }
    function Ba(e) {
      return Oa(Ov, [e])
    }
    function Ja(e) {
      var t = k(e)
      return (
        t.resolvedType || (t.resolvedType = Ba(Fi(e.elementType))),
        t.resolvedType
      )
    }
    function za(t) {
      for (var r = [], n = [], a = 0; a < t; a++) {
        var i = Se(16384)
        r.push(i)
        var o = l(4, '' + a)
        ;(o.type = i), n.push(o)
      }
      var s = Ee(12)
      return (
        (s.typeParameters = r),
        (s.outerTypeParameters = void 0),
        (s.localTypeParameters = r),
        (s.instantiations = e.createMap()),
        s.instantiations.set(Qn(s.typeParameters), s),
        (s.target = s),
        (s.typeArguments = s.typeParameters),
        (s.thisType = Se(16384)),
        (s.thisType.isThisType = !0),
        (s.thisType.constraint = s),
        (s.declaredProperties = n),
        (s.declaredCallSignatures = Ly),
        (s.declaredConstructSignatures = Ly),
        (s.declaredStringIndexInfo = void 0),
        (s.declaredNumberIndexInfo = void 0),
        s
      )
    }
    function Ka(e) {
      return Zy[e] || (Zy[e] = za(e))
    }
    function ja(e) {
      return Zn(Ka(e.length), e)
    }
    function Va(t) {
      var r = k(t)
      return (
        r.resolvedType || (r.resolvedType = ja(e.map(t.elementTypes, Fi))),
        r.resolvedType
      )
    }
    function qa(e, t) {
      for (var r = 0, n = e.length - 1, a = t.id; r <= n; ) {
        var i = r + ((n - r) >> 1),
          o = e[i].id
        if (o === a) return i
        o > a ? (n = i - 1) : (r = i + 1)
      }
      return ~r
    }
    function Ua(e, t) {
      return qa(e, t) >= 0
    }
    function Wa(e, t) {
      var r = t.flags
      if (65536 & r) Ha(e, t.types)
      else if (1 & r) e.containsAny = !0
      else if (!qy && 6144 & r)
        2048 & r && (e.containsUndefined = !0),
          4096 & r && (e.containsNull = !0),
          2097152 & r || (e.containsNonWideningType = !0)
      else if (!(8192 & r)) {
        2 & r && (e.containsString = !0),
          4 & r && (e.containsNumber = !0),
          96 & r && (e.containsStringOrNumberLiteral = !0)
        var n = e.length,
          a = n && t.id > e[n - 1].id ? ~n : qa(e, t)
        a < 0 &&
          ((32768 & r &&
            16 & t.objectFlags &&
            t.symbol &&
            8208 & t.symbol.flags &&
            Ga(e, t)) ||
            e.splice(~a, 0, t))
      }
    }
    function Ha(e, t) {
      for (var r = 0, n = t; r < n.length; r++) {
        var a = n[r]
        Wa(e, a)
      }
    }
    function Ga(e, t) {
      for (var r = 0, n = e; r < n.length; r++) {
        var a = n[r]
        if (lo(a, t)) return !0
      }
      return !1
    }
    function Xa(e, t) {
      for (var r = 0, n = t; r < n.length; r++) {
        var a = n[r]
        if (e !== a && go(e, a)) return !0
      }
      return !1
    }
    function Qa(e) {
      var t = e[0]
      if (256 & t.flags) {
        for (var r = be(t.symbol), n = 1; n < e.length; n++) {
          var a = e[n]
          if (!(256 & a.flags) || r !== be(a.symbol)) return !1
        }
        return !0
      }
      return !1
    }
    function Ya(t) {
      if (0 !== t.length && !Qa(t))
        for (var r = t.length; r > 0; )
          r--, Xa(t[r], t) && e.orderedRemoveItemAt(t, r)
    }
    function Za(t) {
      for (var r = t.length; r > 0; ) {
        r--
        var n = t[r],
          a =
            (32 & n.flags && t.containsString) ||
            (64 & n.flags && t.containsNumber) ||
            (96 & n.flags && 1048576 & n.flags && Ua(t, n.regularType))
        a && e.orderedRemoveItemAt(t, r)
      }
    }
    function $a(e, t, r, n) {
      if (0 === e.length) return kv
      if (1 === e.length) return e[0]
      var a = []
      return (
        Ha(a, e),
        a.containsAny
          ? sv
          : (t ? Ya(a) : a.containsStringOrNumberLiteral && Za(a),
            0 === a.length
              ? a.containsNull
                ? a.containsNonWideningType
                  ? dv
                  : pv
                : a.containsUndefined
                  ? a.containsNonWideningType
                    ? _v
                    : lv
                  : kv
              : ei(a, r, n))
      )
    }
    function ei(e, t, r) {
      if (0 === e.length) return kv
      if (1 === e.length) return e[0]
      var n = Qn(e),
        a = $y.get(n)
      if (!a) {
        var i = Yn(e, 6144)
        ;(a = Se(65536 | i)),
          $y.set(n, a),
          (a.types = e),
          (a.aliasSymbol = t),
          (a.aliasTypeArguments = r)
      }
      return a
    }
    function ti(t) {
      var r = k(t)
      return (
        r.resolvedType ||
          (r.resolvedType = $a(e.map(t.types, Fi), !1, hi(t), bi(t))),
        r.resolvedType
      )
    }
    function ri(t, r) {
      131072 & r.flags
        ? ni(t, r.types)
        : 1 & r.flags
          ? (t.containsAny = !0)
          : 16 & x(r) && wo(r)
            ? (t.containsEmptyObject = !0)
            : 8192 & r.flags ||
              (!qy && 6144 & r.flags) ||
              e.contains(t, r) ||
              (32768 & r.flags && (t.containsObjectType = !0),
              65536 & r.flags &&
                void 0 === t.unionIndex &&
                (t.unionIndex = t.length),
              (32768 & r.flags &&
                16 & r.objectFlags &&
                r.symbol &&
                8208 & r.symbol.flags &&
                Ga(t, r)) ||
                t.push(r))
    }
    function ni(e, t) {
      for (var r = 0, n = t; r < n.length; r++) {
        var a = n[r]
        ri(e, a)
      }
    }
    function ai(t, r, n) {
      if (0 === t.length) return Sv
      var a = []
      if ((ni(a, t), a.containsAny)) return sv
      if (
        (a.containsEmptyObject && !a.containsObjectType && a.push(Sv),
        1 === a.length)
      )
        return a[0]
      var i = a.unionIndex
      if (void 0 !== i) {
        var o = a[i]
        return $a(
          e.map(o.types, function(t) {
            return ai(e.replaceElement(a, i, t))
          }),
          !1,
          r,
          n
        )
      }
      var s = Qn(a),
        c = ev.get(s)
      if (!c) {
        var u = Yn(a, 6144)
        ;(c = Se(131072 | u)),
          ev.set(s, c),
          (c.types = a),
          (c.aliasSymbol = r),
          (c.aliasTypeArguments = n)
      }
      return c
    }
    function ii(t) {
      var r = k(t)
      return (
        r.resolvedType ||
          (r.resolvedType = ai(e.map(t.types, Fi), hi(t), bi(t))),
        r.resolvedType
      )
    }
    function oi(e) {
      return (
        e.resolvedIndexType ||
          ((e.resolvedIndexType = Se(262144)), (e.resolvedIndexType.type = e)),
        e.resolvedIndexType
      )
    }
    function si(t) {
      return 24 & P_(t) || e.startsWith(t.name, '__@')
        ? kv
        : Ei(32, e.unescapeIdentifier(t.name))
    }
    function ci(t) {
      return $a(e.map(en(t), si))
    }
    function ui(e) {
      return _d(e, 540672)
        ? oi(e)
        : 32 & x(e)
          ? Wr(e)
          : 1 & e.flags || hn(e, 0)
            ? fv
            : ci(e)
    }
    function _i(e) {
      var t = ui(e)
      return t !== kv ? t : fv
    }
    function li(e) {
      var t = k(e)
      return t.resolvedType || (t.resolvedType = ui(Fi(e.type))), t.resolvedType
    }
    function di(e, t) {
      var r = Se(524288)
      return (r.objectType = e), (r.indexType = t), r
    }
    function pi(t, r, n, a) {
      var i = n && 180 === n.kind ? n : void 0,
        o =
          352 & r.flags
            ? r.text
            : i && G_(i.argumentExpression, r, !1)
              ? e.getPropertyNameForKnownSymbolName(
                  i.argumentExpression.name.text
                )
              : void 0
      if (o) {
        var s = fn(t, o)
        if (s) {
          if (i) {
            if (e.isAssignmentTarget(i) && (td(i, s) || rd(i)))
              return (
                _(
                  i.argumentExpression,
                  e.Diagnostics
                    .Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property,
                  Ue(s)
                ),
                uv
              )
            a && (k(n).resolvedSymbol = s)
          }
          return zt(s)
        }
      }
      if (Hu(r, 263030)) {
        if (dt(t)) return sv
        var c = (Hu(r, 340) && hn(t, 1)) || hn(t, 0) || void 0
        if (c)
          return i &&
            c.isReadonly &&
            (e.isAssignmentTarget(i) || e.isDeleteTarget(i))
            ? (_(
                i,
                e.Diagnostics.Index_signature_in_type_0_only_permits_reading,
                He(t)
              ),
              uv)
            : c.type
        if (i && !dd(t))
          return (
            Uy &&
              !Jy.suppressImplicitAnyIndexErrors &&
              (bn(t, 1)
                ? _(
                    i.argumentExpression,
                    e.Diagnostics
                      .Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number
                  )
                : _(
                    i,
                    e.Diagnostics
                      .Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature,
                    He(t)
                  )),
            sv
          )
      }
      if (n) {
        var u = 180 === n.kind ? n.argumentExpression : n.indexType
        return (
          96 & r.flags
            ? _(
                u,
                e.Diagnostics.Property_0_does_not_exist_on_type_1,
                r.text,
                He(t)
              )
            : 6 & r.flags
              ? _(
                  u,
                  e.Diagnostics
                    .Type_0_has_no_matching_index_signature_for_type_1,
                  He(t),
                  He(r)
                )
              : _(
                  u,
                  e.Diagnostics.Type_0_cannot_be_used_as_an_index_type,
                  He(r)
                ),
          uv
        )
      }
      return sv
    }
    function fi(t, r, n) {
      var a = n && 180 === n.kind ? n : void 0
      if (a && e.isAssignmentTarget(a) && t.declaration.readonlyToken)
        return (
          _(
            a,
            e.Diagnostics.Index_signature_in_type_0_only_permits_reading,
            He(t)
          ),
          uv
        )
      var i = Ki([Ur(t)], [r]),
        o = t.mapper ? Wi(t.mapper, i) : i
      return ao(Hr(t), o)
    }
    function gi(e, t, r) {
      if (_d(t, 802816) || (_d(e, 540672) && (!r || 180 !== r.kind)) || Xr(e)) {
        if (1 & e.flags) return e
        if (Xr(e)) return fi(e, t, r)
        var n = e.id + ',' + t.id,
          a = nv.get(n)
        return a || nv.set(n, (a = di(e, t))), a
      }
      var i = _n(e)
      if (65536 & t.flags && !(8190 & t.flags)) {
        for (var o = [], s = 0, c = t.types; s < c.length; s++) {
          var u = c[s],
            _ = pi(i, u, r, !1)
          if (_ === uv) return uv
          o.push(_)
        }
        return $a(o)
      }
      return pi(i, t, r, !0)
    }
    function mi(e) {
      var t = k(e)
      return (
        t.resolvedType ||
          (t.resolvedType = gi(Fi(e.objectType), Fi(e.indexType), e)),
        t.resolvedType
      )
    }
    function yi(e) {
      var t = k(e)
      if (!t.resolvedType) {
        var r = Ee(32, e.symbol)
        ;(r.declaration = e),
          (r.aliasSymbol = hi(e)),
          (r.aliasTypeArguments = bi(e)),
          (t.resolvedType = r),
          Wr(r)
      }
      return t.resolvedType
    }
    function vi(e) {
      var t = k(e)
      if (!t.resolvedType) {
        var r = hi(e)
        if (0 !== e.symbol.members.size || r) {
          var n = Ee(16, e.symbol)
          ;(n.aliasSymbol = r),
            (n.aliasTypeArguments = bi(e)),
            (t.resolvedType = n)
        } else t.resolvedType = Tv
      }
      return t.resolvedType
    }
    function hi(e) {
      return 231 === e.parent.kind ? he(e.parent) : void 0
    }
    function bi(e) {
      var t = hi(e)
      return t ? Ht(t) : void 0
    }
    function ki(t, r) {
      if (1 & t.flags || 1 & r.flags) return sv
      if (
        ((t = Dc(t, function(e) {
          return !(6144 & e.flags)
        })),
        8192 & t.flags)
      )
        return r
      if (
        ((r = Dc(r, function(e) {
          return !(6144 & e.flags)
        })),
        8192 & r.flags)
      )
        return t
      if (65536 & t.flags)
        return Tc(t, function(e) {
          return ki(e, r)
        })
      if (65536 & r.flags)
        return Tc(r, function(e) {
          return ki(t, e)
        })
      if (16777216 & r.flags) return Sv
      var n,
        a,
        i = e.createMap(),
        o = e.createMap()
      t === Sv
        ? ((n = hn(r, 0)), (a = hn(r, 1)))
        : ((n = zr(hn(t, 0), hn(r, 0))), (a = zr(hn(t, 1), hn(r, 1))))
      for (var s = 0, c = en(r); s < c.length; s++) {
        var u = c[s],
          _ = 65536 & u.flags && !(32768 & u.flags)
        24 & P_(u) ? o.set(u.name, !0) : Ci(u) || _ || i.set(u.name, xi(u))
      }
      for (var d = 0, p = en(t); d < p.length; d++) {
        var f = p[d]
        if (
          !((65536 & f.flags && !(32768 & f.flags)) || o.has(f.name) || Ci(f))
        )
          if (i.has(f.name)) {
            var u = i.get(f.name),
              g = zt(u)
            if (_d(g, 2048) || 67108864 & u.flags) {
              var m = e.concatenate(f.declarations, u.declarations),
                y = 4 | (67108864 & f.flags),
                v = l(y, f.name)
              ;(v.type = $a([zt(f), $s(g, 131072)])),
                (v.leftSpread = f),
                (v.rightSpread = u),
                (v.declarations = m),
                i.set(f.name, v)
            }
          } else i.set(f.name, xi(f))
      }
      return Oe(void 0, i, Ly, Ly, n, a)
    }
    function xi(e) {
      if (!ed(e)) return e
      var t = 4 | (67108864 & e.flags),
        r = l(t, e.name)
      return (
        (r.type = zt(e)),
        (r.declarations = e.declarations),
        (r.syntheticOrigin = e),
        r
      )
    }
    function Ci(t) {
      return (
        8192 & t.flags &&
        e.find(t.declarations, function(t) {
          return e.isClassLike(t.parent)
        })
      )
    }
    function Si(e, t) {
      var r = Se(e)
      return (r.text = t), r
    }
    function Di(e) {
      if (96 & e.flags && !(1048576 & e.flags)) {
        if (!e.freshType) {
          var t = Si(1048576 | e.flags, e.text)
          ;(t.regularType = e), (e.freshType = t)
        }
        return e.freshType
      }
      return e
    }
    function Ti(e) {
      return 96 & e.flags && 1048576 & e.flags ? e.regularType : e
    }
    function Ei(e, t) {
      var r = 32 & e ? tv : rv,
        n = r.get(t)
      return n || r.set(t, (n = Si(e, t))), n
    }
    function Ni(e) {
      var t = k(e)
      return (
        t.resolvedType || (t.resolvedType = Ti(Vd(e.literal))), t.resolvedType
      )
    }
    function Ai(e) {
      var t = k(e)
      if (!t.resolvedType) {
        var r = Fi(e.type)
        t.resolvedType = r ? Ba(r) : uv
      }
      return t.resolvedType
    }
    function wi(t) {
      var r = k(t)
      if (!r.resolvedType) {
        var n = e.map(t.types, Fi)
        r.resolvedType = ja(n)
      }
      return r.resolvedType
    }
    function Pi(t) {
      var r = e.getThisContainer(t, !1),
        n = r && r.parent
      return !n ||
        (!e.isClassLike(n) && 230 !== n.kind) ||
        32 & e.getModifierFlags(r) ||
        (152 === r.kind && !e.isNodeDescendantOf(t, r.body))
        ? (_(
            t,
            e.Diagnostics
              .A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface
          ),
          uv)
        : sr(he(n)).thisType
    }
    function Oi(e) {
      var t = k(e)
      return t.resolvedType || (t.resolvedType = Pi(e)), t.resolvedType
    }
    function Fi(e) {
      switch (e.kind) {
        case 119:
        case 268:
        case 269:
          return sv
        case 136:
          return fv
        case 133:
          return gv
        case 122:
          return vv
        case 137:
          return hv
        case 105:
          return bv
        case 139:
          return _v
        case 95:
          return dv
        case 130:
          return kv
        case 134:
          return Cv
        case 169:
        case 99:
          return Oi(e)
        case 173:
          return Ni(e)
        case 293:
          return Ni(e.literal)
        case 159:
        case 277:
          return _a(e)
        case 158:
          return vv
        case 201:
          return _a(e)
        case 162:
          return la(e)
        case 164:
        case 270:
          return Ja(e)
        case 165:
          return Va(e)
        case 166:
        case 271:
          return ti(e)
        case 167:
          return ii(e)
        case 273:
          return ua(e)
        case 168:
        case 274:
        case 281:
        case 282:
        case 278:
          return Fi(e.type)
        case 275:
          return Fi(e.literal)
        case 160:
        case 161:
        case 163:
        case 292:
        case 279:
          return vi(e)
        case 170:
          return li(e)
        case 171:
          return mi(e)
        case 172:
          return yi(e)
        case 71:
        case 143:
          var t = Rg(e)
          return t && mr(t)
        case 272:
          return wi(e)
        case 280:
          return Ai(e)
        default:
          return uv
      }
    }
    function Ii(e, t, r) {
      if (e && e.length) {
        for (var n = [], a = 0, i = e; a < i.length; a++) {
          var o = i[a]
          n.push(r(o, t))
        }
        return n
      }
      return e
    }
    function Ri(e, t) {
      return Ii(e, t, ao)
    }
    function Mi(e, t) {
      return Ii(e, t, Qi)
    }
    function Li(e, t, r) {
      var n = t.instantiations || (t.instantiations = [])
      return n[e.id] || (n[e.id] = r(e, t))
    }
    function Bi(e, t) {
      return function(r) {
        return r === e ? t : r
      }
    }
    function Ji(e, t, r, n) {
      return function(a) {
        return a === e ? t : a === r ? n : a
      }
    }
    function zi(e, t) {
      return function(r) {
        for (var n = 0; n < e.length; n++) if (r === e[n]) return t ? t[n] : sv
        return r
      }
    }
    function Ki(e, t) {
      var r =
        1 === e.length
          ? Bi(e[0], t ? t[0] : sv)
          : 2 === e.length
            ? Ji(e[0], t ? t[0] : sv, e[1], t ? t[1] : sv)
            : zi(e, t)
      return (r.mappedTypes = e), r
    }
    function ji(e) {
      return Ki(e, void 0)
    }
    function Vi(t, r) {
      var n = function(n) {
        return e.indexOf(t, n) >= r ? Sv : n
      }
      return (n.mappedTypes = t), n
    }
    function qi(e) {
      if (!e.mapper) {
        var t = function(t) {
          for (var r = e.signature.typeParameters, n = 0; n < r.length; n++)
            if (t === r[n]) return (e.inferences[n].isFixed = !0), Rs(e, n)
          return t
        }
        ;(t.mappedTypes = e.signature.typeParameters),
          (t.context = e),
          (e.mapper = t)
      }
      return e.mapper
    }
    function Ui(e) {
      return e
    }
    function Wi(t, r) {
      var n = function(e) {
        return ao(t(e), r)
      }
      return (n.mappedTypes = e.concatenate(t.mappedTypes, r.mappedTypes)), n
    }
    function Hi(e, t, r) {
      var n = function(n) {
        return n === e ? t : r(n)
      }
      return (n.mappedTypes = r.mappedTypes), n
    }
    function Gi(e) {
      var t = Se(16384)
      return (t.symbol = e.symbol), (t.target = e), t
    }
    function Xi(t, r) {
      return e.isIdentifierTypePredicate(t)
        ? {
            kind: 1,
            parameterName: t.parameterName,
            parameterIndex: t.parameterIndex,
            type: ao(t.type, r)
          }
        : { kind: 0, type: ao(t.type, r) }
    }
    function Qi(t, r, n) {
      var a, i
      if (t.typeParameters && !n) {
        ;(a = e.map(t.typeParameters, Gi)), (r = Wi(Ki(t.typeParameters, a), r))
        for (var o = 0, s = a; o < s.length; o++) {
          var c = s[o]
          c.mapper = r
        }
      }
      t.typePredicate && (i = Xi(t.typePredicate, r))
      var u = wr(
        t.declaration,
        a,
        t.thisParameter && Yi(t.thisParameter, r),
        Ii(t.parameters, r, Yi),
        ao(t.resolvedReturnType, r),
        i,
        t.minArgumentCount,
        t.hasRestParameter,
        t.hasLiteralTypes
      )
      return (u.target = t), (u.mapper = r), u
    }
    function Yi(e, t) {
      if (1 & C(e)) {
        var r = b(e)
        ;(e = r.target), (t = Wi(r.mapper, t))
      }
      var n = l(e.flags, e.name)
      return (
        (n.checkFlags = 1),
        (n.declarations = e.declarations),
        (n.parent = e.parent),
        (n.target = e),
        (n.mapper = t),
        e.valueDeclaration && (n.valueDeclaration = e.valueDeclaration),
        n
      )
    }
    function Zi(e, t) {
      var r = Ee(80, e.symbol)
      return (
        (r.target = 64 & e.objectFlags ? e.target : e),
        (r.mapper = 64 & e.objectFlags ? Wi(e.mapper, t) : t),
        (r.aliasSymbol = e.aliasSymbol),
        (r.aliasTypeArguments = Ri(e.aliasTypeArguments, t)),
        r
      )
    }
    function $i(e, t) {
      var r = Wr(e)
      if (262144 & r.flags) {
        var n = r.type
        if (16384 & n.flags) {
          var a = ao(n, t)
          if (n !== a)
            return Tc(a, function(r) {
              return eo(r) ? to(e, Hi(n, r, t)) : r
            })
        }
      }
      return to(e, t)
    }
    function eo(e) {
      return 704512 & e.flags
    }
    function to(e, t) {
      var r = Ee(96, e.symbol)
      return (
        (r.declaration = e.declaration),
        (r.mapper = e.mapper ? Wi(e.mapper, t) : t),
        (r.aliasSymbol = e.aliasSymbol),
        (r.aliasTypeArguments = Ri(e.aliasTypeArguments, t)),
        r
      )
    }
    function ro(t, r) {
      if (!t.declarations || !t.declarations.length) return !1
      var n = r.mappedTypes
      return !!e.findAncestor(t.declarations[0], function(t) {
        if (233 === t.kind || 265 === t.kind) return 'quit'
        switch (t.kind) {
          case 160:
          case 161:
          case 228:
          case 151:
          case 150:
          case 152:
          case 155:
          case 156:
          case 157:
          case 153:
          case 154:
          case 186:
          case 187:
          case 229:
          case 199:
          case 230:
          case 231:
            var r = t
            if (r.typeParameters)
              for (var a = 0, i = r.typeParameters; a < i.length; a++) {
                var o = i[a]
                if (e.contains(n, fr(he(o)))) return !0
              }
            if (e.isClassLike(t) || 230 === t.kind) {
              var s = sr(he(t)).thisType
              if (s && e.contains(n, s)) return !0
            }
            break
          case 172:
            if (e.contains(n, fr(he(t.typeParameter)))) return !0
            break
          case 279:
            for (var c = t, u = 0, _ = c.parameters; u < _.length; u++) {
              var l = _[u]
              if (e.contains(n, Bg(l))) return !0
            }
        }
      })
    }
    function no(e) {
      if (e.declarations && e.declarations.length) {
        var t = e.declarations[0].parent.kind
        return 265 === t || 234 === t
      }
      return !1
    }
    function ao(e, t) {
      return e && t !== Ui
        ? e.aliasSymbol && no(e.aliasSymbol)
          ? e.aliasTypeArguments
            ? ra(e.aliasSymbol, Ri(e.aliasTypeArguments, t))
            : e
          : io(e, t)
        : e
    }
    function io(e, t) {
      if (16384 & e.flags) return t(e)
      if (32768 & e.flags) {
        if (16 & e.objectFlags)
          return e.symbol &&
            14384 & e.symbol.flags &&
            (64 & e.objectFlags || ro(e.symbol, t))
            ? Li(e, t, Zi)
            : e
        if (32 & e.objectFlags) return Li(e, t, $i)
        if (4 & e.objectFlags) return Zn(e.target, Ri(e.typeArguments, t))
      }
      return 65536 & e.flags && !(8190 & e.flags)
        ? $a(Ri(e.types, t), !1, e.aliasSymbol, Ri(e.aliasTypeArguments, t))
        : 131072 & e.flags
          ? ai(Ri(e.types, t), e.aliasSymbol, Ri(e.aliasTypeArguments, t))
          : 262144 & e.flags
            ? ui(ao(e.type, t))
            : 524288 & e.flags
              ? gi(ao(e.objectType, t), ao(e.indexType, t))
              : e
    }
    function oo(e, t) {
      return e && Un(ao(e.type, t), e.isReadonly, e.declaration)
    }
    function so(t) {
      switch (
        (e.Debug.assert(151 !== t.kind || e.isObjectLiteralMethod(t)), t.kind)
      ) {
        case 186:
        case 187:
          return co(t)
        case 178:
          return e.forEach(t.properties, so)
        case 177:
          return e.forEach(t.elements, so)
        case 195:
          return so(t.whenTrue) || so(t.whenFalse)
        case 194:
          return 54 === t.operatorToken.kind && (so(t.left) || so(t.right))
        case 261:
          return so(t.initializer)
        case 151:
        case 150:
          return co(t)
        case 185:
          return so(t.expression)
        case 254:
          return e.forEach(t.properties, so)
        case 253:
          return t.initializer && so(t.initializer)
        case 256:
          return t.expression && so(t.expression)
      }
      return !1
    }
    function co(t) {
      if (t.typeParameters) return !1
      if (
        e.forEach(t.parameters, function(e) {
          return !e.type
        })
      )
        return !0
      if (187 === t.kind) return !1
      var r = e.firstOrUndefined(t.parameters)
      return !(r && e.parameterIsThisKeyword(r))
    }
    function uo(t) {
      return (Bu(t) || e.isObjectLiteralMethod(t)) && co(t)
    }
    function _o(t) {
      if (32768 & t.flags) {
        var r = Qr(t)
        if (r.constructSignatures.length) {
          var n = Ee(16, t.symbol)
          return (
            (n.members = r.members),
            (n.properties = r.properties),
            (n.callSignatures = Ly),
            (n.constructSignatures = Ly),
            n
          )
        }
      } else if (131072 & t.flags) return ai(e.map(t.types, _o))
      return t
    }
    function lo(e, t) {
      return Fo(e, t, eb)
    }
    function po(e, t) {
      return Fo(e, t, eb) ? -1 : 0
    }
    function fo(e, t) {
      return Fo(e, t, Zh) ? -1 : 0
    }
    function go(e, t) {
      return Fo(e, t, Yh)
    }
    function mo(e, t) {
      return Fo(e, t, Zh)
    }
    function yo(e, t) {
      return jt(e) === jt(t) || (go(e, t) && !lo(e, t))
    }
    function vo(e, t) {
      return Fo(e, t, $h)
    }
    function ho(e, t) {
      return vo(e, t) || vo(t, e)
    }
    function bo(e, t, r, n, a) {
      return Io(e, t, Yh, r, n, a)
    }
    function ko(e, t, r, n, a) {
      return Io(e, t, Zh, r, n, a)
    }
    function xo(e, t, r, n, a) {
      return Io(e, t, $h, r, n, a)
    }
    function Co(e, t, r) {
      return 0 !== So(e, t, r, !1, void 0, fo)
    }
    function So(t, r, n, a, i, o) {
      if (t === r) return -1
      if (!r.hasRestParameter && t.minArgumentCount > r.parameters.length)
        return 0
      ;(t = Kn(t)), (r = Kn(r))
      var s = -1,
        c = Mn(t)
      if (c && c !== bv) {
        var u = Mn(r)
        if (u) {
          var _ = o(c, u, !1) || o(u, c, a)
          if (!_)
            return (
              a &&
                i(
                  e.Diagnostics
                    .The_this_types_of_each_signature_are_incompatible
                ),
              0
            )
          s &= _
        }
      }
      for (
        var l = Eo(t),
          d = Eo(r),
          p = No(t, l, r, d),
          f = t.parameters,
          g = r.parameters,
          m = 0;
        m < p;
        m++
      ) {
        var y = m < l ? Ml(f[m]) : Bn(t),
          v = m < d ? Ml(g[m]) : Bn(r),
          _ = o(y, v, !1) || o(v, y, a)
        if (!_)
          return (
            a &&
              i(
                e.Diagnostics.Types_of_parameters_0_and_1_are_incompatible,
                f[m < l ? m : l].name,
                g[m < d ? m : d].name
              ),
            0
          )
        s &= _
      }
      if (!n) {
        var h = Ln(r)
        if (h === bv) return s
        var b = Ln(t)
        if (r.typePredicate) {
          if (t.typePredicate)
            s &= Do(t.typePredicate, r.typePredicate, a, i, o)
          else if (e.isIdentifierTypePredicate(r.typePredicate))
            return (
              a &&
                i(e.Diagnostics.Signature_0_must_have_a_type_predicate, We(t)),
              0
            )
        } else s &= o(b, h, a)
      }
      return s
    }
    function Do(t, r, n, a, i) {
      if (t.kind !== r.kind)
        return (
          n &&
            (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,
              Xe(t),
              Xe(r)
            )),
          0
        )
      if (1 === t.kind) {
        var o = t,
          s = r
        if (o.parameterIndex !== s.parameterIndex)
          return (
            n &&
              (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,
                Xe(t),
                Xe(r)
              )),
            0
          )
      }
      var c = i(t.type, r.type, n)
      return (
        0 === c &&
          n &&
          a(
            e.Diagnostics.Type_predicate_0_is_not_assignable_to_1,
            Xe(t),
            Xe(r)
          ),
        c
      )
    }
    function To(e, t) {
      var r = Kn(e),
        n = Kn(t),
        a = Ln(r),
        i = Ln(n)
      return !(i !== bv && !Fo(i, a, Zh) && !Fo(a, i, Zh)) && Co(r, n, !0)
    }
    function Eo(e) {
      var t = e.parameters.length
      return e.hasRestParameter ? t - 1 : t
    }
    function No(e, t, r, n) {
      return e.hasRestParameter === r.hasRestParameter
        ? e.hasRestParameter
          ? Math.max(t, n) + 1
          : Math.min(t, n)
        : e.hasRestParameter
          ? n
          : t
    }
    function Ao(e) {
      return (
        0 === e.properties.length &&
        0 === e.callSignatures.length &&
        0 === e.constructSignatures.length &&
        !e.stringIndexInfo &&
        !e.numberIndexInfo
      )
    }
    function wo(t) {
      return 32768 & t.flags
        ? Ao(Qr(t))
        : 65536 & t.flags
          ? e.forEach(t.types, wo)
          : !!(131072 & t.flags) &&
            !e.forEach(t.types, function(e) {
              return !wo(e)
            })
    }
    function Po(t, r, n) {
      if (t === r) return !0
      var a = t.id + ',' + r.id,
        i = tb.get(a)
      if (void 0 !== i) return i
      if (
        !(
          t.symbol.name === r.symbol.name &&
          256 & t.symbol.flags &&
          256 & r.symbol.flags &&
          (65536 & t.flags) === (65536 & r.flags)
        )
      )
        return tb.set(a, !1), !1
      for (
        var o = zt(r.symbol), s = 0, c = en(zt(t.symbol));
        s < c.length;
        s++
      ) {
        var u = c[s]
        if (8 & u.flags) {
          var _ = fn(o, u.name)
          if (!(_ && 8 & _.flags))
            return (
              n &&
                n(
                  e.Diagnostics.Property_0_is_missing_in_type_1,
                  u.name,
                  He(r, void 0, 128)
                ),
              tb.set(a, !1),
              !1
            )
        }
      }
      return tb.set(a, !0), !0
    }
    function Oo(e, t, r, n) {
      if (8192 & t.flags) return !1
      if (1 & t.flags || 8192 & e.flags) return !0
      if (262178 & e.flags && 2 & t.flags) return !0
      if (340 & e.flags && 4 & t.flags) return !0
      if (136 & e.flags && 8 & t.flags) return !0
      if (256 & e.flags && 16 & t.flags && e.baseType === t) return !0
      if (16 & e.flags && 16 & t.flags && Po(e, t, n)) return !0
      if (2048 & e.flags && (!qy || 3072 & t.flags)) return !0
      if (4096 & e.flags && (!qy || 4096 & t.flags)) return !0
      if (32768 & e.flags && 16777216 & t.flags) return !0
      if (r === Zh || r === $h) {
        if (1 & e.flags) return !0
        if ((4 & e.flags) | (64 & e.flags) && 272 & t.flags) return !0
        if (
          256 & e.flags &&
          256 & t.flags &&
          e.text === t.text &&
          Po(e.baseType, t.baseType, n)
        )
          return !0
        if (256 & e.flags && 16 & t.flags && Po(t, e.baseType, n)) return !0
      }
      return !1
    }
    function Fo(e, t, r) {
      if (
        (96 & e.flags && 1048576 & e.flags && (e = e.regularType),
        96 & t.flags && 1048576 & t.flags && (t = t.regularType),
        e === t || (r !== eb && Oo(e, t, r)))
      )
        return !0
      if (32768 & e.flags && 32768 & t.flags) {
        var n = r !== eb || e.id < t.id ? e.id + ',' + t.id : t.id + ',' + e.id,
          a = r.get(n)
        if (void 0 !== a) return 1 === a
      }
      return !!(1032192 & e.flags || 1032192 & t.flags) && Io(e, t, r, void 0)
    }
    function Io(t, r, n, a, i, o) {
      function s(t, r, n, i) {
        e.Debug.assert(!!a), (L = e.chainDiagnosticMessages(L, t, r, n, i))
      }
      function c(t, r, a) {
        var i = He(r),
          o = He(a)
        i === o && ((i = He(r, void 0, 128)), (o = He(a, void 0, 128))),
          t ||
            (t =
              n === $h
                ? e.Diagnostics.Type_0_is_not_comparable_to_type_1
                : i === o
                  ? e.Diagnostics
                      .Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated
                  : e.Diagnostics.Type_0_is_not_assignable_to_type_1),
          s(t, i, o)
      }
      function u(t, r) {
        var n = He(t),
          a = He(r)
        ;((Iv === t && fv === r) ||
          (Rv === t && gv === r) ||
          (Mv === t && vv === r) ||
          (ba(!1) === t && hv === r)) &&
          s(
            e.Diagnostics
              ._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible,
            a,
            n
          )
      }
      function l(e) {
        if (!(196608 & e.flags)) return !1
        for (var t = !1, r = 0, n = e.types; r < n.length; r++) {
          var a = n[r]
          if (!(6144 & a.flags)) {
            if (t) return !0
            t = !0
          }
        }
        return !1
      }
      function d(t, r, a, i) {
        var o
        if (
          (96 & t.flags && 1048576 & t.flags && (t = t.regularType),
          96 & r.flags && 1048576 & r.flags && (r = r.regularType),
          t === r)
        )
          return -1
        if (n === eb) return p(t, r)
        if (Oo(t, r, n, a ? s : void 0)) return -1
        if (128 & x(t) && 1048576 & t.flags) {
          if (f(t, r, a)) return a && c(i, t, r), 0
          l(r) && (t = fs(t))
        }
        var _ = L
        if (65536 & t.flags) {
          if (
            (o =
              n === $h
                ? h(t, r, a && !(8190 & t.flags))
                : b(t, r, a && !(8190 & t.flags)))
          )
            return o
        } else {
          if (65536 & r.flags) {
            if ((o = m(t, r, a && !(8190 & t.flags) && !(8190 & r.flags))))
              return o
          } else if (131072 & r.flags) {
            if ((o = v(t, r, a))) return o
          } else if (131072 & t.flags && (o = h(t, r, !1))) return o
          if ((1032192 & t.flags || 1032192 & r.flags) && (o = S(t, r, a)))
            return (L = _), o
        }
        return (
          a &&
            (32768 & t.flags && 8190 & r.flags
              ? u(t, r)
              : t.symbol &&
                32768 & t.flags &&
                wv === t &&
                s(
                  e.Diagnostics
                    .The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead
                ),
            c(i, t, r)),
          0
        )
      }
      function p(e, t) {
        var r
        return 32768 & e.flags && 32768 & t.flags
          ? S(e, t, !1)
          : ((65536 & e.flags && 65536 & t.flags) ||
              (131072 & e.flags && 131072 & t.flags)) &&
            (r = g(e, t)) &&
            (r &= g(t, e))
            ? r
            : 0
      }
      function f(t, r, i) {
        if (_d(r, 32768) && !(512 & x(r))) {
          var o = !!(33554432 & t.flags)
          if ((n === Zh || n === $h) && (xc(wv, r) || (!o && wo(r)))) return !1
          for (var c = 0, u = Yr(t); c < u.length; c++) {
            var _ = u[c]
            if (!E_(r, _.name, o))
              return (
                i &&
                  (e.Debug.assert(!!a),
                  e.isJsxAttributes(a) || e.isJsxOpeningLikeElement(a)
                    ? s(
                        e.Diagnostics.Property_0_does_not_exist_on_type_1,
                        Ue(_),
                        He(r)
                      )
                    : ((a = _.valueDeclaration),
                      s(
                        e.Diagnostics
                          .Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1,
                        Ue(_),
                        He(r)
                      ))),
                !0
              )
          }
        }
        return !1
      }
      function g(e, t) {
        for (var r = -1, n = e.types, a = 0, i = n; a < i.length; a++) {
          var o = i[a],
            s = m(o, t, !1)
          if (!s) return 0
          r &= s
        }
        return r
      }
      function m(e, t, r) {
        var n = t.types
        if (65536 & t.flags && Ua(n, e)) return -1
        for (var a = 0, i = n; a < i.length; a++) {
          var o = i[a],
            s = d(e, o, !1)
          if (s) return s
        }
        if (r) {
          var c = y(e, t)
          d(e, c || n[n.length - 1], !0)
        }
        return 0
      }
      function y(e, t) {
        var r = Yr(e)
        if (r)
          for (var n = 0, a = r; n < a.length; n++) {
            var i = a[n]
            if (qs(t, i.name))
              for (var o = zt(i), s = 0, c = t.types; s < c.length; s++) {
                var u = c[s],
                  _ = lt(u, i.name)
                if (_ && d(o, _)) return u
              }
          }
      }
      function v(e, t, r) {
        for (var n = -1, a = t.types, i = 0, o = a; i < o.length; i++) {
          var s = o[i],
            c = d(e, s, r)
          if (!c) return 0
          n &= c
        }
        return n
      }
      function h(e, t, r) {
        var n = e.types
        if (65536 & e.flags && Ua(n, t)) return -1
        for (var a = n.length, i = 0; i < a; i++) {
          var o = d(n[i], t, r && i === a - 1)
          if (o) return o
        }
        return 0
      }
      function b(e, t, r) {
        for (var n = -1, a = e.types, i = 0, o = a; i < o.length; i++) {
          var s = o[i],
            c = d(s, t, r)
          if (!c) return 0
          n &= c
        }
        return n
      }
      function k(e, t, r) {
        var a = e.typeArguments || Ly,
          i = t.typeArguments || Ly
        if (a.length !== i.length && n === eb) return 0
        for (
          var o = a.length <= i.length ? a.length : i.length, s = -1, c = 0;
          c < o;
          c++
        ) {
          var u = d(a[c], i[c], r)
          if (!u) return 0
          s &= u
        }
        return s
      }
      function S(t, r, a) {
        if (V) return 0
        var i = n !== eb || t.id < r.id ? t.id + ',' + r.id : r.id + ',' + t.id,
          o = n.get(i)
        if (void 0 !== o) {
          if (!a || 2 !== o) return 1 === o ? -1 : 0
          n.set(i, 3)
        }
        if (j > 0) {
          for (var s = 0; s < j; s++) if (z[s].get(i)) return 1
          if (100 === j) return (V = !0), 0
        } else (B = []), (J = []), (z = []), (K = 0)
        ;(B[j] = t), (J[j] = r), (z[j] = e.createMap()), z[j].set(i, 1), j++
        var c = K
        1 & K || !Ko(t, B, j) || (K |= 1), 2 & K || !Ko(r, J, j) || (K |= 2)
        var u = 3 !== K ? D(t, r, a) : 1
        if (((K = c), j--, u)) {
          var _ = z[j],
            l = u === -1 || 0 === j ? n : z[j - 1]
          e.copyEntries(_, l)
        } else n.set(i, a ? 3 : 2)
        return u
      }
      function D(e, t, r) {
        var a,
          i = L
        if (16384 & t.flags) {
          if (32 & x(e) && Wr(e) === ui(t) && !e.declaration.questionToken) {
            var o = Hr(e),
              s = gi(t, Ur(e))
            if ((a = d(o, s, r))) return a
          }
        } else if (262144 & t.flags) {
          if (262144 & e.flags && (a = d(t.type, e.type, !1))) return a
          var c = tn(t.type)
          if (c && (a = d(e, ui(c), r))) return a
        } else if (524288 & t.flags) {
          var c = tn(t)
          if (c && (a = d(e, c, r))) return (L = i), a
        }
        if (16384 & e.flags)
          if (32 & x(t) && Wr(t) === ui(e)) {
            var s = gi(e, Ur(t)),
              o = Hr(t)
            if ((a = d(s, o, r))) return (L = i), a
          } else {
            var c = rn(e)
            if (c || !(16777216 & t.flags)) {
              ;(!c || 1 & c.flags) && (c = Sv), (c = Tr(c, e))
              var u = r && c !== Sv
              if ((a = d(c, t, u))) return (L = i), a
            }
          }
        else if (524288 & e.flags) {
          var c = tn(e)
          if (c) {
            if ((a = d(c, t, r))) return (L = i), a
          } else if (
            524288 & t.flags &&
            e.indexType === t.indexType &&
            (a = d(e.objectType, t.objectType, r))
          )
            return a
        } else {
          if (4 & x(e) && 4 & x(t) && e.target === t.target && (a = k(e, t, r)))
            return a
          var _ = !!(8190 & e.flags)
          if ((n !== eb && (e = _n(e)), 163840 & e.flags && 32768 & t.flags)) {
            var l = r && L === i && !_
            if (
              (Xr(e) || Xr(t)
                ? (a = T(e, t, l))
                : ((a = E(e, t, l)),
                  a &&
                    ((a &= A(e, t, 0, l)),
                    a &&
                      ((a &= A(e, t, 1, l)),
                      a &&
                        ((a &= I(e, t, 0, _, l)),
                        a && (a &= I(e, t, 1, _, l)))))),
              a)
            )
              return (L = i), a
          }
        }
        return 0
      }
      function T(e, t, r) {
        if (Xr(t)) {
          if (Xr(e)) {
            var a = !!e.declaration.readonlyToken,
              i = !!e.declaration.questionToken,
              o = !!t.declaration.readonlyToken,
              s = !!t.declaration.questionToken,
              c = n === eb ? a === o && i === s : n === $h || !i || s
            if (c) {
              var u
              if ((u = d(Wr(t), Wr(e), r))) {
                var _ = Ki([Ur(e)], [Ur(t)])
                return u & d(ao(Hr(e), _), Hr(t), r)
              }
            }
          } else if (t.declaration.questionToken && wo(e)) return -1
        } else if (n !== eb) {
          var l = Qr(t)
          if (Ao(l) || (l.stringIndexInfo && 1 & l.stringIndexInfo.type.flags))
            return -1
        }
        return 0
      }
      function E(t, r, a) {
        if (n === eb) return N(t, r)
        for (
          var i = -1, o = Yr(r), c = n === Yh && !(128 & x(t)), u = 0, _ = o;
          u < _.length;
          u++
        ) {
          var l = _[u],
            p = fn(t, l.name)
          if (p !== l)
            if (p) {
              if (!(16777216 & l.flags)) {
                var f = P_(p),
                  g = P_(l)
                if (8 & f || 8 & g) {
                  if (256 & C(p))
                    return (
                      a &&
                        s(
                          e.Diagnostics
                            .Property_0_has_conflicting_declarations_and_is_inaccessible_in_type_1,
                          Ue(p),
                          He(t)
                        ),
                      0
                    )
                  if (p.valueDeclaration !== l.valueDeclaration)
                    return (
                      a &&
                        (8 & f && 8 & g
                          ? s(
                              e.Diagnostics
                                .Types_have_separate_declarations_of_a_private_property_0,
                              Ue(l)
                            )
                          : s(
                              e.Diagnostics
                                .Property_0_is_private_in_type_1_but_not_in_type_2,
                              Ue(l),
                              He(8 & f ? t : r),
                              He(8 & f ? r : t)
                            )),
                      0
                    )
                } else if (16 & g) {
                  if (!Bo(p, l))
                    return (
                      a &&
                        s(
                          e.Diagnostics
                            .Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2,
                          Ue(l),
                          He(Mo(p) || t),
                          He(Mo(l) || r)
                        ),
                      0
                    )
                } else if (16 & f)
                  return (
                    a &&
                      s(
                        e.Diagnostics
                          .Property_0_is_protected_in_type_1_but_public_in_type_2,
                        Ue(l),
                        He(t),
                        He(r)
                      ),
                    0
                  )
                var m = d(zt(p), zt(l), a)
                if (!m)
                  return (
                    a &&
                      s(
                        e.Diagnostics.Types_of_property_0_are_incompatible,
                        Ue(l)
                      ),
                    0
                  )
                if (
                  ((i &= m),
                  n !== $h && 67108864 & p.flags && !(67108864 & l.flags))
                )
                  return (
                    a &&
                      s(
                        e.Diagnostics
                          .Property_0_is_optional_in_type_1_but_required_in_type_2,
                        Ue(l),
                        He(t),
                        He(r)
                      ),
                    0
                  )
              }
            } else if (!(67108864 & l.flags) || c)
              return (
                a &&
                  s(
                    e.Diagnostics.Property_0_is_missing_in_type_1,
                    Ue(l),
                    He(t)
                  ),
                0
              )
        }
        return i
      }
      function N(e, t) {
        if (!(32768 & e.flags && 32768 & t.flags)) return 0
        var r = Yr(e),
          n = Yr(t)
        if (r.length !== n.length) return 0
        for (var a = -1, i = 0, o = r; i < o.length; i++) {
          var s = o[i],
            c = Zr(t, s.name)
          if (!c) return 0
          var u = Vo(s, c, d)
          if (!u) return 0
          a &= u
        }
        return a
      }
      function A(t, r, a, i) {
        if (n === eb) return P(t, r, a)
        if (r === Nv || t === Nv) return -1
        var o = mn(t, a),
          c = mn(r, a)
        if (1 === a && o.length && c.length) {
          if (zo(t) && !zo(r))
            return (
              i &&
                s(
                  e.Diagnostics
                    .Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type
                ),
              0
            )
          if (!M(o[0], c[0], i)) return 0
        }
        var u = -1,
          _ = L
        if (64 & x(t) && 64 & x(r) && t.symbol === r.symbol)
          for (var l = 0; l < c.length; l++) {
            var d = w(o[l], c[l], i)
            if (!d) return 0
            u &= d
          }
        else
          e: for (var p = 0, f = c; p < f.length; p++) {
            for (var g = f[p], m = i, y = 0, v = o; y < v.length; y++) {
              var h = v[y],
                d = w(h, g, m)
              if (d) {
                ;(u &= d), (L = _)
                continue e
              }
              m = !1
            }
            return (
              m &&
                s(
                  e.Diagnostics.Type_0_provides_no_match_for_the_signature_1,
                  He(t),
                  We(g, void 0, void 0, a)
                ),
              0
            )
          }
        return u
      }
      function w(e, t, r) {
        return So(e, t, !1, r, s, d)
      }
      function P(e, t, r) {
        var n = mn(e, r),
          a = mn(t, r)
        if (n.length !== a.length) return 0
        for (var i = -1, o = 0; o < n.length; o++) {
          var s = Uo(n[o], a[o], !1, !1, !1, d)
          if (!s) return 0
          i &= s
        }
        return i
      }
      function O(t, r, n, a) {
        for (var i = -1, o = 0, c = Yr(t); o < c.length; o++) {
          var u = c[o]
          if (0 === n || Xu(u.name)) {
            var _ = d(zt(u), r, a)
            if (!_)
              return (
                a &&
                  s(
                    e.Diagnostics
                      .Property_0_is_incompatible_with_index_signature,
                    Ue(u)
                  ),
                0
              )
            i &= _
          }
        }
        return i
      }
      function F(t, r, n) {
        var a = d(t.type, r.type, n)
        return !a && n && s(e.Diagnostics.Index_signatures_are_incompatible), a
      }
      function I(t, r, a, i, o) {
        if (n === eb) return R(t, r, a)
        var c = hn(r, a)
        if (!c || (1 & c.type.flags && !i)) return -1
        var u = hn(t, a) || (1 === a && hn(t, 0))
        if (u) return F(u, c, o)
        if (ls(t)) {
          var _ = -1
          if (0 === a) {
            var l = hn(t, 1)
            l && (_ = F(l, c, o))
          }
          return _ && (_ &= O(t, c.type, a, o)), _
        }
        return (
          o && s(e.Diagnostics.Index_signature_is_missing_in_type_0, He(t)), 0
        )
      }
      function R(e, t, r) {
        var n = hn(t, r),
          a = hn(e, r)
        return a || n
          ? a && n && a.isReadonly === n.isReadonly
            ? d(a.type, n.type)
            : 0
          : -1
      }
      function M(t, r, n) {
        if (!t.declaration || !r.declaration) return !0
        var a = 24 & e.getModifierFlags(t.declaration),
          i = 24 & e.getModifierFlags(r.declaration)
        return (
          8 === i ||
          ((16 === i && 8 !== a) ||
            ((16 !== i && !a) ||
              (n &&
                s(
                  e.Diagnostics
                    .Cannot_assign_a_0_constructor_type_to_a_1_constructor_type,
                  Ye(a),
                  Ye(i)
                ),
              !1)))
        )
      }
      var L,
        B,
        J,
        z,
        K,
        j = 0,
        V = !1
      e.Debug.assert(n !== eb || !a, 'no error reporting in identity checking')
      var q = d(t, r, !!a, i)
      return (
        V
          ? _(
              a,
              e.Diagnostics.Excessive_stack_depth_comparing_types_0_and_1,
              He(t),
              He(r)
            )
          : L &&
            (o && (L = e.concatenateDiagnosticMessageChains(o, L)),
            Mh.add(e.createDiagnosticForNodeFromMessageChain(a, L))),
        0 !== q
      )
    }
    function Ro(e, t) {
      if (!(6 & C(e))) return t(e)
      for (var r = 0, n = e.containingType.types; r < n.length; r++) {
        var a = n[r],
          i = fn(a, e.name),
          o = i && Ro(i, t)
        if (o) return o
      }
    }
    function Mo(e) {
      return e.parent && 32 & e.parent.flags ? mr(be(e)) : void 0
    }
    function Lo(e, t) {
      return Ro(e, function(e) {
        var r = Mo(e)
        return !!r && Vt(r, t)
      })
    }
    function Bo(e, t) {
      return !Ro(t, function(t) {
        return !!(16 & P_(t)) && !Lo(e, Mo(t))
      })
    }
    function Jo(e, t) {
      return Ro(t, function(t) {
        return !!(16 & P_(t)) && !Vt(e, Mo(t))
      })
        ? void 0
        : e
    }
    function zo(t) {
      if (16 & x(t)) {
        var r = t.symbol
        if (r && 32 & r.flags) {
          var n = Vf(r)
          if (n && 128 & e.getModifierFlags(n)) return !0
        }
      }
      return !1
    }
    function Ko(e, t, r) {
      if (r >= 5 && 32768 & e.flags) {
        var n = e.symbol
        if (n)
          for (var a = 0, i = 0; i < r; i++) {
            var o = t[i]
            if (32768 & o.flags && o.symbol === n && (a++, a >= 5)) return !0
          }
      }
      return !1
    }
    function jo(e, t) {
      return 0 !== Vo(e, t, po)
    }
    function Vo(e, t, r) {
      if (e === t) return -1
      var n = 24 & P_(e),
        a = 24 & P_(t)
      if (n !== a) return 0
      if (n) {
        if (jf(e) !== jf(t)) return 0
      } else if ((67108864 & e.flags) !== (67108864 & t.flags)) return 0
      return ed(e) !== ed(t) ? 0 : r(zt(e), zt(t))
    }
    function qo(e, t, r) {
      if (
        e.parameters.length === t.parameters.length &&
        e.minArgumentCount === t.minArgumentCount &&
        e.hasRestParameter === t.hasRestParameter
      )
        return !0
      var n = e.hasRestParameter ? 1 : 0,
        a = t.hasRestParameter ? 1 : 0
      return !!(
        r &&
        e.minArgumentCount <= t.minArgumentCount &&
        (n > a || (n === a && e.parameters.length >= t.parameters.length))
      )
    }
    function Uo(t, r, n, a, i, o) {
      if (t === r) return -1
      if (!qo(t, r, n)) return 0
      if (e.length(t.typeParameters) !== e.length(r.typeParameters)) return 0
      ;(t = Kn(t)), (r = Kn(r))
      var s = -1
      if (!a) {
        var c = Mn(t)
        if (c) {
          var u = Mn(r)
          if (u) {
            var _ = o(c, u)
            if (!_) return 0
            s &= _
          }
        }
      }
      for (var l = r.parameters.length, d = 0; d < l; d++) {
        var p = Wo(t, d) ? Bn(t) : Ml(t.parameters[d]),
          f = Wo(r, d) ? Bn(r) : Ml(r.parameters[d]),
          _ = o(p, f)
        if (!_) return 0
        s &= _
      }
      return i || (s &= o(Ln(t), Ln(r))), s
    }
    function Wo(e, t) {
      return e.hasRestParameter && t >= e.parameters.length - 1
    }
    function Ho(e, t) {
      for (var r = 0, n = t; r < n.length; r++) {
        var a = n[r]
        if (e !== a && !go(a, e)) return !1
      }
      return !0
    }
    function Go(e) {
      for (var t, r = 0, n = e; r < n.length; r++) {
        var a = n[r],
          i = ns(a)
        if ((t || (t = i), i === a || i !== t)) return !1
      }
      return !0
    }
    function Xo(t) {
      return Go(t)
        ? $a(t)
        : e.forEach(t, function(e) {
            return Ho(e, t) ? e : void 0
          })
    }
    function Qo(t) {
      if (!qy) return Xo(t)
      var r = e.filter(t, function(e) {
        return !(6144 & e.flags)
      })
      if (!r.length) return $a(t, !0)
      var n = Xo(r)
      return n && cs(n, 6144 & os(t))
    }
    function Yo(t, r, n) {
      for (var a, i, o = 0, s = 0; s < t.length; s++) {
        for (var c = 0, u = void 0, _ = 0; _ < t.length; _++)
          go(t[_], t[s]) ? c++ : u || (u = t[_])
        if (
          (e.Debug.assert(
            !!u,
            'If there is no common supertype, each type should have a downfallType'
          ),
          c > o && ((a = t[s]), (i = u), (o = c)),
          o === t.length - 1)
        )
          break
      }
      bo(
        i,
        a,
        r,
        e.Diagnostics
          .Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0,
        n
      )
    }
    function Zo(e) {
      return 4 & x(e) && e.target === Ov
    }
    function $o(e) {
      return (
        (4 & x(e) && (e.target === Ov || e.target === Fv)) ||
        (!(6144 & e.flags) && mo(e, Kv))
      )
    }
    function es(e) {
      return !!fn(e, '0')
    }
    function ts(e) {
      return 0 !== (6624 & e.flags)
    }
    function rs(t) {
      return (
        !!(8 & t.flags) ||
        (65536 & t.flags
          ? !!(16 & t.flags) ||
            !e.forEach(t.types, function(e) {
              return !ts(e)
            })
          : ts(t))
      )
    }
    function ns(t) {
      return 32 & t.flags
        ? fv
        : 64 & t.flags
          ? gv
          : 128 & t.flags
            ? vv
            : 256 & t.flags
              ? t.baseType
              : 65536 & t.flags && !(16 & t.flags)
                ? $a(e.sameMap(t.types, ns))
                : t
    }
    function as(t) {
      return 32 & t.flags && 1048576 & t.flags
        ? fv
        : 64 & t.flags && 1048576 & t.flags
          ? gv
          : 128 & t.flags
            ? vv
            : 256 & t.flags
              ? t.baseType
              : 65536 & t.flags && !(16 & t.flags)
                ? $a(e.sameMap(t.types, as))
                : t
    }
    function is(e) {
      return !!(4 & x(e) && 8 & e.target.objectFlags)
    }
    function os(e) {
      for (var t = 0, r = 0, n = e; r < n.length; r++) {
        var a = n[r]
        t |= ss(a)
      }
      return t
    }
    function ss(e) {
      return 65536 & e.flags
        ? os(e.types)
        : 32 & e.flags
          ? '' === e.text
            ? 32
            : 0
          : 64 & e.flags
            ? '0' === e.text
              ? 64
              : 0
            : 128 & e.flags
              ? e === yv
                ? 128
                : 0
              : 7406 & e.flags
    }
    function cs(e, t) {
      if ((ss(e) & t) === t) return e
      var r = [e]
      return (
        262178 & t && r.push(hh),
        340 & t && r.push(bh),
        136 & t && r.push(yv),
        1024 & t && r.push(bv),
        2048 & t && r.push(_v),
        4096 & t && r.push(dv),
        $a(r)
      )
    }
    function us(e) {
      return 7392 & ss(e)
        ? Dc(e, function(e) {
            return !(7392 & ss(e))
          })
        : e
    }
    function _s(e) {
      return qy ? $s(e, 524288) : e
    }
    function ls(e) {
      return (
        e.symbol &&
        0 !== (6144 & e.symbol.flags) &&
        0 === mn(e, 0).length &&
        0 === mn(e, 1).length
      )
    }
    function ds(e, t) {
      var r = l(e.flags, e.name)
      return (
        (r.declarations = e.declarations),
        (r.parent = e.parent),
        (r.type = t),
        (r.target = e),
        e.valueDeclaration && (r.valueDeclaration = e.valueDeclaration),
        r
      )
    }
    function ps(t, r) {
      for (var n = e.createMap(), a = 0, i = Yr(t); a < i.length; a++) {
        var o = i[a],
          s = zt(o),
          c = r(s)
        n.set(o.name, c === s ? o : ds(o, c))
      }
      return n
    }
    function fs(e) {
      if (!(128 & x(e) && 1048576 & e.flags)) return e
      var t = e.regularType
      if (t) return t
      var r = e,
        n = ps(e, fs),
        a = Oe(
          r.symbol,
          n,
          r.callSignatures,
          r.constructSignatures,
          r.stringIndexInfo,
          r.numberIndexInfo
        )
      return (
        (a.flags = r.flags & -1048577),
        (a.objectFlags |= 128),
        (e.regularType = a),
        a
      )
    }
    function gs(e) {
      var t = zt(e),
        r = vs(t)
      return r === t ? e : ds(e, r)
    }
    function ms(t) {
      for (var r = e.createMap(), n = 0, a = Yr(t); n < a.length; n++) {
        var i = a[n]
        r.set(i.name, 4 & i.flags ? gs(i) : i)
      }
      var o = hn(t, 0),
        s = hn(t, 1)
      return Oe(
        t.symbol,
        r,
        Ly,
        Ly,
        o && Un(vs(o.type), o.isReadonly),
        s && Un(vs(s.type), s.isReadonly)
      )
    }
    function ys(e) {
      return 6144 & e.flags ? e : vs(e)
    }
    function vs(t) {
      if (6291456 & t.flags) {
        if (6144 & t.flags) return sv
        if (128 & x(t)) return ms(t)
        if (65536 & t.flags) return $a(e.sameMap(t.types, ys))
        if (Zo(t) || is(t)) return Zn(t.target, e.sameMap(t.typeArguments, vs))
      }
      return t
    }
    function hs(t) {
      var r = !1
      if (65536 & t.flags)
        for (var n = 0, a = t.types; n < a.length; n++) {
          var i = a[n]
          hs(i) && (r = !0)
        }
      if (Zo(t) || is(t))
        for (var o = 0, s = t.typeArguments; o < s.length; o++) {
          var i = s[o]
          hs(i) && (r = !0)
        }
      if (128 & x(t))
        for (var c = 0, u = Yr(t); c < u.length; c++) {
          var l = u[c],
            i = zt(l)
          2097152 & i.flags &&
            (hs(i) ||
              _(
                l.valueDeclaration,
                e.Diagnostics
                  .Object_literal_s_property_0_implicitly_has_an_1_type,
                l.name,
                He(vs(i))
              ),
            (r = !0))
        }
      return r
    }
    function bs(t, r) {
      var n,
        a = He(vs(r))
      switch (t.kind) {
        case 149:
        case 148:
          n = e.Diagnostics.Member_0_implicitly_has_an_1_type
          break
        case 146:
          n = t.dotDotDotToken
            ? e.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type
            : e.Diagnostics.Parameter_0_implicitly_has_an_1_type
          break
        case 176:
          n = e.Diagnostics.Binding_element_0_implicitly_has_an_1_type
          break
        case 228:
        case 151:
        case 150:
        case 153:
        case 154:
        case 186:
        case 187:
          if (!t.name)
            return void _(
              t,
              e.Diagnostics
                .Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type,
              a
            )
          n =
            e.Diagnostics
              ._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type
          break
        default:
          n = e.Diagnostics.Variable_0_implicitly_has_an_1_type
      }
      _(t, n, e.declarationNameToString(e.getNameOfDeclaration(t)), a)
    }
    function ks(e, t) {
      i && Uy && 2097152 & t.flags && (hs(t) || bs(e, t))
    }
    function xs(e, t, r) {
      var n,
        a = e.parameters.length,
        i = t.parameters.length
      n =
        e.hasRestParameter && t.hasRestParameter
          ? Math.max(a, i)
          : e.hasRestParameter
            ? i
            : t.hasRestParameter
              ? a
              : Math.min(a, i)
      for (var o = 0; o < n; o++) r(Ll(e, o), Ll(t, o))
    }
    function Cs(t, r, n) {
      var a = e.map(t.typeParameters, Ss)
      return {
        signature: t,
        inferUnionTypes: r,
        inferences: a,
        inferredTypes: new Array(t.typeParameters.length),
        useAnyForNoInferences: n
      }
    }
    function Ss() {
      return { primary: void 0, secondary: void 0, topLevel: !0, isFixed: !1 }
    }
    function Ds(t) {
      var r = x(t)
      return !!(
        540672 & t.flags ||
        (4 & r && e.forEach(t.typeArguments, Ds)) ||
        (16 & r && t.symbol && 10272 & t.symbol.flags) ||
        32 & r ||
        (196608 & t.flags && Ts(t))
      )
    }
    function Ts(t) {
      return (
        void 0 === t.couldContainTypeVariables &&
          (t.couldContainTypeVariables = e.forEach(t.types, Ds)),
        t.couldContainTypeVariables
      )
    }
    function Es(t, r) {
      return (
        t === r ||
        (196608 & t.flags &&
          e.forEach(t.types, function(e) {
            return Es(e, r)
          }))
      )
    }
    function Ns(e, t) {
      function r(e) {
        ;(s.primary = void 0), (s.secondary = void 0), ws(o, c, e, u)
        var t = s.primary || s.secondary
        return t && $a(t, !0)
      }
      var n = en(e),
        a = hn(e, 0)
      if (0 !== n.length || a) {
        for (
          var i = gi(Wr(t).type, Ur(t)),
            o = [i],
            s = Ss(),
            c = [s],
            u = Hr(t),
            _ = !t.declaration.readonlyToken,
            d = t.declaration.questionToken ? 0 : 67108864,
            p = xr(n),
            f = 0,
            g = n;
          f < g.length;
          f++
        ) {
          var m = g[f],
            y = r(zt(m))
          if (!y) return
          var v = l(4 | (m.flags & d), m.name)
          ;(v.checkFlags = _ && ed(m) ? 8 : 0),
            (v.declarations = m.declarations),
            (v.type = y),
            p.set(m.name, v)
        }
        if (a) {
          var h = r(a.type)
          if (!h) return
          a = Un(h, _ && a.isReadonly)
        }
        return Oe(void 0, p, Ly, Ly, a, void 0)
      }
    }
    function As(e, t, r) {
      ws(e.signature.typeParameters, e.inferences, t, r)
    }
    function ws(t, r, n, a) {
      function i(e, t) {
        for (var r = 0; r < g; r++) if (e === p[r] && t === f[r]) return !0
        return !1
      }
      function o(n, c) {
        if (Ds(c))
          if (
            n.aliasSymbol &&
            n.aliasTypeArguments &&
            n.aliasSymbol === c.aliasSymbol
          )
            for (
              var u = n.aliasTypeArguments, _ = c.aliasTypeArguments, l = 0;
              l < u.length;
              l++
            )
              o(u[l], _[l])
          else {
            if (
              (65536 & n.flags &&
                65536 & c.flags &&
                !(16 & n.flags && 16 & c.flags)) ||
              (131072 & n.flags && 131072 & c.flags)
            ) {
              if (n === c) {
                for (var d = 0, v = n.types; d < v.length; d++) {
                  var h = v[d]
                  o(h, h)
                }
                return
              }
              for (var b = void 0, k = 0, C = n.types; k < C.length; k++) {
                var h = C[k]
                if (Ps(h, c.types)) (b || (b = [])).push(h), o(h, h)
                else if (96 & h.flags) {
                  var S = ns(h)
                  Ps(S, c.types) && (b || (b = [])).push(h, S)
                }
              }
              b && ((n = Os(n, b)), (c = Os(c, b)))
            }
            if (540672 & c.flags) {
              if (8388608 & n.flags) return
              for (var l = 0; l < t.length; l++)
                if (c === t[l]) {
                  var D = r[l]
                  if (!D.isFixed) {
                    var T = m
                      ? D.secondary || (D.secondary = [])
                      : D.primary || (D.primary = [])
                    e.contains(T, n) || T.push(n),
                      16384 & c.flags && !Es(a, c) && (D.topLevel = !1)
                  }
                  return
                }
            } else if (4 & x(n) && 4 & x(c) && n.target === c.target)
              for (
                var u = n.typeArguments || Ly,
                  _ = c.typeArguments || Ly,
                  E = u.length < _.length ? u.length : _.length,
                  l = 0;
                l < E;
                l++
              )
                o(u[l], _[l])
            else if (196608 & c.flags) {
              for (
                var _ = c.types, N = 0, A = void 0, w = 0, P = _;
                w < P.length;
                w++
              ) {
                var h = P[w]
                540672 & h.flags && e.contains(t, h) ? ((A = h), N++) : o(n, h)
              }
              1 === N && (m++, o(n, A), m--)
            } else if (196608 & n.flags)
              for (var u = n.types, O = 0, F = u; O < F.length; O++) {
                var I = F[O]
                o(I, c)
              }
            else if (((n = _n(n)), 32768 & n.flags)) {
              if (i(n, c)) return
              if (Ko(n, p, g) && Ko(c, f, g)) return
              var R = n.id + ',' + c.id
              if (y.get(R)) return
              y.set(R, !0),
                0 === g && ((p = []), (f = [])),
                (p[g] = n),
                (f[g] = c),
                g++,
                s(n, c),
                g--
            }
          }
      }
      function s(n, a) {
        if (32 & x(a)) {
          var i = Wr(a)
          if (262144 & i.flags) {
            var s = e.indexOf(t, i.type)
            if (s >= 0 && !r[s].isFixed) {
              var _ = Ns(n, a)
              _ && (m++, o(_, t[s]), m--)
            }
            return
          }
          if (16384 & i.flags)
            return o(ui(n), i), void o($a(e.map(en(n), zt)), Hr(a))
        }
        c(n, a), u(n, a, 0), u(n, a, 1), d(n, a)
      }
      function c(e, t) {
        for (var r = Yr(t), n = 0, a = r; n < a.length; n++) {
          var i = a[n],
            s = Zr(e, i.name)
          s && o(zt(s), zt(i))
        }
      }
      function u(e, t, r) {
        for (
          var n = mn(e, r),
            a = mn(t, r),
            i = n.length,
            o = a.length,
            s = i < o ? i : o,
            c = 0;
          c < s;
          c++
        )
          l(Kn(n[i - s + c]), Kn(a[o - s + c]))
      }
      function _(e, t) {
        return o(e, t)
      }
      function l(e, t) {
        xs(e, t, _),
          e.typePredicate &&
          t.typePredicate &&
          e.typePredicate.kind === t.typePredicate.kind
            ? o(e.typePredicate.type, t.typePredicate.type)
            : o(Ln(e), Ln(t))
      }
      function d(e, t) {
        var r = bn(t, 0)
        if (r) {
          var n = bn(e, 0) || kn(e, 0)
          n && o(n, r)
        }
        var a = bn(t, 1)
        if (a) {
          var n = bn(e, 1) || bn(e, 0) || kn(e, 1)
          n && o(n, a)
        }
      }
      var p,
        f,
        g = 0,
        m = 0,
        y = e.createMap()
      o(n, a)
    }
    function Ps(e, t) {
      for (var r = 0, n = t; r < n.length; r++) {
        var a = n[r]
        if (lo(a, e)) return !0
      }
      return !1
    }
    function Os(e, t) {
      for (var r = [], n = 0, a = e.types; n < a.length; n++) {
        var i = a[n]
        Ps(i, t) || r.push(i)
      }
      return 65536 & e.flags ? $a(r) : ai(r)
    }
    function Fs(e, t) {
      var r = e.inferences[t]
      return r.primary || r.secondary || Ly
    }
    function Is(e) {
      var t = rn(e)
      return t && _d(t, 270334)
    }
    function Rs(t, r) {
      var n,
        a = t.inferredTypes[r]
      if (!a) {
        var i = Fs(t, r)
        if (i.length) {
          var o = t.signature,
            s =
              t.inferences[r].topLevel &&
              !Is(o.typeParameters[r]) &&
              (t.inferences[r].isFixed || !Es(Ln(o), o.typeParameters[r])),
            c = s ? e.sameMap(i, as) : i,
            u = t.inferUnionTypes ? $a(c, !0) : Qo(c)
          ;(a = u ? vs(u) : uv), (n = !!u)
        } else {
          var _ = un(t.signature.typeParameters[r])
          ;(a = _
            ? ao(_, Wi(Vi(t.signature.typeParameters, r), qi(t)))
            : t.useAnyForNoInferences
              ? sv
              : Sv),
            (n = !0)
        }
        if (((t.inferredTypes[r] = a), n)) {
          var l = rn(t.signature.typeParameters[r])
          if (l) {
            var d = ao(l, qi(t))
            mo(a, Tr(d, a)) || (t.inferredTypes[r] = a = d)
          }
        } else
          (void 0 === t.failedTypeParameterIndex ||
            t.failedTypeParameterIndex > r) &&
            (t.failedTypeParameterIndex = r)
      }
      return a
    }
    function Ms(e) {
      for (var t = 0; t < e.inferredTypes.length; t++) Rs(e, t)
      return e.inferredTypes
    }
    function Ls(t) {
      var r = k(t)
      return (
        r.resolvedSymbol ||
          (r.resolvedSymbol =
            (!e.nodeIsMissing(t) &&
              N(t, t.text, 1156031, e.Diagnostics.Cannot_find_name_0, t)) ||
            iv),
        r.resolvedSymbol
      )
    }
    function Bs(t) {
      return !!e.findAncestor(t, function(e) {
        return 162 === e.kind || (71 !== e.kind && 143 !== e.kind && 'quit')
      })
    }
    function Js(e) {
      if (71 === e.kind) {
        var t = Ls(e)
        return t !== iv ? '' + r(t) : void 0
      }
      if (99 === e.kind) return '0'
      if (179 === e.kind) {
        var n = Js(e.expression)
        return n && n + '.' + e.name.text
      }
    }
    function zs(e, t) {
      switch (e.kind) {
        case 71:
          return (
            (71 === t.kind && Ls(e) === Ls(t)) ||
            ((226 === t.kind || 176 === t.kind) && ke(Ls(e)) === he(t))
          )
        case 99:
          return 99 === t.kind
        case 97:
          return 97 === t.kind
        case 179:
          return (
            179 === t.kind &&
            e.name.text === t.name.text &&
            zs(e.expression, t.expression)
          )
      }
      return !1
    }
    function Ks(e, t) {
      for (; 179 === e.kind; ) if (((e = e.expression), zs(e, t))) return !0
      return !1
    }
    function js(e, t) {
      return (
        179 === t.kind &&
        Ks(e, t.expression) &&
        qs(Vs(t.expression), t.name.text)
      )
    }
    function Vs(e) {
      if (71 === e.kind) return zt(Ls(e))
      if (179 === e.kind) {
        var t = Vs(e.expression)
        return t && lt(t, e.name.text)
      }
    }
    function qs(e, t) {
      if (e && 65536 & e.flags) {
        var r = dn(e, t)
        if (r && 2 & C(r))
          return (
            void 0 === r.isDiscriminantProperty &&
              (r.isDiscriminantProperty = 32 & r.checkFlags && rs(zt(r))),
            r.isDiscriminantProperty
          )
      }
      return !1
    }
    function Us(e, t) {
      return zs(e, t) || Ks(e, t)
    }
    function Ws(e, t) {
      if (e.arguments)
        for (var r = 0, n = e.arguments; r < n.length; r++) {
          var a = n[r]
          if (Us(t, a)) return !0
        }
      return !(179 !== e.expression.kind || !Us(t, e.expression.expression))
    }
    function Hs(e) {
      return e.id || ((e.id = c), c++), e.id
    }
    function Gs(e, t) {
      if (!(65536 & e.flags)) return mo(e, t)
      for (var r = 0, n = e.types; r < n.length; r++) {
        var a = n[r]
        if (mo(a, t)) return !0
      }
      return !1
    }
    function Xs(e, t) {
      if (e !== t) {
        if (8192 & t.flags) return t
        var r = Dc(e, function(e) {
          return Gs(t, e)
        })
        if (!(8192 & r.flags)) return r
      }
      return e
    }
    function Qs(e) {
      for (var t = 0, r = 0, n = e; r < n.length; r++) {
        var a = n[r]
        t |= Zs(a)
      }
      return t
    }
    function Ys(e) {
      var t = Qr(e)
      return !!(
        t.callSignatures.length ||
        t.constructSignatures.length ||
        (t.members.get('bind') && go(e, Pv))
      )
    }
    function Zs(e) {
      var t = e.flags
      if (2 & t) return qy ? 4079361 : 4194049
      if (32 & t)
        return qy
          ? '' === e.text
            ? 3030785
            : 1982209
          : '' === e.text
            ? 3145473
            : 4194049
      if (20 & t) return qy ? 4079234 : 4193922
      if (320 & t) {
        var r = '0' === e.text
        return qy ? (r ? 3030658 : 1982082) : r ? 3145346 : 4193922
      }
      return 8 & t
        ? qy
          ? 4078980
          : 4193668
        : 136 & t
          ? qy
            ? e === yv
              ? 3030404
              : 1981828
            : e === yv
              ? 3145092
              : 4193668
          : 32768 & t
            ? Ys(e)
              ? qy
                ? 6164448
                : 8376288
              : qy
                ? 6166480
                : 8378320
            : 3072 & t
              ? 2457472
              : 4096 & t
                ? 2340752
                : 512 & t
                  ? qy
                    ? 1981320
                    : 4193160
                  : 16777216 & t
                    ? qy
                      ? 6166480
                      : 8378320
                    : 540672 & t
                      ? Zs(an(e) || Sv)
                      : 196608 & t
                        ? Qs(e.types)
                        : 8388607
    }
    function $s(e, t) {
      return Dc(e, function(e) {
        return 0 !== (Zs(e) & t)
      })
    }
    function ec(e, t) {
      if (t) {
        var r = Kd(t)
        return $a([$s(e, 131072), r])
      }
      return e
    }
    function tc(t, r) {
      var n = e.getTextOfPropertyName(r)
      return lt(t, n) || (Xu(n) && bn(t, 1)) || bn(t, 0) || uv
    }
    function rc(e, t) {
      return (es(e) && lt(e, '' + t)) || vf(e, void 0, !1, !1) || uv
    }
    function nc(e) {
      return Ba(vf(e, void 0, !1, !1) || uv)
    }
    function ac(e) {
      var t =
        (177 === e.parent.kind && ic(e.parent)) ||
        (261 === e.parent.kind && ic(e.parent.parent))
      return t ? ec(_c(e), e.right) : Kd(e.right)
    }
    function ic(e) {
      return (
        (194 === e.parent.kind && e.parent.left === e) ||
        (216 === e.parent.kind && e.parent.initializer === e)
      )
    }
    function oc(t, r) {
      return rc(_c(t), e.indexOf(t.elements, r))
    }
    function sc(e) {
      return nc(_c(e.parent))
    }
    function cc(e) {
      return tc(_c(e.parent), e.name)
    }
    function uc(e) {
      return ec(cc(e), e.objectAssignmentInitializer)
    }
    function _c(e) {
      var t = e.parent
      switch (t.kind) {
        case 215:
          return fv
        case 216:
          return yf(t.expression, t.awaitModifier) || uv
        case 194:
          return ac(t)
        case 188:
          return _v
        case 177:
          return oc(t, e)
        case 198:
          return sc(t)
        case 261:
          return cc(t)
        case 262:
          return uc(t)
      }
      return uv
    }
    function lc(t) {
      var r = t.parent,
        n = fc(r.parent),
        a =
          174 === r.kind
            ? tc(n, t.propertyName || t.name)
            : t.dotDotDotToken
              ? nc(n)
              : rc(n, e.indexOf(r.elements, t))
      return ec(a, t.initializer)
    }
    function dc(e) {
      var t = k(e)
      return t.resolvedType || Kd(e)
    }
    function pc(e) {
      return e.initializer
        ? dc(e.initializer)
        : 215 === e.parent.parent.kind
          ? fv
          : 216 === e.parent.parent.kind
            ? yf(e.parent.parent.expression, e.parent.parent.awaitModifier) ||
              uv
            : uv
    }
    function fc(e) {
      return 226 === e.kind ? pc(e) : lc(e)
    }
    function gc(e) {
      return 226 === e.kind || 176 === e.kind ? fc(e) : _c(e)
    }
    function mc(e) {
      return (
        (226 === e.kind && e.initializer && ht(e.initializer)) ||
        (176 !== e.kind && 194 === e.parent.kind && ht(e.parent.right))
      )
    }
    function yc(e) {
      switch (e.kind) {
        case 185:
          return yc(e.expression)
        case 194:
          switch (e.operatorToken.kind) {
            case 58:
              return yc(e.left)
            case 26:
              return yc(e.right)
          }
      }
      return e
    }
    function vc(e) {
      var t = e.parent
      return 185 === t.kind ||
        (194 === t.kind && 58 === t.operatorToken.kind && t.left === e) ||
        (194 === t.kind && 26 === t.operatorToken.kind && t.right === e)
        ? vc(t)
        : e
    }
    function hc(e) {
      if (257 === e.kind) {
        var t = Ti(Kd(e.expression))
        return ts(t) ? t : void 0
      }
      return kv
    }
    function bc(t) {
      var r = k(t)
      if (!r.switchTypes) {
        var n = e.map(t.caseBlock.clauses, hc)
        r.switchTypes = e.contains(n, void 0) ? Ly : n
      }
      return r.switchTypes
    }
    function kc(t, r) {
      return 65536 & t.flags
        ? !e.forEach(t.types, function(t) {
            return !e.contains(r, t)
          })
        : e.contains(r, t)
    }
    function xc(e, t) {
      return e === t || (65536 & t.flags && Cc(e, t))
    }
    function Cc(e, t) {
      if (65536 & e.flags) {
        for (var r = 0, n = e.types; r < n.length; r++) {
          var a = n[r]
          if (!Ua(t.types, a)) return !1
        }
        return !0
      }
      return (
        !!(256 & e.flags && 16 & t.flags && e.baseType === t) || Ua(t.types, e)
      )
    }
    function Sc(t, r) {
      return 65536 & t.flags ? e.forEach(t.types, r) : r(t)
    }
    function Dc(t, r) {
      if (65536 & t.flags) {
        var n = t.types,
          a = e.filter(n, r)
        return a === n ? t : ei(a)
      }
      return r(t) ? t : kv
    }
    function Tc(e, t) {
      if (!(65536 & e.flags)) return t(e)
      for (var r, n, a = e.types, i = 0, o = a; i < o.length; i++) {
        var s = o[i],
          c = t(s)
        c && (r ? (n ? n.push(c) : (n = [r, c])) : (r = c))
      }
      return n ? $a(n) : r
    }
    function Ec(e, t) {
      return Dc(e, function(e) {
        return 0 !== (e.flags & t)
      })
    }
    function Nc(e, t) {
      return (xc(fv, e) && _d(t, 32)) || (xc(gv, e) && _d(t, 64))
        ? Tc(e, function(e) {
            return 2 & e.flags ? Ec(t, 34) : 4 & e.flags ? Ec(t, 68) : e
          })
        : e
    }
    function Ac(e) {
      return 0 === e.flags
    }
    function wc(e) {
      return 0 === e.flags ? e.type : e
    }
    function Pc(e, t) {
      return t ? { flags: 0, type: e } : e
    }
    function Oc(e) {
      var t = Ee(256)
      return (t.elementType = e), t
    }
    function Fc(e) {
      return av[e.id] || (av[e.id] = Oc(e))
    }
    function Ic(e, t) {
      var r = ns(jd(t))
      return xc(r, e.elementType) ? e : Fc($a([e.elementType, r]))
    }
    function Rc(e) {
      return 8192 & e.flags ? zv : Ba(65536 & e.flags ? $a(e.types, !0) : e)
    }
    function Mc(e) {
      return e.finalArrayType || (e.finalArrayType = Rc(e.elementType))
    }
    function Lc(e) {
      return 256 & x(e) ? Mc(e) : e
    }
    function Bc(e) {
      return 256 & x(e) ? e.elementType : kv
    }
    function Jc(e) {
      for (var t = !1, r = 0, n = e; r < n.length; r++) {
        var a = n[r]
        if (!(8192 & a.flags)) {
          if (!(256 & x(a))) return !1
          t = !0
        }
      }
      return t
    }
    function zc(t, r) {
      return Jc(t) ? Fc($a(e.map(t, Bc))) : $a(e.sameMap(t, Lc), r)
    }
    function Kc(t) {
      var r = vc(t),
        n = r.parent,
        a =
          179 === n.kind &&
          ('length' === n.name.text ||
            (181 === n.parent.kind && e.isPushOrUnshiftIdentifier(n.name))),
        i =
          180 === n.kind &&
          n.expression === r &&
          194 === n.parent.kind &&
          58 === n.parent.operatorToken.kind &&
          n.parent.left === n &&
          !e.isAssignmentTarget(n.parent) &&
          Hu(Kd(n.argumentExpression), 2388)
      return a || i
    }
    function jc(e) {
      var t = k(e)
      return (
        void 0 === t.maybeTypePredicate && (t.maybeTypePredicate = Vc(e)),
        t.maybeTypePredicate
      )
    }
    function Vc(t) {
      if (97 !== t.expression.kind) {
        var r = R_(t.expression)
        if (r !== xv) {
          var n = _n(r)
          if (n !== uv) {
            var a = mn(n, 0)
            return !!e.forEach(a, function(e) {
              return e.typePredicate
            })
          }
        }
      }
      return !1
    }
    function qc(t, r, n, a, i) {
      function o(e) {
        for (;;) {
          if (1024 & e.flags)
            for (var i = T; i < vh; i++) if (Ph[i] === e) return Oh[i]
          var p = void 0
          if (4096 & e.flags)
            (e.locked = !0), (p = o(e.antecedent)), (e.locked = !1)
          else {
            if (2048 & e.flags) {
              e = e.antecedent
              continue
            }
            if (16 & e.flags) {
              if (((p = s(e)), !p)) {
                e = e.antecedent
                continue
              }
            } else if (96 & e.flags) p = u(e)
            else if (128 & e.flags) p = _(e)
            else if (12 & e.flags) {
              if (1 === e.antecedents.length) {
                e = e.antecedents[0]
                continue
              }
              p = 4 & e.flags ? l(e) : d(e)
            } else if (256 & e.flags) {
              if (((p = c(e)), !p)) {
                e = e.antecedent
                continue
              }
            } else if (2 & e.flags) {
              var f = e.container
              if (f && f !== a && 179 !== t.kind && 99 !== t.kind) {
                e = f.flowNode
                continue
              }
              p = n
            } else p = tf(r)
          }
          return 1024 & e.flags && ((Ph[vh] = e), (Oh[vh] = p), vh++), p
        }
      }
      function s(n) {
        var a = n.node
        if (zs(t, a)) {
          if (2 === e.getAssignmentTargetKind(a)) {
            var i = o(n.antecedent)
            return Pc(ns(wc(i)), Ac(i))
          }
          if (r === cv || r === zv) {
            if (mc(a)) return Fc(kv)
            var s = ns(gc(a))
            return mo(s, r) ? s : Jv
          }
          return 65536 & r.flags ? Xs(r, gc(a)) : r
        }
        if (Ks(t, a)) return r
      }
      function c(e) {
        var r = e.node,
          n = 181 === r.kind ? r.expression.expression : r.left.expression
        if (zs(t, yc(n))) {
          var a = o(e.antecedent),
            i = wc(a)
          if (256 & x(i)) {
            var s = i
            if (181 === r.kind)
              for (var c = 0, u = r.arguments; c < u.length; c++) {
                var _ = u[c]
                s = Ic(s, _)
              }
            else {
              var l = Kd(r.left.argumentExpression)
              Hu(l, 2388) && (s = Ic(s, r.right))
            }
            return s === i ? a : Pc(s, Ac(a))
          }
          return a
        }
      }
      function u(e) {
        var t = o(e.antecedent),
          r = wc(t)
        if (8192 & r.flags) return t
        var n = 0 !== (32 & e.flags),
          a = Lc(r),
          i = S(a, e.expression, n)
        if (i === a) return t
        var s = Ac(t),
          c = s && 8192 & i.flags ? xv : i
        return Pc(c, s)
      }
      function _(e) {
        var r = o(e.antecedent),
          n = wc(r),
          a = e.switchStatement.expression
        return (
          zs(t, a)
            ? (n = h(n, e.switchStatement, e.clauseStart, e.clauseEnd))
            : p(a) &&
              (n = f(n, a, function(t) {
                return h(t, e.switchStatement, e.clauseStart, e.clauseEnd)
              })),
          Pc(n, Ac(r))
        )
      }
      function l(t) {
        for (
          var a = [], i = !1, s = !1, c = 0, u = t.antecedents;
          c < u.length;
          c++
        ) {
          var _ = u[c]
          if (!(2048 & _.flags && _.lock.locked)) {
            var l = o(_),
              d = wc(l)
            if (d === r && r === n) return d
            e.contains(a, d) || a.push(d),
              xc(d, r) || (i = !0),
              Ac(l) && (s = !0)
          }
        }
        return Pc(zc(a, i), s)
      }
      function d(n) {
        var a = Hs(n),
          i = Eh[a] || (Eh[a] = e.createMap())
        D || (D = Js(t))
        var s = i.get(D)
        if (s) return s
        for (var c = mh; c < yh; c++)
          if (Nh[c] === n && Ah[c] === D && wh[c].length)
            return Pc(zc(wh[c], !1), !0)
        var u,
          _ = [],
          l = !1
        ;(Nh[yh] = n), (Ah[yh] = D), (wh[yh] = _)
        for (var d = 0, p = n.antecedents; d < p.length; d++) {
          var f = p[d]
          yh++
          var g = o(f)
          yh--, u || (u = g)
          var m = wc(g),
            y = i.get(D)
          if (y) return y
          if ((e.contains(_, m) || _.push(m), xc(m, r) || (l = !0), m === r))
            break
        }
        var v = zc(_, l)
        return Ac(u) ? Pc(v, !0) : (i.set(D, v), v)
      }
      function p(e) {
        return (
          179 === e.kind &&
          65536 & r.flags &&
          zs(t, e.expression) &&
          qs(r, e.name.text)
        )
      }
      function f(e, t, r) {
        var n = t.name.text,
          a = lt(e, n),
          i = a && r(a)
        return a === i
          ? e
          : Dc(e, function(e) {
              return vo(lt(e, n), i)
            })
      }
      function g(e, n, a) {
        return zs(t, n)
          ? $s(e, a ? 1048576 : 2097152)
          : p(n)
            ? f(e, n, function(e) {
                return $s(e, a ? 1048576 : 2097152)
              })
            : js(t, n)
              ? r
              : e
      }
      function m(e, n, a) {
        switch (n.operatorToken.kind) {
          case 58:
            return g(e, n.left, a)
          case 32:
          case 33:
          case 34:
          case 35:
            var i = n.operatorToken.kind,
              o = yc(n.left),
              s = yc(n.right)
            if (189 === o.kind && 9 === s.kind) return v(e, o, i, s, a)
            if (189 === s.kind && 9 === o.kind) return v(e, s, i, o, a)
            if (zs(t, o)) return y(e, i, s, a)
            if (zs(t, s)) return y(e, i, o, a)
            if (p(o))
              return f(e, o, function(e) {
                return y(e, i, s, a)
              })
            if (p(s))
              return f(e, s, function(e) {
                return y(e, i, o, a)
              })
            if (js(t, o) || js(t, s)) return r
            break
          case 93:
            return b(e, n, a)
          case 26:
            return S(e, n.right, a)
        }
        return e
      }
      function y(e, t, r, n) {
        if (1 & e.flags) return e
        ;(33 !== t && 35 !== t) || (n = !n)
        var a = Kd(r)
        if (6144 & a.flags) {
          if (!qy) return e
          var i = 32 === t || 33 === t,
            o = i
              ? n
                ? 65536
                : 524288
              : 95 === r.kind
                ? n
                  ? 32768
                  : 262144
                : n
                  ? 16384
                  : 131072
          return $s(e, o)
        }
        if (16810497 & e.flags) return e
        if (n) {
          var s = Dc(e, function(e) {
            return ho(e, a)
          })
          return 8192 & s.flags ? e : Nc(s, a)
        }
        if (ts(a)) {
          var c = Ti(a)
          return Dc(e, function(e) {
            return Ti(e) !== c
          })
        }
        return e
      }
      function v(e, n, a, i, o) {
        var s = yc(n.expression)
        if (!zs(t, s)) return Ks(t, s) ? r : e
        if (((33 !== a && 35 !== a) || (o = !o), o && !(65536 & e.flags))) {
          var c = Uh.get(i.text)
          if (c) {
            if (go(c, e)) return c
            if (540672 & e.flags) {
              var u = an(e) || sv
              if (go(c, u)) return ai([e, c])
            }
          }
        }
        var _ = o ? Vh.get(i.text) || 64 : qh.get(i.text) || 8192
        return $s(e, _)
      }
      function h(t, r, n, a) {
        var i = bc(r)
        if (!i.length) return t
        var o = i.slice(n, a),
          s = n === a || e.contains(o, kv),
          c = $a(o),
          u =
            8192 & c.flags
              ? kv
              : Nc(
                  Dc(t, function(e) {
                    return vo(c, e)
                  }),
                  c
                )
        if (!s) return u
        var _ = Dc(t, function(t) {
          return !(ts(t) && e.contains(i, Ti(t)))
        })
        return 8192 & u.flags ? _ : $a([u, _])
      }
      function b(n, a, i) {
        var o = yc(a.left)
        if (!zs(t, o)) return Ks(t, o) ? r : n
        var s = Kd(a.right)
        if (!go(s, Pv)) return n
        var c,
          u = fn(s, 'prototype')
        if (u) {
          var _ = zt(u)
          dt(_) || (c = _)
        }
        if (dt(n) && (c === wv || c === Pv)) return n
        if (!c) {
          var l = void 0
          2 & x(s)
            ? (l = Dr(s).declaredConstructSignatures)
            : 16 & x(s) && (l = mn(s, 1)),
            l &&
              l.length &&
              (c = $a(
                e.map(l, function(e) {
                  return Ln(Kn(e))
                })
              ))
        }
        return c ? k(n, c, i, yo) : n
      }
      function k(e, t, r, n) {
        if (!r)
          return Dc(e, function(e) {
            return !n(e, t)
          })
        if (65536 & e.flags) {
          var a = Dc(e, function(e) {
            return n(e, t)
          })
          if (!(8192 & a.flags)) return a
        }
        return go(t, e) ? t : mo(e, t) ? e : mo(t, e) ? t : ai([e, t])
      }
      function C(n, a, i) {
        if (!Ws(a, t) || !jc(a)) return n
        var o = El(a),
          s = o.typePredicate
        if (!s) return n
        if (dt(n) && (s.type === wv || s.type === Pv)) return n
        if (e.isIdentifierTypePredicate(s)) {
          var c = a.arguments[s.parameterIndex - (o.thisParameter ? 1 : 0)]
          if (c) {
            if (zs(t, c)) return k(n, s.type, i, go)
            if (Ks(t, c)) return r
          }
        } else {
          var u = e.skipParentheses(a.expression)
          if (180 === u.kind || 179 === u.kind) {
            var _ = u,
              l = e.skipParentheses(_.expression)
            if (zs(t, l)) return k(n, s.type, i, go)
            if (Ks(t, l)) return r
          }
        }
        return n
      }
      function S(e, t, r) {
        switch (t.kind) {
          case 71:
          case 99:
          case 97:
          case 179:
            return g(e, t, r)
          case 181:
            return C(e, t, r)
          case 185:
            return S(e, t.expression, r)
          case 194:
            return m(e, t, r)
          case 192:
            if (51 === t.operator) return S(e, t.operand, !r)
        }
        return e
      }
      void 0 === n && (n = r)
      var D
      if (!t.flowNode || (!i && !(17810431 & r.flags))) return r
      var T = vh,
        E = wc(o(t.flowNode))
      vh = T
      var N = 256 & x(E) && Kc(t) ? Jv : Lc(E)
      return 203 === t.parent.kind && 8192 & $s(N, 524288).flags ? r : N
    }
    function Uc(t, r) {
      if (
        71 === r.kind &&
        (e.isRightSideOfQualifiedNameOrPropertyAccess(r) && (r = r.parent),
        e.isPartOfExpression(r) && !e.isAssignmentTarget(r))
      ) {
        var n = Kd(r)
        if (ke(k(r).resolvedSymbol) === t) return n
      }
      return zt(t)
    }
    function Wc(t) {
      return e.findAncestor(t.parent, function(t) {
        return (
          (e.isFunctionLike(t) &&
            !e.getImmediatelyInvokedFunctionExpression(t)) ||
          234 === t.kind ||
          265 === t.kind ||
          149 === t.kind
        )
      })
    }
    function Hc(t) {
      var r = e.getRootDeclaration(t.valueDeclaration).parent,
        n = k(r)
      return (
        4194304 & n.flags || ((n.flags |= 4194304), Gc(r) || Xc(r)),
        t.isAssigned || !1
      )
    }
    function Gc(t) {
      return !!e.findAncestor(t.parent, function(t) {
        return e.isFunctionLike(t) && !!(4194304 & k(t).flags)
      })
    }
    function Xc(t) {
      if (71 === t.kind) {
        if (e.isAssignmentTarget(t)) {
          var r = Ls(t)
          r.valueDeclaration &&
            146 === e.getRootDeclaration(r.valueDeclaration).kind &&
            (r.isAssigned = !0)
        }
      } else e.forEachChild(t, Xc)
    }
    function Qc(e) {
      return 3 & e.flags && 0 !== (2 & O_(e)) && zt(e) !== zv
    }
    function Yc(e, t) {
      var r =
        qy &&
        146 === t.kind &&
        t.initializer &&
        2048 & ss(e) &&
        !(2048 & ss(Vd(t.initializer)))
      return r ? $s(e, 131072) : e
    }
    function Zc(t) {
      var r = Ls(t)
      if (r === iv) return uv
      if (r === Qy) {
        var n = e.getContainingFunction(t)
        return (
          zy < 2 &&
            (187 === n.kind
              ? _(
                  t,
                  e.Diagnostics
                    .The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_standard_function_expression
                )
              : e.hasModifier(n, 256) &&
                _(
                  t,
                  e.Diagnostics
                    .The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_using_a_standard_function_or_method
                )),
          (k(n).flags |= 8192),
          zt(r)
        )
      }
      8388608 & r.flags && !Bs(t) && !rm($(r)) && te(r)
      var a = ke(r)
      if (32 & a.flags) {
        var i = a.valueDeclaration
        if (229 === i.kind && e.nodeIsDecorated(i))
          for (var n = e.getContainingClass(t); void 0 !== n; ) {
            if (n === i && n.name !== t) {
              ;(k(i).flags |= 8388608), (k(t).flags |= 16777216)
              break
            }
            n = e.getContainingClass(n)
          }
        else if (199 === i.kind)
          for (var n = e.getThisContainer(t, !1); void 0 !== n; ) {
            if (n.parent === i) {
              149 === n.kind &&
                e.hasModifier(n, 32) &&
                ((k(i).flags |= 8388608), (k(t).flags |= 16777216))
              break
            }
            n = e.getThisContainer(n, !1)
          }
      }
      Qp(t, t), Wp(t, t), Hp(t, t), eu(t, r)
      var o = zt(a),
        s = a.valueDeclaration,
        c = e.getAssignmentTargetKind(t)
      if (c) {
        if (!(3 & a.flags))
          return (
            _(
              t,
              e.Diagnostics.Cannot_assign_to_0_because_it_is_not_a_variable,
              Ue(r)
            ),
            uv
          )
        if (ed(a))
          return (
            _(
              t,
              e.Diagnostics
                .Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property,
              Ue(r)
            ),
            uv
          )
      }
      if (!(3 & a.flags && 1 !== c && s)) return o
      for (
        var u = 146 === e.getRootDeclaration(s).kind,
          l = Wc(s),
          d = Wc(t),
          p = d !== l;
        d !== l &&
        (186 === d.kind ||
          187 === d.kind ||
          e.isObjectLiteralOrClassExpressionMethod(d)) &&
        (Qc(a) || (u && !Hc(a)));

      )
        d = Wc(d)
      var f =
          u ||
          p ||
          (o !== cv &&
            o !== zv &&
            (!qy || 0 !== (1 & o.flags) || Bs(t) || 246 === t.parent.kind)) ||
          e.isInAmbientContext(s),
        g = f
          ? u
            ? Yc(o, e.getRootDeclaration(s))
            : o
          : o === cv || o === zv
            ? _v
            : cs(o, 2048),
        m = qc(t, o, g, d, !f)
      if (o === cv || o === zv) {
        if (m === cv || m === zv)
          return (
            Uy &&
              (_(
                e.getNameOfDeclaration(s),
                e.Diagnostics
                  .Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined,
                Ue(r),
                He(m)
              ),
              _(
                t,
                e.Diagnostics.Variable_0_implicitly_has_an_1_type,
                Ue(r),
                He(m)
              )),
            tf(m)
          )
      } else if (!f && !(2048 & ss(o)) && 2048 & ss(m))
        return (
          _(t, e.Diagnostics.Variable_0_is_used_before_being_assigned, Ue(r)), o
        )
      return c ? ns(m) : m
    }
    function $c(t, r) {
      return !!e.findAncestor(t, function(t) {
        return t === r ? 'quit' : e.isFunctionLike(t)
      })
    }
    function eu(t, r) {
      if (
        !(
          zy >= 2 ||
          0 === (34 & r.flags) ||
          260 === r.valueDeclaration.parent.kind
        )
      ) {
        for (
          var n = e.getEnclosingBlockScopeContainer(r.valueDeclaration),
            a = $c(t.parent, n),
            i = n,
            o = !1;
          i && !e.nodeStartsNewLexicalEnvironment(i);

        ) {
          if (e.isIterationStatement(i, !1)) {
            o = !0
            break
          }
          i = i.parent
        }
        o &&
          (a && (k(i).flags |= 65536),
          214 === n.kind &&
            e.getAncestor(r.valueDeclaration, 227).parent === n &&
            tu(t, n) &&
            (k(r.valueDeclaration).flags |= 2097152),
          (k(r.valueDeclaration).flags |= 262144)),
          a && (k(r.valueDeclaration).flags |= 131072)
      }
    }
    function tu(t, r) {
      for (var n = t; 185 === n.parent.kind; ) n = n.parent
      var a = !1
      if (e.isAssignmentTarget(n)) a = !0
      else if (192 === n.parent.kind || 193 === n.parent.kind) {
        var i = n.parent
        a = 43 === i.operator || 44 === i.operator
      }
      return (
        !!a &&
        !!e.findAncestor(n, function(e) {
          return e === r ? 'quit' : e === r.statement
        })
      )
    }
    function ru(e, t) {
      if (((k(e).flags |= 2), 149 === t.kind || 152 === t.kind)) {
        var r = t.parent
        k(r).flags |= 4
      } else k(t).flags |= 4
    }
    function nu(t) {
      if (e.isSuperCall(t)) return t
      if (!e.isFunctionLike(t)) return e.forEachChild(t, nu)
    }
    function au(e) {
      var t = k(e)
      return (
        void 0 === t.hasSuperCall &&
          ((t.superCall = nu(e.body)), (t.hasSuperCall = !!t.superCall)),
        t.superCall
      )
    }
    function iu(e) {
      var t = he(e),
        r = mr(t),
        n = er(r)
      return n === pv
    }
    function ou(t, r, n) {
      var a = r.parent,
        i = e.getClassExtendsHeritageClauseElement(a)
      if (i && !iu(a)) {
        var o = au(r)
        ;(!o || o.end > t.pos) && _(t, n)
      }
    }
    function su(t) {
      var r = e.getThisContainer(t, !0),
        n = !1
      switch (
        (152 === r.kind &&
          ou(
            t,
            r,
            e.Diagnostics
              .super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class
          ),
        187 === r.kind && ((r = e.getThisContainer(r, !1)), (n = zy < 2)),
        r.kind)
      ) {
        case 233:
          _(
            t,
            e.Diagnostics
              .this_cannot_be_referenced_in_a_module_or_namespace_body
          )
          break
        case 232:
          _(t, e.Diagnostics.this_cannot_be_referenced_in_current_location)
          break
        case 152:
          uu(t, r) &&
            _(
              t,
              e.Diagnostics.this_cannot_be_referenced_in_constructor_arguments
            )
          break
        case 149:
        case 148:
          32 & e.getModifierFlags(r) &&
            _(
              t,
              e.Diagnostics
                .this_cannot_be_referenced_in_a_static_property_initializer
            )
          break
        case 144:
          _(
            t,
            e.Diagnostics.this_cannot_be_referenced_in_a_computed_property_name
          )
      }
      if (
        (n && ru(t, r),
        e.isFunctionLike(r) && (!hu(t) || e.getThisParameter(r)))
      ) {
        if (
          186 === r.kind &&
          194 === r.parent.kind &&
          3 === e.getSpecialPropertyAssignmentKind(r.parent)
        ) {
          var a = r.parent.left.expression.expression,
            i = Vd(a).symbol
          if (i && i.members && 16 & i.flags) return Al(i)
        }
        var o = Ot(r) || fu(r)
        if (o) return o
      }
      if (e.isClassLike(r.parent)) {
        var s = he(r.parent),
          c = e.hasModifier(r, 32) ? zt(s) : mr(s).thisType
        return qc(t, c)
      }
      if (e.isInJavaScriptFile(t)) {
        var c = cu(r)
        if (c && c !== uv) return c
      }
      return (
        Wy &&
          _(
            t,
            e.Diagnostics
              .this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation
          ),
        sv
      )
    }
    function cu(t) {
      var r = e.getJSDocType(t)
      if (r && 279 === r.kind) {
        var n = r
        if (n.parameters.length > 0 && 282 === n.parameters[0].type.kind)
          return Fi(n.parameters[0].type)
      }
    }
    function uu(t, r) {
      return !!e.findAncestor(t, function(e) {
        return e === r ? 'quit' : 146 === e.kind
      })
    }
    function _u(t) {
      function r(t) {
        return (
          !!t &&
          (n
            ? 152 === t.kind
            : !(!e.isClassLike(t.parent) && 178 !== t.parent.kind) &&
              (32 & e.getModifierFlags(t)
                ? 151 === t.kind ||
                  150 === t.kind ||
                  153 === t.kind ||
                  154 === t.kind
                : 151 === t.kind ||
                  150 === t.kind ||
                  153 === t.kind ||
                  154 === t.kind ||
                  149 === t.kind ||
                  148 === t.kind ||
                  152 === t.kind))
        )
      }
      var n = 181 === t.parent.kind && t.parent.expression === t,
        a = e.getSuperContainer(t, !0),
        i = !1
      if (!n)
        for (; a && 187 === a.kind; )
          (a = e.getSuperContainer(a, !0)), (i = zy < 2)
      var o = r(a),
        s = 0
      if (!o) {
        var c = e.findAncestor(t, function(e) {
          return e === a ? 'quit' : 144 === e.kind
        })
        return (
          c && 144 === c.kind
            ? _(
                t,
                e.Diagnostics
                  .super_cannot_be_referenced_in_a_computed_property_name
              )
            : n
              ? _(
                  t,
                  e.Diagnostics
                    .Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors
                )
              : a &&
                a.parent &&
                (e.isClassLike(a.parent) || 178 === a.parent.kind)
                ? _(
                    t,
                    e.Diagnostics
                      .super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class
                  )
                : _(
                    t,
                    e.Diagnostics
                      .super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions
                  ),
          uv
        )
      }
      if (
        (n ||
          152 !== a.kind ||
          ou(
            t,
            a,
            e.Diagnostics
              .super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class
          ),
        (s = 32 & e.getModifierFlags(a) || n ? 512 : 256),
        (k(t).flags |= s),
        151 === a.kind &&
          256 & e.getModifierFlags(a) &&
          (e.isSuperProperty(t.parent) && e.isAssignmentTarget(t.parent)
            ? (k(a).flags |= 4096)
            : (k(a).flags |= 2048)),
        i && ru(t.parent, a),
        178 === a.parent.kind)
      )
        return zy < 2
          ? (_(
              t,
              e.Diagnostics
                .super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher
            ),
            uv)
          : sv
      var u = a.parent,
        l = mr(he(u)),
        d = l && tr(l)[0]
      return d
        ? 152 === a.kind && uu(t, a)
          ? (_(
              t,
              e.Diagnostics.super_cannot_be_referenced_in_constructor_arguments
            ),
            uv)
          : 512 === s
            ? er(l)
            : Tr(d, l.thisType)
        : (e.getClassExtendsHeritageClauseElement(u) ||
            _(t, e.Diagnostics.super_can_only_be_referenced_in_a_derived_class),
          uv)
    }
    function lu(e) {
      return (151 !== e.kind && 153 !== e.kind && 154 !== e.kind) ||
        178 !== e.parent.kind
        ? 186 === e.kind && 261 === e.parent.kind
          ? e.parent.parent
          : void 0
        : e.parent
    }
    function du(e) {
      return 4 & x(e) && e.target === Bv ? e.typeArguments[0] : void 0
    }
    function pu(t) {
      return Tc(t, function(t) {
        return 131072 & t.flags ? e.forEach(t.types, du) : du(t)
      })
    }
    function fu(e) {
      if (187 !== e.kind) {
        if (uo(e)) {
          var t = Ku(e)
          if (t) {
            var r = t.thisParameter
            if (r) return zt(r)
          }
        }
        if (Wy) {
          var n = lu(e)
          if (n) {
            for (var a = Fu(n), i = n, o = a; o; ) {
              var s = pu(o)
              if (s) return ao(s, Ru(n))
              if (261 !== i.parent.kind) break
              ;(i = i.parent.parent), (o = Fu(i))
            }
            return a ? _s(a) : Fd(n)
          }
          if (194 === e.parent.kind && 58 === e.parent.operatorToken.kind) {
            var c = e.parent.left
            if (179 === c.kind || 180 === c.kind) return Fd(c.expression)
          }
        }
      }
    }
    function gu(t) {
      var r = t.parent
      if (uo(r)) {
        var n = e.getImmediatelyInvokedFunctionExpression(r)
        if (n && n.arguments) {
          var a = e.indexOf(r.parameters, t)
          if (t.dotDotDotToken) {
            for (var i = [], o = a; o < n.arguments.length; o++)
              i.push(as(Vd(n.arguments[o])))
            return i.length ? Ba($a(i)) : void 0
          }
          var s = k(n),
            c = s.resolvedSignature
          s.resolvedSignature = uh
          var u =
            a < n.arguments.length
              ? as(Vd(n.arguments[a]))
              : t.initializer
                ? void 0
                : lv
          return (s.resolvedSignature = c), u
        }
        var _ = Ku(r)
        if (_) {
          var l = e.hasRestParameter(r),
            d = r.parameters.length - (l ? 1 : 0),
            a = e.indexOf(r.parameters, t)
          if (a < d) return Ll(_, a)
          if (
            l &&
            a === r.parameters.length - 1 &&
            Wo(_, r.parameters.length - 1)
          )
            return zt(e.lastOrUndefined(_.parameters))
        }
      }
    }
    function mu(t) {
      var r = t.parent
      if (t === r.initializer) {
        if (r.type) return Fi(r.type)
        if (146 === r.kind) {
          var n = gu(r)
          if (n) return n
        }
        if (e.isBindingPattern(r.name)) return Tt(r.name, !0, !1)
        if (e.isBindingPattern(r.parent)) {
          var a = r.parent.parent,
            i = r.propertyName || r.name
          if (176 !== a.kind && a.type && !e.isBindingPattern(i)) {
            var o = e.getTextOfPropertyName(i)
            if (o) return lt(Fi(a.type), o)
          }
        }
      }
    }
    function yu(t) {
      var r = e.getContainingFunction(t)
      if (r) {
        var n = e.getFunctionFlags(r)
        if (1 & n) return
        var a = bu(r)
        return 2 & n ? a && xp(a) : a
      }
    }
    function vu(t) {
      var r = e.getContainingFunction(t)
      if (r) {
        var n = e.getFunctionFlags(r),
          a = bu(r)
        if (a) return t.asteriskToken ? a : xf(a, 0 !== (2 & n))
      }
    }
    function hu(t) {
      for (; t.parent && !e.isFunctionLike(t.parent); ) {
        if (146 === t.parent.kind && t.parent.initializer === t) return !0
        t = t.parent
      }
      return !1
    }
    function bu(t) {
      if (
        t.type ||
        152 === t.kind ||
        (153 === t.kind &&
          e.getSetAccessorTypeAnnotationNode(
            e.getDeclarationOfKind(t.symbol, 154)
          ))
      )
        return Ln(Pn(t))
      var r = Ju(t)
      return r ? Ln(r) : void 0
    }
    function ku(t, r) {
      var n = sl(t),
        a = e.indexOf(n, r)
      if (a >= 0) {
        var i = Nl(t)
        return Ll(i, a)
      }
    }
    function xu(e, t) {
      if (183 === e.parent.kind) return ku(e.parent, t)
    }
    function Cu(t) {
      var r = t.parent,
        n = r.operatorToken.kind
      if (n >= 58 && n <= 70) {
        if (0 !== e.getSpecialPropertyAssignmentKind(r)) return
        if (t === r.right) return Kd(r.left)
      } else {
        if (54 === n) {
          var a = Iu(r)
          return a || t !== r.right || (a = Kd(r.left)), a
        }
        if ((53 === n || 26 === n) && t === r.right) return Iu(r)
      }
    }
    function Su(e, t) {
      return Tc(e, function(e) {
        var r = 229376 & e.flags ? fn(e, t) : void 0
        return r ? zt(r) : void 0
      })
    }
    function Du(e, t) {
      return Tc(e, function(e) {
        return vn(e, t)
      })
    }
    function Tu(t) {
      return !!(65536 & t.flags ? e.forEach(t.types, es) : es(t))
    }
    function Eu(t) {
      if ((e.Debug.assert(e.isObjectLiteralMethod(t)), !Cg(t))) return Nu(t)
    }
    function Nu(t) {
      var r = t.parent,
        n = Fu(r)
      if (n) {
        if (!e.hasDynamicName(t)) {
          var a = he(t).name,
            i = Su(n, a)
          if (i) return i
        }
        return (Uu(t.name) && Du(n, 1)) || Du(n, 0)
      }
    }
    function Au(t) {
      var r = t.parent,
        n = Fu(r)
      if (n) {
        var a = e.indexOf(r.elements, t)
        return Su(n, '' + a) || Du(n, 1) || hf(n, void 0, !1, !1, !1)
      }
    }
    function wu(e) {
      var t = e.parent
      return e === t.whenTrue || e === t.whenFalse ? Iu(t) : void 0
    }
    function Pu(t) {
      var r = e.isJsxAttributeLike(t.parent)
          ? t.parent.parent
          : t.parent.openingElement.attributes,
        n = Iu(r)
      if (n && !dt(n)) {
        if (e.isJsxAttribute(t.parent)) return lt(n, t.parent.name.text)
        if (249 === t.parent.kind) {
          var a = l_()
          return a && '' !== a ? lt(n, a) : sv
        }
        return n
      }
    }
    function Ou(t) {
      var r = Iu(t.parent)
      if (e.isJsxAttribute(t)) {
        if (!r || dt(r)) return
        return lt(r, t.name.text)
      }
      return r
    }
    function Fu(e) {
      var t = Iu(e)
      return t && _n(t)
    }
    function Iu(t) {
      if (!Cg(t)) {
        if (t.contextualType) return t.contextualType
        var r = t.parent
        switch (r.kind) {
          case 226:
          case 146:
          case 149:
          case 148:
          case 176:
            return mu(t)
          case 187:
          case 219:
            return yu(t)
          case 197:
            return vu(r)
          case 181:
          case 182:
            return ku(r, t)
          case 184:
          case 202:
            return Fi(r.type)
          case 194:
            return Cu(t)
          case 261:
          case 262:
            return Nu(r)
          case 177:
            return Au(t)
          case 195:
            return wu(t)
          case 205:
            return e.Debug.assert(196 === r.parent.kind), xu(r.parent, t)
          case 185:
            return Iu(r)
          case 256:
            return Pu(r)
          case 253:
          case 255:
            return Ou(r)
          case 251:
          case 250:
            return h_(r)
        }
      }
    }
    function Ru(t) {
      return (
        (t = e.findAncestor(t, function(e) {
          return !!e.contextualMapper
        })),
        t ? t.contextualMapper : Ui
      )
    }
    function Mu(e, t) {
      var r = gn(e, 0)
      if (1 === r.length) {
        var n = r[0]
        if (!n.typeParameters && !Lu(n, t)) return n
      }
    }
    function Lu(t, r) {
      for (var n = 0; n < r.parameters.length; n++) {
        var a = r.parameters[n]
        if (a.initializer || a.questionToken || a.dotDotDotToken || Dn(a)) break
      }
      r.parameters.length && e.parameterIsThisKeyword(r.parameters[0]) && n--
      var i = t.hasRestParameter ? Number.MAX_VALUE : t.parameters.length
      return i < n
    }
    function Bu(e) {
      return 186 === e.kind || 187 === e.kind
    }
    function Ju(t) {
      return Bu(t) || e.isObjectLiteralMethod(t) ? Ku(t) : void 0
    }
    function zu(t) {
      return e.isObjectLiteralMethod(t) ? Eu(t) : Fu(t)
    }
    function Ku(t) {
      e.Debug.assert(151 !== t.kind || e.isObjectLiteralMethod(t))
      var r = zu(t)
      if (r) {
        if (!(65536 & r.flags)) return Mu(r, t)
        for (var n, a = r.types, i = 0, o = a; i < o.length; i++) {
          var s = o[i],
            c = Mu(s, t)
          if (c)
            if (n) {
              if (!Uo(n[0], c, !1, !0, !0, po)) return
              n.push(c)
            } else n = [c]
        }
        var u
        return (
          n &&
            ((u = Pr(n[0])),
            (u.resolvedReturnType = void 0),
            (u.unionSignatures = n)),
          u
        )
      }
    }
    function ju(e, t) {
      zy < 2 && Jy.downlevelIteration && Cm(e, 1536)
      var r = Vd(e.expression, t)
      return vf(r, e.expression, !1, !1)
    }
    function Vu(e) {
      return (
        (176 === e.kind && !!e.initializer) ||
        (194 === e.kind && 58 === e.operatorToken.kind)
      )
    }
    function qu(t, r) {
      for (
        var n = t.elements,
          a = !1,
          i = [],
          o = e.isAssignmentTarget(t),
          s = 0,
          c = n;
        s < c.length;
        s++
      ) {
        var u = c[s]
        if (o && 198 === u.kind) {
          var l = Vd(u.expression, r),
            d = bn(l, 1) || hf(l, void 0, !1, !1, !1)
          d && i.push(d)
        } else {
          var p = Ld(u, r)
          i.push(p)
        }
        a = a || 198 === u.kind
      }
      if (!a) {
        if (o && i.length) {
          var p = $n(ja(i))
          return (p.pattern = t), p
        }
        var f = Fu(t)
        if (f && Tu(f)) {
          var g = f.pattern
          if (g && (175 === g.kind || 177 === g.kind))
            for (var m = g.elements, y = i.length; y < m.length; y++) {
              var v = m[y]
              Vu(v)
                ? i.push(f.typeArguments[y])
                : (200 !== v.kind &&
                    _(
                      v,
                      e.Diagnostics
                        .Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value
                    ),
                  i.push(uv))
            }
          if (i.length) return ja(i)
        }
      }
      return Ba(i.length ? $a(i, !0) : qy ? kv : lv)
    }
    function Uu(e) {
      return 144 === e.kind ? Wu(e) : Xu(e.text)
    }
    function Wu(e) {
      return Hu(Qu(e), 340)
    }
    function Hu(e, t) {
      return dt(e) || ld(e, t)
    }
    function Gu(e) {
      return 'Infinity' === e || '-Infinity' === e || 'NaN' === e
    }
    function Xu(e) {
      return (+e).toString() === e
    }
    function Qu(t) {
      var r = k(t.expression)
      return (
        r.resolvedType ||
          ((r.resolvedType = Vd(t.expression)),
          Hu(r.resolvedType, 263030)
            ? G_(t.expression, r.resolvedType, !0)
            : _(
                t,
                e.Diagnostics
                  .A_computed_property_name_must_be_of_type_string_number_symbol_or_any
              )),
        r.resolvedType
      )
    }
    function Yu(e, t, r, n) {
      for (var a = [], i = 0; i < r.length; i++)
        (0 === n || Uu(e[i + t].name)) && a.push(zt(r[i]))
      var o = a.length ? $a(a, !0) : _v
      return Un(o, !1)
    }
    function Zu(t, r) {
      function n() {
        var e = p ? fh : m ? Yu(t.properties, v, o, 0) : void 0,
          r = y && !p ? Yu(t.properties, v, o, 1) : void 0,
          n = Oe(t.symbol, i, Ly, Ly, e, r),
          s = Jy.suppressExcessPropertyErrors ? 0 : 1048576
        return (
          (n.flags |= 4194304 | s | (14680064 & f)),
          (n.objectFlags |= 128),
          g && (n.objectFlags |= 512),
          a && (n.pattern = t),
          6144 & n.flags || (c |= 14680064 & n.flags),
          n
        )
      }
      var a = e.isAssignmentTarget(t)
      Qm(t, a)
      for (
        var i = e.createMap(),
          o = [],
          s = Sv,
          c = 0,
          u = Fu(t),
          d =
            u &&
            u.pattern &&
            (174 === u.pattern.kind || 178 === u.pattern.kind),
          p = !u && e.isInJavaScriptFile(t),
          f = 0,
          g = !1,
          m = !1,
          y = !1,
          v = 0,
          h = 0;
        h < t.properties.length;
        h++
      ) {
        var b = t.properties[h],
          k = b.symbol
        if (261 === b.kind || 262 === b.kind || e.isObjectLiteralMethod(b)) {
          var C = void 0
          261 === b.kind
            ? (C = Bd(b, r))
            : 151 === b.kind
              ? (C = Jd(b, r))
              : (e.Debug.assert(262 === b.kind), (C = Ld(b.name, r))),
            (f |= C.flags)
          var S = l(4 | k.flags, k.name)
          if (a) {
            var D =
              (261 === b.kind && Vu(b.initializer)) ||
              (262 === b.kind && b.objectAssignmentInitializer)
            D && (S.flags |= 67108864), e.hasDynamicName(b) && (g = !0)
          } else if (d && !(512 & x(u))) {
            var T = fn(u, k.name)
            T
              ? (S.flags |= 67108864 & T.flags)
              : Jy.suppressExcessPropertyErrors ||
                hn(u, 0) ||
                _(
                  b.name,
                  e.Diagnostics
                    .Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1,
                  Ue(k),
                  He(u)
                )
          }
          ;(S.declarations = k.declarations),
            (S.parent = k.parent),
            k.valueDeclaration && (S.valueDeclaration = k.valueDeclaration),
            (S.type = C),
            (S.target = k),
            (k = S)
        } else {
          if (263 === b.kind) {
            zy < 2 && Cm(b, 2),
              o.length > 0 &&
                ((s = ki(s, n())),
                (o = []),
                (i = e.createMap()),
                (m = !1),
                (y = !1),
                (f = 0))
            var C = Vd(b.expression)
            if (!$u(C))
              return (
                _(
                  b,
                  e.Diagnostics
                    .Spread_types_may_only_be_created_from_object_types
                ),
                uv
              )
            ;(s = ki(s, C)), (v = h + 1)
            continue
          }
          e.Debug.assert(153 === b.kind || 154 === b.kind), gg(b)
        }
        e.hasDynamicName(b)
          ? Uu(b.name)
            ? (y = !0)
            : (m = !0)
          : i.set(k.name, k),
          o.push(k)
      }
      if (d)
        for (var E = 0, N = en(u); E < N.length; E++) {
          var S = N[E]
          i.get(S.name) ||
            (67108864 & S.flags ||
              _(
                S.valueDeclaration || S.bindingElement,
                e.Diagnostics
                  .Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value
              ),
            i.set(S.name, S),
            o.push(S))
        }
      return s !== Sv
        ? (o.length > 0 && (s = ki(s, n())),
          32768 & s.flags && ((s.flags |= c), (s.symbol = t.symbol)),
          s)
        : n()
    }
    function $u(t) {
      return !!(
        16783361 & t.flags ||
        (32768 & t.flags && !Xr(t)) ||
        (196608 & t.flags &&
          !e.forEach(t.types, function(e) {
            return !$u(e)
          }))
      )
    }
    function e_(e) {
      return T_(e), x_() || sv
    }
    function t_(e) {
      return (
        T_(e.openingElement),
        n_(e.closingElement.tagName)
          ? s_(e.closingElement)
          : Vd(e.closingElement.tagName),
        x_() || sv
      )
    }
    function r_(e) {
      return e.indexOf('-') < 0
    }
    function n_(t) {
      return 179 !== t.kind && 99 !== t.kind && e.isIntrinsicJsxName(t.text)
    }
    function a_(t, r, n) {
      function a(e, t) {
        var r = Oe(e, t, Ly, Ly, void 0, void 0)
        return (r.flags |= 37748736), (r.objectFlags |= 128), r
      }
      for (
        var i,
          o = t.attributes,
          s = e.createMap(),
          c = Sv,
          u = [],
          d = !1,
          p = !1,
          f = l_(),
          g = 0,
          m = o.properties;
        g < m.length;
        g++
      ) {
        var y = m[g],
          v = y.symbol
        if (e.isJsxAttribute(y)) {
          var h = y.initializer ? Vd(y.initializer, n) : mv,
            b = l(134217732 | v.flags, v.name)
          ;(b.declarations = v.declarations),
            (b.parent = v.parent),
            v.valueDeclaration && (b.valueDeclaration = v.valueDeclaration),
            (b.type = h),
            (b.target = v),
            s.set(b.name, b),
            u.push(b),
            y.name.text === f && (p = !0)
        } else {
          e.Debug.assert(255 === y.kind),
            u.length > 0 &&
              ((c = ki(c, a(o.symbol, s))), (u = []), (s = e.createMap()))
          var h = Vd(y.expression)
          dt(h) && (d = !0), $u(h) ? (c = ki(c, h)) : (i = i ? ai([i, h]) : h)
        }
      }
      d ||
        (c !== Sv &&
          (u.length > 0 &&
            ((c = ki(c, a(o.symbol, s))), (u = []), (s = e.createMap())),
          (u = en(c))),
        (s = e.createMap()),
        u &&
          e.forEach(u, function(e) {
            ;(r && !r(e)) || s.set(e.name, e)
          }))
      var k = 249 === t.parent.kind ? t.parent : void 0
      if (k && k.openingElement === t && k.children.length > 0) {
        for (var x = [], C = 0, S = k.children; C < S.length; C++) {
          var D = S[C]
          10 === D.kind
            ? D.containsOnlyWhiteSpaces || x.push(fv)
            : x.push(Vd(D, n))
        }
        if (!d && f && '' !== f) {
          p &&
            _(
              o,
              e.Diagnostics
                ._0_are_specified_twice_The_attribute_named_0_will_be_overwritten,
              f
            )
          var T = l(134217732, f)
          ;(T.type = 1 === x.length ? x[0] : Ba($a(x, !1))), s.set(f, T)
        }
      }
      if (d) return sv
      var E = a(o.symbol, s)
      return i && s.size ? ai([i, E]) : i ? i : E
    }
    function i_(e, t) {
      return a_(e.parent, void 0, t)
    }
    function o_(e) {
      var t = Xh.get(e)
      return void 0 === t && Xh.set(e, (t = Pa(Qh.JSX, e) || uv)), t
    }
    function s_(t) {
      var r = k(t)
      if (!r.resolvedSymbol) {
        var n = o_(Qh.IntrinsicElements)
        if (n !== uv) {
          var a = fn(n, t.tagName.text)
          if (a) return (r.jsxFlags |= 1), (r.resolvedSymbol = a)
          var i = bn(n, 0)
          return i
            ? ((r.jsxFlags |= 2), (r.resolvedSymbol = n.symbol))
            : (_(
                t,
                e.Diagnostics.Property_0_does_not_exist_on_type_1,
                t.tagName.text,
                'JSX.' + Qh.IntrinsicElements
              ),
              (r.resolvedSymbol = iv))
        }
        return (
          Uy &&
            _(
              t,
              e.Diagnostics
                .JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists,
              Qh.IntrinsicElements
            ),
          (r.resolvedSymbol = iv)
        )
      }
      return r.resolvedSymbol
    }
    function c_(t, r) {
      if ((e.Debug.assert(!(65536 & r.flags)), dt(r))) return sv
      var n = mn(r, 1)
      if (0 === n.length && ((n = mn(r, 0)), 0 === n.length))
        return (
          _(
            t.tagName,
            e.Diagnostics
              .JSX_element_type_0_does_not_have_any_construct_or_call_signatures,
            e.getTextOfNode(t.tagName)
          ),
          uv
        )
      for (var a = [], i = 0, o = n; i < o.length; i++) {
        var s = o[i]
        if (s.typeParameters) {
          var c = wn(void 0, s.typeParameters, 0)
          a.push(Jn(s, c))
        } else a.push(s)
      }
      return $a(e.map(a, Ln), !0)
    }
    function u_(t) {
      var r = ga(Qh.JSX, 1920, void 0),
        n = r && D(r.exports, t, 793064),
        a = n && mr(n),
        i = a && en(a)
      if (i) {
        if (0 === i.length) return ''
        if (1 === i.length) return i[0].name
        i.length > 1 &&
          _(
            n.declarations[0],
            e.Diagnostics
              .The_global_type_JSX_0_may_not_have_more_than_one_property,
            t
          )
      }
    }
    function __() {
      return (
        Hh || ((Hh = !0), (Jh = u_(Qh.ElementAttributesPropertyNameContainer))),
        Jh
      )
    }
    function l_() {
      return (
        Gh || ((Gh = !0), (zh = u_(Qh.ElementChildrenAttributeNameContainer))),
        zh
      )
    }
    function d_(e) {
      if (e) {
        if (131072 & e.flags) {
          for (var t = [], r = 0, n = e.types; r < n.length; r++) {
            var a = n[r]
            t.push(_n(a))
          }
          return ai(t)
        }
        return _n(e)
      }
    }
    function p_(t, r, n, a) {
      if ((e.Debug.assert(!(65536 & r.flags)), !a || !mo(n, a))) {
        var i = C_()
        if (i) {
          var o = Sl(t, r, void 0)
          if (o !== _h) {
            var s = o && Ln(o),
              c = s && (0 === o.parameters.length ? Sv : zt(o.parameters[0]))
            if (((c = d_(c)), s && mo(s, i))) {
              var u = o_(Qh.IntrinsicAttributes)
              return u !== uv && (c = Br(u, c)), c
            }
          }
        }
      }
    }
    function f_(t, r, n, a) {
      if ((e.Debug.assert(!(65536 & r.flags)), !a || !mo(n, a))) {
        var i = C_()
        if (i) {
          var o = []
          Sl(t, r, o)
          for (var s = void 0, c = void 0, u = 0, _ = o; u < _.length; u++) {
            var l = _[u],
              d = Ln(l),
              p = d && (0 === l.parameters.length ? Sv : zt(l.parameters[0]))
            if (((p = d_(p)), d && mo(d, i))) {
              for (
                var f = !0, g = 0, m = t.attributes.properties;
                g < m.length;
                g++
              ) {
                var y = m[g]
                if (
                  e.isJsxAttribute(y) &&
                  r_(y.name.text) &&
                  !fn(p, y.name.text)
                ) {
                  f = !1
                  break
                }
              }
              f && (s = Br(s, p)), (c = Br(c, p))
            }
          }
          s || (s = c)
          var v = o_(Qh.IntrinsicAttributes)
          return v !== uv && (s = Br(v, s)), s
        }
      }
    }
    function g_(t, r, n, a) {
      if ((n || (n = Vd(t.tagName)), 65536 & n.flags)) {
        var i = n.types
        return $a(
          i.map(function(e) {
            return g_(t, r, e, a)
          }),
          !0
        )
      }
      if (2 & n.flags) return sv
      if (32 & n.flags) {
        var o = o_(Qh.IntrinsicElements)
        if (o !== uv) {
          var s = n.text,
            c = fn(o, s)
          if (c) return zt(c)
          var u = bn(o, 0)
          if (u) return u
          _(
            t,
            e.Diagnostics.Property_0_does_not_exist_on_type_1,
            s,
            'JSX.' + Qh.IntrinsicElements
          )
        }
        return sv
      }
      var l = c_(t, n),
        d = r ? f_(t, n, l, a) : p_(t, n, l, a)
      if (d) return d
      if (
        (a &&
          Io(
            l,
            a,
            Zh,
            t,
            e.Diagnostics
              .JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements
          ),
        dt(l))
      )
        return l
      var p = __()
      if (void 0 === p) return sv
      if ('' === p) return l
      var f = lt(l, p)
      if (f) {
        if (dt(f) || f === uv) return f
        var g = f,
          m = o_(Qh.IntrinsicClassAttributes)
        if (m !== uv) {
          var y = Ht(m.symbol)
          y ? 1 === y.length && (g = Br(Zn(m, [l]), g)) : (g = Br(f, m))
        }
        var v = o_(Qh.IntrinsicAttributes)
        return v !== uv && (g = Br(v, g)), g
      }
      return Sv
    }
    function m_(t) {
      e.Debug.assert(n_(t.tagName))
      var r = k(t)
      if (!r.resolvedJsxElementAttributesType) {
        var n = s_(t)
        return 1 & r.jsxFlags
          ? (r.resolvedJsxElementAttributesType = zt(n))
          : 2 & r.jsxFlags
            ? (r.resolvedJsxElementAttributesType = Wn(n, 0).type)
            : (r.resolvedJsxElementAttributesType = uv)
      }
      return r.resolvedJsxElementAttributesType
    }
    function y_(e, t) {
      var r = k(e)
      if (!r.resolvedJsxElementAttributesType) {
        var n = k_()
        return (r.resolvedJsxElementAttributesType = g_(e, t, void 0, n))
      }
      return r.resolvedJsxElementAttributesType
    }
    function v_(e) {
      return n_(e.tagName) ? m_(e) : y_(e, !0)
    }
    function h_(e) {
      return n_(e.tagName) ? m_(e) : y_(e, !1)
    }
    function b_(e) {
      var t = h_(e.parent.parent),
        r = fn(t, e.name.text)
      return r || iv
    }
    function k_() {
      return th || (th = Pa(Qh.JSX, Qh.ElementClass)), th
    }
    function x_() {
      return rh || (rh = Pa(Qh.JSX, Qh.Element)), rh
    }
    function C_() {
      if (!nh) {
        var e = x_()
        e && (nh = $a([e, dv]))
      }
      return nh
    }
    function S_() {
      var e = o_(Qh.IntrinsicElements)
      return e ? en(e) : Ly
    }
    function D_(t) {
      0 === (Jy.jsx || 0) &&
        _(t, e.Diagnostics.Cannot_use_JSX_unless_the_jsx_flag_is_provided),
        void 0 === x_() &&
          Uy &&
          _(
            t,
            e.Diagnostics
              .JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist
          )
    }
    function T_(t) {
      Ym(t), D_(t)
      var r = 2 === Jy.jsx ? e.Diagnostics.Cannot_find_name_0 : void 0,
        n = o(),
        a = N(t.tagName, n, 107455, r, n)
      a && ((a.isReferenced = !0), 8388608 & a.flags && !rm($(a)) && te(a)),
        N_(t)
    }
    function E_(e, t, r) {
      if (32768 & e.flags) {
        var n = Qr(e)
        if (
          n.stringIndexInfo ||
          (n.numberIndexInfo && Xu(t)) ||
          fn(e, t) ||
          (r && !r_(t))
        )
          return !0
      } else if (196608 & e.flags)
        for (var a = 0, i = e.types; a < i.length; a++) {
          var o = i[a]
          if (E_(o, t, r)) return !0
        }
      return !1
    }
    function N_(t) {
      var r = n_(t.tagName) ? m_(t) : y_(t, !1),
        n = a_(t, function(e) {
          return r_(e.name) || !!fn(r, e.name)
        })
      if (r === Sv && (dt(n) || n.properties.length > 0))
        _(
          t,
          e.Diagnostics
            .JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property,
          __()
        )
      else {
        var a = ko(n, r, t.attributes.properties.length > 0 ? t.attributes : t)
        if (a && !dt(n) && !dt(r))
          for (var i = 0, o = t.attributes.properties; i < o.length; i++) {
            var s = o[i]
            if (e.isJsxAttribute(s) && !E_(r, s.name.text, !0)) {
              _(
                s,
                e.Diagnostics.Property_0_does_not_exist_on_type_1,
                s.name.text,
                He(r)
              )
              break
            }
          }
      }
    }
    function A_(t, r) {
      if (t.expression) {
        var n = Vd(t.expression, r)
        return (
          t.dotDotDotToken &&
            n !== sv &&
            !Zo(n) &&
            _(
              t,
              e.Diagnostics.JSX_spread_child_must_be_an_array_type,
              t.toString(),
              He(n)
            ),
          n
        )
      }
      return uv
    }
    function w_(e) {
      return e.valueDeclaration ? e.valueDeclaration.kind : 149
    }
    function P_(t) {
      if (t.valueDeclaration) {
        var r = e.getCombinedModifierFlags(t.valueDeclaration)
        return t.parent && 32 & t.parent.flags ? r : r & -29
      }
      if (6 & C(t)) {
        var n = t.checkFlags,
          a = 256 & n ? 8 : 64 & n ? 4 : 16,
          i = 512 & n ? 32 : 0
        return a | i
      }
      return 16777216 & t.flags ? 36 : 0
    }
    function O_(t) {
      return t.valueDeclaration ? e.getCombinedNodeFlags(t.valueDeclaration) : 0
    }
    function F_(e) {
      return !!(8192 & e.flags || 4 & C(e))
    }
    function I_(t, r, n, a) {
      var i = P_(a),
        o = 179 === t.kind || 226 === t.kind ? t.name : t.right
      if (256 & C(a))
        return (
          _(
            o,
            e.Diagnostics
              .Property_0_has_conflicting_declarations_and_is_inaccessible_in_type_1,
            Ue(a),
            He(n)
          ),
          !1
        )
      if (97 === r.kind) {
        if (zy < 2) {
          var s = Ro(a, function(e) {
            var t = w_(e)
            return 151 !== t && 150 !== t
          })
          if (s)
            return (
              _(
                o,
                e.Diagnostics
                  .Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword
              ),
              !1
            )
        }
        if (128 & i)
          return (
            _(
              o,
              e.Diagnostics
                .Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression,
              Ue(a),
              He(Mo(a))
            ),
            !1
          )
      }
      if (!(24 & i)) return !0
      if (8 & i) {
        var c = Vf(be(a))
        return (
          !!wg(t, c) ||
          (_(
            o,
            e.Diagnostics
              .Property_0_is_private_and_only_accessible_within_class_1,
            Ue(a),
            He(Mo(a))
          ),
          !1)
        )
      }
      if (97 === r.kind) return !0
      var u = Ag(t, function(e) {
        var t = mr(he(e))
        return Jo(t, a) ? t : void 0
      })
      return u
        ? !!(32 & i) ||
            (16384 & n.flags && n.isThisType && (n = rn(n)),
            !!(3 & x(jt(n)) && Vt(n, u)) ||
              (_(
                o,
                e.Diagnostics
                  .Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1,
                Ue(a),
                He(u)
              ),
              !1))
        : (_(
            o,
            e.Diagnostics
              .Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses,
            Ue(a),
            He(Mo(a) || n)
          ),
          !1)
    }
    function R_(e) {
      return M_(Vd(e), e)
    }
    function M_(t, r) {
      var n = 6144 & (qy ? ss(t) : t.flags)
      if (n) {
        _(
          r,
          2048 & n
            ? 4096 & n
              ? e.Diagnostics.Object_is_possibly_null_or_undefined
              : e.Diagnostics.Object_is_possibly_undefined
            : e.Diagnostics.Object_is_possibly_null
        )
        var a = _s(t)
        return 14336 & a.flags ? uv : a
      }
      return t
    }
    function L_(e) {
      return j_(e, e.expression, e.name)
    }
    function B_(e) {
      return j_(e, e.left, e.right)
    }
    function J_(t, r) {
      var n
      if (65536 & r.flags && !(8190 & r.flags))
        for (var a = 0, i = r.types; a < i.length; a++) {
          var o = i[a]
          if (!fn(o, t.text)) {
            n = e.chainDiagnosticMessages(
              n,
              e.Diagnostics.Property_0_does_not_exist_on_type_1,
              e.declarationNameToString(t),
              He(o)
            )
            break
          }
        }
      ;(n = e.chainDiagnosticMessages(
        n,
        e.Diagnostics.Property_0_does_not_exist_on_type_1,
        e.declarationNameToString(t),
        He(r)
      )),
        Mh.add(e.createDiagnosticForNodeFromMessageChain(t, n))
    }
    function z_(t) {
      t &&
        jy &&
        106500 & t.flags &&
        t.valueDeclaration &&
        8 & e.getModifierFlags(t.valueDeclaration) &&
        (1 & C(t) ? (b(t).target.isReferenced = !0) : (t.isReferenced = !0))
    }
    function K_(e) {
      for (; e; ) {
        if (e.parent && 149 === e.parent.kind && e.parent.initializer === e)
          return !0
        e = e.parent
      }
      return !1
    }
    function j_(t, r, n) {
      var a = R_(r)
      if (dt(a) || a === xv) return a
      var i = _n(vs(a))
      if (i === uv || (16384 & a.flags && dt(i))) return i
      var o = fn(i, n.text)
      if (!o) {
        var s = bn(i, 0)
        return s
          ? s
          : (n.text && !P(t) && J_(n, 16384 & a.flags && a.isThisType ? i : a),
            uv)
      }
      o.valueDeclaration &&
        (K_(t) &&
          !E(o.valueDeclaration, n) &&
          _(
            n,
            e.Diagnostics.Block_scoped_variable_0_used_before_its_declaration,
            n.text
          ),
        229 !== o.valueDeclaration.kind ||
          !t.parent ||
          159 === t.parent.kind ||
          e.isInAmbientContext(o.valueDeclaration) ||
          E(o.valueDeclaration, n) ||
          _(n, e.Diagnostics.Class_0_used_before_its_declaration, n.text)),
        z_(o),
        (k(t).resolvedSymbol = o),
        I_(t, r, i, o)
      var c = zt(o),
        u = e.getAssignmentTargetKind(t)
      if (u && (td(t, o) || rd(t)))
        return (
          _(
            n,
            e.Diagnostics
              .Cannot_assign_to_0_because_it_is_a_constant_or_a_read_only_property,
            n.text
          ),
          uv
        )
      if (
        !(
          179 === t.kind &&
          1 !== u &&
          (98311 & o.flags || (8192 & o.flags && 65536 & c.flags))
        )
      )
        return c
      var l = qc(t, c)
      return u ? ns(l) : l
    }
    function V_(e, t) {
      var r = 179 === e.kind ? e.expression : e.left,
        n = Vd(r)
      if (n !== uv && !dt(n)) {
        var a = fn(vs(n), t)
        if (a) return I_(e, r, n, a)
      }
      return !0
    }
    function q_(t) {
      var r = t.initializer
      if (227 === r.kind) {
        var n = r.declarations[0]
        if (n && !e.isBindingPattern(n.name)) return he(n)
      } else if (71 === r.kind) return Ls(r)
    }
    function U_(e) {
      return bn(e, 1) && !bn(e, 0)
    }
    function W_(t) {
      var r = e.skipParentheses(t)
      if (71 === r.kind) {
        var n = Ls(r)
        if (3 & n.flags)
          for (var a = t, i = t.parent; i; ) {
            if (
              215 === i.kind &&
              a === i.statement &&
              q_(i) === n &&
              U_(Kd(i.expression))
            )
              return !0
            ;(a = i), (i = i.parent)
          }
      }
      return !1
    }
    function H_(t) {
      var r = R_(t.expression),
        n = t.argumentExpression
      if (!n) {
        var a = e.getSourceFileOfNode(t)
        if (182 === t.parent.kind && t.parent.expression === t) {
          var i = e.skipTrivia(a.text, t.expression.end),
            o = t.end
          my(
            a,
            i,
            o - i,
            e.Diagnostics
              .new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead
          )
        } else {
          var i = t.end - ']'.length,
            o = t.end
          my(a, i, o - i, e.Diagnostics.Expression_expected)
        }
        return uv
      }
      var s = W_(n) ? gv : Vd(n)
      return r === uv || r === xv
        ? r
        : dd(r) && 9 !== n.kind
          ? (_(
              n,
              e.Diagnostics
                .A_const_enum_member_can_only_be_accessed_using_a_string_literal
            ),
            uv)
          : gp(gi(r, s, t), t)
    }
    function G_(t, r, n) {
      if (r === uv) return !1
      if (!e.isWellKnownSymbolSyntactically(t)) return !1
      if (0 === (512 & r.flags))
        return (
          n &&
            _(
              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 = Ls(a)
      if (!i) return !1
      var o = ha(!0)
      return (
        !!o &&
        (i === o ||
          (n &&
            _(
              a,
              e.Diagnostics
                .Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object
            ),
          !1))
      )
    }
    function X_(t) {
      return (
        183 === t.kind
          ? Vd(t.template)
          : 147 !== t.kind &&
            e.forEach(t.arguments, function(e) {
              Vd(e)
            }),
        uh
      )
    }
    function Q_(e) {
      return X_(e), _h
    }
    function Y_(t, r) {
      var n,
        a,
        i,
        o,
        s = 0,
        c = -1
      e.Debug.assert(!r.length)
      for (var u = 0, _ = t; u < _.length; u++) {
        var l = _[u],
          d = l.declaration && he(l.declaration),
          p = l.declaration && l.declaration.parent
        a && d !== a
          ? ((i = s = r.length), (n = p))
          : n && p === n
            ? i++
            : ((n = p), (i = s)),
          (a = d),
          l.hasLiteralTypes ? (c++, (o = c), s++) : (o = i),
          r.splice(o, 0, l)
      }
    }
    function Z_(e) {
      for (var t = 0; t < e.length; t++) {
        var r = e[t]
        if (r && 198 === r.kind) return t
      }
      return -1
    }
    function $_(t, r, n, a) {
      void 0 === a && (a = !1)
      var i,
        o,
        s,
        c,
        u = -1
      if (e.isJsxOpeningLikeElement(t)) return !0
      if (183 === t.kind) {
        var _ = t
        if (((i = r.length), (o = void 0), 196 === _.template.kind)) {
          var l = _.template,
            d = e.lastOrUndefined(l.templateSpans)
          e.Debug.assert(void 0 !== d),
            (s = e.nodeIsMissing(d.literal) || !!d.literal.isUnterminated)
        } else {
          var p = _.template
          e.Debug.assert(13 === p.kind), (s = !!p.isUnterminated)
        }
      } else if (147 === t.kind) (c = !0), (o = void 0), (i = cl(t, void 0, n))
      else {
        var f = t
        if (!f.arguments)
          return e.Debug.assert(182 === f.kind), 0 === n.minArgumentCount
        ;(i = a ? r.length + 1 : r.length),
          (s = f.arguments.end === f.end),
          (o = f.typeArguments),
          (u = Z_(r))
      }
      var g = e.length(n.typeParameters),
        m = An(n.typeParameters),
        y = !o || (o.length >= m && o.length <= g)
      if (!y) return !1
      if (u >= 0) return Wo(n, u)
      if (!n.hasRestParameter && i > n.parameters.length) return !1
      var v = i >= n.minArgumentCount
      return s || v
    }
    function el(e) {
      if (32768 & e.flags) {
        var t = Qr(e)
        if (
          1 === t.callSignatures.length &&
          0 === t.constructSignatures.length &&
          0 === t.properties.length &&
          !t.stringIndexInfo &&
          !t.numberIndexInfo
        )
          return t.callSignatures[0]
      }
    }
    function tl(e, t, r) {
      var n = Cs(e, !0, !1)
      return (
        xs(t, e, function(e, t) {
          As(n, ao(e, r), t)
        }),
        Jn(e, Ms(n))
      )
    }
    function rl(e, t, r, n, a) {
      for (var i = t.typeParameters, o = qi(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)
      var c = Mn(t)
      if (c) {
        var u = ol(e),
          _ = u ? Vd(u) : bv
        As(a, _, c)
      }
      for (var l = cl(e, r, t), s = 0; s < l; s++) {
        var d = fl(e, r, s)
        if (void 0 === d || 200 !== d.kind) {
          var p = Ll(t, s),
            f = pl(e, s)
          if (void 0 === f) {
            var g = n && void 0 !== n[s] ? Ui : o
            f = Od(d, p, g)
          }
          As(a, f, p)
        }
      }
      if (n)
        for (var s = 0; s < l; s++)
          if (n[s] === !1) {
            var d = r[s],
              p = Ll(t, s)
            As(a, Od(d, p, o), p)
          }
      Ms(a)
    }
    function nl(t, r, n, a, i) {
      for (var o, s = t.typeParameters, c = !0, u = 0; u < r.length; u++)
        if (c) {
          var _ = rn(s[u])
          if (_) {
            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 = Ki(s, n))
            var p = n[u]
            c = ko(p, Tr(ao(_, o), p), a ? r[u] : void 0, d, l)
          }
        }
      return c
    }
    function al(t, r, n) {
      var a = t.attributes.end === t.end
      if (a) return !0
      for (
        var i =
            e.Diagnostics
              .Argument_of_type_0_is_not_assignable_to_parameter_of_type_1,
          o = Ll(r, 0),
          s = Od(t.attributes, o, void 0),
          c = en(s),
          u = 0,
          _ = c;
        u < _.length;
        u++
      ) {
        var l = _[u]
        if (!fn(o, l.name) && r_(l.name)) return !1
      }
      return Io(s, o, n, void 0, i)
    }
    function il(t, r, n, a, i, o) {
      if (e.isJsxOpeningLikeElement(t)) return al(t, n, a)
      var s = Mn(n)
      if (s && s !== bv && 182 !== t.kind) {
        var c = ol(t),
          u = c ? Vd(c) : bv,
          _ = o ? c || t : void 0,
          l =
            e.Diagnostics
              .The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1
        if (!Io(u, Mn(n), a, _, l)) return !1
      }
      for (
        var d =
            e.Diagnostics
              .Argument_of_type_0_is_not_assignable_to_parameter_of_type_1,
          p = cl(t, r, n),
          f = 0;
        f < p;
        f++
      ) {
        var g = fl(t, r, f)
        if (void 0 === g || 200 !== g.kind) {
          var m = Ll(n, f),
            y = pl(t, f)
          void 0 === y && (y = Od(g, m, i && i[f] ? Ui : void 0))
          var _ = o ? gl(t, f, g) : void 0
          if (!Io(y, m, a, _, d)) return !1
        }
      }
      return !0
    }
    function ol(e) {
      if (181 === e.kind) {
        var t = e.expression
        if (179 === t.kind) return t.expression
        if (180 === t.kind) return t.expression
      }
    }
    function sl(t) {
      var r
      if (183 === t.kind) {
        var n = t.template
        ;(r = [void 0]),
          196 === n.kind &&
            e.forEach(n.templateSpans, function(e) {
              r.push(e.expression)
            })
      } else {
        if (147 === t.kind) return
        r = e.isJsxOpeningLikeElement(t)
          ? t.attributes.properties.length > 0
            ? [t.attributes]
            : Ly
          : t.arguments || Ly
      }
      return r
    }
    function cl(e, t, r) {
      if (147 !== e.kind) return t.length
      switch (e.parent.kind) {
        case 229:
        case 199:
          return 1
        case 149:
          return 2
        case 151:
        case 153:
        case 154:
          return 0 === zy ? 2 : r.parameters.length >= 3 ? 3 : 2
        case 146:
          return 3
      }
    }
    function ul(t) {
      if (229 === t.kind) {
        var r = he(t)
        return zt(r)
      }
      if (146 === t.kind && ((t = t.parent), 152 === t.kind)) {
        var r = he(t)
        return zt(r)
      }
      return 149 === t.kind ||
        151 === t.kind ||
        153 === t.kind ||
        154 === t.kind
        ? jg(t)
        : (e.Debug.fail('Unsupported decorator target.'), uv)
    }
    function _l(t) {
      if (229 === t.kind)
        return (
          e.Debug.fail(
            'Class decorators should not have a second synthetic argument.'
          ),
          uv
        )
      if (146 === t.kind && ((t = t.parent), 152 === t.kind)) return sv
      if (
        149 === t.kind ||
        151 === t.kind ||
        153 === t.kind ||
        154 === t.kind
      ) {
        var r = t
        switch (r.name.kind) {
          case 71:
          case 8:
          case 9:
            return Ei(32, r.name.text)
          case 144:
            var n = Qu(r.name)
            return ld(n, 512) ? n : fv
          default:
            return e.Debug.fail('Unsupported property name.'), uv
        }
      }
      return e.Debug.fail('Unsupported decorator target.'), uv
    }
    function ll(t) {
      if (229 === t.kind)
        return (
          e.Debug.fail(
            'Class decorators should not have a third synthetic argument.'
          ),
          uv
        )
      if (146 === t.kind) return gv
      if (149 === t.kind)
        return (
          e.Debug.fail(
            'Property decorators should not have a third synthetic argument.'
          ),
          uv
        )
      if (151 === t.kind || 153 === t.kind || 154 === t.kind) {
        var r = Bg(t)
        return Fa(r)
      }
      return e.Debug.fail('Unsupported decorator target.'), uv
    }
    function dl(t, r) {
      return 0 === r
        ? ul(t.parent)
        : 1 === r
          ? _l(t.parent)
          : 2 === r
            ? ll(t.parent)
            : (e.Debug.fail(
                'Decorators should not have a fourth synthetic argument.'
              ),
              uv)
    }
    function pl(e, t) {
      return 147 === e.kind
        ? dl(e, t)
        : 0 === t && 183 === e.kind
          ? va()
          : void 0
    }
    function fl(e, t, r) {
      if (147 !== e.kind && (0 !== r || 183 !== e.kind)) return t[r]
    }
    function gl(e, t, r) {
      return 147 === e.kind
        ? e.expression
        : 0 === t && 183 === e.kind
          ? e.template
          : r
    }
    function ml(t, r, n, a) {
      function o(r, n, i, o) {
        var s
        ;(s = e.chainDiagnosticMessages(s, r, n, i, o)),
          a && (s = e.chainDiagnosticMessages(s, a)),
          Mh.add(e.createDiagnosticForNodeFromMessageChain(t, s))
      }
      function s(r, n, a) {
        void 0 === a && (a = !1)
        for (var i = 0, o = r; i < o.length; i++) {
          var s = o[i]
          if ($_(t, v, s, a)) {
            for (
              var u = void 0,
                _ = void 0,
                l = s.typeParameters
                  ? Cs(s, !1, e.isInJavaScriptFile(t))
                  : void 0;
              ;

            ) {
              if (((u = s), u.typeParameters)) {
                var d = void 0
                if (
                  (c
                    ? ((d = wn(
                        e.map(c, Fi),
                        u.typeParameters,
                        An(u.typeParameters)
                      )),
                      (_ = nl(u, c, d, !1)))
                    : (rl(t, u, v, y, l),
                      (d = l.inferredTypes),
                      (_ = void 0 === l.failedTypeParameterIndex)),
                  !_)
                )
                  break
                u = Jn(u, d)
              }
              if (!il(t, v, u, n, y, !1)) break
              var p = y ? e.indexOf(y, !0) : -1
              if (p < 0) return u
              y[p] = !1
            }
            if (s.typeParameters) {
              var f = u
              _ ? (b = f) : ((k = s), c || (x = l))
            } else e.Debug.assert(s === u), (b = s)
          }
        }
      }
      var c,
        u = 183 === t.kind,
        _ = 147 === t.kind,
        d = e.isJsxOpeningLikeElement(t)
      if (
        (u ||
          _ ||
          d ||
          ((c = t.typeArguments), 97 !== t.expression.kind && e.forEach(c, fg)),
        1 === r.length)
      ) {
        var p = r[0].declaration
        if (
          p &&
          e.isInJavaScriptFile(p) &&
          !e.hasJSDocParameterTags(p) &&
          Fn(p)
        ) {
          var f = Pr(r[0]),
            g = l(3, 'args')
          ;(g.type = Jv),
            (g.isRestParameter = !0),
            (f.parameters = e.concatenate(f.parameters, [g])),
            (f.hasRestParameter = !0),
            (r = [f])
        }
      }
      var m = n || []
      if ((Y_(r, m), !m.length))
        return (
          o(
            e.Diagnostics
              .Supplied_parameters_do_not_match_any_signature_of_call_target
          ),
          Q_(t)
        )
      var y,
        v = sl(t)
      if (!_)
        for (var h = u ? 1 : 0; h < v.length; h++)
          so(v[h]) && (y || (y = new Array(v.length)), (y[h] = !0))
      var b,
        k,
        x,
        C,
        S = n && 181 === t.kind && t.arguments.hasTrailingComma
      if (
        (m.length > 1 && (C = s(m, Yh, S)),
        C || ((b = void 0), (k = void 0), (x = void 0), (C = s(m, Zh, S))),
        C)
      )
        return C
      if (b) {
        if (d) return b
        il(t, v, b, Zh, void 0, !0)
      } else if (k)
        if (u || _ || !c) {
          e.Debug.assert(x.failedTypeParameterIndex >= 0)
          var D = k.typeParameters[x.failedTypeParameterIndex],
            T = Fs(x, x.failedTypeParameterIndex),
            E = 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,
              He(D)
            )
          a && (E = e.chainDiagnosticMessages(E, a)),
            Yo(T, t.tagName || t.expression || t.tag, E)
        } else {
          var N = t.typeArguments
          nl(k, N, e.map(N, Fi), !0, a)
        }
      else
        o(
          e.Diagnostics
            .Supplied_parameters_do_not_match_any_signature_of_call_target
        )
      if (!i)
        for (var A = 0, w = m; A < w.length; A++) {
          var P = w[A]
          if ($_(t, v, P))
            return P.typeParameters && c && (P = Jn(P, e.map(c, Fi))), P
        }
      return Q_(t)
    }
    function yl(t, r) {
      if (97 === t.expression.kind) {
        var n = _u(t.expression)
        if (n !== uv) {
          var a = e.getClassExtendsHeritageClauseElement(
            e.getContainingClass(t)
          )
          if (a) {
            var i = $t(n, a.typeArguments, a)
            return ml(t, i, r)
          }
        }
        return X_(t)
      }
      var o = R_(t.expression)
      if (o === xv) return dh
      var s = _n(o)
      if (s === uv) return Q_(t)
      var c = mn(s, 0),
        u = mn(s, 1)
      return vl(o, s, c.length, u.length)
        ? (o !== uv &&
            t.typeArguments &&
            _(
              t,
              e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments
            ),
          X_(t))
        : c.length
          ? ml(t, c, r)
          : (u.length
              ? _(
                  t,
                  e.Diagnostics
                    .Value_of_type_0_is_not_callable_Did_you_mean_to_include_new,
                  He(o)
                )
              : _(
                  t,
                  e.Diagnostics
                    .Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures,
                  He(s)
                ),
            Q_(t))
    }
    function vl(e, t, r, n) {
      return (
        !!dt(e) ||
        (!!(dt(t) && 16384 & e.flags) ||
          (!r && !n && (!(65536 & e.flags) && mo(e, Pv))))
      )
    }
    function hl(t, r) {
      if (t.arguments && zy < 1) {
        var n = Z_(t.arguments)
        n >= 0 &&
          _(
            t.arguments[n],
            e.Diagnostics
              .Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher
          )
      }
      var a = R_(t.expression)
      if (a === xv) return dh
      if (((a = _n(a)), a === uv)) return Q_(t)
      var i = a.symbol && Vf(a.symbol)
      if (i && 128 & e.getModifierFlags(i))
        return (
          _(
            t,
            e.Diagnostics.Cannot_create_an_instance_of_the_abstract_class_0,
            e.declarationNameToString(e.getNameOfDeclaration(i))
          ),
          Q_(t)
        )
      if (dt(a))
        return (
          t.typeArguments &&
            _(
              t,
              e.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments
            ),
          X_(t)
        )
      var o = mn(a, 1)
      if (o.length) return bl(t, o[0]) ? ml(t, o, r) : Q_(t)
      var s = mn(a, 0)
      if (s.length) {
        var c = ml(t, s, r)
        return (
          Ln(c) !== bv &&
            _(
              t,
              e.Diagnostics
                .Only_a_void_function_can_be_called_with_the_new_keyword
            ),
          Mn(c) === bv &&
            _(
              t,
              e.Diagnostics
                .A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void
            ),
          c
        )
      }
      return (
        _(
          t,
          e.Diagnostics
            .Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature
        ),
        Q_(t)
      )
    }
    function bl(t, r) {
      if (!r || !r.declaration) return !0
      var n = r.declaration,
        a = e.getModifierFlags(n)
      if (!(24 & a)) return !0
      var i = Vf(n.parent.symbol),
        o = mr(n.parent.symbol)
      if (!wg(t, i)) {
        var s = e.getContainingClass(t)
        if (s)
          for (var c = Bg(s), u = tr(c); u.length; ) {
            var l = u[0]
            if (16 & a && l.symbol === n.parent.symbol) return !0
            u = tr(l)
          }
        return (
          8 & a &&
            _(
              t,
              e.Diagnostics
                .Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration,
              He(o)
            ),
          16 & a &&
            _(
              t,
              e.Diagnostics
                .Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration,
              He(o)
            ),
          !1
        )
      }
      return !0
    }
    function kl(t, r) {
      var n = Vd(t.tag),
        a = _n(n)
      if (a === uv) return Q_(t)
      var i = mn(a, 0),
        o = mn(a, 1)
      return vl(n, a, i.length, o.length)
        ? X_(t)
        : i.length
          ? ml(t, i, r)
          : (_(
              t,
              e.Diagnostics
                .Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures,
              He(a)
            ),
            Q_(t))
    }
    function xl(t) {
      switch (t.parent.kind) {
        case 229:
        case 199:
          return e.Diagnostics
            .Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression
        case 146:
          return e.Diagnostics
            .Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression
        case 149:
          return e.Diagnostics
            .Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression
        case 151:
        case 153:
        case 154:
          return e.Diagnostics
            .Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression
      }
    }
    function Cl(t, r) {
      var n = Vd(t.expression),
        a = _n(n)
      if (a === uv) return Q_(t)
      var i = mn(a, 0),
        o = mn(a, 1)
      if (vl(n, a, i.length, o.length)) return X_(t)
      var s = xl(t)
      if (!i.length) {
        var c = void 0
        return (
          (c = e.chainDiagnosticMessages(
            c,
            e.Diagnostics
              .Cannot_invoke_an_expression_whose_type_lacks_a_call_signature_Type_0_has_no_compatible_call_signatures,
            He(a)
          )),
          (c = e.chainDiagnosticMessages(c, s)),
          Mh.add(e.createDiagnosticForNodeFromMessageChain(t, c)),
          Q_(t)
        )
      }
      return ml(t, i, r, s)
    }
    function Sl(t, r, n) {
      e.Debug.assert(!(65536 & r.flags))
      var a = Dl(t, r, n)
      return a
    }
    function Dl(e, t, r) {
      if (65536 & t.flags) {
        for (var n = t.types, a = void 0, i = 0, o = n; i < o.length; i++) {
          var s = o[i]
          a = a || Dl(e, s, r)
        }
        return a
      }
      var c = t && mn(t, 0)
      if (c && c.length > 0) {
        var u = void 0
        return (u = ml(e, c, r))
      }
    }
    function Tl(t, r) {
      switch (t.kind) {
        case 181:
          return yl(t, r)
        case 182:
          return hl(t, r)
        case 183:
          return kl(t, r)
        case 147:
          return Cl(t, r)
        case 251:
        case 250:
          return Dl(t, Vd(t.tagName), r)
      }
      e.Debug.fail("Branch in 'resolveSignature' should be unreachable.")
    }
    function El(e, t) {
      var r = k(e),
        n = r.resolvedSignature
      if (n && n !== lh && !t) return n
      r.resolvedSignature = lh
      var a = Tl(e, t)
      return (r.resolvedSignature = mh === yh ? a : n), a
    }
    function Nl(e) {
      return k(e).resolvedSignature === lh ? lh : El(e)
    }
    function Al(e) {
      var t = b(e)
      return (
        t.inferredClassType ||
          (t.inferredClassType = Oe(e, e.members, Ly, Ly, void 0, void 0)),
        t.inferredClassType
      )
    }
    function wl(t) {
      Km(t, t.typeArguments) || Vm(t, t.arguments)
      var r = El(t)
      if (97 === t.expression.kind) return bv
      if (182 === t.kind) {
        var n = r.declaration
        if (
          n &&
          152 !== n.kind &&
          156 !== n.kind &&
          161 !== n.kind &&
          !e.isJSDocConstructSignature(n)
        ) {
          var a =
            71 === t.expression.kind
              ? Ls(t.expression)
              : Vd(t.expression).symbol
          return (
            a &&
              e.isDeclarationOfFunctionOrClassExpression(a) &&
              (a = he(a.valueDeclaration.initializer)),
            a && a.members && 16 & a.flags
              ? Al(a)
              : (Uy &&
                  _(
                    t,
                    e.Diagnostics
                      .new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type
                  ),
                sv)
          )
        }
      }
      return e.isInJavaScriptFile(t) && Pl(t) ? Rn(t.arguments[0]) : Ln(r)
    }
    function Pl(t) {
      if (!e.isRequireCall(t, !0)) return !1
      var r = N(t.expression, t.expression.text, 107455, void 0, void 0)
      if (!r) return !0
      if (8388608 & r.flags) return !1
      var n = 16 & r.flags ? 228 : 3 & r.flags ? 226 : 0
      if (0 !== n) {
        var a = e.getDeclarationOfKind(r, n)
        return e.isInAmbientContext(a)
      }
      return !1
    }
    function Ol(e) {
      return Ln(El(e))
    }
    function Fl(t) {
      var r = fs(ns(Vd(t.expression)))
      fg(t.type)
      var n = Fi(t.type)
      if (i && n !== uv) {
        var a = vs(r)
        vo(n, a) ||
          xo(r, n, t, e.Diagnostics.Type_0_cannot_be_converted_to_type_1)
      }
      return n
    }
    function Il(e) {
      return _s(Vd(e.expression))
    }
    function Rl(t) {
      py(t)
      var r = e.getNewTargetContainer(t)
      if (r) {
        if (152 === r.kind) {
          var n = he(r.parent)
          return zt(n)
        }
        var n = he(r)
        return zt(n)
      }
      return (
        _(
          t,
          e.Diagnostics
            .Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor,
          'new.target'
        ),
        uv
      )
    }
    function Ml(e) {
      var t = zt(e)
      if (qy) {
        var r = e.valueDeclaration
        if (r && r.initializer) return cs(t, 2048)
      }
      return t
    }
    function Ll(e, t) {
      return e.hasRestParameter
        ? t < e.parameters.length - 1
          ? Ml(e.parameters[t])
          : Bn(e)
        : t < e.parameters.length
          ? Ml(e.parameters[t])
          : sv
    }
    function Bl(e) {
      return e.parameters.length > 0 ? Ll(e, 0) : kv
    }
    function Jl(t, r, n, a) {
      var i = t.parameters.length - (t.hasRestParameter ? 1 : 0)
      if (2 === a)
        for (var o = 0; o < i; o++) {
          var s = t.parameters[o].valueDeclaration
          s.type && As(n.context, Fi(s.type), Ll(r, o))
        }
      if (r.thisParameter) {
        var c = t.thisParameter
        ;(!c || (c.valueDeclaration && !c.valueDeclaration.type)) &&
          (c || (t.thisParameter = ds(r.thisParameter, void 0)),
          Kl(t.thisParameter, zt(r.thisParameter), n, a))
      }
      for (var o = 0; o < i; o++) {
        var c = t.parameters[o]
        if (!c.valueDeclaration.type) {
          var u = Ll(r, o)
          Kl(c, u, n, a)
        }
      }
      if (t.hasRestParameter && Wo(r, t.parameters.length - 1)) {
        var c = e.lastOrUndefined(t.parameters)
        if (!c.valueDeclaration.type) {
          var u = zt(e.lastOrUndefined(r.parameters))
          Kl(c, u, n, a)
        }
      }
    }
    function zl(t) {
      if (e.isBindingPattern(t.name))
        for (var r = 0, n = t.name.elements; r < n.length; r++) {
          var a = n[r]
          e.isOmittedExpression(a) ||
            (71 === a.name.kind && (b(he(a)).type = mt(a)), zl(a))
        }
    }
    function Kl(t, r, n, a) {
      var i = b(t)
      if (i.type) 2 === a && As(n.context, i.type, ao(r, n))
      else {
        i.type = ao(r, n)
        var o = e.getNameOfDeclaration(t.valueDeclaration)
        i.type !== Sv || (174 !== o.kind && 175 !== o.kind) || (i.type = Tt(o)),
          zl(t.valueDeclaration)
      }
    }
    function jl(t) {
      var r = e.getJSDocReturnTag(t)
      if (r && r.typeExpression) return Fi(r.typeExpression.type)
    }
    function Vl(e) {
      var t = ka(!0)
      return t !== Ev ? ((e = Dp(e) || Sv), Zn(t, [e])) : Sv
    }
    function ql(t, r) {
      var n = Vl(r)
      return n === Sv
        ? (_(
            t,
            e.Diagnostics
              .An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option
          ),
          uv)
        : (xa(!0) ||
            _(
              t,
              e.Diagnostics
                .An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option
            ),
          n)
    }
    function Ul(t, r) {
      var n = Ju(t)
      if (!t.body) return uv
      var a,
        i = e.getFunctionFlags(t)
      if (207 !== t.body.kind)
        (a = Fd(t.body, r)),
          2 & i &&
            (a = Sp(
              a,
              t,
              e.Diagnostics
                .The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
            ))
      else {
        var o = void 0
        if (1 & i) {
          if (((o = e.concatenate(Wl(t, r), Xl(t, r))), !o || 0 === o.length)) {
            var s = 2 & i ? Ra(sv) : La(sv)
            return (
              Uy &&
                _(
                  t.asteriskToken,
                  e.Diagnostics
                    .Generator_implicitly_has_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type,
                  He(s)
                ),
              s
            )
          }
        } else {
          if (((o = Xl(t, r)), !o)) return 2 & i ? ql(t, kv) : kv
          if (0 === o.length) return 2 & i ? ql(t, bv) : bv
        }
        ;(a = $a(o, !0)), 1 & i && (a = 2 & i ? Ra(a) : La(a))
      }
      n || ks(t, a), !ts(a) || (n && Md(n === Pn(t) ? a : Ln(n))) || (a = as(a))
      var c = vs(a)
      return 2 === (3 & i) ? ql(t, c) : c
    }
    function Wl(t, r) {
      var n = [],
        a = e.getFunctionFlags(t)
      return (
        e.forEachYieldExpression(t.body, function(t) {
          var i = t.expression
          if (i) {
            var o = Fd(i, r)
            t.asteriskToken && (o = vf(o, t.expression, !1, 0 !== (2 & a))),
              2 & a &&
                (o = Sp(
                  o,
                  i,
                  t.asteriskToken
                    ? e.Diagnostics
                        .Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
                    : e.Diagnostics
                        .Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
                )),
              e.contains(n, o) || n.push(o)
          }
        }),
        n
      )
    }
    function Hl(e) {
      if (!e.possiblyExhaustive) return !1
      var t = Kd(e.expression)
      if (!rs(t)) return !1
      var r = bc(e)
      return !!r.length && kc(Tc(t, Ti), r)
    }
    function Gl(t) {
      if (!(128 & t.flags)) return !1
      var r = e.lastOrUndefined(t.body.statements)
      return !r || 221 !== r.kind || !Hl(r)
    }
    function Xl(t, r) {
      var n = e.getFunctionFlags(t),
        a = [],
        i = Gl(t),
        o = !1
      if (
        (e.forEachReturnStatement(t.body, function(s) {
          var c = s.expression
          if (c) {
            var u = Fd(c, r)
            2 & n &&
              (u = Sp(
                u,
                t,
                e.Diagnostics
                  .The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
              )),
              8192 & u.flags ? (o = !0) : e.contains(a, u) || a.push(u)
          } else i = !0
        }),
        0 !== a.length || i || (!o && 186 !== t.kind && 187 !== t.kind))
      )
        return qy && a.length && i && (e.contains(a, _v) || a.push(_v)), a
    }
    function Ql(t, r) {
      if (
        i &&
        (!r || !_d(r, 1025)) &&
        !e.nodeIsMissing(t.body) &&
        207 === t.body.kind &&
        Gl(t)
      ) {
        var n = 256 & t.flags
        if (r && 8192 & r.flags)
          _(
            t.type,
            e.Diagnostics
              .A_function_returning_never_cannot_have_a_reachable_end_point
          )
        else if (r && !n)
          _(
            t.type,
            e.Diagnostics
              .A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value
          )
        else if (r && qy && !mo(_v, r))
          _(
            t.type,
            e.Diagnostics
              .Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined
          )
        else if (Jy.noImplicitReturns) {
          if (!r) {
            if (!n) return
            var a = Ln(Pn(t))
            if (Df(t, a)) return
          }
          _(t.type || t, e.Diagnostics.Not_all_code_paths_return_a_value)
        }
      }
    }
    function Yl(t, r) {
      e.Debug.assert(151 !== t.kind || e.isObjectLiteralMethod(t))
      var n = Rm(t)
      if ((n || 186 !== t.kind || Gm(t), 1 === r && so(t))) return gg(t), Nv
      var a = k(t),
        o = zt(t.symbol),
        s = so(t),
        c = s && 2 === r
      if (c || !(1024 & a.flags)) {
        var u = Ku(t),
          _ = !!(1024 & a.flags)
        if (c || !_) {
          if (((a.flags |= 1024), u)) {
            var l = mn(o, 0)[0]
            if (
              (s && Jl(l, u, Ru(t), r), c || (!t.type && !l.resolvedReturnType))
            ) {
              var d = Ul(t, r)
              l.resolvedReturnType || (l.resolvedReturnType = d)
            }
          }
          _ || (Yd(t), gg(t))
        }
      }
      return (
        i && 151 !== t.kind && (Qp(t, t.name), Wp(t, t.name), Hp(t, t.name)), o
      )
    }
    function Zl(t) {
      e.Debug.assert(151 !== t.kind || e.isObjectLiteralMethod(t))
      var r = e.getFunctionFlags(t),
        n = t.type && (2 === (3 & r) ? Tp(t) : Fi(t.type))
      if ((0 === (1 & r) && Ql(t, n), t.body)) {
        if ((t.type || Ln(Pn(t)), 207 === t.body.kind)) fg(t.body)
        else {
          var a = Vd(t.body)
          if (n)
            if (2 === (3 & r)) {
              var i = Sp(
                a,
                t.body,
                e.Diagnostics
                  .The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
              )
              ko(i, n, t.body)
            } else ko(a, n, t.body)
        }
        Fp(t)
      }
    }
    function $l(e, t, r) {
      return !!Hu(t, 340) || (_(e, r), !1)
    }
    function ed(e) {
      return !!(
        8 & C(e) ||
        (4 & e.flags && 64 & P_(e)) ||
        (3 & e.flags && 2 & O_(e)) ||
        (98304 & e.flags && !(65536 & e.flags)) ||
        8 & e.flags
      )
    }
    function td(t, r) {
      if (ed(r)) {
        if (
          4 & r.flags &&
          (179 === t.kind || 180 === t.kind) &&
          99 === t.expression.kind
        ) {
          var n = e.getContainingFunction(t)
          return (
            !n ||
            152 !== n.kind ||
            !(
              n.parent === r.valueDeclaration.parent ||
              n === r.valueDeclaration.parent
            )
          )
        }
        return !0
      }
      return !1
    }
    function rd(t) {
      if (179 === t.kind || 180 === t.kind) {
        var r = e.skipParentheses(t.expression)
        if (71 === r.kind) {
          var n = k(r).resolvedSymbol
          if (8388608 & n.flags) {
            var a = J(n)
            return a && 240 === a.kind
          }
        }
      }
      return !1
    }
    function nd(t, r) {
      var n = e.skipParentheses(t)
      return 71 === n.kind || 179 === n.kind || 180 === n.kind || (_(t, r), !1)
    }
    function ad(t) {
      Vd(t.expression)
      var r = e.skipParentheses(t.expression)
      if (179 !== r.kind && 180 !== r.kind)
        return (
          _(
            r,
            e.Diagnostics
              .The_operand_of_a_delete_operator_must_be_a_property_reference
          ),
          vv
        )
      var n = k(r),
        a = ke(n.resolvedSymbol)
      return (
        a &&
          ed(a) &&
          _(
            r,
            e.Diagnostics
              .The_operand_of_a_delete_operator_cannot_be_a_read_only_property
          ),
        vv
      )
    }
    function id(e) {
      return Vd(e.expression), Wh
    }
    function od(e) {
      return Vd(e.expression), lv
    }
    function sd(t) {
      i &&
        (16384 & t.flags ||
          gy(
            t,
            e.Diagnostics
              .await_expression_is_only_allowed_within_an_async_function
          ),
        hu(t) &&
          _(
            t,
            e.Diagnostics
              .await_expressions_cannot_be_used_in_a_parameter_initializer
          ))
      var r = Vd(t.expression)
      return Sp(
        r,
        t,
        e.Diagnostics
          .Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
      )
    }
    function cd(t) {
      var r = Vd(t.operand)
      if (r === xv) return xv
      if (38 === t.operator && 8 === t.operand.kind)
        return Di(Ei(64, '' + -t.operand.text))
      switch (t.operator) {
        case 37:
        case 38:
        case 52:
          return (
            M_(r, t.operand),
            _d(r, 512) &&
              _(
                t.operand,
                e.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol,
                e.tokenToString(t.operator)
              ),
            gv
          )
        case 51:
          var n = 3145728 & Zs(r)
          return 1048576 === n ? yv : 2097152 === n ? mv : vv
        case 43:
        case 44:
          var a = $l(
            t.operand,
            M_(r, t.operand),
            e.Diagnostics
              .An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type
          )
          return (
            a &&
              nd(
                t.operand,
                e.Diagnostics
                  .The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access
              ),
            gv
          )
      }
      return uv
    }
    function ud(t) {
      var r = Vd(t.operand)
      if (r === xv) return xv
      var n = $l(
        t.operand,
        M_(r, t.operand),
        e.Diagnostics
          .An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type
      )
      return (
        n &&
          nd(
            t.operand,
            e.Diagnostics
              .The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access
          ),
        gv
      )
    }
    function _d(e, t) {
      if (e.flags & t) return !0
      if (196608 & e.flags)
        for (var r = e.types, n = 0, a = r; n < a.length; n++) {
          var i = a[n]
          if (_d(i, t)) return !0
        }
      return !1
    }
    function ld(e, t) {
      if (e.flags & t) return !0
      if (65536 & e.flags) {
        for (var r = e.types, n = 0, a = r; n < a.length; n++) {
          var i = a[n]
          if (!ld(i, t)) return !1
        }
        return !0
      }
      if (131072 & e.flags)
        for (var r = e.types, o = 0, s = r; o < s.length; o++) {
          var i = s[o]
          if (ld(i, t)) return !0
        }
      return !1
    }
    function dd(e) {
      return 16 & x(e) && e.symbol && pd(e.symbol)
    }
    function pd(e) {
      return 0 !== (128 & e.flags)
    }
    function fd(t, r, n, a) {
      return n === xv || a === xv
        ? xv
        : (ld(n, 8190) &&
            _(
              t,
              e.Diagnostics
                .The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter
            ),
          dt(a) ||
            mn(a, 0).length ||
            mn(a, 1).length ||
            go(a, Pv) ||
            _(
              r,
              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
            ),
          vv)
    }
    function gd(t, r, n, a) {
      return n === xv || a === xv
        ? xv
        : ((n = M_(n, t)),
          (a = M_(a, r)),
          vo(n, fv) ||
            ld(n, 852) ||
            _(
              t,
              e.Diagnostics
                .The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol
            ),
          Hu(a, 17350656) ||
            _(
              r,
              e.Diagnostics
                .The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter
            ),
          vv)
    }
    function md(e, t) {
      for (var r = e.properties, n = 0, a = r; n < a.length; n++) {
        var i = a[n]
        yd(t, i, r)
      }
      return t
    }
    function yd(t, r, n) {
      if (261 === r.kind || 262 === r.kind) {
        var a = r.name
        if ((144 === a.kind && Qu(a), ft(a))) return
        var i = e.getTextOfPropertyName(a),
          o = dt(t) ? t : lt(t, i) || (Xu(i) && bn(t, 1)) || bn(t, 0)
        if (o) return 262 === r.kind ? bd(r, o) : bd(r.initializer, o)
        _(
          a,
          e.Diagnostics.Type_0_has_no_property_1_and_no_string_index_signature,
          He(t),
          e.declarationNameToString(a)
        )
      } else {
        if (263 === r.kind) {
          zy < 5 && Cm(r, 4)
          var s = []
          if (n) for (var c = 0; c < n.length - 1; c++) s.push(n[c].name)
          var o = gt(t, s, t.symbol)
          return bd(r.expression, o)
        }
        _(r, e.Diagnostics.Property_assignment_expected)
      }
    }
    function vd(e, t, r) {
      zy < 2 && Jy.downlevelIteration && Cm(e, 512)
      for (
        var n = vf(t, e, !1, !1) || uv, a = e.elements, i = 0;
        i < a.length;
        i++
      )
        hd(e, t, i, n, r)
      return t
    }
    function hd(t, r, n, a, i) {
      var o = t.elements,
        s = o[n]
      if (200 !== s.kind)
        if (198 !== s.kind) {
          var c = '' + n,
            u = dt(r) ? r : es(r) ? lt(r, c) : a
          if (u) return bd(s, u, i)
          Vd(s),
            is(r)
              ? _(
                  s,
                  e.Diagnostics
                    .Tuple_type_0_with_length_1_cannot_be_assigned_to_tuple_with_length_2,
                  He(r),
                  ea(r),
                  o.length
                )
              : _(s, e.Diagnostics.Type_0_has_no_property_1, He(r), c)
        } else if (n < o.length - 1)
          _(
            s,
            e.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern
          )
        else {
          var l = s.expression
          if (194 !== l.kind || 58 !== l.operatorToken.kind)
            return bd(l, Ba(a), i)
          _(
            l.operatorToken,
            e.Diagnostics.A_rest_element_cannot_have_an_initializer
          )
        }
    }
    function bd(e, t, r) {
      var n
      if (262 === e.kind) {
        var a = e
        a.objectAssignmentInitializer &&
          (!qy ||
            2048 & ss(Vd(a.objectAssignmentInitializer)) ||
            (t = $s(t, 131072)),
          Td(a.name, a.equalsToken, a.objectAssignmentInitializer, r)),
          (n = e.name)
      } else n = e
      return (
        194 === n.kind &&
          58 === n.operatorToken.kind &&
          (Dd(n, r), (n = n.left)),
        178 === n.kind ? md(n, t) : 177 === n.kind ? vd(n, t, r) : kd(n, t, r)
      )
    }
    function kd(t, r, n) {
      var a = Vd(t, n),
        i =
          263 === t.parent.kind
            ? e.Diagnostics
                .The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access
            : e.Diagnostics
                .The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access
      return nd(t, i) && ko(r, a, t, void 0), r
    }
    function xd(t) {
      switch (((t = e.skipParentheses(t)), t.kind)) {
        case 71:
        case 9:
        case 12:
        case 183:
        case 196:
        case 13:
        case 8:
        case 101:
        case 86:
        case 95:
        case 139:
        case 186:
        case 199:
        case 187:
        case 177:
        case 178:
        case 189:
        case 203:
        case 250:
        case 249:
          return !0
        case 195:
          return xd(t.whenTrue) && xd(t.whenFalse)
        case 194:
          return (
            !e.isAssignmentOperator(t.operatorToken.kind) &&
            (xd(t.left) && xd(t.right))
          )
        case 192:
        case 193:
          switch (t.operator) {
            case 51:
            case 37:
            case 38:
            case 52:
              return !0
          }
          return !1
        case 190:
        case 184:
        case 202:
        default:
          return !1
      }
    }
    function Cd(e, t) {
      return 0 !== (6144 & t.flags) || vo(e, t)
    }
    function Sd(e, t) {
      var r = mo(e, t),
        n = mo(t, e)
      return n && !r ? e : r && !n ? t : $a([e, t], !0)
    }
    function Dd(e, t) {
      return Td(e.left, e.operatorToken, e.right, t, e)
    }
    function Td(t, r, n, a, o) {
      function s(e) {
        return 71 === e.kind && 'eval' === e.text
      }
      function c(r) {
        var a = _d(f, 512) ? t : _d(g, 512) ? n : void 0
        return (
          !a ||
          (_(
            a,
            e.Diagnostics.The_0_operator_cannot_be_applied_to_type_symbol,
            e.tokenToString(r)
          ),
          !1)
        )
      }
      function u(e) {
        switch (e) {
          case 49:
          case 69:
            return 54
          case 50:
          case 70:
            return 35
          case 48:
          case 68:
            return 53
          default:
            return
        }
      }
      function l(r) {
        i &&
          p >= 58 &&
          p <= 70 &&
          nd(
            t,
            e.Diagnostics
              .The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access
          ) &&
          ko(r, f, t, void 0)
      }
      function d() {
        _(
          o || r,
          e.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2,
          e.tokenToString(r.kind),
          He(f),
          He(g)
        )
      }
      var p = r.kind
      if (58 === p && (178 === t.kind || 177 === t.kind))
        return bd(t, Vd(n, a), a)
      var f = Vd(t, a),
        g = Vd(n, a)
      switch (p) {
        case 39:
        case 40:
        case 61:
        case 62:
        case 41:
        case 63:
        case 42:
        case 64:
        case 38:
        case 60:
        case 45:
        case 65:
        case 46:
        case 66:
        case 47:
        case 67:
        case 49:
        case 69:
        case 50:
        case 70:
        case 48:
        case 68:
          if (f === xv || g === xv) return xv
          ;(f = M_(f, t)), (g = M_(g, n))
          var m = void 0
          if (136 & f.flags && 136 & g.flags && void 0 !== (m = u(r.kind)))
            _(
              o || r,
              e.Diagnostics
                .The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead,
              e.tokenToString(r.kind),
              e.tokenToString(m)
            )
          else {
            var y = $l(
                t,
                f,
                e.Diagnostics
                  .The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type
              ),
              v = $l(
                n,
                g,
                e.Diagnostics
                  .The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type
              )
            y && v && l(gv)
          }
          return gv
        case 37:
        case 59:
          if (f === xv || g === xv) return xv
          ld(f, 262179) || ld(g, 262179) || ((f = M_(f, t)), (g = M_(g, n)))
          var h = void 0
          if (ld(f, 340) && ld(g, 340)) h = gv
          else if (
            (ld(f, 262178) || ld(g, 262178)
              ? (h = fv)
              : (dt(f) || dt(g)) && (h = f === uv || g === uv ? uv : sv),
            h && !c(p))
          )
            return h
          return h ? (59 === p && l(h), h) : (d(), sv)
        case 27:
        case 29:
        case 30:
        case 31:
          return (
            c(p) &&
              ((f = ns(M_(f, t))),
              (g = ns(M_(g, n))),
              vo(f, g) || vo(g, f) || d()),
            vv
          )
        case 32:
        case 33:
        case 34:
        case 35:
          var b = rs(f),
            k = rs(g)
          return (
            (b && k) || ((f = b ? ns(f) : f), (g = k ? ns(g) : g)),
            Cd(f, g) || Cd(g, f) || d(),
            vv
          )
        case 93:
          return fd(t, n, f, g)
        case 92:
          return gd(t, n, f, g)
        case 53:
          return 1048576 & Zs(f) ? cs(g, ss(qy ? f : ns(g))) : f
        case 54:
          return 2097152 & Zs(f) ? Sd(us(f), g) : f
        case 58:
          return l(g), fs(g)
        case 26:
          return (
            Jy.allowUnreachableCode ||
              !xd(t) ||
              s(n) ||
              _(
                t,
                e.Diagnostics
                  .Left_side_of_comma_operator_is_unused_and_has_no_side_effects
              ),
            g
          )
      }
    }
    function Ed(t) {
      for (var r = t, n = t.parent; n; ) {
        if (e.isFunctionLike(n) && r === n.body) return !1
        if (e.isClassLike(r)) return !0
        ;(r = n), (n = n.parent)
      }
      return !1
    }
    function Nd(t) {
      if (
        (i &&
          ((4096 & t.flags && !Ed(t)) ||
            gy(
              t,
              e.Diagnostics
                .A_yield_expression_is_only_allowed_in_a_generator_body
            ),
          hu(t) &&
            _(
              t,
              e.Diagnostics
                .yield_expressions_cannot_be_used_in_a_parameter_initializer
            )),
        t.expression)
      ) {
        var r = e.getContainingFunction(t),
          n = r && e.getFunctionFlags(r)
        if (
          (t.asteriskToken &&
            (3 === (3 & n) && zy < 5 && Cm(t, 26624),
            1 === (3 & n) && zy < 2 && Jy.downlevelIteration && Cm(t, 256)),
          1 & n)
        ) {
          var a = Fd(t.expression, void 0),
            o = void 0,
            s = !!t.asteriskToken
          if ((s && (o = vf(a, t.expression, !1, 0 !== (2 & n))), r.type)) {
            var c = xf(Fi(r.type), 0 !== (2 & n)) || sv
            s
              ? ko(
                  2 & n
                    ? Dp(
                        o,
                        t.expression,
                        e.Diagnostics
                          .Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
                      )
                    : o,
                  c,
                  t.expression,
                  void 0
                )
              : ko(
                  2 & n
                    ? Dp(
                        a,
                        t.expression,
                        e.Diagnostics
                          .Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
                      )
                    : a,
                  c,
                  t.expression,
                  void 0
                )
          }
        }
      }
      return sv
    }
    function Ad(e, t) {
      Vd(e.condition)
      var r = Vd(e.whenTrue, t),
        n = Vd(e.whenFalse, t)
      return Sd(r, n)
    }
    function wd(e) {
      switch ((8 === e.kind && Dy(e), e.kind)) {
        case 9:
          return Di(Ei(32, e.text))
        case 8:
          return Di(Ei(64, e.text))
        case 101:
          return mv
        case 86:
          return yv
      }
    }
    function Pd(t) {
      return (
        e.forEach(t.templateSpans, function(e) {
          Vd(e.expression)
        }),
        fv
      )
    }
    function Od(e, t, r) {
      var n = e.contextualType,
        a = e.contextualMapper
      ;(e.contextualType = t), (e.contextualMapper = r)
      var i = r === Ui ? 1 : r ? 2 : 0,
        o = Vd(e, i)
      return (e.contextualType = n), (e.contextualMapper = a), o
    }
    function Fd(e, t) {
      var r = k(e)
      if (!r.resolvedType) {
        var n = mh
        ;(mh = yh), (r.resolvedType = Vd(e, t)), (mh = n)
      }
      return r.resolvedType
    }
    function Id(t) {
      return (t = e.skipParentheses(t)), 184 === t.kind || 202 === t.kind
    }
    function Rd(t) {
      var r = Kd(t.initializer, !0)
      return 2 & e.getCombinedNodeFlags(t) ||
        (64 & e.getCombinedModifierFlags(t) &&
          !e.isParameterPropertyDeclaration(t)) ||
        Id(t.initializer)
        ? r
        : as(r)
    }
    function Md(e) {
      if (e) {
        if (540672 & e.flags) {
          var t = an(e) || Sv
          if (30 & t.flags) return !0
          e = t
        }
        return _d(e, 262624)
      }
      return !1
    }
    function Ld(e, t) {
      var r = Vd(e, t)
      return Id(e) || Md(Iu(e)) ? r : as(r)
    }
    function Bd(e, t) {
      return 144 === e.name.kind && Qu(e.name), Ld(e.initializer, t)
    }
    function Jd(e, t) {
      ny(e), 144 === e.name.kind && Qu(e.name)
      var r = Yl(e, t)
      return zd(e, r, t)
    }
    function zd(e, t, r) {
      if (2 === r) {
        var n = el(t)
        if (n && n.typeParameters) {
          var a = Fu(e)
          if (a) {
            var i = el(a)
            if (i && !i.typeParameters) return jn(tl(n, i, Ru(e)))
          }
        }
      }
      return t
    }
    function Kd(t, r) {
      if (
        181 === t.kind &&
        97 !== t.expression.kind &&
        !e.isRequireCall(t, !0)
      ) {
        var n = R_(t.expression),
          a = el(n)
        if (a && !a.typeParameters) return Ln(a)
      }
      return r ? Fd(t) : Vd(t)
    }
    function jd(e) {
      var t = e.contextualType
      e.contextualType = sv
      var r = Kd(e)
      return (e.contextualType = t), r
    }
    function Vd(t, r) {
      var n
      if (143 === t.kind) n = B_(t)
      else {
        var a = qd(t, r)
        n = zd(t, a, r)
      }
      if (dd(n)) {
        var i =
          (179 === t.parent.kind && t.parent.expression === t) ||
          (180 === t.parent.kind && t.parent.expression === t) ||
          ((71 === t.kind || 143 === t.kind) && Og(t))
        i ||
          _(
            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 n
    }
    function qd(t, r) {
      switch (t.kind) {
        case 71:
          return Zc(t)
        case 99:
          return su(t)
        case 97:
          return _u(t)
        case 95:
          return pv
        case 9:
        case 8:
        case 101:
        case 86:
          return wd(t)
        case 196:
          return Pd(t)
        case 13:
          return fv
        case 12:
          return Lv
        case 177:
          return qu(t, r)
        case 178:
          return Zu(t, r)
        case 179:
          return L_(t)
        case 180:
          return H_(t)
        case 181:
        case 182:
          return wl(t)
        case 183:
          return Ol(t)
        case 185:
          return Vd(t.expression, r)
        case 199:
          return Lf(t)
        case 186:
        case 187:
          return Yl(t, r)
        case 189:
          return id(t)
        case 184:
        case 202:
          return Fl(t)
        case 203:
          return Il(t)
        case 204:
          return Rl(t)
        case 188:
          return ad(t)
        case 190:
          return od(t)
        case 191:
          return sd(t)
        case 192:
          return cd(t)
        case 193:
          return ud(t)
        case 194:
          return Dd(t, r)
        case 195:
          return Ad(t, r)
        case 198:
          return ju(t, r)
        case 200:
          return lv
        case 197:
          return Nd(t)
        case 256:
          return A_(t, r)
        case 249:
          return t_(t)
        case 250:
          return e_(t)
        case 254:
          return i_(t, r)
        case 251:
          e.Debug.fail("Shouldn't ever directly check a JsxOpeningElement")
      }
      return uv
    }
    function Ud(t) {
      t.expression && gy(t.expression, e.Diagnostics.Type_expected),
        fg(t.constraint),
        fg(t['default'])
      var r = fr(he(t))
      on(r) ||
        _(
          t.constraint,
          e.Diagnostics.Type_parameter_0_has_a_circular_constraint,
          He(r)
        )
      var n = rn(r),
        a = un(r)
      n &&
        a &&
        ko(
          a,
          Tr(n, a),
          t['default'],
          e.Diagnostics.Type_0_does_not_satisfy_the_constraint_1
        ),
        i && Ff(t.name, e.Diagnostics.Type_parameter_name_cannot_be_0)
    }
    function Wd(t) {
      Tm(t) || Em(t), rf(t)
      var r = e.getContainingFunction(t)
      92 & e.getModifierFlags(t) &&
        ((r = e.getContainingFunction(t)),
        (152 === r.kind && e.nodeIsPresent(r.body)) ||
          _(
            t,
            e.Diagnostics
              .A_parameter_property_is_only_allowed_in_a_constructor_implementation
          )),
        t.questionToken &&
          e.isBindingPattern(t.name) &&
          r.body &&
          _(
            t,
            e.Diagnostics
              .A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature
          ),
        'this' === t.name.text &&
          (0 !== e.indexOf(r.parameters, t) &&
            _(t, e.Diagnostics.A_this_parameter_must_be_the_first_parameter),
          (152 !== r.kind && 156 !== r.kind && 161 !== r.kind) ||
            _(t, e.Diagnostics.A_constructor_cannot_have_a_this_parameter)),
        !t.dotDotDotToken ||
          e.isBindingPattern(t.name) ||
          Zo(zt(t.symbol)) ||
          _(t, e.Diagnostics.A_rest_parameter_must_be_of_an_array_type)
    }
    function Hd(e, t) {
      if (e)
        for (var r = 0; r < e.length; r++) {
          var n = e[r]
          if (71 === n.name.kind && n.name.text === t.text) return r
        }
      return -1
    }
    function Gd(t) {
      var r = Xd(t)
      if (!r)
        return void _(
          t,
          e.Diagnostics
            .A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods
        )
      var n = Pn(r).typePredicate
      if (n) {
        var a = t.parameterName
        if (e.isThisTypePredicate(n)) Oi(a)
        else if (n.parameterIndex >= 0)
          if (r.parameters[n.parameterIndex].dotDotDotToken)
            _(
              a,
              e.Diagnostics.A_type_predicate_cannot_reference_a_rest_parameter
            )
          else {
            var i = e.chainDiagnosticMessages(
              void 0,
              e.Diagnostics
                .A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type
            )
            ko(n.type, Bg(r.parameters[n.parameterIndex]), t.type, void 0, i)
          }
        else if (a) {
          for (var o = !1, s = 0, c = r.parameters; s < c.length; s++) {
            var u = c[s].name
            if (e.isBindingPattern(u) && Qd(u, a, n.parameterName)) {
              o = !0
              break
            }
          }
          o ||
            _(
              t.parameterName,
              e.Diagnostics.Cannot_find_parameter_0,
              n.parameterName
            )
        }
      }
    }
    function Xd(e) {
      switch (e.parent.kind) {
        case 187:
        case 155:
        case 228:
        case 186:
        case 160:
        case 151:
        case 150:
          var t = e.parent
          if (e === t.type) return t
      }
    }
    function Qd(t, r, n) {
      for (var a = 0, i = t.elements; a < i.length; a++) {
        var o = i[a]
        if (!e.isOmittedExpression(o)) {
          var s = o.name
          if (71 === s.kind && s.text === n)
            return (
              _(
                r,
                e.Diagnostics
                  .A_type_predicate_cannot_reference_element_0_in_a_binding_pattern,
                n
              ),
              !0
            )
          if ((175 === s.kind || 174 === s.kind) && Qd(s, r, n)) return !0
        }
      }
    }
    function Yd(t) {
      157 === t.kind
        ? Jm(t)
        : (160 !== t.kind &&
            228 !== t.kind &&
            161 !== t.kind &&
            155 !== t.kind &&
            152 !== t.kind &&
            156 !== t.kind) ||
          Rm(t)
      var r = e.getFunctionFlags(t)
      if (
        (4 & r ||
          (3 === (3 & r) && zy < 5 && Cm(t, 6144),
          2 === (3 & r) && zy < 4 && Cm(t, 64),
          0 !== (3 & r) && zy < 2 && Cm(t, 128)),
        If(t.typeParameters),
        e.forEach(t.parameters, Wd),
        t.type && fg(t.type),
        i)
      ) {
        if ((qp(t), Uy && !t.type))
          switch (t.kind) {
            case 156:
              _(
                t,
                e.Diagnostics
                  .Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type
              )
              break
            case 155:
              _(
                t,
                e.Diagnostics
                  .Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type
              )
          }
        if (t.type) {
          var n = e.getFunctionFlags(t)
          if (1 === (5 & n)) {
            var a = Fi(t.type)
            if (a === bv)
              _(
                t.type,
                e.Diagnostics.A_generator_cannot_have_a_void_type_annotation
              )
            else {
              var o = xf(a, 0 !== (2 & n)) || sv,
                s = 2 & n ? Ra(o) : La(o)
              ko(s, a, t.type)
            }
          } else 2 === (3 & n) && Tp(t)
        }
        jy && !t.body && Kp(t)
      }
    }
    function Zd(t) {
      function r(t, r, n, a) {
        var i = t.get(n)
        i
          ? 4 & i
            ? 4 !== a &&
              _(r, e.Diagnostics.Duplicate_identifier_0, e.getTextOfNode(r))
            : i & a
              ? _(r, e.Diagnostics.Duplicate_identifier_0, e.getTextOfNode(r))
              : t.set(n, i | a)
          : t.set(n, a)
      }
      var n
      !(function(e) {
        ;(e[(e.Getter = 1)] = 'Getter'),
          (e[(e.Setter = 2)] = 'Setter'),
          (e[(e.Method = 4)] = 'Method'),
          (e[(e.Property = 3)] = 'Property')
      })(n || (n = {}))
      for (
        var a = e.createMap(), i = e.createMap(), o = 0, s = t.members;
        o < s.length;
        o++
      ) {
        var c = s[o]
        if (152 === c.kind)
          for (var u = 0, l = c.parameters; u < l.length; u++) {
            var d = l[u]
            e.isParameterPropertyDeclaration(d) && r(a, d.name, d.name.text, 3)
          }
        else {
          var p = 32 & e.getModifierFlags(c),
            f = p ? i : a,
            g = c.name && e.getPropertyNameForPropertyNameNode(c.name)
          if (g)
            switch (c.kind) {
              case 153:
                r(f, c.name, g, 1)
                break
              case 154:
                r(f, c.name, g, 2)
                break
              case 149:
                r(f, c.name, g, 3)
                break
              case 151:
                r(f, c.name, g, 4)
            }
        }
      }
    }
    function $d(t) {
      for (var r = 0, n = t.members; r < n.length; r++) {
        var a = n[r],
          i = a.name,
          o = 32 & e.getModifierFlags(a)
        if (o && i) {
          var s = e.getPropertyNameForPropertyNameNode(i)
          switch (s) {
            case 'name':
            case 'length':
            case 'caller':
            case 'arguments':
            case 'prototype':
              var c =
                  e.Diagnostics
                    .Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1,
                u = tt(he(t))
              _(i, c, s, u)
          }
        }
      }
    }
    function ep(t) {
      for (var r = e.createMap(), n = 0, a = t.members; n < a.length; n++) {
        var i = a[n]
        if (148 === i.kind) {
          var o = void 0
          switch (i.name.kind) {
            case 9:
            case 8:
            case 71:
              o = i.name.text
              break
            default:
              continue
          }
          r.get(o)
            ? (_(
                e.getNameOfDeclaration(i.symbol.valueDeclaration),
                e.Diagnostics.Duplicate_identifier_0,
                o
              ),
              _(i.name, e.Diagnostics.Duplicate_identifier_0, o))
            : r.set(o, !0)
        }
      }
    }
    function tp(t) {
      if (230 === t.kind) {
        var r = he(t)
        if (r.declarations.length > 0 && r.declarations[0] !== t) return
      }
      var n = Vn(he(t))
      if (n)
        for (var a = !1, i = !1, o = 0, s = n.declarations; o < s.length; o++) {
          var c = s[o],
            u = c
          if (1 === u.parameters.length && u.parameters[0].type)
            switch (u.parameters[0].type.kind) {
              case 136:
                i
                  ? _(u, e.Diagnostics.Duplicate_string_index_signature)
                  : (i = !0)
                break
              case 133:
                a
                  ? _(u, e.Diagnostics.Duplicate_number_index_signature)
                  : (a = !0)
            }
        }
    }
    function rp(e) {
      Tm(e) || Em(e) || by(e) || Hm(e.name), rf(e)
    }
    function np(t) {
      ny(t) || Hm(t.name),
        Op(t),
        128 & e.getModifierFlags(t) &&
          t.body &&
          _(
            t,
            e.Diagnostics
              .Method_0_cannot_have_an_implementation_because_it_is_marked_abstract,
            e.declarationNameToString(t.name)
          )
    }
    function ap(t) {
      function r(t) {
        return !(149 !== t.kind || 32 & e.getModifierFlags(t) || !t.initializer)
      }
      Yd(t), vy(t) || hy(t), fg(t.body), Fp(t)
      var n = he(t),
        a = e.getDeclarationOfKind(n, t.kind)
      if ((t === a && bp(n), !e.nodeIsMissing(t.body) && i)) {
        var o = t.parent
        if (e.getClassExtendsHeritageClauseElement(o)) {
          ru(t.parent, o)
          var s = iu(o),
            c = au(t)
          if (c) {
            s &&
              _(
                c,
                e.Diagnostics
                  .A_constructor_cannot_contain_a_super_call_when_its_class_extends_null
              )
            var u =
              e.forEach(t.parent.members, r) ||
              e.forEach(t.parameters, function(t) {
                return 92 & e.getModifierFlags(t)
              })
            if (u) {
              for (
                var l = t.body.statements, d = void 0, p = 0, f = l;
                p < f.length;
                p++
              ) {
                var g = f[p]
                if (210 === g.kind && e.isSuperCall(g.expression)) {
                  d = g
                  break
                }
                if (!e.isPrologueDirective(g)) break
              }
              d ||
                _(
                  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
            s ||
              _(
                t,
                e.Diagnostics
                  .Constructors_for_derived_classes_must_contain_a_super_call
              )
        }
      }
    }
    function ip(t) {
      if (i) {
        if (
          (Rm(t) || $m(t) || Hm(t.name),
          wp(t),
          Yd(t),
          153 === t.kind &&
            !e.isInAmbientContext(t) &&
            e.nodeIsPresent(t.body) &&
            128 & t.flags &&
            (256 & t.flags ||
              _(t.name, e.Diagnostics.A_get_accessor_must_return_a_value)),
          144 === t.name.kind && Qu(t.name),
          !e.hasDynamicName(t))
        ) {
          var r = 153 === t.kind ? 154 : 153,
            n = e.getDeclarationOfKind(t.symbol, r)
          n &&
            ((28 & e.getModifierFlags(t)) !== (28 & e.getModifierFlags(n)) &&
              _(
                t.name,
                e.Diagnostics
                  .Getter_and_setter_accessors_do_not_agree_in_visibility
              ),
            e.hasModifier(t, 128) !== e.hasModifier(n, 128) &&
              _(
                t.name,
                e.Diagnostics.Accessors_must_both_be_abstract_or_non_abstract
              ),
            op(
              t,
              n,
              wt,
              e.Diagnostics.get_and_set_accessor_must_have_the_same_type
            ),
            op(
              t,
              n,
              Ot,
              e.Diagnostics.get_and_set_accessor_must_have_the_same_this_type
            ))
        }
        var a = Ft(he(t))
        153 === t.kind && Ql(t, a)
      }
      fg(t.body), Fp(t)
    }
    function op(e, t, r, n) {
      var a = r(e),
        i = r(t)
      a && i && !lo(a, i) && _(e, n)
    }
    function sp(e) {
      wp(e)
    }
    function cp(t, r) {
      for (var n, a, i = An(t), o = !0, s = 0; s < t.length; s++) {
        var c = rn(t[s])
        if (c) {
          n || ((n = wn(e.map(r, Fi), t, i)), (a = Ki(t, n)))
          var u = n[s]
          o =
            o &&
            ko(
              u,
              Tr(ao(c, a), u),
              r[s],
              e.Diagnostics.Type_0_does_not_satisfy_the_constraint_1
            )
        }
      }
      return o
    }
    function up(t) {
      Km(t, t.typeArguments)
      var r = _a(t)
      if (r !== uv) {
        if (t.typeArguments && (e.forEach(t.typeArguments, fg), i)) {
          var n = k(t).resolvedSymbol,
            a =
              524288 & n.flags
                ? b(n).typeParameters
                : r.target.localTypeParameters
          cp(a, t.typeArguments)
        }
        16 & r.flags &&
          !r.memberTypes &&
          8 & k(t).resolvedSymbol.flags &&
          _(
            t,
            e.Diagnostics
              .Enum_type_0_has_members_with_initializers_that_are_not_literals,
            He(r)
          )
      }
    }
    function _p(e) {
      la(e)
    }
    function lp(t) {
      if ((e.forEach(t.members, fg), i)) {
        var r = vi(t)
        Of(r), tp(t), ep(t)
      }
    }
    function dp(e) {
      fg(e.elementType)
    }
    function pp(t) {
      var r = Om(t.elementTypes)
      r ||
        0 !== t.elementTypes.length ||
        yy(t, e.Diagnostics.A_tuple_type_element_list_cannot_be_empty),
        e.forEach(t.elementTypes, fg)
    }
    function fp(t) {
      e.forEach(t.types, fg)
    }
    function gp(t, r) {
      if (!(524288 & t.flags)) return t
      var n = t.objectType,
        a = t.indexType
      if (mo(a, ui(n))) return t
      if (_d(n, 540672) && ld(a, 340)) {
        var i = an(n)
        if (i && hn(i, 1)) return t
      }
      return (
        _(r, e.Diagnostics.Type_0_cannot_be_used_to_index_type_1, He(a), He(n)),
        t
      )
    }
    function mp(e) {
      gp(mi(e), e)
    }
    function yp(e) {
      fg(e.typeParameter), fg(e.type)
      var t = yi(e),
        r = Wr(t)
      ko(r, fv, e.typeParameter.constraint)
    }
    function vp(t) {
      return 8 & e.getModifierFlags(t) && e.isInAmbientContext(t)
    }
    function hp(t, r) {
      var n = e.getCombinedModifierFlags(t)
      return (
        230 !== t.parent.kind &&
          229 !== t.parent.kind &&
          199 !== t.parent.kind &&
          e.isInAmbientContext(t) &&
          (2 & n || (n |= 1), (n |= 2)),
        n & r
      )
    }
    function bp(t) {
      function r(e, t) {
        var r = void 0 !== t && t.parent === e[0].parent
        return r ? t : e[0]
      }
      function n(t, n, a, i, o) {
        var s = i ^ o
        if (0 !== s) {
          var c = hp(r(t, n), a)
          e.forEach(t, function(t) {
            var r = hp(t, a) ^ c
            1 & r
              ? _(
                  e.getNameOfDeclaration(t),
                  e.Diagnostics
                    .Overload_signatures_must_all_be_exported_or_non_exported
                )
              : 2 & r
                ? _(
                    e.getNameOfDeclaration(t),
                    e.Diagnostics
                      .Overload_signatures_must_all_be_ambient_or_non_ambient
                  )
                : 24 & r
                  ? _(
                      e.getNameOfDeclaration(t) || t,
                      e.Diagnostics
                        .Overload_signatures_must_all_be_public_private_or_protected
                    )
                  : 128 & r &&
                    _(
                      e.getNameOfDeclaration(t),
                      e.Diagnostics
                        .Overload_signatures_must_all_be_abstract_or_non_abstract
                    )
          })
        }
      }
      function a(t, n, a, i) {
        if (a !== i) {
          var o = e.hasQuestionToken(r(t, n))
          e.forEach(t, function(t) {
            var r = e.hasQuestionToken(t) !== o
            r &&
              _(
                e.getNameOfDeclaration(t),
                e.Diagnostics
                  .Overload_signatures_must_all_be_optional_or_required
              )
          })
        }
      }
      function o(t) {
        if (!t.name || !e.nodeIsMissing(t.name)) {
          var r = !1,
            n = e.forEachChild(t.parent, function(e) {
              return r ? e : void (r = e === t)
            })
          if (n && n.pos === t.end && n.kind === t.kind) {
            var a = n.name || n
            if (t.name && n.name && t.name.text === n.name.text) {
              var i =
                (151 === t.kind || 150 === t.kind) &&
                (32 & e.getModifierFlags(t)) !== (32 & e.getModifierFlags(n))
              if (i) {
                var o =
                  32 & e.getModifierFlags(t)
                    ? e.Diagnostics.Function_overload_must_be_static
                    : e.Diagnostics.Function_overload_must_not_be_static
                _(a, o)
              }
              return
            }
            if (e.nodeIsPresent(n.body))
              return void _(
                a,
                e.Diagnostics.Function_implementation_name_must_be_0,
                e.declarationNameToString(t.name)
              )
          }
          var s = t.name || t
          v
            ? _(s, e.Diagnostics.Constructor_implementation_is_missing)
            : 128 & e.getModifierFlags(t)
              ? _(
                  s,
                  e.Diagnostics
                    .All_declarations_of_an_abstract_method_must_be_consecutive
                )
              : _(
                  s,
                  e.Diagnostics
                    .Function_implementation_is_missing_or_not_immediately_following_the_declaration
                )
        }
      }
      if (i) {
        for (
          var s,
            c,
            u,
            l = 155,
            d = 0,
            p = l,
            f = !1,
            g = !0,
            m = !1,
            y = t.declarations,
            v = 0 !== (16384 & t.flags),
            h = !1,
            b = !1,
            k = 0,
            x = y;
          k < x.length;
          k++
        ) {
          var C = x[k],
            S = C,
            D = e.isInAmbientContext(S),
            T = 230 === S.parent.kind || 163 === S.parent.kind || D
          if (
            (T && (u = void 0),
            228 === S.kind ||
              151 === S.kind ||
              150 === S.kind ||
              152 === S.kind)
          ) {
            var E = hp(S, l)
            ;(d |= E),
              (p &= E),
              (f = f || e.hasQuestionToken(S)),
              (g = g && e.hasQuestionToken(S)),
              e.nodeIsPresent(S.body) && s
                ? v
                  ? (b = !0)
                  : (h = !0)
                : u && u.parent === S.parent && u.end !== S.pos && o(u),
              e.nodeIsPresent(S.body) ? s || (s = S) : (m = !0),
              (u = S),
              T || (c = S)
          }
        }
        if (
          (b &&
            e.forEach(y, function(t) {
              _(
                t,
                e.Diagnostics
                  .Multiple_constructor_implementations_are_not_allowed
              )
            }),
          h &&
            e.forEach(y, function(t) {
              _(
                e.getNameOfDeclaration(t),
                e.Diagnostics.Duplicate_function_implementation
              )
            }),
          !c ||
            c.body ||
            128 & e.getModifierFlags(c) ||
            c.questionToken ||
            o(c),
          m && (n(y, s, l, d, p), a(y, s, f, g), s))
        )
          for (var N = In(t), A = Pn(s), w = 0, P = N; w < P.length; w++) {
            var O = P[w]
            if (!To(A, O)) {
              _(
                O.declaration,
                e.Diagnostics
                  .Overload_signature_is_not_compatible_with_function_implementation
              )
              break
            }
          }
      }
    }
    function kp(t) {
      function r(t) {
        switch (t.kind) {
          case 230:
            return 2097152
          case 233:
            return e.isAmbientModule(t) || 0 !== e.getModuleInstanceState(t)
              ? 5242880
              : 4194304
          case 229:
          case 232:
            return 3145728
          case 237:
            var n = 0,
              a = $(he(t))
            return (
              e.forEach(a.declarations, function(e) {
                n |= r(e)
              }),
              n
            )
          default:
            return 1048576
        }
      }
      if (i) {
        var n = t.localSymbol
        if (
          (n || ((n = he(t)), 7340032 & n.flags)) &&
          e.getDeclarationOfKind(n, t.kind) === t
        ) {
          for (
            var a = 0, o = 0, s = 0, c = 0, u = n.declarations;
            c < u.length;
            c++
          ) {
            var l = u[c],
              d = r(l),
              p = hp(l, 513)
            1 & p ? (512 & p ? (s |= d) : (a |= d)) : (o |= d)
          }
          var f = a | o,
            g = a & o,
            m = s & f
          if (g || m)
            for (var y = 0, v = n.declarations; y < v.length; y++) {
              var l = v[y],
                d = r(l),
                h = e.getNameOfDeclaration(l)
              d & m
                ? _(
                    h,
                    e.Diagnostics
                      .Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead,
                    e.declarationNameToString(h)
                  )
                : d & g &&
                  _(
                    h,
                    e.Diagnostics
                      .Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local,
                    e.declarationNameToString(h)
                  )
            }
        }
      }
    }
    function xp(e, t, r) {
      var n = Cp(e, t)
      return n && Dp(n, t, r)
    }
    function Cp(t, r) {
      if (!dt(t)) {
        var n = t
        if (n.promisedTypeOfPromise) return n.promisedTypeOfPromise
        if (Kt(t, ka(!1))) return (n.promisedTypeOfPromise = t.typeArguments[0])
        var a = lt(t, 'then')
        if (!dt(a)) {
          var i = a ? mn(a, 0) : Ly
          if (0 === i.length)
            return void (
              r && _(r, e.Diagnostics.A_promise_must_have_a_then_method)
            )
          var o = $s($a(e.map(i, Bl)), 524288)
          if (!dt(o)) {
            var s = mn(o, 0)
            return 0 === s.length
              ? void (
                  r &&
                  _(
                    r,
                    e.Diagnostics
                      .The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback
                  )
                )
              : (n.promisedTypeOfPromise = $a(e.map(s, Bl), !0))
          }
        }
      }
    }
    function Sp(e, t, r) {
      return Dp(e, t, r) || uv
    }
    function Dp(t, r, n) {
      var a = t
      if (a.awaitedTypeOfType) return a.awaitedTypeOfType
      if (dt(t)) return (a.awaitedTypeOfType = t)
      if (65536 & t.flags) {
        for (var i = void 0, o = 0, s = t.types; o < s.length; o++) {
          var c = s[o]
          i = e.append(i, Dp(c, r, n))
        }
        if (!i) return
        return (a.awaitedTypeOfType = $a(i, !0))
      }
      var u = Cp(t)
      if (u) {
        if (t.id === u.id || e.indexOf(Rh, u.id) >= 0)
          return void (
            r &&
            _(
              r,
              e.Diagnostics
                .Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method
            )
          )
        Rh.push(t.id)
        var l = Dp(u, r, n)
        if ((Rh.pop(), !l)) return
        return (a.awaitedTypeOfType = l)
      }
      var d = lt(t, 'then')
      return d && mn(d, 0).length > 0
        ? void (r && (e.Debug.assert(!!n), _(r, n)))
        : (a.awaitedTypeOfType = t)
    }
    function Tp(t) {
      var r = Fi(t.type)
      if (zy >= 2) {
        if (r === uv) return uv
        var n = ka(!0)
        if (n !== Ev && !Kt(r, n))
          return (
            _(
              t.type,
              e.Diagnostics
                .The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type
            ),
            uv
          )
      } else {
        if ((Np(t.type), r === uv)) return uv
        var a = e.getEntityNameFromTypeNode(t.type)
        if (void 0 === a)
          return (
            _(
              t.type,
              e.Diagnostics
                .Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,
              He(r)
            ),
            uv
          )
        var i = ae(a, 107455, !0),
          o = i ? zt(i) : uv
        if (o === uv)
          return (
            71 === a.kind && 'Promise' === a.text && jt(r) === ka(!1)
              ? _(
                  t.type,
                  e.Diagnostics
                    .An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option
                )
              : _(
                  t.type,
                  e.Diagnostics
                    .Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,
                  e.entityNameToString(a)
                ),
            uv
          )
        var s = Ca(!0)
        if (s === Sv)
          return (
            _(
              t.type,
              e.Diagnostics
                .Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value,
              e.entityNameToString(a)
            ),
            uv
          )
        if (
          !ko(
            o,
            s,
            t.type,
            e.Diagnostics
              .Type_0_is_not_a_valid_async_function_return_type_in_ES5_SlashES3_because_it_does_not_refer_to_a_Promise_compatible_constructor_value
          )
        )
          return uv
        var c = a && rg(a),
          u = D(t.locals, c.text, 107455)
        if (u)
          return (
            _(
              u.valueDeclaration,
              e.Diagnostics
                .Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions,
              c.text,
              e.entityNameToString(a)
            ),
            uv
          )
      }
      return Sp(
        r,
        t,
        e.Diagnostics
          .The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
      )
    }
    function Ep(t) {
      var r = El(t),
        n = Ln(r)
      if (!(1 & n.flags)) {
        var a,
          i,
          o = xl(t)
        switch (t.parent.kind) {
          case 229:
            var s = he(t.parent),
              c = zt(s)
            a = $a([c, bv])
            break
          case 146:
            ;(a = bv),
              (i = e.chainDiagnosticMessages(
                i,
                e.Diagnostics
                  .The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any
              ))
            break
          case 149:
            ;(a = bv),
              (i = e.chainDiagnosticMessages(
                i,
                e.Diagnostics
                  .The_return_type_of_a_property_decorator_function_must_be_either_void_or_any
              ))
            break
          case 151:
          case 153:
          case 154:
            var u = Bg(t.parent),
              _ = Fa(u)
            a = $a([_, bv])
        }
        ko(n, a, t, o, i)
      }
    }
    function Np(t) {
      var r = t && e.getEntityNameFromTypeNode(t),
        n = r && rg(r),
        a =
          n &&
          N(
            n,
            n.text,
            8388608 | (71 === r.kind ? 793064 : 1920),
            void 0,
            void 0
          )
      a && 8388608 & a.flags && xe(a) && !rm($(a)) && te(a)
    }
    function Ap(t) {
      return t.dotDotDotToken ? e.getRestParameterElementType(t.type) : t.type
    }
    function wp(t) {
      if (t.decorators && e.nodeCanBeDecorated(t)) {
        Jy.experimentalDecorators ||
          _(
            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
          )
        var r = t.decorators[0]
        if ((Cm(r, 8), 146 === t.kind && Cm(r, 32), Jy.emitDecoratorMetadata))
          switch ((Cm(r, 16), t.kind)) {
            case 229:
              var n = e.getFirstConstructorWithBody(t)
              if (n)
                for (var a = 0, i = n.parameters; a < i.length; a++) {
                  var o = i[a]
                  Np(Ap(o))
                }
              break
            case 151:
            case 153:
            case 154:
              for (var s = 0, c = t.parameters; s < c.length; s++) {
                var o = c[s]
                Np(Ap(o))
              }
              Np(t.type)
              break
            case 149:
              Np(Ap(t))
              break
            case 146:
              Np(t.type)
          }
        e.forEach(t.decorators, Ep)
      }
    }
    function Pp(e) {
      i &&
        (Op(e) || Gm(e),
        Qp(e, e.name),
        Wp(e, e.name),
        Hp(e, e.name),
        Yp(e, e.name),
        Zp(e, e.name))
    }
    function Op(t) {
      wp(t), Yd(t)
      var r = e.getFunctionFlags(t)
      if ((t.name && 144 === t.name.kind && Qu(t.name), !e.hasDynamicName(t))) {
        var n = he(t),
          a = t.localSymbol || n,
          o = e.forEach(a.declarations, function(r) {
            return r.kind !== t.kind ||
              e.isSourceFileJavaScript(e.getSourceFileOfNode(r))
              ? void 0
              : r
          })
        t === o && bp(a),
          n.parent && e.getDeclarationOfKind(n, t.kind) === t && bp(n)
      }
      if ((fg(t.body), 0 === (1 & r))) {
        var s = t.type && (2 & r ? Tp(t) : Fi(t.type))
        Ql(t, s)
      }
      i &&
        !t.type &&
        (Uy && e.nodeIsMissing(t.body) && !vp(t) && bs(t, sv),
        1 & r && e.nodeIsPresent(t.body) && Ln(Pn(t))),
        Fp(t)
    }
    function Fp(e) {
      ih && ih.push(e)
    }
    function Ip() {
      if (ih)
        for (var e = 0, t = ih; e < t.length; e++) {
          var r = t[e]
          switch (r.kind) {
            case 265:
            case 233:
              jp(r)
              break
            case 229:
            case 199:
              zp(r), Kp(r)
              break
            case 230:
              Kp(r)
              break
            case 207:
            case 235:
            case 214:
            case 215:
            case 216:
              Rp(r)
              break
            case 152:
            case 186:
            case 228:
            case 187:
            case 151:
            case 153:
            case 154:
              r.body && Rp(r), Kp(r)
              break
            case 150:
            case 155:
            case 156:
            case 157:
            case 160:
            case 161:
              Kp(r)
          }
        }
    }
    function Rp(t) {
      230 !== t.parent.kind &&
        jy &&
        !e.isInAmbientContext(t) &&
        t.locals.forEach(function(t) {
          if (!t.isReferenced)
            if (
              t.valueDeclaration &&
              146 === e.getRootDeclaration(t.valueDeclaration).kind
            ) {
              var r = e.getRootDeclaration(t.valueDeclaration),
                n = e.getNameOfDeclaration(t.valueDeclaration)
              !Jy.noUnusedParameters ||
                e.isParameterPropertyDeclaration(r) ||
                e.parameterIsThisKeyword(r) ||
                Bp(n) ||
                _(n, e.Diagnostics._0_is_declared_but_never_used, t.name)
            } else
              Jy.noUnusedLocals &&
                e.forEach(t.declarations, function(r) {
                  return Lp(e.getNameOfDeclaration(r) || r, t.name)
                })
        })
    }
    function Mp(t) {
      if (e.isBindingElement(t) && e.isObjectBindingPattern(t.parent)) {
        var r = e.lastOrUndefined(t.parent.elements)
        return r !== t && !!r.dotDotDotToken
      }
      return !1
    }
    function Lp(t, r) {
      if (Jp(t)) {
        var n = e.getRootDeclaration(t.parent)
        if (
          226 === n.kind &&
          (215 === n.parent.parent.kind || 216 === n.parent.parent.kind)
        )
          return
      }
      Mp(71 === t.kind ? t.parent : t) ||
        _(t, e.Diagnostics._0_is_declared_but_never_used, r)
    }
    function Bp(e) {
      return e && Jp(e)
    }
    function Jp(e) {
      return 71 === e.kind && 95 === e.text.charCodeAt(0)
    }
    function zp(t) {
      if (Jy.noUnusedLocals && !e.isInAmbientContext(t) && t.members)
        for (var r = 0, n = t.members; r < n.length; r++) {
          var a = n[r]
          if (151 === a.kind || 149 === a.kind)
            !a.symbol.isReferenced &&
              8 & e.getModifierFlags(a) &&
              _(
                a.name,
                e.Diagnostics._0_is_declared_but_never_used,
                a.symbol.name
              )
          else if (152 === a.kind)
            for (var i = 0, o = a.parameters; i < o.length; i++) {
              var s = o[i]
              !s.symbol.isReferenced &&
                8 & e.getModifierFlags(s) &&
                _(
                  s.name,
                  e.Diagnostics.Property_0_is_declared_but_never_used,
                  s.symbol.name
                )
            }
        }
    }
    function Kp(t) {
      if (Jy.noUnusedLocals && !e.isInAmbientContext(t) && t.typeParameters) {
        var r = he(t),
          n = r && r.declarations && e.lastOrUndefined(r.declarations)
        if (n !== t) return
        for (var a = 0, i = t.typeParameters; a < i.length; a++) {
          var o = i[a]
          ve(o.symbol).isReferenced ||
            _(
              o.name,
              e.Diagnostics._0_is_declared_but_never_used,
              o.symbol.name
            )
        }
      }
    }
    function jp(t) {
      Jy.noUnusedLocals &&
        !e.isInAmbientContext(t) &&
        t.locals.forEach(function(t) {
          if (!t.isReferenced && !t.exportSymbol)
            for (var r = 0, n = t.declarations; r < n.length; r++) {
              var a = n[r]
              e.isAmbientModule(a) || Lp(e.getNameOfDeclaration(a), t.name)
            }
        })
    }
    function Vp(t) {
      207 === t.kind && Sy(t), e.forEach(t.statements, fg), t.locals && Fp(t)
    }
    function qp(t) {
      !e.hasDeclaredRestParameter(t) ||
        e.isInAmbientContext(t) ||
        e.nodeIsMissing(t.body) ||
        e.forEach(t.parameters, function(t) {
          t.name &&
            !e.isBindingPattern(t.name) &&
            t.name.text === Qy.name &&
            _(
              t,
              e.Diagnostics
                .Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters
            )
        })
    }
    function Up(t, r, n) {
      if (!r || r.text !== n) return !1
      if (
        149 === t.kind ||
        148 === t.kind ||
        151 === t.kind ||
        150 === t.kind ||
        153 === t.kind ||
        154 === t.kind
      )
        return !1
      if (e.isInAmbientContext(t)) return !1
      var a = e.getRootDeclaration(t)
      return 146 !== a.kind || !e.nodeIsMissing(a.parent.body)
    }
    function Wp(e, t) {
      Up(e, t, '_this') && Fh.push(e)
    }
    function Hp(e, t) {
      Up(e, t, '_newTarget') && Ih.push(e)
    }
    function Gp(t) {
      e.findAncestor(t, function(r) {
        if (4 & om(r)) {
          var n = 71 !== t.kind
          return (
            n
              ? _(
                  e.getNameOfDeclaration(t),
                  e.Diagnostics
                    .Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference
                )
              : _(
                  t,
                  e.Diagnostics
                    .Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference
                ),
            !0
          )
        }
      })
    }
    function Xp(t) {
      e.findAncestor(t, function(r) {
        if (8 & om(r)) {
          var n = 71 !== t.kind
          return (
            n
              ? _(
                  e.getNameOfDeclaration(t),
                  e.Diagnostics
                    .Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference
                )
              : _(
                  t,
                  e.Diagnostics
                    .Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference
                ),
            !0
          )
        }
      })
    }
    function Qp(t, r) {
      if (Up(t, r, '_super')) {
        var n = e.getContainingClass(t)
        if (
          n &&
          !e.isInAmbientContext(n) &&
          e.getClassExtendsHeritageClauseElement(n)
        ) {
          var a = 71 !== t.kind
          a
            ? _(
                t,
                e.Diagnostics
                  .Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference
              )
            : _(
                t,
                e.Diagnostics
                  .Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference
              )
        }
      }
    }
    function Yp(t, r) {
      if (
        !(Ky >= e.ModuleKind.ES2015) &&
        (Up(t, r, 'require') || Up(t, r, 'exports')) &&
        (233 !== t.kind || 1 === e.getModuleInstanceState(t))
      ) {
        var n = ut(t)
        265 === n.kind &&
          e.isExternalOrCommonJsModule(n) &&
          _(
            r,
            e.Diagnostics
              .Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module,
            e.declarationNameToString(r),
            e.declarationNameToString(r)
          )
      }
    }
    function Zp(t, r) {
      if (
        !(zy >= 4) &&
        Up(t, r, 'Promise') &&
        (233 !== t.kind || 1 === e.getModuleInstanceState(t))
      ) {
        var n = ut(t)
        265 === n.kind &&
          e.isExternalOrCommonJsModule(n) &&
          1024 & n.flags &&
          _(
            r,
            e.Diagnostics
              .Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions,
            e.declarationNameToString(r),
            e.declarationNameToString(r)
          )
      }
    }
    function $p(t) {
      if (
        0 === (3 & e.getCombinedNodeFlags(t)) &&
        !e.isParameterDeclaration(t) &&
        (226 !== t.kind || t.initializer)
      ) {
        var r = he(t)
        if (1 & r.flags) {
          var n = N(t, t.name.text, 3, void 0, void 0)
          if (n && n !== r && 2 & n.flags && 3 & O_(n)) {
            var a = e.getAncestor(n.valueDeclaration, 227),
              i =
                208 === a.parent.kind && a.parent.parent
                  ? a.parent.parent
                  : void 0,
              o =
                i &&
                ((207 === i.kind && e.isFunctionLike(i.parent)) ||
                  234 === i.kind ||
                  233 === i.kind ||
                  265 === i.kind)
            if (!o) {
              var s = Ue(n)
              _(
                t,
                e.Diagnostics
                  .Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1,
                s,
                s
              )
            }
          }
        }
      }
    }
    function ef(t) {
      function r(a) {
        if (!e.isTypeNode(a) && !e.isDeclarationName(a)) {
          if (179 === a.kind) return r(a.expression)
          if (71 !== a.kind) return e.forEachChild(a, r)
          var i = N(a, a.text, 8496063, void 0, void 0)
          if (i && i !== iv && i.valueDeclaration) {
            if (i.valueDeclaration === t)
              return void _(
                a,
                e.Diagnostics
                  .Parameter_0_cannot_be_referenced_in_its_initializer,
                e.declarationNameToString(t.name)
              )
            var o = e.getEnclosingBlockScopeContainer(i.valueDeclaration)
            if (o === n) {
              if (
                146 === i.valueDeclaration.kind ||
                176 === i.valueDeclaration.kind
              ) {
                if (i.valueDeclaration.pos < t.pos) return
                if (
                  e.findAncestor(a, function(r) {
                    return r === t.initializer
                      ? 'quit'
                      : e.isFunctionLike(r.parent) ||
                          (149 === r.parent.kind &&
                            !e.hasModifier(r.parent, 32) &&
                            e.isClassLike(r.parent.parent))
                  })
                )
                  return
              }
              _(
                a,
                e.Diagnostics
                  .Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it,
                e.declarationNameToString(t.name),
                e.declarationNameToString(a)
              )
            }
          }
        }
      }
      if (146 === e.getRootDeclaration(t).kind) {
        var n = e.getContainingFunction(t)
        r(t.initializer)
      }
    }
    function tf(e) {
      return e === cv ? sv : e === zv ? Jv : e
    }
    function rf(t) {
      if (
        (wp(t),
        fg(t.type),
        144 === t.name.kind && (Qu(t.name), t.initializer && Fd(t.initializer)),
        176 === t.kind)
      ) {
        174 === t.parent.kind && zy < 5 && Cm(t, 4),
          t.propertyName && 144 === t.propertyName.kind && Qu(t.propertyName)
        var r = t.parent.parent,
          n = pt(r),
          a = t.propertyName || t.name,
          i = fn(n, e.getTextOfPropertyName(a))
        z_(i), r.initializer && i && I_(r, r.initializer, n, i)
      }
      if (
        (e.isBindingPattern(t.name) &&
          (175 === t.name.kind && zy < 2 && Jy.downlevelIteration && Cm(t, 512),
          e.forEach(t.name.elements, fg)),
        t.initializer &&
          146 === e.getRootDeclaration(t).kind &&
          e.nodeIsMissing(e.getContainingFunction(t).body))
      )
        return void _(
          t,
          e.Diagnostics
            .A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation
        )
      if (e.isBindingPattern(t.name))
        return void (
          t.initializer &&
          215 !== t.parent.parent.kind &&
          (ko(Fd(t.initializer), Et(t), t, void 0), ef(t))
        )
      var o = he(t),
        s = tf(At(o))
      if (t === o.valueDeclaration)
        t.initializer &&
          215 !== t.parent.parent.kind &&
          (ko(Fd(t.initializer), s, t, void 0), ef(t))
      else {
        var c = tf(Et(t))
        s === uv ||
          c === uv ||
          lo(s, c) ||
          _(
            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),
            He(s),
            He(c)
          ),
          t.initializer && ko(Fd(t.initializer), c, t, void 0),
          nf(t, o.valueDeclaration) ||
            (_(
              e.getNameOfDeclaration(o.valueDeclaration),
              e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,
              e.declarationNameToString(t.name)
            ),
            _(
              t.name,
              e.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,
              e.declarationNameToString(t.name)
            ))
      }
      149 !== t.kind &&
        148 !== t.kind &&
        (kp(t),
        (226 !== t.kind && 176 !== t.kind) || $p(t),
        Qp(t, t.name),
        Wp(t, t.name),
        Hp(t, t.name),
        Yp(t, t.name),
        Zp(t, t.name))
    }
    function nf(t, r) {
      if (
        (146 === t.kind && 226 === r.kind) ||
        (226 === t.kind && 146 === r.kind)
      )
        return !0
      if (e.hasQuestionToken(t) !== e.hasQuestionToken(r)) return !1
      var n = 504
      return (e.getModifierFlags(t) & n) === (e.getModifierFlags(r) & n)
    }
    function af(e) {
      return sy(e), rf(e)
    }
    function of(e) {
      return iy(e), rf(e)
    }
    function sf(t) {
      Tm(t) || Em(t) || _y(t.declarationList) || dy(t),
        e.forEach(t.declarationList.declarations, fg)
    }
    function cf(t) {
      if (t.modifiers && 178 === t.parent.kind) {
        if (!(2 & e.getFunctionFlags(t)))
          return gy(t, e.Diagnostics.Modifiers_cannot_appear_here)
        if (t.modifiers.length > 1)
          return gy(t, e.Diagnostics.Modifiers_cannot_appear_here)
      }
    }
    function uf(e) {
      Sy(e), Vd(e.expression)
    }
    function _f(t) {
      Sy(t),
        Vd(t.expression),
        fg(t.thenStatement),
        209 === t.thenStatement.kind &&
          _(
            t.thenStatement,
            e.Diagnostics
              .The_body_of_an_if_statement_cannot_be_the_empty_statement
          ),
        fg(t.elseStatement)
    }
    function lf(e) {
      Sy(e), fg(e.statement), Vd(e.expression)
    }
    function df(e) {
      Sy(e), Vd(e.expression), fg(e.statement)
    }
    function pf(t) {
      Sy(t) ||
        (t.initializer && 227 === t.initializer.kind && _y(t.initializer)),
        t.initializer &&
          (227 === t.initializer.kind
            ? e.forEach(t.initializer.declarations, af)
            : Vd(t.initializer)),
        t.condition && Vd(t.condition),
        t.incrementor && Vd(t.incrementor),
        fg(t.statement),
        t.locals && Fp(t)
    }
    function ff(t) {
      if ((Zm(t), 216 === t.kind))
        if (t.awaitModifier) {
          var r = e.getFunctionFlags(e.getContainingFunction(t))
          2 === (6 & r) && zy < 5 && Cm(t, 16384)
        } else Jy.downlevelIteration && zy < 2 && Cm(t, 256)
      if (227 === t.initializer.kind) mf(t)
      else {
        var n = t.initializer,
          a = yf(t.expression, t.awaitModifier)
        if (177 === n.kind || 178 === n.kind) bd(n, a || uv)
        else {
          var i = Vd(n)
          nd(
            n,
            e.Diagnostics
              .The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access
          ),
            a && ko(a, i, n, void 0)
        }
      }
      fg(t.statement), t.locals && Fp(t)
    }
    function gf(t) {
      Zm(t)
      var r = R_(t.expression)
      if (227 === t.initializer.kind) {
        var n = t.initializer.declarations[0]
        n &&
          e.isBindingPattern(n.name) &&
          _(
            n.name,
            e.Diagnostics
              .The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern
          ),
          mf(t)
      } else {
        var a = t.initializer,
          i = Vd(a)
        177 === a.kind || 178 === a.kind
          ? _(
              a,
              e.Diagnostics
                .The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern
            )
          : mo(_i(r), i)
            ? nd(
                a,
                e.Diagnostics
                  .The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access
              )
            : _(
                a,
                e.Diagnostics
                  .The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any
              )
      }
      Hu(r, 17350656) ||
        _(
          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
        ),
        fg(t.statement),
        t.locals && Fp(t)
    }
    function mf(e) {
      var t = e.initializer
      if (t.declarations.length >= 1) {
        var r = t.declarations[0]
        af(r)
      }
    }
    function yf(e, t) {
      var r = R_(e)
      return vf(r, e, !0, void 0 !== t)
    }
    function vf(e, t, r, n) {
      return dt(e) ? e : hf(e, t, r, n, !0) || sv
    }
    function hf(t, r, n, a, i) {
      var o = zy >= 2,
        s = !o && Jy.downlevelIteration
      if (o || s || a) {
        var c = bf(t, o ? r : void 0, a, a, i)
        if (c || o) return c
      }
      var u = t,
        l = !1,
        d = !1
      if (n) {
        if (65536 & u.flags) {
          var p = t.types,
            f = e.filter(p, function(e) {
              return !(262178 & e.flags)
            })
          f !== p && (u = $a(f, !0))
        } else 262178 & u.flags && (u = kv)
        if (
          ((d = u !== t),
          d &&
            (zy < 1 &&
              r &&
              (_(
                r,
                e.Diagnostics
                  .Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher
              ),
              (l = !0)),
            8192 & u.flags))
        )
          return fv
      }
      if (!$o(u)) {
        if (r && !l) {
          var g =
            !n || d
              ? s
                ? e.Diagnostics
                    .Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator
                : e.Diagnostics.Type_0_is_not_an_array_type
              : s
                ? e.Diagnostics
                    .Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator
                : e.Diagnostics.Type_0_is_not_an_array_type_or_a_string_type
          _(r, g, He(u))
        }
        return d ? fv : void 0
      }
      var m = bn(u, 1)
      return d && m ? (262178 & m.flags ? fv : $a([m, fv], !0)) : m
    }
    function bf(t, r, n, a, i) {
      if (!dt(t)) {
        var o = t
        if (n ? o.iteratedTypeOfAsyncIterable : o.iteratedTypeOfIterable)
          return n ? o.iteratedTypeOfAsyncIterable : o.iteratedTypeOfIterable
        if (n && (Kt(t, Sa(!1)) || Kt(t, Ta(!1))))
          return (o.iteratedTypeOfAsyncIterable = t.typeArguments[0])
        if ((!n || a) && (Kt(t, Ea(!1)) || Kt(t, Aa(!1))))
          return n
            ? (o.iteratedTypeOfAsyncIterable = t.typeArguments[0])
            : (o.iteratedTypeOfIterable = t.typeArguments[0])
        var s,
          c = !1
        if (n) {
          var u = lt(t, e.getPropertyNameForKnownSymbolName('asyncIterator'))
          if (dt(u)) return
          s = u && mn(u, 0)
        }
        if (!n || (a && !e.some(s))) {
          var u = lt(t, e.getPropertyNameForKnownSymbolName('iterator'))
          if (dt(u)) return
          ;(s = u && mn(u, 0)), (c = !0)
        }
        if (e.some(s)) {
          var l = $a(e.map(s, Ln), !0),
            d = kf(l, r, !c)
          return (
            i && r && d && ko(t, c ? Ma(d) : Ia(d), r),
            n
              ? (o.iteratedTypeOfAsyncIterable = d)
              : (o.iteratedTypeOfIterable = d)
          )
        }
        r &&
          _(
            r,
            n
              ? e.Diagnostics
                  .Type_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator
              : e.Diagnostics
                  .Type_must_have_a_Symbol_iterator_method_that_returns_an_iterator
          )
      }
    }
    function kf(t, r, n) {
      if (!dt(t)) {
        var a = t
        if (n ? a.iteratedTypeOfAsyncIterator : a.iteratedTypeOfIterator)
          return n ? a.iteratedTypeOfAsyncIterator : a.iteratedTypeOfIterator
        var i = n ? Da : Na
        if (Kt(t, i(!1)))
          return n
            ? (a.iteratedTypeOfAsyncIterator = t.typeArguments[0])
            : (a.iteratedTypeOfIterator = t.typeArguments[0])
        var o = lt(t, 'next')
        if (!dt(o)) {
          var s = o ? mn(o, 0) : Ly
          if (0 === s.length)
            return void (
              r &&
              _(
                r,
                n
                  ? e.Diagnostics.An_async_iterator_must_have_a_next_method
                  : e.Diagnostics.An_iterator_must_have_a_next_method
              )
            )
          var c = $a(e.map(s, Ln), !0)
          if (
            !(
              dt(c) ||
              (n &&
                ((c = xp(
                  c,
                  r,
                  e.Diagnostics
                    .The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property
                )),
                dt(c)))
            )
          ) {
            var u = c && lt(c, 'value')
            return u
              ? n
                ? (a.iteratedTypeOfAsyncIterator = u)
                : (a.iteratedTypeOfIterator = u)
              : void (
                  r &&
                  _(
                    r,
                    n
                      ? e.Diagnostics
                          .The_type_returned_by_the_next_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property
                      : e.Diagnostics
                          .The_type_returned_by_the_next_method_of_an_iterator_must_have_a_value_property
                  )
                )
          }
        }
      }
    }
    function xf(e, t) {
      if (!dt(e)) return bf(e, void 0, t, !1, !1) || kf(e, void 0, t)
    }
    function Cf(e) {
      Sy(e) || ay(e)
    }
    function Sf(t) {
      return !(
        153 !== t.kind ||
        !e.getSetAccessorTypeAnnotationNode(
          e.getDeclarationOfKind(t.symbol, 154)
        )
      )
    }
    function Df(t, r) {
      var n = 2 === (3 & e.getFunctionFlags(t)) ? Cp(r) : r
      return n && _d(n, 1025)
    }
    function Tf(t) {
      if (!Sy(t)) {
        var r = e.getContainingFunction(t)
        r ||
          gy(
            t,
            e.Diagnostics
              .A_return_statement_can_only_be_used_within_a_function_body
          )
      }
      var n = e.getContainingFunction(t)
      if (n) {
        var a = Pn(n),
          i = Ln(a)
        if (qy || t.expression || 8192 & i.flags) {
          var o = t.expression ? Fd(t.expression) : _v,
            s = e.getFunctionFlags(n)
          if (1 & s) return
          if (154 === n.kind)
            t.expression && _(t, e.Diagnostics.Setters_cannot_return_a_value)
          else if (152 === n.kind)
            t.expression &&
              !ko(o, i, t) &&
              _(
                t,
                e.Diagnostics
                  .Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class
              )
          else if (n.type || Sf(n))
            if (2 & s) {
              var c = Cp(i),
                u = Sp(
                  o,
                  t,
                  e.Diagnostics
                    .The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member
                )
              c && ko(u, c, t)
            } else ko(o, i, t)
        } else
          152 !== n.kind &&
            Jy.noImplicitReturns &&
            !Df(n, i) &&
            _(t, e.Diagnostics.Not_all_code_paths_return_a_value)
      }
    }
    function Ef(t) {
      Sy(t) ||
        (16384 & t.flags &&
          gy(
            t,
            e.Diagnostics
              .with_statements_are_not_allowed_in_an_async_function_block
          )),
        Vd(t.expression)
      var r = e.getSourceFileOfNode(t)
      if (!fy(r)) {
        var n = e.getSpanOfTokenAtPosition(r, t.pos).start,
          a = t.statement.pos
        my(
          r,
          n,
          a - n,
          e.Diagnostics
            .The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any
        )
      }
    }
    function Nf(t) {
      Sy(t)
      var r,
        n = !1,
        a = Vd(t.expression),
        o = rs(a)
      e.forEach(t.caseBlock.clauses, function(s) {
        if (258 === s.kind && !n)
          if (void 0 === r) r = s
          else {
            var c = e.getSourceFileOfNode(t),
              u = e.skipTrivia(c.text, s.pos),
              _ = s.statements.length > 0 ? s.statements[0].pos : s.end
            my(
              c,
              u,
              _ - u,
              e.Diagnostics
                .A_default_clause_cannot_appear_more_than_once_in_a_switch_statement
            ),
              (n = !0)
          }
        if (i && 257 === s.kind) {
          var l = s,
            d = Vd(l.expression),
            p = rs(d),
            f = a
          ;(p && o) || ((d = p ? ns(d) : d), (f = ns(a))),
            Cd(f, d) || xo(d, f, l.expression, void 0)
        }
        e.forEach(s.statements, fg)
      }),
        t.caseBlock.locals && Fp(t.caseBlock)
    }
    function Af(t) {
      Sy(t) ||
        e.findAncestor(t.parent, function(r) {
          if (e.isFunctionLike(r)) return 'quit'
          if (222 === r.kind && r.label.text === t.label.text) {
            var n = e.getSourceFileOfNode(t)
            return (
              yy(
                t.label,
                e.Diagnostics.Duplicate_label_0,
                e.getTextOfNodeFromSourceText(n.text, t.label)
              ),
              !0
            )
          }
        }),
        fg(t.statement)
    }
    function wf(t) {
      Sy(t) ||
        (void 0 === t.expression &&
          Ty(t, e.Diagnostics.Line_break_not_permitted_here)),
        t.expression && Vd(t.expression)
    }
    function Pf(t) {
      Sy(t), Vp(t.tryBlock)
      var r = t.catchClause
      if (r) {
        if (r.variableDeclaration)
          if (r.variableDeclaration.type)
            gy(
              r.variableDeclaration.type,
              e.Diagnostics.Catch_clause_variable_cannot_have_a_type_annotation
            )
          else if (r.variableDeclaration.initializer)
            gy(
              r.variableDeclaration.initializer,
              e.Diagnostics.Catch_clause_variable_cannot_have_an_initializer
            )
          else {
            var n = r.block.locals
            n &&
              e.forEachKey(r.locals, function(t) {
                var r = n.get(t)
                r &&
                  0 !== (2 & r.flags) &&
                  yy(
                    r.valueDeclaration,
                    e.Diagnostics.Cannot_redeclare_identifier_0_in_catch_clause,
                    t
                  )
              })
          }
        Vp(r.block)
      }
      t.finallyBlock && Vp(t.finallyBlock)
    }
    function Of(t) {
      function r(t, r, n, a, i, o) {
        if (i) {
          var s = t.valueDeclaration
          if (1 !== o || (s ? Uu(e.getNameOfDeclaration(s)) : Xu(t.name))) {
            var c
            if (
              !s ||
              (194 !== s.kind &&
                144 !== e.getNameOfDeclaration(s).kind &&
                t.parent !== n.symbol)
            ) {
              if (a) c = a
              else if (2 & x(n)) {
                var u = e.forEach(tr(n), function(e) {
                  return Zr(e, t.name) && bn(e, o)
                })
                c = u ? void 0 : n.symbol.declarations[0]
              }
            } else c = s
            if (c && !mo(r, i)) {
              var l =
                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
              _(c, l, Ue(t), He(r), He(i))
            }
          }
        }
      }
      var n = qn(t.symbol, 1),
        a = qn(t.symbol, 0),
        i = bn(t, 0),
        o = bn(t, 1)
      if (
        (i || o) &&
        (e.forEach(Yr(t), function(e) {
          var s = zt(e)
          r(e, s, t, a, i, 0), r(e, s, t, n, o, 1)
        }),
        1 & x(t) && e.isClassLike(t.symbol.valueDeclaration))
      )
        for (
          var s = t.symbol.valueDeclaration, c = 0, u = s.members;
          c < u.length;
          c++
        ) {
          var l = u[c]
          if (!(32 & e.getModifierFlags(l)) && e.hasDynamicName(l)) {
            var d = zt(l.symbol)
            r(l.symbol, d, t, a, i, 0), r(l.symbol, d, t, n, o, 1)
          }
        }
      var p
      if (i && o && ((p = n || a), !p && 2 & x(t))) {
        var f = e.forEach(tr(t), function(e) {
          return bn(e, 0) && bn(e, 1)
        })
        p = f ? void 0 : t.symbol.declarations[0]
      }
      p &&
        !mo(o, i) &&
        _(
          p,
          e.Diagnostics
            .Numeric_index_type_0_is_not_assignable_to_string_index_type_1,
          He(o),
          He(i)
        )
    }
    function Ff(e, t) {
      switch (e.text) {
        case 'any':
        case 'number':
        case 'boolean':
        case 'string':
        case 'symbol':
        case 'void':
        case 'object':
          _(e, t, e.text)
      }
    }
    function If(t) {
      if (t)
        for (var r = !1, n = 0; n < t.length; n++) {
          var a = t[n]
          if ((Ud(a), i)) {
            a['default']
              ? (r = !0)
              : r &&
                _(
                  a,
                  e.Diagnostics
                    .Required_type_parameters_may_not_follow_optional_type_parameters
                )
            for (var o = 0; o < n; o++)
              t[o].symbol === a.symbol &&
                _(
                  a.name,
                  e.Diagnostics.Duplicate_identifier_0,
                  e.declarationNameToString(a.name)
                )
          }
        }
    }
    function Rf(t) {
      if (1 !== t.declarations.length) {
        var r = b(t)
        if (!r.typeParametersChecked) {
          r.typeParametersChecked = !0
          var n = qf(t)
          if (n.length <= 1) return
          var a = mr(t)
          if (!Mf(n, a.localTypeParameters))
            for (var i = Ue(t), o = 0, s = n; o < s.length; o++) {
              var c = s[o]
              _(
                c.name,
                e.Diagnostics
                  .All_declarations_of_0_must_have_identical_type_parameters,
                i
              )
            }
        }
      }
    }
    function Mf(t, r) {
      for (var n = e.length(r), a = An(r), i = 0, o = t; i < o.length; i++) {
        var s = o[i],
          c = e.length(s.typeParameters)
        if (c < a || c > n) return !1
        for (var u = 0; u < c; u++) {
          var _ = s.typeParameters[u],
            l = r[u]
          if (_.name.text !== l.symbol.name) return !1
          var d = _.constraint && Fi(_.constraint),
            p = Gn(l)
          if ((d || p) && (!d || !p || !lo(d, p))) return !1
          var f = _['default'] && Fi(_['default']),
            g = un(l)
          if (f && g && !lo(f, g)) return !1
        }
      }
      return !0
    }
    function Lf(e) {
      return zf(e), gg(e), zt(he(e))
    }
    function Bf(t) {
      e.forEach(t.members, fg), Fp(t)
    }
    function Jf(t) {
      t.name ||
        512 & e.getModifierFlags(t) ||
        gy(
          t,
          e.Diagnostics
            .A_class_declaration_without_the_default_modifier_must_have_a_name
        ),
        zf(t),
        e.forEach(t.members, fg),
        Fp(t)
    }
    function zf(t) {
      Mm(t),
        wp(t),
        t.name &&
          (Ff(t.name, e.Diagnostics.Class_name_cannot_be_0),
          Wp(t, t.name),
          Hp(t, t.name),
          Yp(t, t.name),
          Zp(t, t.name)),
        If(t.typeParameters),
        kp(t)
      var r = he(t),
        n = mr(r),
        a = Tr(n),
        o = zt(r)
      Rf(r), Zd(t), e.isInAmbientContext(t) || $d(t)
      var s = e.getClassExtendsHeritageClauseElement(t)
      if (s) {
        zy < 2 && Cm(s.parent, 1)
        var c = tr(n)
        if (c.length && i) {
          var u = c[0],
            l = er(n),
            d = _n(l)
          if ((Kf(d, s), fg(s.expression), s.typeArguments)) {
            e.forEach(s.typeArguments, fg)
            for (var p = 0, f = Zt(d, s.typeArguments, s); p < f.length; p++) {
              var g = f[p]
              if (!cp(g.typeParameters, s.typeArguments)) break
            }
          }
          if (
            (ko(
              a,
              Tr(u, n.thisType),
              t.name || t,
              e.Diagnostics.Class_0_incorrectly_extends_base_class_1
            ),
            ko(
              o,
              _o(d),
              t.name || t,
              e.Diagnostics
                .Class_static_side_0_incorrectly_extends_base_class_static_side_1
            ),
            540672 & l.flags &&
              !Xt(o) &&
              _(
                t.name || t,
                e.Diagnostics
                  .A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any
              ),
            !((d.symbol && 32 & d.symbol.flags) || 540672 & l.flags))
          ) {
            var m = $t(d, s.typeArguments, s)
            e.forEach(m, function(e) {
              return Ln(e) !== u
            }) &&
              _(
                s.expression,
                e.Diagnostics
                  .Base_constructors_must_all_have_the_same_return_type
              )
          }
          Uf(n, u)
        }
      }
      var y = e.getClassImplementsHeritageClauseElements(t)
      if (y)
        for (var v = 0, h = y; v < h.length; v++) {
          var b = h[v]
          if (
            (e.isEntityNameExpression(b.expression) ||
              _(
                b.expression,
                e.Diagnostics
                  .A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments
              ),
            up(b),
            i)
          ) {
            var k = Fi(b)
            k !== uv &&
              (ar(k)
                ? ko(
                    a,
                    Tr(k, n.thisType),
                    t.name || t,
                    e.Diagnostics.Class_0_incorrectly_implements_interface_1
                  )
                : _(
                    b,
                    e.Diagnostics
                      .A_class_may_only_implement_another_class_or_interface
                  ))
          }
        }
      i && (Of(n), tp(t))
    }
    function Kf(t, r) {
      var n = mn(t, 1)
      if (n.length) {
        var a = n[0].declaration
        if (a && 8 & e.getModifierFlags(a)) {
          var i = Vf(t.symbol)
          wg(r, i) ||
            _(
              r,
              e.Diagnostics
                .Cannot_extend_a_class_0_Class_constructor_is_marked_as_private,
              ne(t.symbol)
            )
        }
      }
    }
    function jf(e) {
      return 1 & C(e) ? e.target : e
    }
    function Vf(t) {
      return e.forEach(t.declarations, function(t) {
        return e.isClassLike(t) ? t : void 0
      })
    }
    function qf(t) {
      return e.filter(t.declarations, function(e) {
        return 229 === e.kind || 230 === e.kind
      })
    }
    function Uf(t, r) {
      for (var n = en(r), a = 0, i = n; a < i.length; a++) {
        var o = i[a],
          s = jf(o)
        if (!(16777216 & s.flags)) {
          var c = jf(Zr(t, s.name)),
            u = P_(s)
          if (
            (e.Debug.assert(
              !!c,
              "derived should point to something, even if it is the base class' declaration."
            ),
            c)
          )
            if (c === s) {
              var l = Vf(t.symbol)
              !(128 & u) ||
                (l && 128 & e.getModifierFlags(l)) ||
                (199 === l.kind
                  ? _(
                      l,
                      e.Diagnostics
                        .Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1,
                      Ue(o),
                      He(r)
                    )
                  : _(
                      l,
                      e.Diagnostics
                        .Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2,
                      He(t),
                      Ue(o),
                      He(r)
                    ))
            } else {
              var d = P_(c)
              if (8 & u || 8 & d) continue
              if ((32 & u) !== (32 & d)) continue
              if ((F_(s) && F_(c)) || (98308 & s.flags && 98308 & c.flags))
                continue
              var p = void 0
              ;(p = F_(s)
                ? 98304 & c.flags
                  ? e.Diagnostics
                      .Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor
                  : e.Diagnostics
                      .Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property
                : 4 & s.flags
                  ? e.Diagnostics
                      .Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function
                  : e.Diagnostics
                      .Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function),
                _(
                  e.getNameOfDeclaration(c.valueDeclaration) ||
                    c.valueDeclaration,
                  p,
                  He(r),
                  Ue(s),
                  He(t)
                )
            }
        }
      }
    }
    function Wf(e) {
      return 153 === e || 154 === e
    }
    function Hf(t, r) {
      var n = tr(t)
      if (n.length < 2) return !0
      var a = e.createMap()
      e.forEach(Dr(t).declaredProperties, function(e) {
        a.set(e.name, { prop: e, containingType: t })
      })
      for (var i = !0, o = 0, s = n; o < s.length; o++)
        for (
          var c = s[o], u = en(Tr(c, t.thisType)), _ = 0, l = u;
          _ < l.length;
          _++
        ) {
          var d = l[_],
            p = a.get(d.name)
          if (p) {
            var f = p.containingType !== t
            if (f && !jo(p.prop, d)) {
              i = !1
              var g = He(p.containingType),
                m = He(c),
                y = e.chainDiagnosticMessages(
                  void 0,
                  e.Diagnostics
                    .Named_property_0_of_types_1_and_2_are_not_identical,
                  Ue(d),
                  g,
                  m
                )
              ;(y = e.chainDiagnosticMessages(
                y,
                e.Diagnostics
                  .Interface_0_cannot_simultaneously_extend_types_1_and_2,
                He(t),
                g,
                m
              )),
                Mh.add(e.createDiagnosticForNodeFromMessageChain(r, y))
            }
          } else a.set(d.name, { prop: d, containingType: c })
        }
      return i
    }
    function Gf(t) {
      if ((Tm(t) || Em(t) || Wm(t), If(t.typeParameters), i)) {
        Ff(t.name, e.Diagnostics.Interface_name_cannot_be_0), kp(t)
        var r = he(t)
        Rf(r)
        var n = e.getDeclarationOfKind(r, 230)
        if (t === n) {
          var a = mr(r),
            o = Tr(a)
          if (Hf(a, t.name)) {
            for (var s = 0, c = tr(a); s < c.length; s++) {
              var u = c[s]
              ko(
                o,
                Tr(u, a.thisType),
                t.name,
                e.Diagnostics.Interface_0_incorrectly_extends_interface_1
              )
            }
            Of(a)
          }
        }
        ep(t)
      }
      e.forEach(e.getInterfaceBaseTypeNodes(t), function(t) {
        e.isEntityNameExpression(t.expression) ||
          _(
            t.expression,
            e.Diagnostics
              .An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments
          ),
          up(t)
      }),
        e.forEach(t.members, fg),
        i && (tp(t), Fp(t))
    }
    function Xf(t) {
      Tm(t) || Em(t),
        Ff(t.name, e.Diagnostics.Type_alias_name_cannot_be_0),
        If(t.typeParameters),
        fg(t.type)
    }
    function Qf(t) {
      function r(t, r, n, a) {
        function i(r) {
          switch (r.kind) {
            case 192:
              var n = i(r.operand)
              if (void 0 === n) return
              switch (r.operator) {
                case 37:
                  return n
                case 38:
                  return -n
                case 52:
                  return ~n
              }
              return
            case 194:
              var a = i(r.left)
              if (void 0 === a) return
              var s = i(r.right)
              if (void 0 === s) return
              switch (r.operatorToken.kind) {
                case 49:
                  return a | s
                case 48:
                  return a & s
                case 46:
                  return a >> s
                case 47:
                  return a >>> s
                case 45:
                  return a << s
                case 50:
                  return a ^ s
                case 39:
                  return a * s
                case 41:
                  return a / s
                case 37:
                  return a + s
                case 38:
                  return a - s
                case 42:
                  return a % s
              }
              return
            case 8:
              return Dy(r), +r.text
            case 185:
              return i(r.expression)
            case 71:
            case 180:
            case 179:
              var c,
                u = t.parent,
                l = zt(he(u.parent)),
                d = void 0
              if (71 === r.kind) (c = l), (d = r.text)
              else {
                var p = void 0
                if (180 === r.kind) {
                  if (
                    void 0 === r.argumentExpression ||
                    9 !== r.argumentExpression.kind
                  )
                    return
                  ;(p = r.expression), (d = r.argumentExpression.text)
                } else (p = r.expression), (d = r.name.text)
                for (var f = p; f && 71 !== f.kind; ) {
                  if (179 !== f.kind) return
                  f = f.expression
                }
                if (((c = Kd(p)), !(c.symbol && 384 & c.symbol.flags))) return
              }
              if (void 0 === d) return
              var g = Zr(c, d)
              if (!(g && 8 & g.flags)) return
              var m = g.valueDeclaration
              if (u === m) return
              return E(m, u)
                ? k(m).enumMemberValue
                : ((o = !1),
                  void _(
                    r,
                    e.Diagnostics
                      .A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums
                  ))
          }
        }
        var o = !0,
          s = i(t)
        return (
          o &&
            (void 0 === s
              ? n
                ? _(
                    t,
                    e.Diagnostics
                      .In_const_enum_declarations_member_initializer_must_be_constant_expression
                  )
                : a
                  ? _(
                      t,
                      e.Diagnostics
                        .In_ambient_enum_declarations_member_initializer_must_be_constant_expression
                    )
                  : ko(Vd(t), r, t, void 0)
              : n &&
                (isNaN(s)
                  ? _(
                      t,
                      e.Diagnostics
                        .const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN
                    )
                  : isFinite(s) ||
                    _(
                      t,
                      e.Diagnostics
                        .const_enum_member_initializer_was_evaluated_to_a_non_finite_value
                    ))),
          s
        )
      }
      var n = k(t)
      if (!(16384 & n.flags)) {
        for (
          var a = he(t),
            i = mr(a),
            o = 0,
            s = e.isInAmbientContext(t),
            c = e.isConst(t),
            u = 0,
            l = t.members;
          u < l.length;
          u++
        ) {
          var d = l[u]
          if (ft(d.name))
            _(
              d.name,
              e.Diagnostics.Computed_property_names_are_not_allowed_in_enums
            )
          else {
            var p = e.getTextOfPropertyName(d.name)
            Xu(p) &&
              !Gu(p) &&
              _(d.name, e.Diagnostics.An_enum_member_cannot_have_a_numeric_name)
          }
          var f = void 0 === o,
            g = d.initializer
          g
            ? (o = r(g, i, c, s))
            : s && !c
              ? (o = void 0)
              : f && _(d.name, e.Diagnostics.Enum_member_must_have_initializer),
            void 0 !== o && ((k(d).enumMemberValue = o), o++)
        }
        n.flags |= 16384
      }
    }
    function Yf(t) {
      if (i) {
        Tm(t) || Em(t),
          Ff(t.name, e.Diagnostics.Enum_name_cannot_be_0),
          Wp(t, t.name),
          Hp(t, t.name),
          Yp(t, t.name),
          Zp(t, t.name),
          kp(t),
          Qf(t)
        var r = e.isConst(t)
        Jy.isolatedModules &&
          r &&
          e.isInAmbientContext(t) &&
          _(
            t.name,
            e.Diagnostics
              .Ambient_const_enums_are_not_allowed_when_the_isolatedModules_flag_is_provided
          )
        var n = he(t),
          a = e.getDeclarationOfKind(n, t.kind)
        if (t === a) {
          n.declarations.length > 1 &&
            e.forEach(n.declarations, function(t) {
              e.isConstEnumDeclaration(t) !== r &&
                _(
                  e.getNameOfDeclaration(t),
                  e.Diagnostics.Enum_declarations_must_all_be_const_or_non_const
                )
            })
          var o = !1
          e.forEach(n.declarations, function(t) {
            if (232 !== t.kind) return !1
            var r = t
            if (!r.members.length) return !1
            var n = r.members[0]
            n.initializer ||
              (o
                ? _(
                    n.name,
                    e.Diagnostics
                      .In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element
                  )
                : (o = !0))
          })
        }
      }
    }
    function Zf(t) {
      for (var r = t.declarations, n = 0, a = r; n < a.length; n++) {
        var i = a[n]
        if (
          (229 === i.kind || (228 === i.kind && e.nodeIsPresent(i.body))) &&
          !e.isInAmbientContext(i)
        )
          return i
      }
    }
    function $f(t, r) {
      var n = e.getEnclosingBlockScopeContainer(t),
        a = e.getEnclosingBlockScopeContainer(r)
      return S(n) ? S(a) : !S(a) && n === a
    }
    function eg(t) {
      if (i) {
        var r = e.isGlobalScopeAugmentation(t),
          n = e.isInAmbientContext(t)
        r &&
          !n &&
          _(
            t.name,
            e.Diagnostics
              .Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context
          )
        var a = e.isAmbientModule(t),
          o = a
            ? 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 (ug(t, o)) return
        Tm(t) ||
          Em(t) ||
          n ||
          9 !== t.name.kind ||
          yy(t.name, e.Diagnostics.Only_ambient_modules_can_use_quoted_names),
          e.isIdentifier(t.name) &&
            (Wp(t, t.name), Yp(t, t.name), Zp(t, t.name)),
          kp(t)
        var s = he(t)
        if (
          512 & s.flags &&
          s.declarations.length > 1 &&
          !n &&
          e.isInstantiatedModule(t, Jy.preserveConstEnums || Jy.isolatedModules)
        ) {
          var c = Zf(s)
          c &&
            (e.getSourceFileOfNode(t) !== e.getSourceFileOfNode(c)
              ? _(
                  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 < c.pos &&
                _(
                  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(s, 229)
          u && $f(t, u) && (k(t).flags |= 32768)
        }
        if (a)
          if (e.isExternalModuleAugmentation(t)) {
            var l = r || 134217728 & he(t).flags
            if (l && t.body)
              for (var d = 0, p = t.body.statements; d < p.length; d++) {
                var f = p[d]
                tg(f, r)
              }
          } else
            S(t.parent)
              ? r
                ? _(
                    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) &&
                  _(
                    t.name,
                    e.Diagnostics
                      .Ambient_module_declaration_cannot_specify_relative_module_name
                  )
              : r
                ? _(
                    t.name,
                    e.Diagnostics
                      .Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations
                  )
                : _(
                    t.name,
                    e.Diagnostics
                      .Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces
                  )
      }
      t.body && (fg(t.body), e.isGlobalScopeAugmentation(t) || Fp(t))
    }
    function tg(t, r) {
      switch (t.kind) {
        case 208:
          for (
            var n = 0, a = t.declarationList.declarations;
            n < a.length;
            n++
          ) {
            var i = a[n]
            tg(i, r)
          }
          break
        case 243:
        case 244:
          gy(
            t,
            e.Diagnostics
              .Exports_and_export_assignments_are_not_permitted_in_module_augmentations
          )
          break
        case 237:
        case 238:
          gy(
            t,
            e.Diagnostics
              .Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module
          )
          break
        case 176:
        case 226:
          var o = t.name
          if (e.isBindingPattern(o)) {
            for (var s = 0, c = o.elements; s < c.length; s++) {
              var u = c[s]
              tg(u, r)
            }
            break
          }
        case 229:
        case 232:
        case 228:
        case 230:
        case 233:
        case 231:
          if (r) return
          var _ = he(t)
          if (_) {
            var l = !(134217728 & _.flags)
            l || (l = e.isExternalModuleAugmentation(_.parent.declarations[0]))
          }
      }
    }
    function rg(e) {
      switch (e.kind) {
        case 71:
          return e
        case 143:
          do e = e.left
          while (71 !== e.kind)
          return e
        case 179:
          do e = e.expression
          while (71 !== e.kind)
          return e
      }
    }
    function ng(t) {
      var r = e.getExternalModuleName(t)
      if (!e.nodeIsMissing(r) && 9 !== r.kind)
        return _(r, e.Diagnostics.String_literal_expected), !1
      var n = 234 === t.parent.kind && e.isAmbientModule(t.parent.parent)
      return 265 === t.parent.kind || n
        ? !(n && e.isExternalModuleNameRelative(r.text) && !$e(t)) ||
            (_(
              t,
              e.Diagnostics
                .Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name
            ),
            !1)
        : (_(
            r,
            244 === 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 ag(t) {
      var r = he(t),
        n = $(r)
      if (n !== iv) {
        var a =
          (1156031 & r.flags ? 107455 : 0) |
          (793064 & r.flags ? 793064 : 0) |
          (1920 & r.flags ? 1920 : 0)
        if (n.flags & a) {
          var i =
            246 === t.kind
              ? e.Diagnostics
                  .Export_declaration_conflicts_with_exported_declaration_of_0
              : e.Diagnostics
                  .Import_declaration_conflicts_with_local_declaration_of_0
          _(t, i, Ue(r))
        }
      }
    }
    function ig(e) {
      Wp(e, e.name), Yp(e, e.name), Zp(e, e.name), ag(e)
    }
    function og(t) {
      if (
        !ug(
          t,
          e.Diagnostics
            .An_import_declaration_can_only_be_used_in_a_namespace_or_module
        ) &&
        (Tm(t) ||
          Em(t) ||
          0 === e.getModifierFlags(t) ||
          gy(t, e.Diagnostics.An_import_declaration_cannot_have_modifiers),
        ng(t))
      ) {
        var r = t.importClause
        r &&
          (r.name && ig(r),
          r.namedBindings &&
            (240 === r.namedBindings.kind
              ? ig(r.namedBindings)
              : e.forEach(r.namedBindings.elements, ig)))
      }
    }
    function sg(t) {
      if (
        !ug(
          t,
          e.Diagnostics
            .An_import_declaration_can_only_be_used_in_a_namespace_or_module
        ) &&
        (Tm(t) || Em(t), e.isInternalModuleImportEqualsDeclaration(t) || ng(t))
      )
        if (
          (ig(t),
          1 & e.getModifierFlags(t) && ee(t),
          e.isInternalModuleImportEqualsDeclaration(t))
        ) {
          var r = $(he(t))
          if (r !== iv) {
            if (107455 & r.flags) {
              var n = rg(t.moduleReference)
              1920 & ae(n, 108479).flags ||
                _(
                  n,
                  e.Diagnostics
                    .Module_0_is_hidden_by_a_local_declaration_with_the_same_name,
                  e.declarationNameToString(n)
                )
            }
            793064 & r.flags &&
              Ff(t.name, e.Diagnostics.Import_name_cannot_be_0)
          }
        } else
          Ky !== e.ModuleKind.ES2015 ||
            e.isInAmbientContext(t) ||
            yy(
              t,
              e.Diagnostics
                .Import_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead
            )
    }
    function cg(t) {
      if (
        !ug(
          t,
          e.Diagnostics.An_export_declaration_can_only_be_used_in_a_module
        ) &&
        (Tm(t) ||
          Em(t) ||
          0 === e.getModifierFlags(t) ||
          gy(t, e.Diagnostics.An_export_declaration_cannot_have_modifiers),
        !t.moduleSpecifier || ng(t))
      )
        if (t.exportClause) {
          e.forEach(t.exportClause.elements, _g)
          var r = 234 === t.parent.kind && e.isAmbientModule(t.parent.parent),
            n =
              !r &&
              234 === t.parent.kind &&
              !t.moduleSpecifier &&
              e.isInAmbientContext(t)
          265 === t.parent.kind ||
            r ||
            n ||
            _(
              t,
              e.Diagnostics.Export_declarations_are_not_permitted_in_a_namespace
            )
        } else {
          var a = ie(t, t.moduleSpecifier)
          a &&
            _e(a) &&
            _(
              t.moduleSpecifier,
              e.Diagnostics
                .Module_0_uses_export_and_cannot_be_used_with_export_Asterisk,
              Ue(a)
            )
        }
    }
    function ug(e, t) {
      var r =
        265 === e.parent.kind || 234 === e.parent.kind || 233 === e.parent.kind
      return r || gy(e, t), !r
    }
    function _g(t) {
      if ((ag(t), !t.parent.parent.moduleSpecifier)) {
        var r = t.propertyName || t.name,
          n = N(r, r.text, 9289727, void 0, void 0)
        n && (n === Xy || S(ut(n.declarations[0])))
          ? _(
              r,
              e.Diagnostics
                .Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module,
              r.text
            )
          : ee(t)
      }
    }
    function lg(t) {
      if (
        !ug(t, e.Diagnostics.An_export_assignment_can_only_be_used_in_a_module)
      ) {
        var r = 265 === t.parent.kind ? t.parent : t.parent.parent
        if (233 === r.kind && !e.isAmbientModule(r))
          return void (t.isExportEquals
            ? _(
                t,
                e.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace
              )
            : _(
                t,
                e.Diagnostics
                  .A_default_export_can_only_be_used_in_an_ECMAScript_style_module
              ))
        Tm(t) ||
          Em(t) ||
          0 === e.getModifierFlags(t) ||
          gy(t, e.Diagnostics.An_export_assignment_cannot_have_modifiers),
          71 === t.expression.kind ? ee(t) : Fd(t.expression),
          pg(r),
          t.isExportEquals &&
            !e.isInAmbientContext(t) &&
            (Ky === e.ModuleKind.ES2015
              ? yy(
                  t,
                  e.Diagnostics
                    .Export_assignment_cannot_be_used_when_targeting_ECMAScript_2015_modules_Consider_using_export_default_or_another_module_format_instead
                )
              : Ky === e.ModuleKind.System &&
                yy(
                  t,
                  e.Diagnostics
                    .Export_assignment_is_not_supported_when_module_flag_is_system
                ))
      }
    }
    function dg(t) {
      return e.forEachEntry(t.exports, function(e, t) {
        return 'export=' !== t
      })
    }
    function pg(t) {
      function r(e) {
        return (228 !== e.kind && 151 !== e.kind) || !!e.body
      }
      var n = he(t),
        a = b(n)
      if (!a.exportsChecked) {
        var i = n.exports.get('export=')
        if (i && dg(n)) {
          var o = J(i) || i.valueDeclaration
          $e(o) ||
            _(
              o,
              e.Diagnostics
                .An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements
            )
        }
        var s = ge(n)
        s &&
          s.forEach(function(t, n) {
            var a = t.declarations,
              i = t.flags
            if ('__export' !== n && !(1984 & i)) {
              var o = e.countWhere(a, r)
              if (!(524288 & i && o <= 2) && o > 1)
                for (var s = 0, c = a; s < c.length; s++) {
                  var u = c[s]
                  r(u) &&
                    Mh.add(
                      e.createDiagnosticForNode(
                        u,
                        e.Diagnostics.Cannot_redeclare_exported_variable_0,
                        n
                      )
                    )
                }
            }
          }),
          (a.exportsChecked = !0)
      }
    }
    function fg(e) {
      if (e) {
        var t = e.kind
        if (Ny)
          switch (t) {
            case 233:
            case 229:
            case 230:
            case 228:
              Ny.throwIfCancellationRequested()
          }
        switch (t) {
          case 145:
            return Ud(e)
          case 146:
            return Wd(e)
          case 149:
          case 148:
            return rp(e)
          case 160:
          case 161:
          case 155:
          case 156:
            return Yd(e)
          case 157:
            return Yd(e)
          case 151:
          case 150:
            return np(e)
          case 152:
            return ap(e)
          case 153:
          case 154:
            return ip(e)
          case 159:
            return up(e)
          case 158:
            return Gd(e)
          case 162:
            return _p(e)
          case 163:
            return lp(e)
          case 164:
            return dp(e)
          case 165:
            return pp(e)
          case 166:
          case 167:
            return fp(e)
          case 168:
          case 170:
            return fg(e.type)
          case 171:
            return mp(e)
          case 172:
            return yp(e)
          case 228:
            return Pp(e)
          case 207:
          case 234:
            return Vp(e)
          case 208:
            return sf(e)
          case 210:
            return uf(e)
          case 211:
            return _f(e)
          case 212:
            return lf(e)
          case 213:
            return df(e)
          case 214:
            return pf(e)
          case 215:
            return gf(e)
          case 216:
            return ff(e)
          case 217:
          case 218:
            return Cf(e)
          case 219:
            return Tf(e)
          case 220:
            return Ef(e)
          case 221:
            return Nf(e)
          case 222:
            return Af(e)
          case 223:
            return wf(e)
          case 224:
            return Pf(e)
          case 226:
            return af(e)
          case 176:
            return of(e)
          case 229:
            return Jf(e)
          case 230:
            return Gf(e)
          case 231:
            return Xf(e)
          case 232:
            return Yf(e)
          case 233:
            return eg(e)
          case 238:
            return og(e)
          case 237:
            return sg(e)
          case 244:
            return cg(e)
          case 243:
            return lg(e)
          case 209:
            return void Sy(e)
          case 225:
            return void Sy(e)
          case 247:
            return sp(e)
        }
      }
    }
    function gg(e) {
      ah && ah.push(e)
    }
    function mg() {
      for (var e = 0, t = ah; e < t.length; e++) {
        var r = t[e]
        switch (r.kind) {
          case 186:
          case 187:
          case 151:
          case 150:
            Zl(r)
            break
          case 153:
          case 154:
            ip(r)
            break
          case 199:
            Bf(r)
        }
      }
    }
    function yg(t) {
      e.performance.mark('beforeCheck'),
        vg(t),
        e.performance.mark('afterCheck'),
        e.performance.measure('Check', 'beforeCheck', 'afterCheck')
    }
    function vg(t) {
      var r = k(t)
      if (!(1 & r.flags)) {
        if (
          (Jy.skipLibCheck && t.isDeclarationFile) ||
          (Jy.skipDefaultLibCheck && t.hasNoDefaultLib)
        )
          return
        Cy(t),
          (Fh.length = 0),
          (Ih.length = 0),
          (ah = []),
          (ih = i && jy ? [] : void 0),
          e.forEach(t.statements, fg),
          mg(),
          e.isExternalModule(t) && Fp(t),
          t.isDeclarationFile || Ip(),
          (ah = void 0),
          (ih = void 0),
          e.isExternalOrCommonJsModule(t) && pg(t),
          Fh.length && (e.forEach(Fh, Gp), (Fh.length = 0)),
          Ih.length && (e.forEach(Ih, Xp), (Ih.length = 0)),
          (r.flags |= 1)
      }
    }
    function hg(e, t) {
      try {
        return (Ny = t), bg(e)
      } finally {
        Ny = void 0
      }
    }
    function bg(t) {
      if ((xg(), t)) {
        var r = Mh.getGlobalDiagnostics(),
          a = r.length
        yg(t)
        var i = Mh.getDiagnostics(t.fileName),
          o = Mh.getGlobalDiagnostics()
        if (o !== r) {
          var s = e.relativeComplement(r, o, e.compareDiagnostics)
          return e.concatenate(s, i)
        }
        return 0 === a && o.length > 0 ? e.concatenate(o, i) : i
      }
      return e.forEach(n.getSourceFiles(), yg), Mh.getDiagnostics()
    }
    function kg() {
      return xg(), Mh.getGlobalDiagnostics()
    }
    function xg() {
      if (!i)
        throw new Error(
          'Trying to get diagnostics from a type checker that does not produce them.'
        )
    }
    function Cg(e) {
      if (e)
        for (; e.parent; ) {
          if (220 === e.parent.kind && e.parent.statement === e) return !0
          e = e.parent
        }
      return !1
    }
    function Sg(t, r) {
      function n() {
        for (; t; ) {
          switch ((t.locals && !S(t) && i(t.locals, r), t.kind)) {
            case 265:
              if (!e.isExternalOrCommonJsModule(t)) break
            case 233:
              i(he(t).exports, 8914931 & r)
              break
            case 232:
              i(he(t).exports, 8 & r)
              break
            case 199:
              var n = t.name
              n && a(t.symbol, r)
            case 229:
            case 230:
              32 & s || i(he(t).members, 793064 & r)
              break
            case 186:
              var o = t.name
              o && a(t.symbol, r)
          }
          e.introducesArgumentsExoticObject(t) && a(Qy, r),
            (s = e.getModifierFlags(t)),
            (t = t.parent)
        }
        i(gh, r)
      }
      function a(e, t) {
        if (e.flags & t) {
          var r = e.name
          o.has(r) || o.set(r, e)
        }
      }
      function i(e, t) {
        t &&
          e.forEach(function(e) {
            a(e, t)
          })
      }
      if (Cg(t)) return []
      var o = e.createMap(),
        s = 0
      return n(), Sn(o)
    }
    function Dg(e) {
      return 71 === e.kind && Tg(e.parent) && e.parent.name === e
    }
    function Tg(e) {
      switch (e.kind) {
        case 145:
        case 229:
        case 230:
        case 231:
        case 232:
          return !0
      }
    }
    function Eg(e) {
      for (var t = e; t.parent && 143 === t.parent.kind; ) t = t.parent
      return t.parent && (159 === t.parent.kind || 277 === t.parent.kind)
    }
    function Ng(e) {
      for (var t = e; t.parent && 179 === t.parent.kind; ) t = t.parent
      return t.parent && 201 === t.parent.kind
    }
    function Ag(t, r) {
      for (var n; ; ) {
        if (((t = e.getContainingClass(t)), !t)) break
        if ((n = r(t))) break
      }
      return n
    }
    function wg(e, t) {
      return !!Ag(e, function(e) {
        return e === t
      })
    }
    function Pg(e) {
      for (; 143 === e.parent.kind; ) e = e.parent
      return 237 === e.parent.kind
        ? e.parent.moduleReference === e && e.parent
        : 243 === e.parent.kind
          ? e.parent.expression === e && e.parent
          : void 0
    }
    function Og(e) {
      return void 0 !== Pg(e)
    }
    function Fg(t) {
      var r = e.getSpecialPropertyAssignmentKind(t.parent.parent)
      switch (r) {
        case 1:
        case 3:
          return he(t.parent)
        case 4:
        case 2:
        case 5:
          return he(t.parent.parent)
      }
    }
    function Ig(t) {
      if (e.isDeclarationName(t)) return he(t.parent)
      if (
        e.isInJavaScriptFile(t) &&
        179 === t.parent.kind &&
        t.parent === t.parent.parent.left
      ) {
        var r = Fg(t)
        if (r) return r
      }
      if (243 === t.parent.kind && e.isEntityNameExpression(t))
        return ae(t, 9289727)
      if (179 !== t.kind && Og(t)) {
        var n = e.getAncestor(t, 237)
        return e.Debug.assert(void 0 !== n), re(t, !0)
      }
      if (
        (e.isRightSideOfQualifiedNameOrPropertyAccess(t) && (t = t.parent),
        Ng(t))
      ) {
        var a = 0
        201 === t.parent.kind
          ? ((a = 793064),
            e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent) &&
              (a |= 107455))
          : (a = 1920),
          (a |= 8388608)
        var i = ae(t, a)
        if (i) return i
      }
      if (e.isPartOfExpression(t)) {
        if (e.nodeIsMissing(t)) return
        if (71 === t.kind)
          return e.isJSXTagName(t) && n_(t)
            ? s_(t.parent)
            : ae(t, 107455, !1, !0)
        if (179 === t.kind) {
          var o = k(t).resolvedSymbol
          return o || L_(t), k(t).resolvedSymbol
        }
        if (143 === t.kind) {
          var o = k(t).resolvedSymbol
          return o || B_(t), k(t).resolvedSymbol
        }
      } else {
        if (Eg(t)) {
          var a = 159 === t.parent.kind || 277 === t.parent.kind ? 793064 : 1920
          return ae(t, a, !1, !0)
        }
        if (253 === t.parent.kind) return b_(t.parent)
      }
      return 158 === t.parent.kind ? ae(t, 1) : void 0
    }
    function Rg(t) {
      if (265 === t.kind) return e.isExternalModule(t) ? ve(t.symbol) : void 0
      if (!Cg(t)) {
        if (e.isDeclarationName(t)) return he(t.parent)
        if (e.isLiteralComputedPropertyDeclarationName(t))
          return he(t.parent.parent)
        if (71 === t.kind) {
          if (Og(t)) return Ig(t)
          if (
            176 === t.parent.kind &&
            174 === t.parent.parent.kind &&
            t === t.parent.propertyName
          ) {
            var r = Bg(t.parent.parent),
              n = r && fn(r, t.text)
            if (n) return n
          }
        }
        switch (t.kind) {
          case 71:
          case 179:
          case 143:
            return Ig(t)
          case 99:
            var a = e.getThisContainer(t, !1)
            if (e.isFunctionLike(a)) {
              var i = Pn(a)
              if (i.thisParameter) return i.thisParameter
            }
          case 97:
            var o = e.isPartOfExpression(t) ? Kd(t) : Fi(t)
            return o.symbol
          case 169:
            return Fi(t).symbol
          case 123:
            var s = t.parent
            if (s && 152 === s.kind) return s.parent.symbol
            return
          case 9:
            if (
              (e.isExternalModuleImportEqualsDeclaration(t.parent.parent) &&
                e.getExternalModuleImportEqualsDeclarationExpression(
                  t.parent.parent
                ) === t) ||
              ((238 === t.parent.kind || 244 === t.parent.kind) &&
                t.parent.moduleSpecifier === t)
            )
              return ie(t, t)
            if (e.isInJavaScriptFile(t) && e.isRequireCall(t.parent, !1))
              return ie(t, t)
          case 8:
            if (180 === t.parent.kind && t.parent.argumentExpression === t) {
              var c = Kd(t.parent.expression)
              if (c === uv) return
              var u = _n(c)
              if (u === uv) return
              return fn(u, t.text)
            }
        }
      }
    }
    function Mg(e) {
      if (e && 262 === e.kind) return ae(e.name, 8496063)
    }
    function Lg(e) {
      return e.parent.parent.moduleSpecifier
        ? W(e.parent.parent, e)
        : ae(e.propertyName || e.name, 9289727)
    }
    function Bg(t) {
      if (Cg(t)) return uv
      if (e.isPartOfTypeNode(t)) {
        var r = Fi(t)
        if (r && e.isExpressionWithTypeArgumentsInClassImplementsClause(t)) {
          var n = e.getContainingClass(t),
            a = Bg(n)
          r = Tr(r, a.thisType)
        }
        return r
      }
      if (e.isPartOfExpression(t)) return Kg(t)
      if (e.isExpressionWithTypeArgumentsInClassExtendsClause(t)) {
        var i = e.getContainingClass(t),
          a = mr(he(i)),
          o = tr(a)[0]
        return o && Tr(o, a.thisType)
      }
      if (Tg(t)) {
        var s = he(t)
        return mr(s)
      }
      if (Dg(t)) {
        var s = Rg(t)
        return s && mr(s)
      }
      if (e.isDeclaration(t)) {
        var s = he(t)
        return zt(s)
      }
      if (e.isDeclarationName(t)) {
        var s = Rg(t)
        return s && zt(s)
      }
      if (e.isBindingPattern(t)) return kt(t.parent, !0)
      if (Og(t)) {
        var s = Rg(t),
          c = s && mr(s)
        return c !== uv ? c : zt(s)
      }
      return uv
    }
    function Jg(t) {
      if (
        (e.Debug.assert(178 === t.kind || 177 === t.kind),
        216 === t.parent.kind)
      ) {
        var r = yf(t.parent.expression, t.parent.awaitModifier)
        return bd(t, r || uv)
      }
      if (194 === t.parent.kind) {
        var r = Kd(t.parent.right)
        return bd(t, r || uv)
      }
      if (261 === t.parent.kind) {
        var n = Jg(t.parent.parent)
        return yd(n || uv, t.parent)
      }
      e.Debug.assert(177 === t.parent.kind)
      var a = Jg(t.parent),
        i = vf(a || uv, t.parent, !1, !1) || uv
      return hd(t.parent, a, e.indexOf(t.parent.elements, t), i || uv)
    }
    function zg(e) {
      var t = Jg(e.parent.parent)
      return t && fn(t, e.text)
    }
    function Kg(t) {
      return (
        e.isRightSideOfQualifiedNameOrPropertyAccess(t) && (t = t.parent),
        Ti(Kd(t))
      )
    }
    function jg(t) {
      var r = he(t.parent)
      return 32 & e.getModifierFlags(t) ? zt(r) : mr(r)
    }
    function Vg(t) {
      t = _n(t)
      var r = xr(en(t))
      return (
        (mn(t, 0).length || mn(t, 1).length) &&
          e.forEach(en(Pv), function(e) {
            r.has(e.name) || r.set(e.name, e)
          }),
        we(r)
      )
    }
    function qg(t) {
      if (6 & C(t)) {
        var r = [],
          n = t.name
        return (
          e.forEach(b(t).containingType.types, function(e) {
            var t = fn(e, n)
            t && r.push(t)
          }),
          r
        )
      }
      if (134217728 & t.flags) {
        if (t.leftSpread) {
          var a = t
          return qg(a.leftSpread).concat(qg(a.rightSpread))
        }
        if (t.syntheticOrigin) return qg(t.syntheticOrigin)
        for (var i = void 0, o = t; (o = b(o).target); ) i = o
        if (i) return [i]
      }
      return [t]
    }
    function Ug(t) {
      if (
        !e.isGeneratedIdentifier(t) &&
        (t = e.getParseTreeNode(t, e.isIdentifier))
      ) {
        var r = 179 === t.parent.kind && t.parent.name === t
        return !r && mm(t) === Qy
      }
      return !1
    }
    function Wg(t) {
      function r(e) {
        return (e = Z(e)), e && !!(107455 & e.flags)
      }
      var n = ie(t.parent, t)
      if (!n || e.isShorthandAmbientModuleSymbol(n)) return !0
      var a = _e(n)
      n = ce(n)
      var i = b(n)
      return (
        void 0 === i.exportsSomeValue &&
          (i.exportsSomeValue = a
            ? !!(107455 & n.flags)
            : e.forEachEntry(ge(n), r)),
        i.exportsSomeValue
      )
    }
    function Hg(t) {
      var r = t.parent
      return r && e.isModuleOrEnumDeclaration(r) && t === r.name
    }
    function Gg(t, r) {
      if ((t = e.getParseTreeNode(t, e.isIdentifier))) {
        var n = mm(t, Hg(t))
        if (n) {
          if (1048576 & n.flags) {
            var a = ve(n.exportSymbol)
            if (!r && 944 & a.flags) return
            n = a
          }
          var i = be(n)
          if (i) {
            if (512 & i.flags && 265 === i.valueDeclaration.kind) {
              var o = i.valueDeclaration,
                s = e.getSourceFileOfNode(t),
                c = o !== s
              return c ? void 0 : o
            }
            return e.findAncestor(t.parent, function(t) {
              return e.isModuleOrEnumDeclaration(t) && he(t) === i
            })
          }
        }
      }
    }
    function Xg(t) {
      if ((t = e.getParseTreeNode(t, e.isIdentifier))) {
        var r = mm(t)
        if (r && 8388608 & r.flags) return J(r)
      }
    }
    function Qg(t) {
      if (418 & t.flags) {
        var r = b(t)
        if (void 0 === r.isDeclarationWithCollidingName) {
          var n = e.getEnclosingBlockScopeContainer(t.valueDeclaration)
          if (e.isStatementWithLocals(n)) {
            var a = k(t.valueDeclaration)
            if (N(n.parent, t.name, 107455, void 0, void 0))
              r.isDeclarationWithCollidingName = !0
            else if (131072 & a.flags) {
              var i = 262144 & a.flags,
                o = e.isIterationStatement(n, !1),
                s = 207 === n.kind && e.isIterationStatement(n.parent, !1)
              r.isDeclarationWithCollidingName = !(
                e.isBlockScopedContainerTopLevel(n) ||
                (i && (o || s))
              )
            } else r.isDeclarationWithCollidingName = !1
          }
        }
        return r.isDeclarationWithCollidingName
      }
      return !1
    }
    function Yg(t) {
      if (
        !e.isGeneratedIdentifier(t) &&
        (t = e.getParseTreeNode(t, e.isIdentifier))
      ) {
        var r = mm(t)
        if (r && Qg(r)) return r.valueDeclaration
      }
    }
    function Zg(t) {
      if ((t = e.getParseTreeNode(t, e.isDeclaration))) {
        var r = he(t)
        if (r) return Qg(r)
      }
      return !1
    }
    function $g(t) {
      switch (t.kind) {
        case 237:
        case 239:
        case 240:
        case 242:
        case 246:
          return tm(he(t) || iv)
        case 244:
          var r = t.exportClause
          return r && e.forEach(r.elements, $g)
        case 243:
          return !t.expression || 71 !== t.expression.kind || tm(he(t) || iv)
      }
      return !1
    }
    function em(t) {
      if (
        ((t = e.getParseTreeNode(t, e.isImportEqualsDeclaration)),
        void 0 === t ||
          265 !== t.parent.kind ||
          !e.isInternalModuleImportEqualsDeclaration(t))
      )
        return !1
      var r = tm(he(t))
      return r && t.moduleReference && !e.nodeIsMissing(t.moduleReference)
    }
    function tm(e) {
      var t = $(e)
      return t === iv || (107455 & t.flags && (Jy.preserveConstEnums || !rm(t)))
    }
    function rm(e) {
      return pd(e) || e.constEnumOnlyModule
    }
    function nm(t, r) {
      if (e.isAliasSymbolDeclaration(t)) {
        var n = he(t)
        if (n && b(n).referenced) return !0
      }
      return (
        !!r &&
        e.forEachChild(t, function(e) {
          return nm(e, r)
        })
      )
    }
    function am(t) {
      if (e.nodeIsPresent(t.body)) {
        var r = he(t),
          n = In(r)
        return n.length > 1 || (1 === n.length && n[0].declaration !== t)
      }
      return !1
    }
    function im(t) {
      return qy && !En(t) && t.initializer && !(92 & e.getModifierFlags(t))
    }
    function om(e) {
      return k(e).flags
    }
    function sm(e) {
      return Qf(e.parent), k(e).enumMemberValue
    }
    function cm(e) {
      switch (e.kind) {
        case 264:
        case 179:
        case 180:
          return !0
      }
      return !1
    }
    function um(t) {
      if (264 === t.kind) return sm(t)
      var r = k(t).resolvedSymbol
      return r &&
        8 & r.flags &&
        e.isConstEnumDeclaration(r.valueDeclaration.parent)
        ? sm(r.valueDeclaration)
        : void 0
    }
    function _m(e) {
      return 32768 & e.flags && mn(e, 0).length > 0
    }
    function lm(t, r) {
      var n = ae(t, 107455, !0, !1, r),
        a = ae(t, 793064, !0, !1, r)
      if (n && n === a) {
        var i = xa(!1)
        if (i && n === i) return e.TypeReferenceSerializationKind.Promise
        var o = zt(n)
        if (o && Qt(o))
          return e.TypeReferenceSerializationKind
            .TypeWithConstructSignatureAndValue
      }
      if (!a) return e.TypeReferenceSerializationKind.ObjectType
      var s = mr(a)
      return s === uv
        ? e.TypeReferenceSerializationKind.Unknown
        : 1 & s.flags
          ? e.TypeReferenceSerializationKind.ObjectType
          : ld(s, 15360)
            ? e.TypeReferenceSerializationKind.VoidNullableOrNeverType
            : ld(s, 136)
              ? e.TypeReferenceSerializationKind.BooleanType
              : ld(s, 340)
                ? e.TypeReferenceSerializationKind.NumberLikeType
                : ld(s, 262178)
                  ? e.TypeReferenceSerializationKind.StringLikeType
                  : is(s)
                    ? e.TypeReferenceSerializationKind.ArrayLikeType
                    : ld(s, 512)
                      ? e.TypeReferenceSerializationKind.ESSymbolType
                      : _m(s)
                        ? e.TypeReferenceSerializationKind.TypeWithCallSignature
                        : Zo(s)
                          ? e.TypeReferenceSerializationKind.ArrayLikeType
                          : e.TypeReferenceSerializationKind.ObjectType
    }
    function dm(e, t, r, n) {
      var a = he(e),
        i = !a || 133120 & a.flags ? uv : as(zt(a))
      4096 & r && (i = cs(i, 2048)), rt().buildTypeDisplay(i, n, t, r)
    }
    function pm(e, t, r, n) {
      var a = Pn(e)
      rt().buildTypeDisplay(Ln(a), n, t, r)
    }
    function fm(e, t, r, n) {
      var a = vs(Kg(e))
      rt().buildTypeDisplay(a, n, t, r)
    }
    function gm(e) {
      return gh.has(e)
    }
    function mm(t, r) {
      var n = k(t).resolvedSymbol
      if (n) return n
      var a = t
      if (r) {
        var i = t.parent
        e.isDeclaration(i) && t === i.name && (a = ut(i))
      }
      return N(a, t.text, 9544639, void 0, void 0)
    }
    function ym(t) {
      if (
        !e.isGeneratedIdentifier(t) &&
        (t = e.getParseTreeNode(t, e.isIdentifier))
      ) {
        var r = mm(t)
        if (r) return ke(r).valueDeclaration
      }
    }
    function vm(t) {
      if (e.isConst(t)) {
        var r = zt(he(t))
        return !!(96 & r.flags && 1048576 & r.flags)
      }
      return !1
    }
    function hm(e, t) {
      var r = zt(he(e))
      t.writeStringLiteral(et(r))
    }
    function bm() {
      function t(e) {
        if (i) {
          var t = 179 === e.kind || (71 === e.kind && Bs(e)) ? 1156031 : 794600,
            n = ae(e, t, !0)
          return n && n !== iv ? r(n, t) : void 0
        }
      }
      function r(t, r) {
        if (i && a(t)) {
          for (var n, o = 0, s = t.declarations; o < s.length; o++) {
            var c = s[o]
            if (c.symbol && c.symbol.flags & r) {
              var u = e.getSourceFileOfNode(c),
                _ = i.get(u.path)
              if (!_) return
              ;(n || (n = [])).push(_)
            }
          }
          return n
        }
      }
      function a(t) {
        if (!t.declarations) return !1
        for (var r = t; ; ) {
          var n = be(r)
          if (!n) break
          r = n
        }
        if (
          r.valueDeclaration &&
          265 === r.valueDeclaration.kind &&
          512 & r.flags
        )
          return !1
        for (var a = 0, o = t.declarations; a < o.length; a++) {
          var s = o[a],
            c = e.getSourceFileOfNode(s)
          if (i.contains(c.path)) return !0
        }
        return !1
      }
      var i,
        o = n.getResolvedTypeReferenceDirectives()
      return (
        o &&
          ((i = e.createFileMap()),
          o.forEach(function(e, t) {
            if (e) {
              var r = n.getSourceFile(e.resolvedFileName)
              i.set(r.path, t)
            }
          })),
        {
          getReferencedExportContainer: Gg,
          getReferencedImportDeclaration: Xg,
          getReferencedDeclarationWithCollidingName: Yg,
          isDeclarationWithCollidingName: Zg,
          isValueAliasDeclaration: function(t) {
            return (t = e.getParseTreeNode(t)), !t || $g(t)
          },
          hasGlobalName: gm,
          isReferencedAliasDeclaration: function(t, r) {
            return (t = e.getParseTreeNode(t)), !t || nm(t, r)
          },
          getNodeCheckFlags: function(t) {
            return (t = e.getParseTreeNode(t)), t ? om(t) : void 0
          },
          isTopLevelValueImportEqualsWithEntityName: em,
          isDeclarationVisible: nt,
          isImplementationOfOverload: am,
          isRequiredInitializedParameter: im,
          writeTypeOfDeclaration: dm,
          writeReturnTypeOfSignatureDeclaration: pm,
          writeTypeOfExpression: fm,
          isSymbolAccessible: Be,
          isEntityNameVisible: Ke,
          getConstantValue: function(t) {
            return (t = e.getParseTreeNode(t, cm)), t ? um(t) : void 0
          },
          collectLinkedAliases: at,
          getReferencedValueDeclaration: ym,
          getTypeReferenceSerializationKind: lm,
          isOptionalParameter: En,
          moduleExportsSomeValue: Wg,
          isArgumentsLocalBinding: Ug,
          getExternalModuleFileFromDeclaration: km,
          getTypeReferenceDirectivesForEntityName: t,
          getTypeReferenceDirectivesForSymbol: r,
          isLiteralConstDeclaration: vm,
          writeLiteralConstValue: hm,
          getJsxFactoryEntity: function() {
            return Bh
          }
        }
      )
    }
    function km(t) {
      var r = e.getExternalModuleName(t),
        n = oe(r, r, void 0)
      if (n) return e.getDeclarationOfKind(n, 265)
    }
    function xm() {
      for (var t = 0, r = n.getSourceFiles(); t < r.length; t++) {
        var a = r[t]
        e.bindSourceFile(a, Jy)
      }
      for (var i, o = 0, s = n.getSourceFiles(); o < s.length; o++) {
        var a = s[o]
        if (
          (e.isExternalOrCommonJsModule(a) || y(gh, a.locals),
          a.patternAmbientModules &&
            a.patternAmbientModules.length &&
            (Av = e.concatenate(Av, a.patternAmbientModules)),
          a.moduleAugmentations.length &&
            (i || (i = [])).push(a.moduleAugmentations),
          a.symbol && a.symbol.globalExports)
        ) {
          var c = a.symbol.globalExports
          c.forEach(function(e, t) {
            gh.has(t) || gh.set(t, e)
          })
        }
      }
      if (i)
        for (var u = 0, _ = i; u < _.length; u++)
          for (var l = _[u], d = 0, p = l; d < p.length; d++) {
            var f = p[d]
            v(f)
          }
      h(
        gh,
        nb,
        e.Diagnostics
          .Declaration_name_conflicts_with_built_in_global_identifier_0
      ),
        (b(Xy).type = lv),
        (b(Qy).type = ma('IArguments', 0, !0)),
        (b(iv).type = uv),
        (Ov = ma('Array', 1, !0)),
        (wv = ma('Object', 0, !0)),
        (Pv = ma('Function', 0, !0)),
        (Iv = ma('String', 0, !0)),
        (Rv = ma('Number', 0, !0)),
        (Mv = ma('Boolean', 0, !0)),
        (Lv = ma('RegExp', 0, !0)),
        (Jv = Ba(sv)),
        (zv = Ba(cv)),
        (Fv = wa('ReadonlyArray', 1)),
        (Kv = Fv ? Oa(Fv, [sv]) : Jv),
        (Bv = wa('ThisType', 1))
    }
    function Cm(t, r) {
      if ((Ay & r) !== r && Jy.importHelpers) {
        var n = e.getSourceFileOfNode(t)
        if (e.isEffectiveExternalModule(n, Jy) && !e.isInAmbientContext(t)) {
          var a = Dm(n, t)
          if (a !== iv)
            for (var i = r & ~Ay, o = 1; o <= 16384; o <<= 1)
              if (i & o) {
                var s = Sm(o),
                  c = D(a.exports, e.escapeIdentifier(s), 107455)
                c ||
                  _(
                    t,
                    e.Diagnostics
                      .This_syntax_requires_an_imported_helper_named_1_but_module_0_has_no_exported_member_1,
                    e.externalHelpersModuleNameText,
                    s
                  )
              }
          Ay |= r
        }
      }
    }
    function Sm(t) {
      switch (t) {
        case 1:
          return '__extends'
        case 2:
          return '__assign'
        case 4:
          return '__rest'
        case 8:
          return '__decorate'
        case 16:
          return '__metadata'
        case 32:
          return '__param'
        case 64:
          return '__awaiter'
        case 128:
          return '__generator'
        case 256:
          return '__values'
        case 512:
          return '__read'
        case 1024:
          return '__spread'
        case 2048:
          return '__await'
        case 4096:
          return '__asyncGenerator'
        case 8192:
          return '__asyncDelegator'
        case 16384:
          return '__asyncValues'
        default:
          e.Debug.fail('Unrecognized helper.')
      }
    }
    function Dm(t, r) {
      return (
        wy ||
          (wy =
            se(
              t,
              e.externalHelpersModuleNameText,
              e.Diagnostics
                .This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found,
              r
            ) || iv),
        wy
      )
    }
    function Tm(t) {
      if (!t.decorators) return !1
      if (!e.nodeCanBeDecorated(t))
        return 151 !== t.kind || e.nodeIsPresent(t.body)
          ? gy(t, e.Diagnostics.Decorators_are_not_valid_here)
          : gy(
              t,
              e.Diagnostics
                .A_decorator_can_only_decorate_a_method_implementation_not_an_overload
            )
      if (153 === t.kind || 154 === t.kind) {
        var r = e.getAllAccessorDeclarations(t.parent.members, t)
        if (r.firstAccessor.decorators && t === r.secondAccessor)
          return gy(
            t,
            e.Diagnostics
              .Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name
          )
      }
      return !1
    }
    function Em(t) {
      var r = Nm(t)
      if (void 0 !== r) return r
      for (
        var n, a, i, o, s, c, u = 0, _ = 0, l = t.modifiers;
        _ < l.length;
        _++
      ) {
        var d = l[_]
        if (131 !== d.kind) {
          if (148 === t.kind || 150 === t.kind)
            return yy(
              d,
              e.Diagnostics._0_modifier_cannot_appear_on_a_type_member,
              e.tokenToString(d.kind)
            )
          if (157 === t.kind)
            return yy(
              d,
              e.Diagnostics._0_modifier_cannot_appear_on_an_index_signature,
              e.tokenToString(d.kind)
            )
        }
        switch (d.kind) {
          case 76:
            if (232 !== t.kind && 229 === t.parent.kind)
              return yy(
                t,
                e.Diagnostics.A_class_member_cannot_have_the_0_keyword,
                e.tokenToString(76)
              )
            break
          case 114:
          case 113:
          case 112:
            var p = Ye(e.modifierToFlag(d.kind))
            if ((113 === d.kind ? (i = d) : 112 === d.kind && (a = d), 28 & u))
              return yy(d, e.Diagnostics.Accessibility_modifier_already_seen)
            if (32 & u)
              return yy(
                d,
                e.Diagnostics._0_modifier_must_precede_1_modifier,
                p,
                'static'
              )
            if (64 & u)
              return yy(
                d,
                e.Diagnostics._0_modifier_must_precede_1_modifier,
                p,
                'readonly'
              )
            if (256 & u)
              return yy(
                d,
                e.Diagnostics._0_modifier_must_precede_1_modifier,
                p,
                'async'
              )
            if (234 === t.parent.kind || 265 === t.parent.kind)
              return yy(
                d,
                e.Diagnostics
                  ._0_modifier_cannot_appear_on_a_module_or_namespace_element,
                p
              )
            if (128 & u)
              return 112 === d.kind
                ? yy(
                    d,
                    e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,
                    p,
                    'abstract'
                  )
                : yy(
                    d,
                    e.Diagnostics._0_modifier_must_precede_1_modifier,
                    p,
                    'abstract'
                  )
            u |= e.modifierToFlag(d.kind)
            break
          case 115:
            if (32 & u)
              return yy(d, e.Diagnostics._0_modifier_already_seen, 'static')
            if (64 & u)
              return yy(
                d,
                e.Diagnostics._0_modifier_must_precede_1_modifier,
                'static',
                'readonly'
              )
            if (256 & u)
              return yy(
                d,
                e.Diagnostics._0_modifier_must_precede_1_modifier,
                'static',
                'async'
              )
            if (234 === t.parent.kind || 265 === t.parent.kind)
              return yy(
                d,
                e.Diagnostics
                  ._0_modifier_cannot_appear_on_a_module_or_namespace_element,
                'static'
              )
            if (146 === t.kind)
              return yy(
                d,
                e.Diagnostics._0_modifier_cannot_appear_on_a_parameter,
                'static'
              )
            if (128 & u)
              return yy(
                d,
                e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,
                'static',
                'abstract'
              )
            ;(u |= 32), (n = d)
            break
          case 131:
            if (64 & u)
              return yy(d, e.Diagnostics._0_modifier_already_seen, 'readonly')
            if (
              149 !== t.kind &&
              148 !== t.kind &&
              157 !== t.kind &&
              146 !== t.kind
            )
              return yy(
                d,
                e.Diagnostics
                  .readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature
              )
            ;(u |= 64), (c = d)
            break
          case 84:
            if (1 & u)
              return yy(d, e.Diagnostics._0_modifier_already_seen, 'export')
            if (2 & u)
              return yy(
                d,
                e.Diagnostics._0_modifier_must_precede_1_modifier,
                'export',
                'declare'
              )
            if (128 & u)
              return yy(
                d,
                e.Diagnostics._0_modifier_must_precede_1_modifier,
                'export',
                'abstract'
              )
            if (256 & u)
              return yy(
                d,
                e.Diagnostics._0_modifier_must_precede_1_modifier,
                'export',
                'async'
              )
            if (229 === t.parent.kind)
              return yy(
                d,
                e.Diagnostics._0_modifier_cannot_appear_on_a_class_element,
                'export'
              )
            if (146 === t.kind)
              return yy(
                d,
                e.Diagnostics._0_modifier_cannot_appear_on_a_parameter,
                'export'
              )
            u |= 1
            break
          case 124:
            if (2 & u)
              return yy(d, e.Diagnostics._0_modifier_already_seen, 'declare')
            if (256 & u)
              return yy(
                d,
                e.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context,
                'async'
              )
            if (229 === t.parent.kind)
              return yy(
                d,
                e.Diagnostics._0_modifier_cannot_appear_on_a_class_element,
                'declare'
              )
            if (146 === t.kind)
              return yy(
                d,
                e.Diagnostics._0_modifier_cannot_appear_on_a_parameter,
                'declare'
              )
            if (e.isInAmbientContext(t.parent) && 234 === t.parent.kind)
              return yy(
                d,
                e.Diagnostics
                  .A_declare_modifier_cannot_be_used_in_an_already_ambient_context
              )
            ;(u |= 2), (o = d)
            break
          case 117:
            if (128 & u)
              return yy(d, e.Diagnostics._0_modifier_already_seen, 'abstract')
            if (229 !== t.kind) {
              if (
                151 !== t.kind &&
                149 !== t.kind &&
                153 !== t.kind &&
                154 !== t.kind
              )
                return yy(
                  d,
                  e.Diagnostics
                    .abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration
                )
              if (
                !(229 === t.parent.kind && 128 & e.getModifierFlags(t.parent))
              )
                return yy(
                  d,
                  e.Diagnostics
                    .Abstract_methods_can_only_appear_within_an_abstract_class
                )
              if (32 & u)
                return yy(
                  d,
                  e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,
                  'static',
                  'abstract'
                )
              if (8 & u)
                return yy(
                  d,
                  e.Diagnostics._0_modifier_cannot_be_used_with_1_modifier,
                  'private',
                  'abstract'
                )
            }
            u |= 128
            break
          case 120:
            if (256 & u)
              return yy(d, e.Diagnostics._0_modifier_already_seen, 'async')
            if (2 & u || e.isInAmbientContext(t.parent))
              return yy(
                d,
                e.Diagnostics._0_modifier_cannot_be_used_in_an_ambient_context,
                'async'
              )
            if (146 === t.kind)
              return yy(
                d,
                e.Diagnostics._0_modifier_cannot_appear_on_a_parameter,
                'async'
              )
            ;(u |= 256), (s = d)
        }
      }
      return 152 !== t.kind
        ? (238 === t.kind || 237 === t.kind) && 2 & u
          ? yy(
              o,
              e.Diagnostics
                .A_0_modifier_cannot_be_used_with_an_import_declaration,
              'declare'
            )
          : 146 === t.kind && 92 & u && e.isBindingPattern(t.name)
            ? yy(
                t,
                e.Diagnostics
                  .A_parameter_property_may_not_be_declared_using_a_binding_pattern
              )
            : 146 === t.kind && 92 & u && t.dotDotDotToken
              ? yy(
                  t,
                  e.Diagnostics
                    .A_parameter_property_cannot_be_declared_using_a_rest_parameter
                )
              : 256 & u
                ? Pm(t, s)
                : void 0
        : 32 & u
          ? yy(
              n,
              e.Diagnostics
                ._0_modifier_cannot_appear_on_a_constructor_declaration,
              'static'
            )
          : 128 & u
            ? yy(
                n,
                e.Diagnostics
                  ._0_modifier_cannot_appear_on_a_constructor_declaration,
                'abstract'
              )
            : 256 & u
              ? yy(
                  s,
                  e.Diagnostics
                    ._0_modifier_cannot_appear_on_a_constructor_declaration,
                  'async'
                )
              : 64 & u
                ? yy(
                    c,
                    e.Diagnostics
                      ._0_modifier_cannot_appear_on_a_constructor_declaration,
                    'readonly'
                  )
                : void 0
    }
    function Nm(t) {
      return (
        !!t.modifiers &&
        (Am(t) ? gy(t, e.Diagnostics.Modifiers_cannot_appear_here) : void 0)
      )
    }
    function Am(t) {
      switch (t.kind) {
        case 153:
        case 154:
        case 152:
        case 149:
        case 148:
        case 151:
        case 150:
        case 157:
        case 233:
        case 238:
        case 237:
        case 244:
        case 243:
        case 186:
        case 187:
        case 146:
          return !1
        default:
          if (234 === t.parent.kind || 265 === t.parent.kind) return !1
          switch (t.kind) {
            case 228:
              return wm(t, 120)
            case 229:
              return wm(t, 117)
            case 230:
            case 208:
            case 231:
              return !0
            case 232:
              return wm(t, 76)
            default:
              return e.Debug.fail(), !1
          }
      }
    }
    function wm(e, t) {
      return e.modifiers.length > 1 || e.modifiers[0].kind !== t
    }
    function Pm(t, r) {
      switch (t.kind) {
        case 151:
        case 228:
        case 186:
        case 187:
          return !1
      }
      return yy(r, e.Diagnostics._0_modifier_cannot_be_used_here, 'async')
    }
    function Om(t) {
      if (t && t.hasTrailingComma) {
        var r = t.end - ','.length,
          n = t.end,
          a = e.getSourceFileOfNode(t[0])
        return my(a, r, n - r, e.Diagnostics.Trailing_comma_not_allowed)
      }
    }
    function Fm(t, r) {
      if (Om(t)) return !0
      if (t && 0 === t.length) {
        var n = t.pos - '<'.length,
          a = e.skipTrivia(r.text, t.end) + '>'.length
        return my(
          r,
          n,
          a - n,
          e.Diagnostics.Type_parameter_list_cannot_be_empty
        )
      }
    }
    function Im(t) {
      for (var r = !1, n = t.length, a = 0; a < n; a++) {
        var i = t[a]
        if (i.dotDotDotToken) {
          if (a !== n - 1)
            return yy(
              i.dotDotDotToken,
              e.Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list
            )
          if (e.isBindingPattern(i.name))
            return yy(
              i.name,
              e.Diagnostics.A_rest_element_cannot_contain_a_binding_pattern
            )
          if (i.questionToken)
            return yy(
              i.questionToken,
              e.Diagnostics.A_rest_parameter_cannot_be_optional
            )
          if (i.initializer)
            return yy(
              i.name,
              e.Diagnostics.A_rest_parameter_cannot_have_an_initializer
            )
        } else if (i.questionToken) {
          if (((r = !0), i.initializer))
            return yy(
              i.name,
              e.Diagnostics.Parameter_cannot_have_question_mark_and_initializer
            )
        } else if (r && !i.initializer)
          return yy(
            i.name,
            e.Diagnostics
              .A_required_parameter_cannot_follow_an_optional_parameter
          )
      }
    }
    function Rm(t) {
      var r = e.getSourceFileOfNode(t)
      return (
        Tm(t) ||
        Em(t) ||
        Fm(t.typeParameters, r) ||
        Im(t.parameters) ||
        Lm(t, r)
      )
    }
    function Mm(t) {
      var r = e.getSourceFileOfNode(t)
      return Um(t) || Fm(t.typeParameters, r)
    }
    function Lm(t, r) {
      if (187 === t.kind) {
        var n = t,
          a = e.getLineAndCharacterOfPosition(r, n.equalsGreaterThanToken.pos)
            .line,
          i = e.getLineAndCharacterOfPosition(r, n.equalsGreaterThanToken.end)
            .line
        if (a !== i)
          return yy(
            n.equalsGreaterThanToken,
            e.Diagnostics.Line_terminator_not_permitted_before_arrow
          )
      }
      return !1
    }
    function Bm(t) {
      var r = t.parameters[0]
      return 1 !== t.parameters.length
        ? r
          ? yy(
              r.name,
              e.Diagnostics.An_index_signature_must_have_exactly_one_parameter
            )
          : yy(
              t,
              e.Diagnostics.An_index_signature_must_have_exactly_one_parameter
            )
        : r.dotDotDotToken
          ? yy(
              r.dotDotDotToken,
              e.Diagnostics.An_index_signature_cannot_have_a_rest_parameter
            )
          : 0 !== e.getModifierFlags(r)
            ? yy(
                r.name,
                e.Diagnostics
                  .An_index_signature_parameter_cannot_have_an_accessibility_modifier
              )
            : r.questionToken
              ? yy(
                  r.questionToken,
                  e.Diagnostics
                    .An_index_signature_parameter_cannot_have_a_question_mark
                )
              : r.initializer
                ? yy(
                    r.name,
                    e.Diagnostics
                      .An_index_signature_parameter_cannot_have_an_initializer
                  )
                : r.type
                  ? 136 !== r.type.kind && 133 !== r.type.kind
                    ? yy(
                        r.name,
                        e.Diagnostics
                          .An_index_signature_parameter_type_must_be_string_or_number
                      )
                    : t.type
                      ? void 0
                      : yy(
                          t,
                          e.Diagnostics
                            .An_index_signature_must_have_a_type_annotation
                        )
                  : yy(
                      r.name,
                      e.Diagnostics
                        .An_index_signature_parameter_must_have_a_type_annotation
                    )
    }
    function Jm(e) {
      return Tm(e) || Em(e) || Bm(e)
    }
    function zm(t, r) {
      if (r && 0 === r.length) {
        var n = e.getSourceFileOfNode(t),
          a = r.pos - '<'.length,
          i = e.skipTrivia(n.text, r.end) + '>'.length
        return my(n, a, i - a, e.Diagnostics.Type_argument_list_cannot_be_empty)
      }
    }
    function Km(e, t) {
      return Om(t) || zm(e, t)
    }
    function jm(t, r) {
      if (r)
        for (
          var n = e.getSourceFileOfNode(t), a = 0, i = r;
          a < i.length;
          a++
        ) {
          var o = i[a]
          if (200 === o.kind)
            return my(n, o.pos, 0, e.Diagnostics.Argument_expression_expected)
        }
    }
    function Vm(e, t) {
      return jm(e, t)
    }
    function qm(t) {
      var r = t.types
      if (Om(r)) return !0
      if (r && 0 === r.length) {
        var n = e.tokenToString(t.token),
          a = e.getSourceFileOfNode(t)
        return my(a, r.pos, 0, e.Diagnostics._0_list_cannot_be_empty, n)
      }
    }
    function Um(t) {
      var r = !1,
        n = !1
      if (!Tm(t) && !Em(t) && t.heritageClauses)
        for (var a = 0, i = t.heritageClauses; a < i.length; a++) {
          var o = i[a]
          if (85 === o.token) {
            if (r) return gy(o, e.Diagnostics.extends_clause_already_seen)
            if (n)
              return gy(
                o,
                e.Diagnostics.extends_clause_must_precede_implements_clause
              )
            if (o.types.length > 1)
              return gy(
                o.types[1],
                e.Diagnostics.Classes_can_only_extend_a_single_class
              )
            r = !0
          } else {
            if ((e.Debug.assert(108 === o.token), n))
              return gy(o, e.Diagnostics.implements_clause_already_seen)
            n = !0
          }
          qm(o)
        }
    }
    function Wm(t) {
      var r = !1
      if (t.heritageClauses)
        for (var n = 0, a = t.heritageClauses; n < a.length; n++) {
          var i = a[n]
          if (85 !== i.token)
            return (
              e.Debug.assert(108 === i.token),
              gy(
                i,
                e.Diagnostics
                  .Interface_declaration_cannot_have_implements_clause
              )
            )
          if (r) return gy(i, e.Diagnostics.extends_clause_already_seen)
          ;(r = !0), qm(i)
        }
      return !1
    }
    function Hm(t) {
      if (144 !== t.kind) return !1
      var r = t
      return 194 === r.expression.kind && 26 === r.expression.operatorToken.kind
        ? yy(
            r.expression,
            e.Diagnostics
              .A_comma_expression_is_not_allowed_in_a_computed_property_name
          )
        : void 0
    }
    function Gm(t) {
      if (t.asteriskToken) {
        if (
          (e.Debug.assert(228 === t.kind || 186 === t.kind || 151 === t.kind),
          e.isInAmbientContext(t))
        )
          return yy(
            t.asteriskToken,
            e.Diagnostics.Generators_are_not_allowed_in_an_ambient_context
          )
        if (!t.body)
          return yy(
            t.asteriskToken,
            e.Diagnostics
              .An_overload_signature_cannot_be_declared_as_a_generator
          )
      }
    }
    function Xm(e, t) {
      if (e) return yy(e, t)
    }
    function Qm(t, r) {
      for (
        var n = e.createMap(),
          a = 1,
          i = 2,
          o = 4,
          s = i | o,
          c = 0,
          u = t.properties;
        c < u.length;
        c++
      ) {
        var _ = u[c]
        if (263 !== _.kind) {
          var l = _.name
          if (
            (144 === l.kind && Hm(l),
            262 === _.kind && !r && _.objectAssignmentInitializer)
          )
            return yy(
              _.equalsToken,
              e.Diagnostics
                .can_only_be_used_in_an_object_literal_property_inside_a_destructuring_assignment
            )
          if (_.modifiers)
            for (var d = 0, p = _.modifiers; d < p.length; d++) {
              var f = p[d]
              ;(120 === f.kind && 151 === _.kind) ||
                yy(
                  f,
                  e.Diagnostics._0_modifier_cannot_be_used_here,
                  e.getTextOfNode(f)
                )
            }
          var g = void 0
          261 === _.kind || 262 === _.kind
            ? (Xm(
                _.questionToken,
                e.Diagnostics.An_object_member_cannot_be_declared_optional
              ),
              8 === l.kind && Dy(l),
              (g = a))
            : 151 === _.kind
              ? (g = a)
              : 153 === _.kind
                ? (g = i)
                : 154 === _.kind
                  ? (g = o)
                  : e.Debug.fail('Unexpected syntax kind:' + _.kind)
          var m = e.getPropertyNameForPropertyNameNode(l)
          if (void 0 !== m) {
            var y = n.get(m)
            if (y)
              if (g === a && y === a)
                yy(l, e.Diagnostics.Duplicate_identifier_0, e.getTextOfNode(l))
              else {
                if (!(g & s && y & s))
                  return yy(
                    l,
                    e.Diagnostics
                      .An_object_literal_cannot_have_property_and_accessor_with_the_same_name
                  )
                if (y === s || g === y)
                  return yy(
                    l,
                    e.Diagnostics
                      .An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name
                  )
                n.set(m, g | y)
              }
            else n.set(m, g)
          }
        }
      }
    }
    function Ym(t) {
      for (
        var r = e.createMap(), n = 0, a = t.attributes.properties;
        n < a.length;
        n++
      ) {
        var i = a[n]
        if (255 !== i.kind) {
          var o = i,
            s = o.name
          if (r.get(s.text))
            return yy(
              s,
              e.Diagnostics
                .JSX_elements_cannot_have_multiple_attributes_with_the_same_name
            )
          r.set(s.text, !0)
          var c = o.initializer
          if (c && 256 === c.kind && !c.expression)
            return yy(
              o.initializer,
              e.Diagnostics
                .JSX_attributes_must_only_be_assigned_a_non_empty_expression
            )
        }
      }
    }
    function Zm(t) {
      if (Sy(t)) return !0
      if (216 === t.kind && t.awaitModifier && 0 === (16384 & t.flags))
        return yy(
          t.awaitModifier,
          e.Diagnostics
            .A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator
        )
      if (227 === t.initializer.kind) {
        var r = t.initializer
        if (!_y(r)) {
          var n = r.declarations
          if (!n.length) return !1
          if (n.length > 1) {
            var a =
              215 === 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 gy(r.declarations[1], a)
          }
          var i = n[0]
          if (i.initializer) {
            var a =
              215 === 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 yy(i.name, a)
          }
          if (i.type) {
            var a =
              215 === 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 yy(i, a)
          }
        }
      }
      return !1
    }
    function $m(t) {
      var r = t.kind
      if (zy < 1)
        return yy(
          t.name,
          e.Diagnostics
            .Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher
        )
      if (e.isInAmbientContext(t))
        return yy(
          t.name,
          e.Diagnostics.An_accessor_cannot_be_declared_in_an_ambient_context
        )
      if (!(void 0 !== t.body || 128 & e.getModifierFlags(t)))
        return my(
          e.getSourceFileOfNode(t),
          t.end - 1,
          ';'.length,
          e.Diagnostics._0_expected,
          '{'
        )
      if (t.body && 128 & e.getModifierFlags(t))
        return yy(
          t,
          e.Diagnostics.An_abstract_accessor_cannot_have_an_implementation
        )
      if (t.typeParameters)
        return yy(t.name, e.Diagnostics.An_accessor_cannot_have_type_parameters)
      if (!ey(t))
        return yy(
          t.name,
          153 === r
            ? e.Diagnostics.A_get_accessor_cannot_have_parameters
            : e.Diagnostics.A_set_accessor_must_have_exactly_one_parameter
        )
      if (154 === r) {
        if (t.type)
          return yy(
            t.name,
            e.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation
          )
        var n = t.parameters[0]
        if (n.dotDotDotToken)
          return yy(
            n.dotDotDotToken,
            e.Diagnostics.A_set_accessor_cannot_have_rest_parameter
          )
        if (n.questionToken)
          return yy(
            n.questionToken,
            e.Diagnostics.A_set_accessor_cannot_have_an_optional_parameter
          )
        if (n.initializer)
          return yy(
            t.name,
            e.Diagnostics.A_set_accessor_parameter_cannot_have_an_initializer
          )
      }
    }
    function ey(e) {
      return ty(e) || e.parameters.length === (153 === e.kind ? 0 : 1)
    }
    function ty(t) {
      if (t.parameters.length === (153 === t.kind ? 1 : 2))
        return e.getThisParameter(t)
    }
    function ry(t, r) {
      if (e.isDynamicName(t)) return yy(t, r)
    }
    function ny(t) {
      if (cf(t) || Rm(t) || Gm(t)) return !0
      if (178 === t.parent.kind) {
        if (
          Xm(
            t.questionToken,
            e.Diagnostics.An_object_member_cannot_be_declared_optional
          )
        )
          return !0
        if (void 0 === t.body)
          return my(
            e.getSourceFileOfNode(t),
            t.end - 1,
            ';'.length,
            e.Diagnostics._0_expected,
            '{'
          )
      }
      if (e.isClassLike(t.parent)) {
        if (e.isInAmbientContext(t))
          return ry(
            t.name,
            e.Diagnostics
              .A_computed_property_name_in_an_ambient_context_must_directly_refer_to_a_built_in_symbol
          )
        if (!t.body)
          return ry(
            t.name,
            e.Diagnostics
              .A_computed_property_name_in_a_method_overload_must_directly_refer_to_a_built_in_symbol
          )
      } else {
        if (230 === t.parent.kind)
          return ry(
            t.name,
            e.Diagnostics
              .A_computed_property_name_in_an_interface_must_directly_refer_to_a_built_in_symbol
          )
        if (163 === t.parent.kind)
          return ry(
            t.name,
            e.Diagnostics
              .A_computed_property_name_in_a_type_literal_must_directly_refer_to_a_built_in_symbol
          )
      }
    }
    function ay(t) {
      for (var r = t; r; ) {
        if (e.isFunctionLike(r))
          return yy(t, e.Diagnostics.Jump_target_cannot_cross_function_boundary)
        switch (r.kind) {
          case 222:
            if (t.label && r.label.text === t.label.text) {
              var n = 217 === t.kind && !e.isIterationStatement(r.statement, !0)
              return (
                !!n &&
                yy(
                  t,
                  e.Diagnostics
                    .A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement
                )
              )
            }
            break
          case 221:
            if (218 === t.kind && !t.label) return !1
            break
          default:
            if (e.isIterationStatement(r, !1) && !t.label) return !1
        }
        r = r.parent
      }
      if (t.label) {
        var a =
          218 === 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 yy(t, a)
      }
      var a =
        218 === 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 yy(t, a)
    }
    function iy(t) {
      if (t.dotDotDotToken) {
        var r = t.parent.elements
        if (t !== e.lastOrUndefined(r))
          return yy(
            t,
            e.Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern
          )
        if (175 === t.name.kind || 174 === t.name.kind)
          return yy(
            t.name,
            e.Diagnostics.A_rest_element_cannot_contain_a_binding_pattern
          )
        if (t.initializer)
          return my(
            e.getSourceFileOfNode(t),
            t.initializer.pos - 1,
            1,
            e.Diagnostics.A_rest_element_cannot_have_an_initializer
          )
      }
    }
    function oy(e) {
      return (
        9 === e.kind ||
        8 === e.kind ||
        (192 === e.kind && 38 === e.operator && 8 === e.operand.kind)
      )
    }
    function sy(t) {
      if (215 !== t.parent.parent.kind && 216 !== t.parent.parent.kind)
        if (e.isInAmbientContext(t)) {
          if (t.initializer) {
            if (!e.isConst(t) || t.type) {
              var r = '='.length
              return my(
                e.getSourceFileOfNode(t),
                t.initializer.pos - r,
                r,
                e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts
              )
            }
            if (!oy(t.initializer))
              return yy(
                t.initializer,
                e.Diagnostics
                  .A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal
              )
          }
          if (t.initializer && (!e.isConst(t) || !oy(t.initializer))) {
            var r = '='.length
            return my(
              e.getSourceFileOfNode(t),
              t.initializer.pos - r,
              r,
              e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts
            )
          }
        } else if (!t.initializer) {
          if (e.isBindingPattern(t.name) && !e.isBindingPattern(t.parent))
            return yy(
              t,
              e.Diagnostics.A_destructuring_declaration_must_have_an_initializer
            )
          if (e.isConst(t))
            return yy(t, e.Diagnostics.const_declarations_must_be_initialized)
        }
      Jy.module === e.ModuleKind.ES2015 ||
        Jy.module === e.ModuleKind.System ||
        Jy.noEmit ||
        e.isInAmbientContext(t.parent.parent) ||
        !e.hasModifier(t.parent.parent, 1) ||
        cy(t.name)
      var n = e.isLet(t) || e.isConst(t)
      return n && uy(t.name)
    }
    function cy(t) {
      if (71 === t.kind) {
        if ('__esModule' === e.unescapeIdentifier(t.text))
          return yy(
            t,
            e.Diagnostics
              .Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules
          )
      } else
        for (var r = t.elements, n = 0, a = r; n < a.length; n++) {
          var i = a[n]
          if (!e.isOmittedExpression(i)) return cy(i.name)
        }
    }
    function uy(t) {
      if (71 === t.kind) {
        if (110 === t.originalKeywordKind)
          return yy(
            t,
            e.Diagnostics
              .let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations
          )
      } else
        for (var r = t.elements, n = 0, a = r; n < a.length; n++) {
          var i = a[n]
          e.isOmittedExpression(i) || uy(i.name)
        }
    }
    function _y(t) {
      var r = t.declarations
      return (
        !!Om(t.declarations) ||
        (t.declarations.length
          ? void 0
          : my(
              e.getSourceFileOfNode(t),
              r.pos,
              r.end - r.pos,
              e.Diagnostics.Variable_declaration_list_cannot_be_empty
            ))
      )
    }
    function ly(e) {
      switch (e.kind) {
        case 211:
        case 212:
        case 213:
        case 220:
        case 214:
        case 215:
        case 216:
          return !1
        case 222:
          return ly(e.parent)
      }
      return !0
    }
    function dy(t) {
      if (!ly(t.parent)) {
        if (e.isLet(t.declarationList))
          return yy(
            t,
            e.Diagnostics.let_declarations_can_only_be_declared_inside_a_block
          )
        if (e.isConst(t.declarationList))
          return yy(
            t,
            e.Diagnostics.const_declarations_can_only_be_declared_inside_a_block
          )
      }
    }
    function py(t) {
      if (94 === t.keywordToken && 'target' !== t.name.text)
        return yy(
          t.name,
          e.Diagnostics
            ._0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2,
          t.name.text,
          e.tokenToString(t.keywordToken),
          'target'
        )
    }
    function fy(e) {
      return e.parseDiagnostics.length > 0
    }
    function gy(t, r, n, a, i) {
      var o = e.getSourceFileOfNode(t)
      if (!fy(o)) {
        var s = e.getSpanOfTokenAtPosition(o, t.pos)
        return (
          Mh.add(e.createFileDiagnostic(o, s.start, s.length, r, n, a, i)), !0
        )
      }
    }
    function my(t, r, n, a, i, o, s) {
      if (!fy(t)) return Mh.add(e.createFileDiagnostic(t, r, n, a, i, o, s)), !0
    }
    function yy(t, r, n, a, i) {
      var o = e.getSourceFileOfNode(t)
      if (!fy(o)) return Mh.add(e.createDiagnosticForNode(t, r, n, a, i)), !0
    }
    function vy(t) {
      if (t.typeParameters)
        return my(
          e.getSourceFileOfNode(t),
          t.typeParameters.pos,
          t.typeParameters.end - t.typeParameters.pos,
          e.Diagnostics
            .Type_parameters_cannot_appear_on_a_constructor_declaration
        )
    }
    function hy(t) {
      if (t.type)
        return yy(
          t.type,
          e.Diagnostics
            .Type_annotation_cannot_appear_on_a_constructor_declaration
        )
    }
    function by(t) {
      if (e.isClassLike(t.parent)) {
        if (
          ry(
            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 (230 === t.parent.kind) {
        if (
          ry(
            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 yy(
            t.initializer,
            e.Diagnostics.An_interface_property_cannot_have_an_initializer
          )
      } else if (163 === t.parent.kind) {
        if (
          ry(
            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 yy(
            t.initializer,
            e.Diagnostics.A_type_literal_property_cannot_have_an_initializer
          )
      }
      if (e.isInAmbientContext(t) && t.initializer)
        return gy(
          t.initializer,
          e.Diagnostics.Initializers_are_not_allowed_in_ambient_contexts
        )
    }
    function ky(t) {
      return (
        !(
          230 === t.kind ||
          231 === t.kind ||
          238 === t.kind ||
          237 === t.kind ||
          244 === t.kind ||
          243 === t.kind ||
          236 === t.kind ||
          515 & e.getModifierFlags(t)
        ) &&
        gy(
          t,
          e.Diagnostics
            .A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file
        )
      )
    }
    function xy(t) {
      for (var r = 0, n = t.statements; r < n.length; r++) {
        var a = n[r]
        if ((e.isDeclaration(a) || 208 === a.kind) && ky(a)) return !0
      }
    }
    function Cy(t) {
      return e.isInAmbientContext(t) && xy(t)
    }
    function Sy(t) {
      if (e.isInAmbientContext(t)) {
        if (Wf(t.parent.kind))
          return (k(t).hasReportedStatementInAmbientContext = !0)
        var r = k(t)
        if (
          !r.hasReportedStatementInAmbientContext &&
          e.isFunctionLike(t.parent)
        )
          return (k(t).hasReportedStatementInAmbientContext = gy(
            t,
            e.Diagnostics
              .An_implementation_cannot_be_declared_in_ambient_contexts
          ))
        if (
          207 === t.parent.kind ||
          234 === t.parent.kind ||
          265 === t.parent.kind
        ) {
          var n = k(t.parent)
          if (!n.hasReportedStatementInAmbientContext)
            return (n.hasReportedStatementInAmbientContext = gy(
              t,
              e.Diagnostics.Statements_are_not_allowed_in_ambient_contexts
            ))
        }
      }
    }
    function Dy(t) {
      if (4 & t.numericLiteralFlags) {
        var r = void 0
        if (
          (zy >= 1
            ? (r =
                e.Diagnostics
                  .Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0)
            : e.isChildOfNodeWithKind(t, 173)
              ? (r =
                  e.Diagnostics
                    .Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0)
              : e.isChildOfNodeWithKind(t, 264) &&
                (r =
                  e.Diagnostics
                    .Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0),
          r)
        ) {
          var n =
              e.isPrefixUnaryExpression(t.parent) && 38 === t.parent.operator,
            a = (n ? '-' : '') + '0o' + t.text
          return yy(n ? t.parent : t, r, a)
        }
      }
    }
    function Ty(t, r, n, a, i) {
      var o = e.getSourceFileOfNode(t)
      if (!fy(o)) {
        var s = e.getSpanOfTokenAtPosition(o, t.pos)
        return (
          Mh.add(e.createFileDiagnostic(o, e.textSpanEnd(s), 0, r, n, a, i)), !0
        )
      }
    }
    function Ey() {
      var e = []
      return (
        gh.forEach(function(t, r) {
          a.test(r) && e.push(t)
        }),
        e
      )
    }
    var Ny,
      Ay,
      wy,
      Py = e.objectAllocator.getSymbolConstructor(),
      Oy = e.objectAllocator.getTypeConstructor(),
      Fy = e.objectAllocator.getSignatureConstructor(),
      Iy = 0,
      Ry = 0,
      My = 0,
      Ly = [],
      By = e.createMap(),
      Jy = n.getCompilerOptions(),
      zy = e.getEmitScriptTarget(Jy),
      Ky = e.getEmitModuleKind(Jy),
      jy = !!Jy.noUnusedLocals || !!Jy.noUnusedParameters,
      Vy =
        'undefined' != typeof Jy.allowSyntheticDefaultImports
          ? Jy.allowSyntheticDefaultImports
          : Ky === e.ModuleKind.System,
      qy = void 0 === Jy.strictNullChecks ? Jy.strict : Jy.strictNullChecks,
      Uy = void 0 === Jy.noImplicitAny ? Jy.strict : Jy.noImplicitAny,
      Wy = void 0 === Jy.noImplicitThis ? Jy.strict : Jy.noImplicitThis,
      Hy = bm(),
      Gy = Ge(),
      Xy = l(4, 'undefined')
    Xy.declarations = []
    var Qy = l(4, 'arguments'),
      Yy = {
        getNodeCount: function() {
          return e.sum(n.getSourceFiles(), 'nodeCount')
        },
        getIdentifierCount: function() {
          return e.sum(n.getSourceFiles(), 'identifierCount')
        },
        getSymbolCount: function() {
          return e.sum(n.getSourceFiles(), 'symbolCount') + Ry
        },
        getTypeCount: function() {
          return Iy
        },
        isUndefinedSymbol: function(e) {
          return e === Xy
        },
        isArgumentsSymbol: function(e) {
          return e === Qy
        },
        isUnknownSymbol: function(e) {
          return e === iv
        },
        getMergedSymbol: ve,
        getDiagnostics: hg,
        getGlobalDiagnostics: kg,
        getTypeOfSymbolAtLocation: function(t, r) {
          return (r = e.getParseTreeNode(r)), r ? Uc(t, r) : uv
        },
        getSymbolsOfParameterPropertyDeclaration: function(t, r) {
          return (
            (t = e.getParseTreeNode(t, e.isParameter)),
            e.Debug.assert(
              void 0 !== t,
              'Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node.'
            ),
            T(t, r)
          )
        },
        getDeclaredTypeOfSymbol: mr,
        getPropertiesOfType: en,
        getPropertyOfType: fn,
        getIndexInfoOfType: hn,
        getSignaturesOfType: mn,
        getIndexTypeOfType: bn,
        getBaseTypes: tr,
        getBaseTypeOfLiteralType: ns,
        getWidenedType: vs,
        getTypeFromTypeNode: function(t) {
          return (t = e.getParseTreeNode(t, e.isTypeNode)), t ? Fi(t) : uv
        },
        getParameterType: Ll,
        getReturnTypeOfSignature: Ln,
        getNonNullableType: _s,
        typeToTypeNode: Gy.typeToTypeNode,
        indexInfoToIndexSignatureDeclaration:
          Gy.indexInfoToIndexSignatureDeclaration,
        signatureToSignatureDeclaration: Gy.signatureToSignatureDeclaration,
        getSymbolsInScope: function(t, r) {
          return (t = e.getParseTreeNode(t)), t ? Sg(t, r) : []
        },
        getSymbolAtLocation: function(t) {
          return (t = e.getParseTreeNode(t)), t ? Rg(t) : void 0
        },
        getShorthandAssignmentValueSymbol: function(t) {
          return (t = e.getParseTreeNode(t)), t ? Mg(t) : void 0
        },
        getExportSpecifierLocalTargetSymbol: function(t) {
          return (
            (t = e.getParseTreeNode(t, e.isExportSpecifier)), t ? Lg(t) : void 0
          )
        },
        getTypeAtLocation: function(t) {
          return (t = e.getParseTreeNode(t)), t ? Bg(t) : uv
        },
        getPropertySymbolOfDestructuringAssignment: function(t) {
          return (t = e.getParseTreeNode(t, e.isIdentifier)), t ? zg(t) : void 0
        },
        signatureToString: function(t, r, n, a) {
          return We(t, e.getParseTreeNode(r), n, a)
        },
        typeToString: function(t, r, n) {
          return He(t, e.getParseTreeNode(r), n)
        },
        getSymbolDisplayBuilder: rt,
        symbolToString: function(t, r, n) {
          return Ue(t, e.getParseTreeNode(r), n)
        },
        getAugmentedPropertiesOfType: Vg,
        getRootSymbols: qg,
        getContextualType: function(t) {
          return (t = e.getParseTreeNode(t, e.isExpression)), t ? Iu(t) : void 0
        },
        getFullyQualifiedName: ne,
        getResolvedSignature: function(t, r) {
          return (
            (t = e.getParseTreeNode(t, e.isCallLikeExpression)),
            t ? El(t, r) : void 0
          )
        },
        getConstantValue: function(t) {
          return (t = e.getParseTreeNode(t, cm)), t ? um(t) : void 0
        },
        isValidPropertyAccess: function(t, r) {
          return (
            (t = e.getParseTreeNode(t, e.isPropertyAccessOrQualifiedName)),
            !!t && V_(t, r)
          )
        },
        getSignatureFromDeclaration: function(t) {
          return (
            (t = e.getParseTreeNode(t, e.isFunctionLike)), t ? Pn(t) : void 0
          )
        },
        isImplementationOfOverload: function(t) {
          return (
            (t = e.getParseTreeNode(t, e.isFunctionLike)), t ? am(t) : void 0
          )
        },
        getImmediateAliasedSymbol: function(t) {
          e.Debug.assert(
            0 !== (8388608 & t.flags),
            'Should only get Alias here.'
          )
          var r = b(t)
          if (!r.immediateTarget) {
            var n = J(t)
            e.Debug.assert(!!n), (r.immediateTarget = Y(n, !0))
          }
          return r.immediateTarget
        },
        getAliasedSymbol: $,
        getEmitResolver: u,
        getExportsOfModule: le,
        getExportsAndPropertiesOfModule: de,
        getAmbientModules: Ey,
        getAllAttributesTypeFromJsxOpeningLikeElement: function(t) {
          return (
            (t = e.getParseTreeNode(t, e.isJsxOpeningLikeElement)),
            t ? v_(t) : void 0
          )
        },
        getJsxIntrinsicTagNames: S_,
        isOptionalParameter: function(t) {
          return (t = e.getParseTreeNode(t, e.isParameter)), !!t && En(t)
        },
        tryGetMemberInModuleExports: pe,
        tryFindAmbientModuleWithoutAugmentations: function(e) {
          return Tn(e, !1)
        },
        getApparentType: _n
      },
      Zy = [],
      $y = e.createMap(),
      ev = e.createMap(),
      tv = e.createMap(),
      rv = e.createMap(),
      nv = e.createMap(),
      av = [],
      iv = l(4, 'unknown'),
      ov = l(0, '__resolving__'),
      sv = De(1, 'any'),
      cv = De(1, 'any'),
      uv = De(1, 'unknown'),
      _v = De(2048, 'undefined'),
      lv = qy ? _v : De(2099200, 'undefined'),
      dv = De(4096, 'null'),
      pv = qy ? dv : De(2101248, 'null'),
      fv = De(2, 'string'),
      gv = De(4, 'number'),
      mv = De(128, 'true'),
      yv = De(128, 'false'),
      vv = Te([mv, yv]),
      hv = De(512, 'symbol'),
      bv = De(1024, 'void'),
      kv = De(8192, 'never'),
      xv = De(8192, 'never'),
      Cv = De(16777216, 'object'),
      Sv = Oe(void 0, By, Ly, Ly, void 0, void 0),
      Dv = l(2048, '__type')
    Dv.members = e.createMap()
    var Tv = Oe(Dv, By, Ly, Ly, void 0, void 0),
      Ev = Oe(void 0, By, Ly, Ly, void 0, void 0)
    Ev.instantiations = e.createMap()
    var Nv = Oe(void 0, By, Ly, Ly, void 0, void 0)
    Nv.flags |= 8388608
    var Av,
      wv,
      Pv,
      Ov,
      Fv,
      Iv,
      Rv,
      Mv,
      Lv,
      Bv,
      Jv,
      zv,
      Kv,
      jv,
      Vv,
      qv,
      Uv,
      Wv,
      Hv,
      Gv,
      Xv,
      Qv,
      Yv,
      Zv,
      $v,
      eh,
      th,
      rh,
      nh,
      ah,
      ih,
      oh,
      sh = Oe(void 0, By, Ly, Ly, void 0, void 0),
      ch = Oe(void 0, By, Ly, Ly, void 0, void 0),
      uh = wr(void 0, void 0, void 0, Ly, sv, void 0, 0, !1, !1),
      _h = wr(void 0, void 0, void 0, Ly, uv, void 0, 0, !1, !1),
      lh = wr(void 0, void 0, void 0, Ly, sv, void 0, 0, !1, !1),
      dh = wr(void 0, void 0, void 0, Ly, xv, void 0, 0, !1, !1),
      ph = Un(fv, !0),
      fh = Un(sv, !1),
      gh = e.createMap(),
      mh = 0,
      yh = 0,
      vh = 0,
      hh = Ei(32, ''),
      bh = Ei(64, '0'),
      kh = [],
      xh = [],
      Ch = [],
      Sh = [],
      Dh = [],
      Th = [],
      Eh = [],
      Nh = [],
      Ah = [],
      wh = [],
      Ph = [],
      Oh = [],
      Fh = [],
      Ih = [],
      Rh = [],
      Mh = e.createDiagnosticCollection()
    !(function(e) {
      ;(e[(e.None = 0)] = 'None'),
        (e[(e.TypeofEQString = 1)] = 'TypeofEQString'),
        (e[(e.TypeofEQNumber = 2)] = 'TypeofEQNumber'),
        (e[(e.TypeofEQBoolean = 4)] = 'TypeofEQBoolean'),
        (e[(e.TypeofEQSymbol = 8)] = 'TypeofEQSymbol'),
        (e[(e.TypeofEQObject = 16)] = 'TypeofEQObject'),
        (e[(e.TypeofEQFunction = 32)] = 'TypeofEQFunction'),
        (e[(e.TypeofEQHostObject = 64)] = 'TypeofEQHostObject'),
        (e[(e.TypeofNEString = 128)] = 'TypeofNEString'),
        (e[(e.TypeofNENumber = 256)] = 'TypeofNENumber'),
        (e[(e.TypeofNEBoolean = 512)] = 'TypeofNEBoolean'),
        (e[(e.TypeofNESymbol = 1024)] = 'TypeofNESymbol'),
        (e[(e.TypeofNEObject = 2048)] = 'TypeofNEObject'),
        (e[(e.TypeofNEFunction = 4096)] = 'TypeofNEFunction'),
        (e[(e.TypeofNEHostObject = 8192)] = 'TypeofNEHostObject'),
        (e[(e.EQUndefined = 16384)] = 'EQUndefined'),
        (e[(e.EQNull = 32768)] = 'EQNull'),
        (e[(e.EQUndefinedOrNull = 65536)] = 'EQUndefinedOrNull'),
        (e[(e.NEUndefined = 131072)] = 'NEUndefined'),
        (e[(e.NENull = 262144)] = 'NENull'),
        (e[(e.NEUndefinedOrNull = 524288)] = 'NEUndefinedOrNull'),
        (e[(e.Truthy = 1048576)] = 'Truthy'),
        (e[(e.Falsy = 2097152)] = 'Falsy'),
        (e[(e.Discriminatable = 4194304)] = 'Discriminatable'),
        (e[(e.All = 8388607)] = 'All'),
        (e[(e.BaseStringStrictFacts = 933633)] = 'BaseStringStrictFacts'),
        (e[(e.BaseStringFacts = 3145473)] = 'BaseStringFacts'),
        (e[(e.StringStrictFacts = 4079361)] = 'StringStrictFacts'),
        (e[(e.StringFacts = 4194049)] = 'StringFacts'),
        (e[(e.EmptyStringStrictFacts = 3030785)] = 'EmptyStringStrictFacts'),
        (e[(e.EmptyStringFacts = 3145473)] = 'EmptyStringFacts'),
        (e[(e.NonEmptyStringStrictFacts = 1982209)] =
          'NonEmptyStringStrictFacts'),
        (e[(e.NonEmptyStringFacts = 4194049)] = 'NonEmptyStringFacts'),
        (e[(e.BaseNumberStrictFacts = 933506)] = 'BaseNumberStrictFacts'),
        (e[(e.BaseNumberFacts = 3145346)] = 'BaseNumberFacts'),
        (e[(e.NumberStrictFacts = 4079234)] = 'NumberStrictFacts'),
        (e[(e.NumberFacts = 4193922)] = 'NumberFacts'),
        (e[(e.ZeroStrictFacts = 3030658)] = 'ZeroStrictFacts'),
        (e[(e.ZeroFacts = 3145346)] = 'ZeroFacts'),
        (e[(e.NonZeroStrictFacts = 1982082)] = 'NonZeroStrictFacts'),
        (e[(e.NonZeroFacts = 4193922)] = 'NonZeroFacts'),
        (e[(e.BaseBooleanStrictFacts = 933252)] = 'BaseBooleanStrictFacts'),
        (e[(e.BaseBooleanFacts = 3145092)] = 'BaseBooleanFacts'),
        (e[(e.BooleanStrictFacts = 4078980)] = 'BooleanStrictFacts'),
        (e[(e.BooleanFacts = 4193668)] = 'BooleanFacts'),
        (e[(e.FalseStrictFacts = 3030404)] = 'FalseStrictFacts'),
        (e[(e.FalseFacts = 3145092)] = 'FalseFacts'),
        (e[(e.TrueStrictFacts = 1981828)] = 'TrueStrictFacts'),
        (e[(e.TrueFacts = 4193668)] = 'TrueFacts'),
        (e[(e.SymbolStrictFacts = 1981320)] = 'SymbolStrictFacts'),
        (e[(e.SymbolFacts = 4193160)] = 'SymbolFacts'),
        (e[(e.ObjectStrictFacts = 6166480)] = 'ObjectStrictFacts'),
        (e[(e.ObjectFacts = 8378320)] = 'ObjectFacts'),
        (e[(e.FunctionStrictFacts = 6164448)] = 'FunctionStrictFacts'),
        (e[(e.FunctionFacts = 8376288)] = 'FunctionFacts'),
        (e[(e.UndefinedFacts = 2457472)] = 'UndefinedFacts'),
        (e[(e.NullFacts = 2340752)] = 'NullFacts')
    })(oh || (oh = {}))
    var Lh,
      Bh,
      Jh,
      zh,
      Kh,
      jh,
      Vh = e.createMapFromTemplate({
        string: 1,
        number: 2,
        boolean: 4,
        symbol: 8,
        undefined: 16384,
        object: 16,
        function: 32
      }),
      qh = e.createMapFromTemplate({
        string: 128,
        number: 256,
        boolean: 512,
        symbol: 1024,
        undefined: 131072,
        object: 2048,
        function: 4096
      }),
      Uh = e.createMapFromTemplate({
        string: fv,
        number: gv,
        boolean: vv,
        symbol: hv,
        undefined: _v
      }),
      Wh = Ne(),
      Hh = !1,
      Gh = !1,
      Xh = e.createMap(),
      Qh = {
        JSX: 'JSX',
        IntrinsicElements: 'IntrinsicElements',
        ElementClass: 'ElementClass',
        ElementAttributesPropertyNameContainer: 'ElementAttributesProperty',
        ElementChildrenAttributeNameContainer: 'ElementChildrenAttribute',
        Element: 'Element',
        IntrinsicAttributes: 'IntrinsicAttributes',
        IntrinsicClassAttributes: 'IntrinsicClassAttributes'
      },
      Yh = e.createMap(),
      Zh = e.createMap(),
      $h = e.createMap(),
      eb = e.createMap(),
      tb = e.createMap()
    !(function(e) {
      ;(e[(e.Type = 0)] = 'Type'),
        (e[(e.ResolvedBaseConstructorType = 1)] =
          'ResolvedBaseConstructorType'),
        (e[(e.DeclaredType = 2)] = 'DeclaredType'),
        (e[(e.ResolvedReturnType = 3)] = 'ResolvedReturnType')
    })(jh || (jh = {}))
    var rb
    !(function(e) {
      ;(e[(e.Normal = 0)] = 'Normal'),
        (e[(e.SkipContextSensitive = 1)] = 'SkipContextSensitive'),
        (e[(e.Inferential = 2)] = 'Inferential')
    })(rb || (rb = {}))
    var nb = e.createMap()
    return nb.set(Xy.name, Xy), xm(), Yy
  }
  var a = /^".+"$/,
    i = 1,
    o = 1,
    s = 1,
    c = 1
  ;(e.getNodeId = t), (e.getSymbolId = r), (e.createTypeChecker = n)
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t, r, n, a) {
    if (void 0 === t || void 0 === r) return t
    e.aggregateTransformFlags(t)
    var i = r(t)
    if (i === t) return t
    var o
    if (void 0 !== i)
      return (
        (o = e.isArray(i) ? (a || s)(i) : i),
        e.Debug.assertNode(o, n),
        e.aggregateTransformFlags(o),
        o
      )
  }
  function r(t, r, n, a, i) {
    if (void 0 === t || void 0 === r) return t
    var o,
      s = t.length
    ;(void 0 === a || a < 0) && (a = 0),
      (void 0 === i || i > s - a) && (i = s - a),
      (a > 0 || i < s) &&
        (o = e.createNodeArray([], t.hasTrailingComma && a + i === s))
    for (var c = 0; c < i; c++) {
      var u = t[c + a]
      e.aggregateTransformFlags(u)
      var _ = void 0 !== u ? r(u) : void 0
      if (
        (void 0 !== o || void 0 === _ || _ !== u) &&
        (void 0 === o &&
          ((o = e.createNodeArray(t.slice(0, c), t.hasTrailingComma)),
          e.setTextRange(o, t)),
        _)
      )
        if (e.isArray(_))
          for (var l = 0, d = _; l < d.length; l++) {
            var p = d[l]
            e.Debug.assertNode(p, n), e.aggregateTransformFlags(p), o.push(p)
          }
        else e.Debug.assertNode(_, n), e.aggregateTransformFlags(_), o.push(_)
    }
    return o || t
  }
  function n(t, n, a, i, o) {
    a.startLexicalEnvironment(),
      (t = r(t, n, e.isStatement, i)),
      o &&
        !e.startsWithUseStrict(t) &&
        (t = e.setTextRange(
          e.createNodeArray(
            [e.createStatement(e.createLiteral('use strict'))].concat(t)
          ),
          t
        ))
    var s = a.endLexicalEnvironment()
    return e.setTextRange(e.createNodeArray(e.concatenate(t, s)), t)
  }
  function a(t, n, a, i) {
    void 0 === i && (i = r), a.startLexicalEnvironment()
    var o = i(t, n, e.isParameterDeclaration)
    return a.suspendLexicalEnvironment(), o
  }
  function i(r, n, a) {
    a.resumeLexicalEnvironment()
    var i = t(r, n, e.isConciseBody),
      o = a.endLexicalEnvironment()
    if (e.some(o)) {
      var s = e.convertToFunctionBody(i),
        c = e.mergeLexicalEnvironment(s.statements, o)
      return e.updateBlock(s, c)
    }
    return i
  }
  function o(o, s, c, u, _) {
    if ((void 0 === u && (u = r), void 0 !== o)) {
      var l = o.kind
      if ((l > 0 && l <= 142) || 169 === l) return o
      switch (o.kind) {
        case 206:
        case 209:
        case 200:
        case 225:
        case 298:
        case 247:
          return o
        case 143:
          return e.updateQualifiedName(
            o,
            t(o.left, s, e.isEntityName),
            t(o.right, s, e.isIdentifier)
          )
        case 144:
          return e.updateComputedPropertyName(
            o,
            t(o.expression, s, e.isExpression)
          )
        case 160:
          return e.updateFunctionTypeNode(
            o,
            u(o.typeParameters, s, e.isTypeParameter),
            a(o.parameters, s, c, u),
            t(o.type, s, e.isTypeNode)
          )
        case 161:
          return e.updateConstructorTypeNode(
            o,
            u(o.typeParameters, s, e.isTypeParameter),
            a(o.parameters, s, c, u),
            t(o.type, s, e.isTypeNode)
          )
        case 155:
          return e.updateCallSignatureDeclaration(
            o,
            u(o.typeParameters, s, e.isTypeParameter),
            a(o.parameters, s, c, u),
            t(o.type, s, e.isTypeNode)
          )
        case 156:
          return e.updateConstructSignatureDeclaration(
            o,
            u(o.typeParameters, s, e.isTypeParameter),
            a(o.parameters, s, c, u),
            t(o.type, s, e.isTypeNode)
          )
        case 150:
          return e.updateMethodSignature(
            o,
            u(o.typeParameters, s, e.isTypeParameter),
            a(o.parameters, s, c, u),
            t(o.type, s, e.isTypeNode),
            t(o.name, s, e.isPropertyName),
            t(o.questionToken, _, e.isToken)
          )
        case 157:
          return e.updateIndexSignatureDeclaration(
            o,
            u(o.decorators, s, e.isDecorator),
            u(o.modifiers, s, e.isModifier),
            a(o.parameters, s, c, u),
            t(o.type, s, e.isTypeNode)
          )
        case 146:
          return e.updateParameter(
            o,
            u(o.decorators, s, e.isDecorator),
            u(o.modifiers, s, e.isModifier),
            t(o.dotDotDotToken, _, e.isToken),
            t(o.name, s, e.isBindingName),
            t(o.questionToken, _, e.isToken),
            t(o.type, s, e.isTypeNode),
            t(o.initializer, s, e.isExpression)
          )
        case 147:
          return e.updateDecorator(o, t(o.expression, s, e.isExpression))
        case 159:
          return e.updateTypeReferenceNode(
            o,
            t(o.typeName, s, e.isEntityName),
            u(o.typeArguments, s, e.isTypeNode)
          )
        case 158:
          return e.updateTypePredicateNode(
            o,
            t(o.parameterName, s),
            t(o.type, s, e.isTypeNode)
          )
        case 162:
          return e.updateTypeQueryNode(o, t(o.exprName, s, e.isEntityName))
        case 163:
          return e.updateTypeLiteralNode(o, u(o.members, s))
        case 164:
          return e.updateArrayTypeNode(o, t(o.elementType, s, e.isTypeNode))
        case 165:
          return e.updateTypleTypeNode(o, u(o.elementTypes, s, e.isTypeNode))
        case 166:
        case 167:
          return e.updateUnionOrIntersectionTypeNode(
            o,
            u(o.types, s, e.isTypeNode)
          )
        case 168:
          throw e.Debug.fail('not implemented.')
        case 170:
          return e.updateTypeOperatorNode(o, t(o.type, s, e.isTypeNode))
        case 171:
          return e.updateIndexedAccessTypeNode(
            o,
            t(o.objectType, s, e.isTypeNode),
            t(o.indexType, s, e.isTypeNode)
          )
        case 172:
          return e.updateMappedTypeNode(
            o,
            t(o.readonlyToken, _, e.isToken),
            t(o.typeParameter, s, e.isTypeParameter),
            t(o.questionToken, _, e.isToken),
            t(o.type, s, e.isTypeNode)
          )
        case 173:
          return e.updateLiteralTypeNode(o, t(o.literal, s, e.isExpression))
        case 145:
          return e.updateTypeParameterDeclaration(
            o,
            t(o.name, s, e.isIdentifier),
            t(o.constraint, s, e.isTypeNode),
            t(o['default'], s, e.isTypeNode)
          )
        case 148:
          return e.updatePropertySignature(
            o,
            t(o.name, s, e.isPropertyName),
            t(o.questionToken, _, e.isToken),
            t(o.type, s, e.isTypeNode),
            t(o.initializer, s, e.isExpression)
          )
        case 149:
          return e.updateProperty(
            o,
            u(o.decorators, s, e.isDecorator),
            u(o.modifiers, s, e.isModifier),
            t(o.name, s, e.isPropertyName),
            t(o.type, s, e.isTypeNode),
            t(o.initializer, s, e.isExpression)
          )
        case 151:
          return e.updateMethod(
            o,
            u(o.decorators, s, e.isDecorator),
            u(o.modifiers, s, e.isModifier),
            t(o.asteriskToken, _, e.isToken),
            t(o.name, s, e.isPropertyName),
            t(o.questionToken, _, e.isToken),
            u(o.typeParameters, s, e.isTypeParameter),
            a(o.parameters, s, c, u),
            t(o.type, s, e.isTypeNode),
            i(o.body, s, c)
          )
        case 152:
          return e.updateConstructor(
            o,
            u(o.decorators, s, e.isDecorator),
            u(o.modifiers, s, e.isModifier),
            a(o.parameters, s, c, u),
            i(o.body, s, c)
          )
        case 153:
          return e.updateGetAccessor(
            o,
            u(o.decorators, s, e.isDecorator),
            u(o.modifiers, s, e.isModifier),
            t(o.name, s, e.isPropertyName),
            a(o.parameters, s, c, u),
            t(o.type, s, e.isTypeNode),
            i(o.body, s, c)
          )
        case 154:
          return e.updateSetAccessor(
            o,
            u(o.decorators, s, e.isDecorator),
            u(o.modifiers, s, e.isModifier),
            t(o.name, s, e.isPropertyName),
            a(o.parameters, s, c, u),
            i(o.body, s, c)
          )
        case 174:
          return e.updateObjectBindingPattern(
            o,
            u(o.elements, s, e.isBindingElement)
          )
        case 175:
          return e.updateArrayBindingPattern(
            o,
            u(o.elements, s, e.isArrayBindingElement)
          )
        case 176:
          return e.updateBindingElement(
            o,
            t(o.dotDotDotToken, _, e.isToken),
            t(o.propertyName, s, e.isPropertyName),
            t(o.name, s, e.isBindingName),
            t(o.initializer, s, e.isExpression)
          )
        case 177:
          return e.updateArrayLiteral(o, u(o.elements, s, e.isExpression))
        case 178:
          return e.updateObjectLiteral(
            o,
            u(o.properties, s, e.isObjectLiteralElementLike)
          )
        case 179:
          return e.updatePropertyAccess(
            o,
            t(o.expression, s, e.isExpression),
            t(o.name, s, e.isIdentifier)
          )
        case 180:
          return e.updateElementAccess(
            o,
            t(o.expression, s, e.isExpression),
            t(o.argumentExpression, s, e.isExpression)
          )
        case 181:
          return e.updateCall(
            o,
            t(o.expression, s, e.isExpression),
            u(o.typeArguments, s, e.isTypeNode),
            u(o.arguments, s, e.isExpression)
          )
        case 182:
          return e.updateNew(
            o,
            t(o.expression, s, e.isExpression),
            u(o.typeArguments, s, e.isTypeNode),
            u(o.arguments, s, e.isExpression)
          )
        case 183:
          return e.updateTaggedTemplate(
            o,
            t(o.tag, s, e.isExpression),
            t(o.template, s, e.isTemplateLiteral)
          )
        case 184:
          return e.updateTypeAssertion(
            o,
            t(o.type, s, e.isTypeNode),
            t(o.expression, s, e.isExpression)
          )
        case 185:
          return e.updateParen(o, t(o.expression, s, e.isExpression))
        case 186:
          return e.updateFunctionExpression(
            o,
            u(o.modifiers, s, e.isModifier),
            t(o.asteriskToken, _, e.isToken),
            t(o.name, s, e.isIdentifier),
            u(o.typeParameters, s, e.isTypeParameter),
            a(o.parameters, s, c, u),
            t(o.type, s, e.isTypeNode),
            i(o.body, s, c)
          )
        case 187:
          return e.updateArrowFunction(
            o,
            u(o.modifiers, s, e.isModifier),
            u(o.typeParameters, s, e.isTypeParameter),
            a(o.parameters, s, c, u),
            t(o.type, s, e.isTypeNode),
            i(o.body, s, c)
          )
        case 188:
          return e.updateDelete(o, t(o.expression, s, e.isExpression))
        case 189:
          return e.updateTypeOf(o, t(o.expression, s, e.isExpression))
        case 190:
          return e.updateVoid(o, t(o.expression, s, e.isExpression))
        case 191:
          return e.updateAwait(o, t(o.expression, s, e.isExpression))
        case 194:
          return e.updateBinary(
            o,
            t(o.left, s, e.isExpression),
            t(o.right, s, e.isExpression)
          )
        case 192:
          return e.updatePrefix(o, t(o.operand, s, e.isExpression))
        case 193:
          return e.updatePostfix(o, t(o.operand, s, e.isExpression))
        case 195:
          return e.updateConditional(
            o,
            t(o.condition, s, e.isExpression),
            t(o.whenTrue, s, e.isExpression),
            t(o.whenFalse, s, e.isExpression)
          )
        case 196:
          return e.updateTemplateExpression(
            o,
            t(o.head, s, e.isTemplateHead),
            u(o.templateSpans, s, e.isTemplateSpan)
          )
        case 197:
          return e.updateYield(
            o,
            t(o.asteriskToken, _, e.isToken),
            t(o.expression, s, e.isExpression)
          )
        case 198:
          return e.updateSpread(o, t(o.expression, s, e.isExpression))
        case 199:
          return e.updateClassExpression(
            o,
            u(o.modifiers, s, e.isModifier),
            t(o.name, s, e.isIdentifier),
            u(o.typeParameters, s, e.isTypeParameter),
            u(o.heritageClauses, s, e.isHeritageClause),
            u(o.members, s, e.isClassElement)
          )
        case 201:
          return e.updateExpressionWithTypeArguments(
            o,
            u(o.typeArguments, s, e.isTypeNode),
            t(o.expression, s, e.isExpression)
          )
        case 202:
          return e.updateAsExpression(
            o,
            t(o.expression, s, e.isExpression),
            t(o.type, s, e.isTypeNode)
          )
        case 203:
          return e.updateNonNullExpression(
            o,
            t(o.expression, s, e.isExpression)
          )
        case 205:
          return e.updateTemplateSpan(
            o,
            t(o.expression, s, e.isExpression),
            t(o.literal, s, e.isTemplateMiddleOrTemplateTail)
          )
        case 207:
          return e.updateBlock(o, u(o.statements, s, e.isStatement))
        case 208:
          return e.updateVariableStatement(
            o,
            u(o.modifiers, s, e.isModifier),
            t(o.declarationList, s, e.isVariableDeclarationList)
          )
        case 210:
          return e.updateStatement(o, t(o.expression, s, e.isExpression))
        case 211:
          return e.updateIf(
            o,
            t(o.expression, s, e.isExpression),
            t(o.thenStatement, s, e.isStatement, e.liftToBlock),
            t(o.elseStatement, s, e.isStatement, e.liftToBlock)
          )
        case 212:
          return e.updateDo(
            o,
            t(o.statement, s, e.isStatement, e.liftToBlock),
            t(o.expression, s, e.isExpression)
          )
        case 213:
          return e.updateWhile(
            o,
            t(o.expression, s, e.isExpression),
            t(o.statement, s, e.isStatement, e.liftToBlock)
          )
        case 214:
          return e.updateFor(
            o,
            t(o.initializer, s, e.isForInitializer),
            t(o.condition, s, e.isExpression),
            t(o.incrementor, s, e.isExpression),
            t(o.statement, s, e.isStatement, e.liftToBlock)
          )
        case 215:
          return e.updateForIn(
            o,
            t(o.initializer, s, e.isForInitializer),
            t(o.expression, s, e.isExpression),
            t(o.statement, s, e.isStatement, e.liftToBlock)
          )
        case 216:
          return e.updateForOf(
            o,
            o.awaitModifier,
            t(o.initializer, s, e.isForInitializer),
            t(o.expression, s, e.isExpression),
            t(o.statement, s, e.isStatement, e.liftToBlock)
          )
        case 217:
          return e.updateContinue(o, t(o.label, s, e.isIdentifier))
        case 218:
          return e.updateBreak(o, t(o.label, s, e.isIdentifier))
        case 219:
          return e.updateReturn(o, t(o.expression, s, e.isExpression))
        case 220:
          return e.updateWith(
            o,
            t(o.expression, s, e.isExpression),
            t(o.statement, s, e.isStatement, e.liftToBlock)
          )
        case 221:
          return e.updateSwitch(
            o,
            t(o.expression, s, e.isExpression),
            t(o.caseBlock, s, e.isCaseBlock)
          )
        case 222:
          return e.updateLabel(
            o,
            t(o.label, s, e.isIdentifier),
            t(o.statement, s, e.isStatement, e.liftToBlock)
          )
        case 223:
          return e.updateThrow(o, t(o.expression, s, e.isExpression))
        case 224:
          return e.updateTry(
            o,
            t(o.tryBlock, s, e.isBlock),
            t(o.catchClause, s, e.isCatchClause),
            t(o.finallyBlock, s, e.isBlock)
          )
        case 226:
          return e.updateVariableDeclaration(
            o,
            t(o.name, s, e.isBindingName),
            t(o.type, s, e.isTypeNode),
            t(o.initializer, s, e.isExpression)
          )
        case 227:
          return e.updateVariableDeclarationList(
            o,
            u(o.declarations, s, e.isVariableDeclaration)
          )
        case 228:
          return e.updateFunctionDeclaration(
            o,
            u(o.decorators, s, e.isDecorator),
            u(o.modifiers, s, e.isModifier),
            t(o.asteriskToken, _, e.isToken),
            t(o.name, s, e.isIdentifier),
            u(o.typeParameters, s, e.isTypeParameter),
            a(o.parameters, s, c, u),
            t(o.type, s, e.isTypeNode),
            i(o.body, s, c)
          )
        case 229:
          return e.updateClassDeclaration(
            o,
            u(o.decorators, s, e.isDecorator),
            u(o.modifiers, s, e.isModifier),
            t(o.name, s, e.isIdentifier),
            u(o.typeParameters, s, e.isTypeParameter),
            u(o.heritageClauses, s, e.isHeritageClause),
            u(o.members, s, e.isClassElement)
          )
        case 232:
          return e.updateEnumDeclaration(
            o,
            u(o.decorators, s, e.isDecorator),
            u(o.modifiers, s, e.isModifier),
            t(o.name, s, e.isIdentifier),
            u(o.members, s, e.isEnumMember)
          )
        case 233:
          return e.updateModuleDeclaration(
            o,
            u(o.decorators, s, e.isDecorator),
            u(o.modifiers, s, e.isModifier),
            t(o.name, s, e.isIdentifier),
            t(o.body, s, e.isModuleBody)
          )
        case 234:
          return e.updateModuleBlock(o, u(o.statements, s, e.isStatement))
        case 235:
          return e.updateCaseBlock(o, u(o.clauses, s, e.isCaseOrDefaultClause))
        case 237:
          return e.updateImportEqualsDeclaration(
            o,
            u(o.decorators, s, e.isDecorator),
            u(o.modifiers, s, e.isModifier),
            t(o.name, s, e.isIdentifier),
            t(o.moduleReference, s, e.isModuleReference)
          )
        case 238:
          return e.updateImportDeclaration(
            o,
            u(o.decorators, s, e.isDecorator),
            u(o.modifiers, s, e.isModifier),
            t(o.importClause, s, e.isImportClause),
            t(o.moduleSpecifier, s, e.isExpression)
          )
        case 239:
          return e.updateImportClause(
            o,
            t(o.name, s, e.isIdentifier),
            t(o.namedBindings, s, e.isNamedImportBindings)
          )
        case 240:
          return e.updateNamespaceImport(o, t(o.name, s, e.isIdentifier))
        case 241:
          return e.updateNamedImports(o, u(o.elements, s, e.isImportSpecifier))
        case 242:
          return e.updateImportSpecifier(
            o,
            t(o.propertyName, s, e.isIdentifier),
            t(o.name, s, e.isIdentifier)
          )
        case 243:
          return e.updateExportAssignment(
            o,
            u(o.decorators, s, e.isDecorator),
            u(o.modifiers, s, e.isModifier),
            t(o.expression, s, e.isExpression)
          )
        case 244:
          return e.updateExportDeclaration(
            o,
            u(o.decorators, s, e.isDecorator),
            u(o.modifiers, s, e.isModifier),
            t(o.exportClause, s, e.isNamedExports),
            t(o.moduleSpecifier, s, e.isExpression)
          )
        case 245:
          return e.updateNamedExports(o, u(o.elements, s, e.isExportSpecifier))
        case 246:
          return e.updateExportSpecifier(
            o,
            t(o.propertyName, s, e.isIdentifier),
            t(o.name, s, e.isIdentifier)
          )
        case 248:
          return e.updateExternalModuleReference(
            o,
            t(o.expression, s, e.isExpression)
          )
        case 249:
          return e.updateJsxElement(
            o,
            t(o.openingElement, s, e.isJsxOpeningElement),
            u(o.children, s, e.isJsxChild),
            t(o.closingElement, s, e.isJsxClosingElement)
          )
        case 254:
          return e.updateJsxAttributes(
            o,
            u(o.properties, s, e.isJsxAttributeLike)
          )
        case 250:
          return e.updateJsxSelfClosingElement(
            o,
            t(o.tagName, s, e.isJsxTagNameExpression),
            t(o.attributes, s, e.isJsxAttributes)
          )
        case 251:
          return e.updateJsxOpeningElement(
            o,
            t(o.tagName, s, e.isJsxTagNameExpression),
            t(o.attributes, s, e.isJsxAttributes)
          )
        case 252:
          return e.updateJsxClosingElement(
            o,
            t(o.tagName, s, e.isJsxTagNameExpression)
          )
        case 253:
          return e.updateJsxAttribute(
            o,
            t(o.name, s, e.isIdentifier),
            t(o.initializer, s, e.isStringLiteralOrJsxExpression)
          )
        case 255:
          return e.updateJsxSpreadAttribute(
            o,
            t(o.expression, s, e.isExpression)
          )
        case 256:
          return e.updateJsxExpression(o, t(o.expression, s, e.isExpression))
        case 257:
          return e.updateCaseClause(
            o,
            t(o.expression, s, e.isExpression),
            u(o.statements, s, e.isStatement)
          )
        case 258:
          return e.updateDefaultClause(o, u(o.statements, s, e.isStatement))
        case 259:
          return e.updateHeritageClause(
            o,
            u(o.types, s, e.isExpressionWithTypeArguments)
          )
        case 260:
          return e.updateCatchClause(
            o,
            t(o.variableDeclaration, s, e.isVariableDeclaration),
            t(o.block, s, e.isBlock)
          )
        case 261:
          return e.updatePropertyAssignment(
            o,
            t(o.name, s, e.isPropertyName),
            t(o.initializer, s, e.isExpression)
          )
        case 262:
          return e.updateShorthandPropertyAssignment(
            o,
            t(o.name, s, e.isIdentifier),
            t(o.objectAssignmentInitializer, s, e.isExpression)
          )
        case 263:
          return e.updateSpreadAssignment(o, t(o.expression, s, e.isExpression))
        case 264:
          return e.updateEnumMember(
            o,
            t(o.name, s, e.isPropertyName),
            t(o.initializer, s, e.isExpression)
          )
        case 265:
          return e.updateSourceFileNode(o, n(o.statements, s, c))
        case 296:
          return e.updatePartiallyEmittedExpression(
            o,
            t(o.expression, s, e.isExpression)
          )
        default:
          return o
      }
    }
  }
  function s(t) {
    return (
      e.Debug.assert(t.length <= 1, 'Too many nodes written to output.'),
      e.singleOrUndefined(t)
    )
  }
  ;(e.visitNode = t),
    (e.visitNodes = r),
    (e.visitLexicalEnvironment = n),
    (e.visitParameterList = a),
    (e.visitFunctionBody = i),
    (e.visitEachChild = o)
})(ts || (ts = {})),
  (function(e) {
    function t(e, t, r) {
      return e ? t(r, e) : r
    }
    function r(e, t, r) {
      return e ? t(r, e) : r
    }
    function n(n, a, i, o) {
      if (void 0 === n) return a
      var s = o ? r : e.reduceLeft,
        c = o || i,
        u = n.kind
      if (u > 0 && u <= 142) return a
      if (u >= 158 && u <= 173) return a
      var _ = a
      switch (n.kind) {
        case 206:
        case 209:
        case 200:
        case 225:
        case 295:
          break
        case 143:
          ;(_ = t(n.left, i, _)), (_ = t(n.right, i, _))
          break
        case 144:
          _ = t(n.expression, i, _)
          break
        case 146:
          ;(_ = s(n.decorators, c, _)),
            (_ = s(n.modifiers, c, _)),
            (_ = t(n.name, i, _)),
            (_ = t(n.type, i, _)),
            (_ = t(n.initializer, i, _))
          break
        case 147:
          _ = t(n.expression, i, _)
          break
        case 149:
          ;(_ = s(n.decorators, c, _)),
            (_ = s(n.modifiers, c, _)),
            (_ = t(n.name, i, _)),
            (_ = t(n.type, i, _)),
            (_ = t(n.initializer, i, _))
          break
        case 151:
          ;(_ = s(n.decorators, c, _)),
            (_ = s(n.modifiers, c, _)),
            (_ = t(n.name, i, _)),
            (_ = s(n.typeParameters, c, _)),
            (_ = s(n.parameters, c, _)),
            (_ = t(n.type, i, _)),
            (_ = t(n.body, i, _))
          break
        case 152:
          ;(_ = s(n.modifiers, c, _)),
            (_ = s(n.parameters, c, _)),
            (_ = t(n.body, i, _))
          break
        case 153:
          ;(_ = s(n.decorators, c, _)),
            (_ = s(n.modifiers, c, _)),
            (_ = t(n.name, i, _)),
            (_ = s(n.parameters, c, _)),
            (_ = t(n.type, i, _)),
            (_ = t(n.body, i, _))
          break
        case 154:
          ;(_ = s(n.decorators, c, _)),
            (_ = s(n.modifiers, c, _)),
            (_ = t(n.name, i, _)),
            (_ = s(n.parameters, c, _)),
            (_ = t(n.body, i, _))
          break
        case 174:
        case 175:
          _ = s(n.elements, c, _)
          break
        case 176:
          ;(_ = t(n.propertyName, i, _)),
            (_ = t(n.name, i, _)),
            (_ = t(n.initializer, i, _))
          break
        case 177:
          _ = s(n.elements, c, _)
          break
        case 178:
          _ = s(n.properties, c, _)
          break
        case 179:
          ;(_ = t(n.expression, i, _)), (_ = t(n.name, i, _))
          break
        case 180:
          ;(_ = t(n.expression, i, _)), (_ = t(n.argumentExpression, i, _))
          break
        case 181:
          ;(_ = t(n.expression, i, _)),
            (_ = s(n.typeArguments, c, _)),
            (_ = s(n.arguments, c, _))
          break
        case 182:
          ;(_ = t(n.expression, i, _)),
            (_ = s(n.typeArguments, c, _)),
            (_ = s(n.arguments, c, _))
          break
        case 183:
          ;(_ = t(n.tag, i, _)), (_ = t(n.template, i, _))
          break
        case 184:
          ;(_ = t(n.type, i, _)), (_ = t(n.expression, i, _))
          break
        case 186:
          ;(_ = s(n.modifiers, c, _)),
            (_ = t(n.name, i, _)),
            (_ = s(n.typeParameters, c, _)),
            (_ = s(n.parameters, c, _)),
            (_ = t(n.type, i, _)),
            (_ = t(n.body, i, _))
          break
        case 187:
          ;(_ = s(n.modifiers, c, _)),
            (_ = s(n.typeParameters, c, _)),
            (_ = s(n.parameters, c, _)),
            (_ = t(n.type, i, _)),
            (_ = t(n.body, i, _))
          break
        case 185:
        case 188:
        case 189:
        case 190:
        case 191:
        case 197:
        case 198:
        case 203:
          _ = t(n.expression, i, _)
          break
        case 192:
        case 193:
          _ = t(n.operand, i, _)
          break
        case 194:
          ;(_ = t(n.left, i, _)), (_ = t(n.right, i, _))
          break
        case 195:
          ;(_ = t(n.condition, i, _)),
            (_ = t(n.whenTrue, i, _)),
            (_ = t(n.whenFalse, i, _))
          break
        case 196:
          ;(_ = t(n.head, i, _)), (_ = s(n.templateSpans, c, _))
          break
        case 199:
          ;(_ = s(n.modifiers, c, _)),
            (_ = t(n.name, i, _)),
            (_ = s(n.typeParameters, c, _)),
            (_ = s(n.heritageClauses, c, _)),
            (_ = s(n.members, c, _))
          break
        case 201:
          ;(_ = t(n.expression, i, _)), (_ = s(n.typeArguments, c, _))
          break
        case 202:
          ;(_ = t(n.expression, i, _)), (_ = t(n.type, i, _))
          break
        case 203:
          _ = t(n.expression, i, _)
          break
        case 205:
          ;(_ = t(n.expression, i, _)), (_ = t(n.literal, i, _))
          break
        case 207:
          _ = s(n.statements, c, _)
          break
        case 208:
          ;(_ = s(n.modifiers, c, _)), (_ = t(n.declarationList, i, _))
          break
        case 210:
          _ = t(n.expression, i, _)
          break
        case 211:
          ;(_ = t(n.expression, i, _)),
            (_ = t(n.thenStatement, i, _)),
            (_ = t(n.elseStatement, i, _))
          break
        case 212:
          ;(_ = t(n.statement, i, _)), (_ = t(n.expression, i, _))
          break
        case 213:
        case 220:
          ;(_ = t(n.expression, i, _)), (_ = t(n.statement, i, _))
          break
        case 214:
          ;(_ = t(n.initializer, i, _)),
            (_ = t(n.condition, i, _)),
            (_ = t(n.incrementor, i, _)),
            (_ = t(n.statement, i, _))
          break
        case 215:
        case 216:
          ;(_ = t(n.initializer, i, _)),
            (_ = t(n.expression, i, _)),
            (_ = t(n.statement, i, _))
          break
        case 219:
        case 223:
          _ = t(n.expression, i, _)
          break
        case 221:
          ;(_ = t(n.expression, i, _)), (_ = t(n.caseBlock, i, _))
          break
        case 222:
          ;(_ = t(n.label, i, _)), (_ = t(n.statement, i, _))
          break
        case 224:
          ;(_ = t(n.tryBlock, i, _)),
            (_ = t(n.catchClause, i, _)),
            (_ = t(n.finallyBlock, i, _))
          break
        case 226:
          ;(_ = t(n.name, i, _)),
            (_ = t(n.type, i, _)),
            (_ = t(n.initializer, i, _))
          break
        case 227:
          _ = s(n.declarations, c, _)
          break
        case 228:
          ;(_ = s(n.decorators, c, _)),
            (_ = s(n.modifiers, c, _)),
            (_ = t(n.name, i, _)),
            (_ = s(n.typeParameters, c, _)),
            (_ = s(n.parameters, c, _)),
            (_ = t(n.type, i, _)),
            (_ = t(n.body, i, _))
          break
        case 229:
          ;(_ = s(n.decorators, c, _)),
            (_ = s(n.modifiers, c, _)),
            (_ = t(n.name, i, _)),
            (_ = s(n.typeParameters, c, _)),
            (_ = s(n.heritageClauses, c, _)),
            (_ = s(n.members, c, _))
          break
        case 232:
          ;(_ = s(n.decorators, c, _)),
            (_ = s(n.modifiers, c, _)),
            (_ = t(n.name, i, _)),
            (_ = s(n.members, c, _))
          break
        case 233:
          ;(_ = s(n.decorators, c, _)),
            (_ = s(n.modifiers, c, _)),
            (_ = t(n.name, i, _)),
            (_ = t(n.body, i, _))
          break
        case 234:
          _ = s(n.statements, c, _)
          break
        case 235:
          _ = s(n.clauses, c, _)
          break
        case 237:
          ;(_ = s(n.decorators, c, _)),
            (_ = s(n.modifiers, c, _)),
            (_ = t(n.name, i, _)),
            (_ = t(n.moduleReference, i, _))
          break
        case 238:
          ;(_ = s(n.decorators, c, _)),
            (_ = s(n.modifiers, c, _)),
            (_ = t(n.importClause, i, _)),
            (_ = t(n.moduleSpecifier, i, _))
          break
        case 239:
          ;(_ = t(n.name, i, _)), (_ = t(n.namedBindings, i, _))
          break
        case 240:
          _ = t(n.name, i, _)
          break
        case 241:
        case 245:
          _ = s(n.elements, c, _)
          break
        case 242:
        case 246:
          ;(_ = t(n.propertyName, i, _)), (_ = t(n.name, i, _))
          break
        case 243:
          ;(_ = e.reduceLeft(n.decorators, i, _)),
            (_ = e.reduceLeft(n.modifiers, i, _)),
            (_ = t(n.expression, i, _))
          break
        case 244:
          ;(_ = e.reduceLeft(n.decorators, i, _)),
            (_ = e.reduceLeft(n.modifiers, i, _)),
            (_ = t(n.exportClause, i, _)),
            (_ = t(n.moduleSpecifier, i, _))
          break
        case 248:
          _ = t(n.expression, i, _)
          break
        case 249:
          ;(_ = t(n.openingElement, i, _)),
            (_ = e.reduceLeft(n.children, i, _)),
            (_ = t(n.closingElement, i, _))
          break
        case 250:
        case 251:
          ;(_ = t(n.tagName, i, _)), (_ = t(n.attributes, i, _))
          break
        case 254:
          _ = s(n.properties, c, _)
          break
        case 252:
          _ = t(n.tagName, i, _)
          break
        case 253:
          ;(_ = t(n.name, i, _)), (_ = t(n.initializer, i, _))
          break
        case 255:
          _ = t(n.expression, i, _)
          break
        case 256:
          _ = t(n.expression, i, _)
          break
        case 257:
          _ = t(n.expression, i, _)
        case 258:
          _ = s(n.statements, c, _)
          break
        case 259:
          _ = s(n.types, c, _)
          break
        case 260:
          ;(_ = t(n.variableDeclaration, i, _)), (_ = t(n.block, i, _))
          break
        case 261:
          ;(_ = t(n.name, i, _)), (_ = t(n.initializer, i, _))
          break
        case 262:
          ;(_ = t(n.name, i, _)), (_ = t(n.objectAssignmentInitializer, i, _))
          break
        case 263:
          _ = t(n.expression, i, _)
          break
        case 264:
          ;(_ = t(n.name, i, _)), (_ = t(n.initializer, i, _))
          break
        case 265:
          _ = s(n.statements, c, _)
          break
        case 296:
          _ = t(n.expression, i, _)
      }
      return _
    }
    function a(t, r) {
      return e.some(r)
        ? e.isNodeArray(t)
          ? e.setTextRange(e.createNodeArray(e.concatenate(t, r)), t)
          : e.addRange(t, r)
        : t
    }
    function i(t) {
      return (
        d.assert(e.every(t, e.isStatement), 'Cannot lift nodes to a Block.'),
        e.singleOrUndefined(t) || e.createBlock(t)
      )
    }
    function o(e) {
      return s(e), e
    }
    function s(t) {
      if (void 0 === t) return 0
      if (536870912 & t.transformFlags)
        return t.transformFlags & ~e.getTransformFlagsSubtreeExclusions(t.kind)
      var r = u(t)
      return e.computeTransformFlagsForNode(t, r)
    }
    function c(e) {
      if (void 0 === e) return 0
      for (var t = 0, r = 0, n = 0, a = e; n < a.length; n++) {
        var i = a[n]
        ;(t |= s(i)), (r |= i.transformFlags & -536870913)
      }
      return (e.transformFlags = 536870912 | r), t
    }
    function u(t) {
      return e.hasModifier(t, 2) || (e.isTypeNode(t) && 201 !== t.kind)
        ? 0
        : n(t, 0, _, l)
    }
    function _(e, t) {
      return e | s(t)
    }
    function l(e, t) {
      return e | c(t)
    }
    ;(e.reduceEachChild = n),
      (e.mergeLexicalEnvironment = a),
      (e.liftToBlock = i),
      (e.aggregateTransformFlags = o)
    var d
    !(function(t) {
      function r(e) {
        if ('function' != typeof e) return ''
        if (e.hasOwnProperty('name')) return e.name
        var t = Function.prototype.toString.call(e),
          r = /^function\s+([\w\$]+)\s*\(/.exec(t)
        return r ? r[1] : ''
      }
      ;(t.failBadSyntaxKind = t.shouldAssert(1)
        ? function(r, n) {
            return t.assert(!1, n || 'Unexpected node.', function() {
              return 'Node ' + e.formatSyntaxKind(r.kind) + ' was unexpected.'
            })
          }
        : e.noop),
        (t.assertEachNode = t.shouldAssert(1)
          ? function(n, a, i) {
              return t.assert(
                void 0 === a || e.every(n, a),
                i || 'Unexpected node.',
                function() {
                  return "Node array did not pass test '" + r(a) + "'."
                }
              )
            }
          : e.noop),
        (t.assertNode = t.shouldAssert(1)
          ? function(n, a, i) {
              return t.assert(
                void 0 === a || a(n),
                i || 'Unexpected node.',
                function() {
                  return (
                    'Node ' +
                    e.formatSyntaxKind(n.kind) +
                    " did not pass test '" +
                    r(a) +
                    "'."
                  )
                }
              )
            }
          : e.noop),
        (t.assertOptionalNode = t.shouldAssert(1)
          ? function(n, a, i) {
              return t.assert(
                void 0 === a || void 0 === n || a(n),
                i || 'Unexpected node.',
                function() {
                  return (
                    'Node ' +
                    e.formatSyntaxKind(n.kind) +
                    " did not pass test '" +
                    r(a) +
                    "'."
                  )
                }
              )
            }
          : e.noop),
        (t.assertOptionalToken = t.shouldAssert(1)
          ? function(r, n, a) {
              return t.assert(
                void 0 === n || void 0 === r || r.kind === n,
                a || 'Unexpected node.',
                function() {
                  return (
                    'Node ' +
                    e.formatSyntaxKind(r.kind) +
                    " was not a '" +
                    e.formatSyntaxKind(n) +
                    "' token."
                  )
                }
              )
            }
          : e.noop),
        (t.assertMissingNode = t.shouldAssert(1)
          ? function(r, n) {
              return t.assert(
                void 0 === r,
                n || 'Unexpected node.',
                function() {
                  return (
                    'Node ' + e.formatSyntaxKind(r.kind) + " was unexpected'."
                  )
                }
              )
            }
          : e.noop)
    })((d = e.Debug || (e.Debug = {})))
  })(ts || (ts = {}))
var ts
!(function(e) {
  function t(t, r, a, i, o, s) {
    function u(t) {
      e.setEmitFlags(t, 64), e.aggregateTransformFlags(t), (m = e.append(m, t))
    }
    function l(t, n, a, i) {
      e.Debug.assertNode(t, s ? e.isIdentifier : e.isExpression)
      var o = s
        ? s(t, n, a)
        : e.setTextRange(
            e.createAssignment(e.visitNode(t, r, e.isExpression), n),
            a
          )
      ;(o.original = i), u(o)
    }
    var p,
      g = t
    if (e.isDestructuringAssignment(t))
      for (
        p = t.right;
        e.isEmptyArrayLiteral(t.left) || e.isEmptyObjectLiteral(t.left);

      ) {
        if (!e.isDestructuringAssignment(p)) return p
        ;(g = t = p), (p = t.right)
      }
    var m,
      y = {
        context: a,
        level: i,
        downlevelIteration: a.getCompilerOptions().downlevelIteration,
        hoistTempVariables: !0,
        emitExpression: u,
        emitBindingOrAssignment: l,
        createArrayBindingOrAssignmentPattern: _,
        createObjectBindingOrAssignmentPattern: d,
        createArrayBindingOrAssignmentElement: f,
        visitor: r
      }
    if (
      (p &&
        ((p = e.visitNode(p, r, e.isExpression)),
        o ? (p = c(y, p, !0, g)) : e.nodeIsSynthesized(t) && (g = p)),
      n(y, t, p, g, e.isDestructuringAssignment(t)),
      p && o)
    ) {
      if (!e.some(m)) return p
      m.push(p)
    }
    return (
      e.aggregateTransformFlags(e.inlineExpressions(m)) ||
      e.createOmittedExpression()
    )
  }
  function r(t, r, a, i, o, s, c) {
    function _(t) {
      f = e.append(f, t)
    }
    function d(t, r, n, a) {
      e.Debug.assertNode(t, e.isBindingName),
        f && ((r = e.inlineExpressions(e.append(f, r))), (f = void 0)),
        g.push({
          pendingExpressions: f,
          name: t,
          value: r,
          location: n,
          original: a
        })
    }
    var f,
      g = [],
      m = [],
      y = {
        context: a,
        level: i,
        downlevelIteration: a.getCompilerOptions().downlevelIteration,
        hoistTempVariables: s,
        emitExpression: _,
        emitBindingOrAssignment: d,
        createArrayBindingOrAssignmentPattern: u,
        createObjectBindingOrAssignmentPattern: l,
        createArrayBindingOrAssignmentElement: p,
        visitor: r
      }
    if ((n(y, t, o, t, c), f)) {
      var v = e.createTempVariable(void 0)
      if (s) {
        var h = e.inlineExpressions(f)
        ;(f = void 0), d(v, h, void 0, void 0)
      } else {
        a.hoistVariableDeclaration(v)
        var b = e.lastOrUndefined(g)
        ;(b.pendingExpressions = e.append(
          b.pendingExpressions,
          e.createAssignment(v, b.value)
        )),
          e.addRange(b.pendingExpressions, f),
          (b.value = v)
      }
    }
    for (var k = 0, x = g; k < x.length; k++) {
      var C = x[k],
        S = C.pendingExpressions,
        D = C.name,
        h = C.value,
        T = C.location,
        E = C.original,
        N = e.createVariableDeclaration(
          D,
          void 0,
          S ? e.inlineExpressions(e.append(S, h)) : h
        )
      ;(N.original = E),
        e.setTextRange(N, T),
        e.isIdentifier(D) && e.setEmitFlags(N, 64),
        e.aggregateTransformFlags(N),
        m.push(N)
    }
    return m
  }
  function n(t, r, n, s, c) {
    if (!c) {
      var u = e.visitNode(
        e.getInitializerOfBindingOrAssignmentElement(r),
        t.visitor,
        e.isExpression
      )
      u ? (n = n ? o(t, n, u, s) : u) : n || (n = e.createVoidZero())
    }
    var _ = e.getTargetOfBindingOrAssignmentElement(r)
    e.isObjectBindingOrAssignmentPattern(_)
      ? a(t, r, _, n, s)
      : e.isArrayBindingOrAssignmentPattern(_)
        ? i(t, r, _, n, s)
        : t.emitBindingOrAssignment(_, n, s, r)
  }
  function a(t, r, a, i, o) {
    var u = e.getElementsOfBindingOrAssignmentPattern(a),
      _ = u.length
    if (1 !== _) {
      var l = !e.isDeclarationBindingElement(r) || 0 !== _
      i = c(t, i, l, o)
    }
    for (var d, p, f = 0; f < _; f++) {
      var m = u[f]
      if (e.getRestIndicatorOfBindingOrAssignmentElement(m)) {
        if (f === _ - 1) {
          d &&
            (t.emitBindingOrAssignment(
              t.createObjectBindingOrAssignmentPattern(d),
              i,
              o,
              a
            ),
            (d = void 0))
          var y = g(t.context, i, u, p, a)
          n(t, m, y, m)
        }
      } else {
        var v = e.getPropertyNameOfBindingOrAssignmentElement(m)
        if (
          !(t.level >= 1) ||
          1572864 & m.transformFlags ||
          1572864 & e.getTargetOfBindingOrAssignmentElement(m).transformFlags ||
          e.isComputedPropertyName(v)
        ) {
          d &&
            (t.emitBindingOrAssignment(
              t.createObjectBindingOrAssignmentPattern(d),
              i,
              o,
              a
            ),
            (d = void 0))
          var y = s(t, i, v)
          e.isComputedPropertyName(v) &&
            (p = e.append(p, y.argumentExpression)),
            n(t, m, y, m)
        } else d = e.append(d, m)
      }
    }
    d &&
      t.emitBindingOrAssignment(
        t.createObjectBindingOrAssignmentPattern(d),
        i,
        o,
        a
      )
  }
  function i(t, r, a, i, o) {
    var s = e.getElementsOfBindingOrAssignmentPattern(a),
      u = s.length
    if (t.level < 1 && t.downlevelIteration)
      i = c(
        t,
        e.createReadHelper(
          t.context,
          i,
          u > 0 && e.getRestIndicatorOfBindingOrAssignmentElement(s[u - 1])
            ? void 0
            : u,
          o
        ),
        !1,
        o
      )
    else if (1 !== u && (t.level < 1 || 0 === u)) {
      var _ = !e.isDeclarationBindingElement(r) || 0 !== u
      i = c(t, i, _, o)
    }
    for (var l, d, p = 0; p < u; p++) {
      var f = s[p]
      if (t.level >= 1)
        if (1048576 & f.transformFlags) {
          var g = e.createTempVariable(void 0)
          t.hoistTempVariables && t.context.hoistVariableDeclaration(g),
            (d = e.append(d, [g, f])),
            (l = e.append(l, t.createArrayBindingOrAssignmentElement(g)))
        } else l = e.append(l, f)
      else {
        if (e.isOmittedExpression(f)) continue
        if (e.getRestIndicatorOfBindingOrAssignmentElement(f)) {
          if (p === u - 1) {
            var m = e.createArraySlice(i, p)
            n(t, f, m, f)
          }
        } else {
          var m = e.createElementAccess(i, p)
          n(t, f, m, f)
        }
      }
    }
    if (
      (l &&
        t.emitBindingOrAssignment(
          t.createArrayBindingOrAssignmentPattern(l),
          i,
          o,
          a
        ),
      d)
    )
      for (var y = 0, v = d; y < v.length; y++) {
        var h = v[y],
          b = h[0],
          f = h[1]
        n(t, f, b, f)
      }
  }
  function o(t, r, n, a) {
    return (
      (r = c(t, r, !0, a)),
      e.createConditional(e.createTypeCheck(r, 'undefined'), n, r)
    )
  }
  function s(t, r, n) {
    if (e.isComputedPropertyName(n)) {
      var a = c(t, n.expression, !1, n)
      return e.createElementAccess(r, a)
    }
    if (e.isStringOrNumericLiteral(n)) {
      var a = e.getSynthesizedClone(n)
      return (
        (a.text = e.unescapeIdentifier(a.text)), e.createElementAccess(r, a)
      )
    }
    var i = e.createIdentifier(e.unescapeIdentifier(n.text))
    return e.createPropertyAccess(r, i)
  }
  function c(t, r, n, a) {
    if (e.isIdentifier(r) && n) return r
    var i = e.createTempVariable(void 0)
    return (
      t.hoistTempVariables
        ? (t.context.hoistVariableDeclaration(i),
          t.emitExpression(e.setTextRange(e.createAssignment(i, r), a)))
        : t.emitBindingOrAssignment(i, r, a, void 0),
      i
    )
  }
  function u(t) {
    return (
      e.Debug.assertEachNode(t, e.isArrayBindingElement),
      e.createArrayBindingPattern(t)
    )
  }
  function _(t) {
    return e.createArrayLiteral(e.map(t, e.convertToArrayAssignmentElement))
  }
  function l(t) {
    return (
      e.Debug.assertEachNode(t, e.isBindingElement),
      e.createObjectBindingPattern(t)
    )
  }
  function d(t) {
    return e.createObjectLiteral(e.map(t, e.convertToObjectAssignmentElement))
  }
  function p(t) {
    return e.createBindingElement(void 0, void 0, t)
  }
  function f(e) {
    return e
  }
  function g(t, r, n, a, i) {
    t.requestEmitHelper(y)
    for (var o = [], s = 0, c = 0; c < n.length - 1; c++) {
      var u = e.getPropertyNameOfBindingOrAssignmentElement(n[c])
      if (u)
        if (e.isComputedPropertyName(u)) {
          var _ = a[s]
          s++,
            o.push(
              e.createConditional(
                e.createTypeCheck(_, 'symbol'),
                _,
                e.createAdd(_, e.createLiteral(''))
              )
            )
        } else o.push(e.createLiteral(u))
    }
    return e.createCall(e.getHelperName('__rest'), void 0, [
      r,
      e.setTextRange(e.createArrayLiteral(o), i)
    ])
  }
  var m
  !(function(e) {
    ;(e[(e.All = 0)] = 'All'), (e[(e.ObjectRest = 1)] = 'ObjectRest')
  })((m = e.FlattenLevel || (e.FlattenLevel = {}))),
    (e.flattenDestructuringAssignment = t),
    (e.flattenDestructuringBinding = r)
  var y = {
    name: 'typescript:rest',
    scoped: !1,
    text:
      '\n            var __rest = (this && this.__rest) || function (s, e) {\n                var t = {};\n                for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n                    t[p] = s[p];\n                if (s != null && typeof Object.getOwnPropertySymbols === "function")\n                    for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n                        t[p[i]] = s[p[i]];\n                return t;\n            };'
  }
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t) {
    function i(r) {
      if (e.isDeclarationFile(r)) return r
      Zt = r
      var n = s(r, h)
      return e.addEmitHelpers(n, t.readEmitHelpers()), (Zt = void 0), n
    }
    function s(e, t) {
      var r = tr,
        n = rr
      c(e)
      var a = t(e)
      return tr !== r && (rr = n), (tr = r), a
    }
    function c(t) {
      switch (t.kind) {
        case 265:
        case 235:
        case 234:
        case 207:
          ;(tr = t), (rr = void 0)
          break
        case 229:
        case 228:
          if (e.hasModifier(t, 2)) break
          Qe(t)
      }
    }
    function u(e) {
      return s(e, _)
    }
    function _(r) {
      return 1 & r.transformFlags
        ? v(r)
        : 2 & r.transformFlags
          ? e.visitEachChild(r, u, t)
          : r
    }
    function l(e) {
      return s(e, d)
    }
    function d(e) {
      switch (e.kind) {
        case 238:
          return rt(e)
        case 237:
          return lt(e)
        case 243:
          return ot(e)
        case 244:
          return st(e)
        default:
          return _(e)
      }
    }
    function p(e) {
      return s(e, f)
    }
    function f(r) {
      if (
        244 !== r.kind &&
        238 !== r.kind &&
        239 !== r.kind &&
        (237 !== r.kind || 248 !== r.moduleReference.kind)
      )
        return 1 & r.transformFlags || e.hasModifier(r, 1)
          ? v(r)
          : 2 & r.transformFlags
            ? e.visitEachChild(r, u, t)
            : r
    }
    function g(e) {
      return s(e, m)
    }
    function m(t) {
      switch (t.kind) {
        case 152:
          return
        case 149:
        case 157:
        case 153:
        case 154:
        case 151:
          return _(t)
        case 206:
          return t
        default:
          return void e.Debug.failBadSyntaxKind(t)
      }
    }
    function y(t) {
      if (!(2270 & e.modifierToFlag(t.kind) || ($t && 84 === t.kind))) return t
    }
    function v(r) {
      if (e.hasModifier(r, 2) && e.isStatement(r))
        return e.createNotEmittedStatement(r)
      switch (r.kind) {
        case 84:
        case 79:
          return $t ? void 0 : r
        case 114:
        case 112:
        case 113:
        case 117:
        case 76:
        case 124:
        case 131:
        case 164:
        case 165:
        case 163:
        case 158:
        case 145:
        case 119:
        case 122:
        case 136:
        case 133:
        case 130:
        case 105:
        case 137:
        case 161:
        case 160:
        case 162:
        case 159:
        case 166:
        case 167:
        case 168:
        case 169:
        case 170:
        case 171:
        case 172:
        case 173:
        case 157:
        case 147:
        case 231:
        case 149:
          return
        case 152:
          return Te(r)
        case 230:
          return e.createNotEmittedStatement(r)
        case 229:
          return x(r)
        case 199:
          return D(r)
        case 259:
          return Ce(r)
        case 201:
          return Se(r)
        case 151:
          return Ee(r)
        case 153:
          return Ae(r)
        case 154:
          return we(r)
        case 228:
          return Pe(r)
        case 186:
          return Oe(r)
        case 187:
          return Fe(r)
        case 146:
          return Ie(r)
        case 185:
          return Be(r)
        case 184:
        case 202:
          return Je(r)
        case 181:
          return Ke(r)
        case 182:
          return je(r)
        case 203:
          return ze(r)
        case 232:
          return qe(r)
        case 208:
          return Re(r)
        case 226:
          return Le(r)
        case 233:
          return $e(r)
        case 237:
          return lt(r)
        default:
          return e.Debug.failBadSyntaxKind(r), e.visitEachChild(r, u, t)
      }
    }
    function h(r) {
      var n =
        (void 0 === Ht.alwaysStrict ? Ht.strict : Ht.alwaysStrict) &&
        !(e.isExternalModule(r) && Xt === e.ModuleKind.ES2015)
      return e.updateSourceFileNode(
        r,
        e.visitLexicalEnvironment(r.statements, l, t, 0, n)
      )
    }
    function b(t) {
      if (t.decorators && t.decorators.length > 0) return !0
      var r = e.getFirstConstructorWithBody(t)
      return !!r && e.forEach(r.parameters, k)
    }
    function k(e) {
      return void 0 !== e.decorators && e.decorators.length > 0
    }
    function x(t) {
      var r = I(t, !0),
        n = void 0 !== e.getClassExtendsHeritageClauseElement(t),
        a = b(t),
        i = t.name
      !i &&
        (r.length > 0 || e.childIsDecorated(t)) &&
        (i = e.getGeneratedNameForNode(t))
      var o = a ? S(t, i, n) : C(t, i, n, r.length > 0),
        s = [o]
      return (
        r.length && B(s, r, e.getLocalName(t)),
        Z(s, t, !1),
        Z(s, t, !0),
        te(s, t),
        dt(t)
          ? yt(s, t)
          : a &&
            (gt(t)
              ? s.push(e.createExportDefault(e.getLocalName(t, !1, !0)))
              : ft(t) &&
                s.push(
                  e.createExternalModuleExport(e.getLocalName(t, !1, !0))
                )),
        s.length > 1 &&
          (s.push(e.createEndOfDeclarationMarker(t)),
          e.setEmitFlags(o, 4194304 | e.getEmitFlags(o))),
        e.singleOrMany(s)
      )
    }
    function C(t, r, n, a) {
      var i = e.createClassDeclaration(
          void 0,
          e.visitNodes(t.modifiers, y, e.isModifier),
          r,
          void 0,
          e.visitNodes(t.heritageClauses, u, e.isHeritageClause),
          T(t, n)
        ),
        o = e.getEmitFlags(t)
      return (
        a && (o |= 32),
        e.setTextRange(i, t),
        e.setOriginalNode(i, t),
        e.setEmitFlags(i, o),
        i
      )
    }
    function S(t, r, n) {
      var a = e.moveRangePastDecorators(t),
        i = Ct(t),
        o = e.getLocalName(t, !1, !0),
        s = e.visitNodes(t.heritageClauses, u, e.isHeritageClause),
        c = T(t, n),
        _ = e.createClassExpression(void 0, r, void 0, s, c)
      e.setOriginalNode(_, t), e.setTextRange(_, a)
      var l = e.createVariableStatement(
        void 0,
        e.createVariableDeclarationList(
          [
            e.createVariableDeclaration(
              o,
              void 0,
              i ? e.createAssignment(i, _) : _
            )
          ],
          1
        )
      )
      return (
        e.setOriginalNode(l, t),
        e.setTextRange(l, a),
        e.setCommentRange(l, t),
        l
      )
    }
    function D(t) {
      var r = I(t, !0),
        n = e.visitNodes(t.heritageClauses, u, e.isHeritageClause),
        a = T(
          t,
          e.some(n, function(e) {
            return 85 === e.token
          })
        ),
        i = e.createClassExpression(void 0, t.name, void 0, n, a)
      if ((e.setOriginalNode(i, t), e.setTextRange(i, t), r.length > 0)) {
        var o = [],
          s = e.createTempVariable(Ut)
        return (
          8388608 & Wt.getNodeCheckFlags(t) &&
            (Et(), (ar[e.getOriginalNodeId(t)] = e.getSynthesizedClone(s))),
          e.setEmitFlags(i, 65536 | e.getEmitFlags(i)),
          o.push(e.startOnNewLine(e.createAssignment(s, i))),
          e.addRange(o, J(r, s)),
          o.push(e.startOnNewLine(s)),
          e.inlineExpressions(o)
        )
      }
      return i
    }
    function T(t, r) {
      var n = [],
        a = E(t, r)
      return (
        a && n.push(a),
        e.addRange(n, e.visitNodes(t.members, g, e.isClassElement)),
        e.setTextRange(e.createNodeArray(n), t.members)
      )
    }
    function E(r, n) {
      var a = e.forEach(r.members, M),
        i = 262144 & r.transformFlags,
        o = e.getFirstConstructorWithBody(r)
      if (!a && !i) return e.visitEachChild(o, u, t)
      var s = N(o),
        c = A(r, o, n)
      return e.startOnNewLine(
        e.setOriginalNode(
          e.setTextRange(e.createConstructor(void 0, void 0, s, c), o || r),
          o
        )
      )
    }
    function N(r) {
      return e.visitParameterList(r && r.parameters, u, t) || []
    }
    function A(t, r, n) {
      var a = [],
        i = 0
      if ((Vt(), r)) {
        i = w(r, a)
        var o = P(r)
        e.addRange(a, e.map(o, F))
      } else
        n &&
          a.push(
            e.createStatement(
              e.createCall(e.createSuper(), void 0, [
                e.createSpread(e.createIdentifier('arguments'))
              ])
            )
          )
      var s = I(t, !1)
      return (
        B(a, s, e.createThis()),
        r &&
          e.addRange(a, e.visitNodes(r.body.statements, u, e.isStatement, i)),
        (a = e.mergeLexicalEnvironment(a, qt())),
        e.setTextRange(
          e.createBlock(
            e.setTextRange(
              e.createNodeArray(a),
              r ? r.body.statements : t.members
            ),
            !0
          ),
          r ? r.body : void 0
        )
      )
    }
    function w(t, r) {
      if (t.body) {
        var n = t.body.statements,
          a = e.addPrologue(r, n, !1, u)
        if (a === n.length) return a
        var i = n[a]
        return 210 === i.kind && e.isSuperCall(i.expression)
          ? (r.push(e.visitNode(i, u, e.isStatement)), a + 1)
          : a
      }
      return 0
    }
    function P(t) {
      return e.filter(t.parameters, O)
    }
    function O(t) {
      return e.hasModifier(t, 92) && e.isIdentifier(t.name)
    }
    function F(t) {
      e.Debug.assert(e.isIdentifier(t.name))
      var r = t.name,
        n = e.getMutableClone(r)
      e.setEmitFlags(n, 1584)
      var a = e.getMutableClone(r)
      return (
        e.setEmitFlags(a, 1536),
        e.startOnNewLine(
          e.setTextRange(
            e.createStatement(
              e.createAssignment(
                e.setTextRange(
                  e.createPropertyAccess(e.createThis(), n),
                  t.name
                ),
                a
              )
            ),
            e.moveRangePos(t, -1)
          )
        )
      )
    }
    function I(t, r) {
      return e.filter(t.members, r ? R : M)
    }
    function R(e) {
      return L(e, !0)
    }
    function M(e) {
      return L(e, !1)
    }
    function L(t, r) {
      return (
        149 === t.kind && r === e.hasModifier(t, 32) && void 0 !== t.initializer
      )
    }
    function B(t, r, n) {
      for (var a = 0, i = r; a < i.length; a++) {
        var o = i[a],
          s = e.createStatement(z(o, n))
        e.setSourceMapRange(s, e.moveRangePastModifiers(o)),
          e.setCommentRange(s, o),
          t.push(s)
      }
    }
    function J(t, r) {
      for (var n = [], a = 0, i = t; a < i.length; a++) {
        var o = i[a],
          s = z(o, r)
        ;(s.startsOnNewLine = !0),
          e.setSourceMapRange(s, e.moveRangePastModifiers(o)),
          e.setCommentRange(s, o),
          n.push(s)
      }
      return n
    }
    function z(t, r) {
      var n = xe(t),
        a = e.visitNode(t.initializer, u, e.isExpression),
        i = e.createMemberAccessForPropertyName(r, n, n)
      return e.createAssignment(i, a)
    }
    function K(t, r) {
      return e.filter(t.members, r ? j : V)
    }
    function j(e) {
      return q(e, !0)
    }
    function V(e) {
      return q(e, !1)
    }
    function q(t, r) {
      return e.nodeOrChildIsDecorated(t) && r === e.hasModifier(t, 32)
    }
    function U(e) {
      var t
      if (e)
        for (var r = e.parameters, n = 0; n < r.length; n++) {
          var a = r[n]
          ;(t || a.decorators) &&
            (t || (t = new Array(r.length)), (t[n] = a.decorators))
        }
      return t
    }
    function W(t) {
      var r = t.decorators,
        n = U(e.getFirstConstructorWithBody(t))
      if (r || n) return { decorators: r, parameters: n }
    }
    function H(e, t) {
      switch (t.kind) {
        case 153:
        case 154:
          return G(e, t)
        case 151:
          return X(t)
        case 149:
          return Q(t)
        default:
          return
      }
    }
    function G(t, r) {
      if (r.body) {
        var n = e.getAllAccessorDeclarations(t.members, r),
          a = n.firstAccessor,
          i = n.secondAccessor,
          o = n.setAccessor,
          s = a.decorators ? a : i && i.decorators ? i : void 0
        if (s && r === s) {
          var c = s.decorators,
            u = U(o)
          if (c || u) return { decorators: c, parameters: u }
        }
      }
    }
    function X(e) {
      if (e.body) {
        var t = e.decorators,
          r = U(e)
        if (t || r) return { decorators: t, parameters: r }
      }
    }
    function Q(e) {
      var t = e.decorators
      if (t) return { decorators: t }
    }
    function Y(t, r, n) {
      if (n) {
        var a = []
        return (
          e.addRange(a, e.map(n.decorators, ne)),
          e.addRange(a, e.flatMap(n.parameters, ae)),
          ie(t, r, a),
          a
        )
      }
    }
    function Z(t, r, n) {
      e.addRange(t, e.map($(r, n), mt))
    }
    function $(e, t) {
      for (var r, n = K(e, t), a = 0, i = n; a < i.length; a++) {
        var o = i[a],
          s = ee(e, o)
        s && (r ? r.push(s) : (r = [s]))
      }
      return r
    }
    function ee(n, a) {
      var i = H(n, a),
        o = Y(a, n, i)
      if (o) {
        var s = Dt(n, a),
          c = ke(a, !0),
          u =
            Gt > 0
              ? 149 === a.kind
                ? e.createVoidZero()
                : e.createNull()
              : void 0,
          _ = r(t, o, s, c, u, e.moveRangePastDecorators(a))
        return e.setEmitFlags(_, 1536), _
      }
    }
    function te(t, r) {
      var n = re(r)
      n && t.push(e.setOriginalNode(e.createStatement(n), r))
    }
    function re(n) {
      var a = W(n),
        i = Y(n, n, a)
      if (i) {
        var o = ar && ar[e.getOriginalNodeId(n)],
          s = e.getLocalName(n, !1, !0),
          c = r(t, i, s),
          u = e.createAssignment(s, o ? e.createAssignment(o, c) : c)
        return (
          e.setEmitFlags(u, 1536),
          e.setSourceMapRange(u, e.moveRangePastDecorators(n)),
          u
        )
      }
    }
    function ne(t) {
      return e.visitNode(t.expression, u, e.isExpression)
    }
    function ae(r, n) {
      var i
      if (r) {
        i = []
        for (var o = 0, s = r; o < s.length; o++) {
          var c = s[o],
            u = a(t, ne(c), n, c.expression)
          e.setEmitFlags(u, 1536), i.push(u)
        }
      }
      return i
    }
    function ie(e, t, r) {
      o ? se(e, t, r) : oe(e, t, r)
    }
    function oe(e, r, a) {
      Ht.emitDecoratorMetadata &&
        (ce(e) && a.push(n(t, 'design:type', le(e))),
        _e(e) && a.push(n(t, 'design:paramtypes', de(e, r))),
        ue(e) && a.push(n(t, 'design:returntype', fe(e))))
    }
    function se(r, a, i) {
      if (Ht.emitDecoratorMetadata) {
        var o = void 0
        ce(r) &&
          (o || (o = [])).push(
            e.createPropertyAssignment(
              'type',
              e.createArrowFunction(
                void 0,
                void 0,
                [],
                void 0,
                e.createToken(36),
                le(r)
              )
            )
          ),
          _e(r) &&
            (o || (o = [])).push(
              e.createPropertyAssignment(
                'paramTypes',
                e.createArrowFunction(
                  void 0,
                  void 0,
                  [],
                  void 0,
                  e.createToken(36),
                  de(r, a)
                )
              )
            ),
          ue(r) &&
            (o || (o = [])).push(
              e.createPropertyAssignment(
                'returnType',
                e.createArrowFunction(
                  void 0,
                  void 0,
                  [],
                  void 0,
                  e.createToken(36),
                  fe(r)
                )
              )
            ),
          o && i.push(n(t, 'design:typeinfo', e.createObjectLiteral(o, !0)))
      }
    }
    function ce(e) {
      var t = e.kind
      return 151 === t || 153 === t || 154 === t || 149 === t
    }
    function ue(e) {
      return 151 === e.kind
    }
    function _e(t) {
      switch (t.kind) {
        case 229:
        case 199:
          return void 0 !== e.getFirstConstructorWithBody(t)
        case 151:
        case 153:
        case 154:
          return !0
      }
      return !1
    }
    function le(t) {
      switch (t.kind) {
        case 149:
        case 146:
        case 153:
          return ge(t.type)
        case 154:
          return ge(e.getSetAccessorTypeAnnotationNode(t))
        case 229:
        case 199:
        case 151:
          return e.createIdentifier('Function')
        default:
          return e.createVoidZero()
      }
    }
    function de(t, r) {
      var n = e.isClassLike(t)
          ? e.getFirstConstructorWithBody(t)
          : e.isFunctionLike(t) && e.nodeIsPresent(t.body)
            ? t
            : void 0,
        a = []
      if (n)
        for (var i = pe(n, r), o = i.length, s = 0; s < o; s++) {
          var c = i[s]
          ;(0 === s && e.isIdentifier(c.name) && 'this' === c.name.text) ||
            (c.dotDotDotToken
              ? a.push(ge(e.getRestParameterElementType(c.type)))
              : a.push(le(c)))
        }
      return e.createArrayLiteral(a)
    }
    function pe(t, r) {
      if (r && 153 === t.kind) {
        var n = e.getAllAccessorDeclarations(r.members, t).setAccessor
        if (n) return n.parameters
      }
      return t.parameters
    }
    function fe(t) {
      return e.isFunctionLike(t) && t.type
        ? ge(t.type)
        : e.isAsyncFunction(t)
          ? e.createIdentifier('Promise')
          : e.createVoidZero()
    }
    function ge(t) {
      if (void 0 === t) return e.createIdentifier('Object')
      switch (t.kind) {
        case 105:
        case 139:
        case 95:
        case 130:
          return e.createVoidZero()
        case 168:
          return ge(t.type)
        case 160:
        case 161:
          return e.createIdentifier('Function')
        case 164:
        case 165:
          return e.createIdentifier('Array')
        case 158:
        case 122:
          return e.createIdentifier('Boolean')
        case 136:
          return e.createIdentifier('String')
        case 134:
          return e.createIdentifier('Object')
        case 173:
          switch (t.literal.kind) {
            case 9:
              return e.createIdentifier('String')
            case 8:
              return e.createIdentifier('Number')
            case 101:
            case 86:
              return e.createIdentifier('Boolean')
            default:
              e.Debug.failBadSyntaxKind(t.literal)
          }
          break
        case 133:
          return e.createIdentifier('Number')
        case 137:
          return Gt < 2 ? be() : e.createIdentifier('Symbol')
        case 159:
          return ye(t)
        case 167:
        case 166:
          return me(t)
        case 162:
        case 170:
        case 171:
        case 172:
        case 163:
        case 119:
        case 169:
          break
        default:
          e.Debug.failBadSyntaxKind(t)
      }
      return e.createIdentifier('Object')
    }
    function me(t) {
      for (var r, n = 0, a = t.types; n < a.length; n++) {
        var i = a[n],
          o = ge(i)
        if (e.isVoidExpression(o)) r || (r = o)
        else {
          if (e.isIdentifier(o) && 'Object' === o.text) return o
          if (r && !e.isVoidExpression(r)) {
            if (!e.isIdentifier(r) || !e.isIdentifier(o) || r.text !== o.text)
              return e.createIdentifier('Object')
          } else r = o
        }
      }
      return r
    }
    function ye(t) {
      switch (Wt.getTypeReferenceSerializationKind(t.typeName, tr)) {
        case e.TypeReferenceSerializationKind.Unknown:
          var r = ve(t.typeName, !0),
            n = e.createTempVariable(Ut)
          return e.createLogicalOr(
            e.createLogicalAnd(
              e.createTypeCheck(e.createAssignment(n, r), 'function'),
              n
            ),
            e.createIdentifier('Object')
          )
        case e.TypeReferenceSerializationKind
          .TypeWithConstructSignatureAndValue:
          return ve(t.typeName, !1)
        case e.TypeReferenceSerializationKind.VoidNullableOrNeverType:
          return e.createVoidZero()
        case e.TypeReferenceSerializationKind.BooleanType:
          return e.createIdentifier('Boolean')
        case e.TypeReferenceSerializationKind.NumberLikeType:
          return e.createIdentifier('Number')
        case e.TypeReferenceSerializationKind.StringLikeType:
          return e.createIdentifier('String')
        case e.TypeReferenceSerializationKind.ArrayLikeType:
          return e.createIdentifier('Array')
        case e.TypeReferenceSerializationKind.ESSymbolType:
          return Gt < 2 ? be() : e.createIdentifier('Symbol')
        case e.TypeReferenceSerializationKind.TypeWithCallSignature:
          return e.createIdentifier('Function')
        case e.TypeReferenceSerializationKind.Promise:
          return e.createIdentifier('Promise')
        case e.TypeReferenceSerializationKind.ObjectType:
        default:
          return e.createIdentifier('Object')
      }
    }
    function ve(t, r) {
      switch (t.kind) {
        case 71:
          var n = e.getMutableClone(t)
          return (
            (n.flags &= -9),
            (n.original = void 0),
            (n.parent = tr),
            r
              ? e.createLogicalAnd(
                  e.createStrictInequality(
                    e.createTypeOf(n),
                    e.createLiteral('undefined')
                  ),
                  n
                )
              : n
          )
        case 143:
          return he(t, r)
      }
    }
    function he(t, r) {
      var n
      if (71 === t.left.kind) n = ve(t.left, r)
      else if (r) {
        var a = e.createTempVariable(Ut)
        n = e.createLogicalAnd(e.createAssignment(a, ve(t.left, !0)), a)
      } else n = ve(t.left, !1)
      return e.createPropertyAccess(n, t.right)
    }
    function be() {
      return e.createConditional(
        e.createTypeCheck(e.createIdentifier('Symbol'), 'function'),
        e.createIdentifier('Symbol'),
        e.createIdentifier('Object')
      )
    }
    function ke(t, r) {
      var n = t.name
      return e.isComputedPropertyName(n)
        ? r
          ? e.getGeneratedNameForNode(n)
          : n.expression
        : e.isIdentifier(n)
          ? e.createLiteral(e.unescapeIdentifier(n.text))
          : e.getSynthesizedClone(n)
    }
    function xe(t) {
      var r = t.name
      if (e.isComputedPropertyName(r)) {
        var n = e.visitNode(r.expression, u, e.isExpression)
        if (t.decorators) {
          var a = e.getGeneratedNameForNode(r)
          Ut(a), (n = e.createAssignment(a, n))
        }
        return e.updateComputedPropertyName(r, n)
      }
      return r
    }
    function Ce(t) {
      if (85 === t.token) {
        var r = e.visitNodes(t.types, u, e.isExpressionWithTypeArguments, 0, 1)
        return e.setTextRange(e.createHeritageClause(85, r), t)
      }
    }
    function Se(t) {
      return e.updateExpressionWithTypeArguments(
        t,
        void 0,
        e.visitNode(t.expression, u, e.isLeftHandSideExpression)
      )
    }
    function De(t) {
      return !e.nodeIsMissing(t.body)
    }
    function Te(r) {
      if (De(r))
        return e.updateConstructor(
          r,
          e.visitNodes(r.decorators, u, e.isDecorator),
          e.visitNodes(r.modifiers, u, e.isModifier),
          e.visitParameterList(r.parameters, u, t),
          e.visitFunctionBody(r.body, u, t)
        )
    }
    function Ee(r) {
      if (De(r)) {
        var n = e.updateMethod(
          r,
          void 0,
          e.visitNodes(r.modifiers, y, e.isModifier),
          r.asteriskToken,
          xe(r),
          void 0,
          void 0,
          e.visitParameterList(r.parameters, u, t),
          void 0,
          e.visitFunctionBody(r.body, u, t)
        )
        return (
          n !== r &&
            (e.setCommentRange(n, r),
            e.setSourceMapRange(n, e.moveRangePastDecorators(r))),
          n
        )
      }
    }
    function Ne(t) {
      return !(e.nodeIsMissing(t.body) && e.hasModifier(t, 128))
    }
    function Ae(r) {
      if (Ne(r)) {
        var n = e.updateGetAccessor(
          r,
          void 0,
          e.visitNodes(r.modifiers, y, e.isModifier),
          xe(r),
          e.visitParameterList(r.parameters, u, t),
          void 0,
          e.visitFunctionBody(r.body, u, t) || e.createBlock([])
        )
        return (
          n !== r &&
            (e.setCommentRange(n, r),
            e.setSourceMapRange(n, e.moveRangePastDecorators(r))),
          n
        )
      }
    }
    function we(r) {
      if (Ne(r)) {
        var n = e.updateSetAccessor(
          r,
          void 0,
          e.visitNodes(r.modifiers, y, e.isModifier),
          xe(r),
          e.visitParameterList(r.parameters, u, t),
          e.visitFunctionBody(r.body, u, t) || e.createBlock([])
        )
        return (
          n !== r &&
            (e.setCommentRange(n, r),
            e.setSourceMapRange(n, e.moveRangePastDecorators(r))),
          n
        )
      }
    }
    function Pe(r) {
      if (!De(r)) return e.createNotEmittedStatement(r)
      var n = e.updateFunctionDeclaration(
        r,
        void 0,
        e.visitNodes(r.modifiers, y, e.isModifier),
        r.asteriskToken,
        r.name,
        void 0,
        e.visitParameterList(r.parameters, u, t),
        void 0,
        e.visitFunctionBody(r.body, u, t) || e.createBlock([])
      )
      if (dt(r)) {
        var a = [n]
        return yt(a, r), a
      }
      return n
    }
    function Oe(r) {
      if (!De(r)) return e.createOmittedExpression()
      var n = e.updateFunctionExpression(
        r,
        e.visitNodes(r.modifiers, y, e.isModifier),
        r.asteriskToken,
        r.name,
        void 0,
        e.visitParameterList(r.parameters, u, t),
        void 0,
        e.visitFunctionBody(r.body, u, t) || e.createBlock([])
      )
      return n
    }
    function Fe(r) {
      var n = e.updateArrowFunction(
        r,
        e.visitNodes(r.modifiers, y, e.isModifier),
        void 0,
        e.visitParameterList(r.parameters, u, t),
        void 0,
        e.visitFunctionBody(r.body, u, t)
      )
      return n
    }
    function Ie(t) {
      if (!e.parameterIsThisKeyword(t)) {
        var r = e.createParameter(
          void 0,
          void 0,
          t.dotDotDotToken,
          e.visitNode(t.name, u, e.isBindingName),
          void 0,
          void 0,
          e.visitNode(t.initializer, u, e.isExpression)
        )
        return (
          e.setOriginalNode(r, t),
          e.setTextRange(r, e.moveRangePastModifiers(t)),
          e.setCommentRange(r, t),
          e.setSourceMapRange(r, e.moveRangePastModifiers(t)),
          e.setEmitFlags(r.name, 32),
          r
        )
      }
    }
    function Re(r) {
      if (dt(r)) {
        var n = e.getInitializedVariables(r.declarationList)
        if (0 === n.length) return
        return e.setTextRange(
          e.createStatement(e.inlineExpressions(e.map(n, Me))),
          r
        )
      }
      return e.visitEachChild(r, u, t)
    }
    function Me(r) {
      var n = r.name
      return e.isBindingPattern(n)
        ? e.flattenDestructuringAssignment(r, u, t, 0, !1, ht)
        : e.setTextRange(
            e.createAssignment(
              bt(n),
              e.visitNode(r.initializer, u, e.isExpression)
            ),
            r
          )
    }
    function Le(t) {
      return e.updateVariableDeclaration(
        t,
        e.visitNode(t.name, u, e.isBindingName),
        void 0,
        e.visitNode(t.initializer, u, e.isExpression)
      )
    }
    function Be(r) {
      var n = e.skipOuterExpressions(r.expression, -3)
      if (e.isAssertionExpression(n)) {
        var a = e.visitNode(r.expression, u, e.isExpression)
        return e.createPartiallyEmittedExpression(a, r)
      }
      return e.visitEachChild(r, u, t)
    }
    function Je(t) {
      var r = e.visitNode(t.expression, u, e.isExpression)
      return e.createPartiallyEmittedExpression(r, t)
    }
    function ze(t) {
      var r = e.visitNode(t.expression, u, e.isLeftHandSideExpression)
      return e.createPartiallyEmittedExpression(r, t)
    }
    function Ke(t) {
      return e.updateCall(
        t,
        e.visitNode(t.expression, u, e.isExpression),
        void 0,
        e.visitNodes(t.arguments, u, e.isExpression)
      )
    }
    function je(t) {
      return e.updateNew(
        t,
        e.visitNode(t.expression, u, e.isExpression),
        void 0,
        e.visitNodes(t.arguments, u, e.isExpression)
      )
    }
    function Ve(t) {
      return !e.isConst(t) || Ht.preserveConstEnums || Ht.isolatedModules
    }
    function qe(t) {
      if (Ve(t)) {
        var r = [],
          n = 2
        Ze(r, t) && ((Xt === e.ModuleKind.System && tr === Zt) || (n |= 512))
        var a = kt(t),
          i = xt(t),
          o = e.hasModifier(t, 1)
            ? e.getExternalModuleOrNamespaceExportName(er, t, !1, !0)
            : e.getLocalName(t, !1, !0),
          s = e.createLogicalOr(
            o,
            e.createAssignment(o, e.createObjectLiteral())
          )
        if (Xe(t)) {
          var c = e.getLocalName(t, !1, !0)
          s = e.createAssignment(c, s)
        }
        var u = e.createStatement(
          e.createCall(
            e.createFunctionExpression(
              void 0,
              void 0,
              void 0,
              void 0,
              [e.createParameter(void 0, void 0, void 0, a)],
              void 0,
              Ue(t, i)
            ),
            void 0,
            [s]
          )
        )
        return (
          e.setOriginalNode(u, t),
          e.setTextRange(u, t),
          e.setEmitFlags(u, n),
          r.push(u),
          r.push(e.createEndOfDeclarationMarker(t)),
          r
        )
      }
    }
    function Ue(t, r) {
      var n = er
      er = r
      var a = []
      return (
        jt(),
        e.addRange(a, e.map(t.members, We)),
        e.addRange(a, qt()),
        (er = n),
        e.createBlock(e.setTextRange(e.createNodeArray(a), t.members), !0)
      )
    }
    function We(t) {
      var r = ke(t, !1)
      return e.setTextRange(
        e.createStatement(
          e.setTextRange(
            e.createAssignment(
              e.createElementAccess(
                er,
                e.createAssignment(e.createElementAccess(er, r), He(t))
              ),
              r
            ),
            t
          )
        ),
        t
      )
    }
    function He(t) {
      var r = Wt.getConstantValue(t)
      return void 0 !== r
        ? e.createLiteral(r)
        : (Tt(),
          t.initializer
            ? e.visitNode(t.initializer, u, e.isExpression)
            : e.createVoidZero())
    }
    function Ge(t) {
      return e.isInstantiatedModule(
        t,
        Ht.preserveConstEnums || Ht.isolatedModules
      )
    }
    function Xe(t) {
      return (
        dt(t) ||
        (pt(t) && Xt !== e.ModuleKind.ES2015 && Xt !== e.ModuleKind.System)
      )
    }
    function Qe(t) {
      var r = t.symbol && t.symbol.name
      r && (rr || (rr = e.createMap()), rr.has(r) || rr.set(r, t))
    }
    function Ye(e) {
      if (rr) {
        var t = e.symbol && e.symbol.name
        if (t) return rr.get(t) === e
      }
      return !1
    }
    function Ze(t, r) {
      var n = e.createVariableStatement(
        e.visitNodes(r.modifiers, y, e.isModifier),
        [e.createVariableDeclaration(e.getLocalName(r, !1, !0))]
      )
      if ((e.setOriginalNode(n, r), Qe(r), Ye(r)))
        return (
          232 === r.kind
            ? e.setSourceMapRange(n.declarationList, r)
            : e.setSourceMapRange(n, r),
          e.setCommentRange(n, r),
          e.setEmitFlags(n, 4195328),
          t.push(n),
          !0
        )
      var a = e.createMergeDeclarationMarker(n)
      return e.setEmitFlags(a, 4195840), t.push(a), !1
    }
    function $e(t) {
      if (!Ge(t)) return e.createNotEmittedStatement(t)
      e.Debug.assert(
        e.isIdentifier(t.name),
        'TypeScript module should have an Identifier name.'
      ),
        Nt()
      var r = [],
        n = 2
      Ze(r, t) && ((Xt === e.ModuleKind.System && tr === Zt) || (n |= 512))
      var a = kt(t),
        i = xt(t),
        o = e.hasModifier(t, 1)
          ? e.getExternalModuleOrNamespaceExportName(er, t, !1, !0)
          : e.getLocalName(t, !1, !0),
        s = e.createLogicalOr(o, e.createAssignment(o, e.createObjectLiteral()))
      if (Xe(t)) {
        var c = e.getLocalName(t, !1, !0)
        s = e.createAssignment(c, s)
      }
      var u = e.createStatement(
        e.createCall(
          e.createFunctionExpression(
            void 0,
            void 0,
            void 0,
            void 0,
            [e.createParameter(void 0, void 0, void 0, a)],
            void 0,
            et(t, i)
          ),
          void 0,
          [s]
        )
      )
      return (
        e.setOriginalNode(u, t),
        e.setTextRange(u, t),
        e.setEmitFlags(u, n),
        r.push(u),
        r.push(e.createEndOfDeclarationMarker(t)),
        r
      )
    }
    function et(t, r) {
      var n = er,
        a = $t,
        i = rr
      ;(er = r), ($t = t), (rr = void 0)
      var o = []
      jt()
      var c,
        u,
        _ = t.body
      if (234 === _.kind)
        s(_, function(t) {
          return e.addRange(o, e.visitNodes(t.statements, p, e.isStatement))
        }),
          (c = _.statements),
          (u = _)
      else {
        var l = $e(_)
        l && (e.isArray(l) ? e.addRange(o, l) : o.push(l))
        var d = tt(t).body
        c = e.moveRangePos(d.statements, -1)
      }
      e.addRange(o, qt()), (er = n), ($t = a), (rr = i)
      var f = e.createBlock(e.setTextRange(e.createNodeArray(o), c), !0)
      return (
        e.setTextRange(f, u),
        234 !== _.kind && e.setEmitFlags(f, 1536 | e.getEmitFlags(f)),
        f
      )
    }
    function tt(e) {
      if (233 === e.body.kind) {
        var t = tt(e.body)
        return t || e.body
      }
    }
    function rt(t) {
      if (!t.importClause) return t
      var r = e.visitNode(t.importClause, nt, e.isImportClause)
      return r
        ? e.updateImportDeclaration(t, void 0, void 0, r, t.moduleSpecifier)
        : void 0
    }
    function nt(t) {
      var r = Wt.isReferencedAliasDeclaration(t) ? t.name : void 0,
        n = e.visitNode(t.namedBindings, at, e.isNamedImportBindings)
      return r || n ? e.updateImportClause(t, r, n) : void 0
    }
    function at(t) {
      if (240 === t.kind) return Wt.isReferencedAliasDeclaration(t) ? t : void 0
      var r = e.visitNodes(t.elements, it, e.isImportSpecifier)
      return e.some(r) ? e.updateNamedImports(t, r) : void 0
    }
    function it(e) {
      return Wt.isReferencedAliasDeclaration(e) ? e : void 0
    }
    function ot(r) {
      return Wt.isValueAliasDeclaration(r) ? e.visitEachChild(r, u, t) : void 0
    }
    function st(t) {
      if (!t.exportClause)
        return Wt.moduleExportsSomeValue(t.moduleSpecifier) ? t : void 0
      if (Wt.isValueAliasDeclaration(t)) {
        var r = e.visitNode(t.exportClause, ct, e.isNamedExports)
        return r
          ? e.updateExportDeclaration(t, void 0, void 0, r, t.moduleSpecifier)
          : void 0
      }
    }
    function ct(t) {
      var r = e.visitNodes(t.elements, ut, e.isExportSpecifier)
      return e.some(r) ? e.updateNamedExports(t, r) : void 0
    }
    function ut(e) {
      return Wt.isValueAliasDeclaration(e) ? e : void 0
    }
    function _t(t) {
      return (
        Wt.isReferencedAliasDeclaration(t) ||
        (!e.isExternalModule(Zt) &&
          Wt.isTopLevelValueImportEqualsWithEntityName(t))
      )
    }
    function lt(r) {
      if (e.isExternalModuleImportEqualsDeclaration(r))
        return Wt.isReferencedAliasDeclaration(r)
          ? e.visitEachChild(r, u, t)
          : void 0
      if (_t(r)) {
        var n = e.createExpressionFromEntityName(r.moduleReference)
        return (
          e.setEmitFlags(n, 3584),
          ft(r) || !dt(r)
            ? e.setOriginalNode(
                e.setTextRange(
                  e.createVariableStatement(
                    e.visitNodes(r.modifiers, y, e.isModifier),
                    e.createVariableDeclarationList([
                      e.setOriginalNode(
                        e.createVariableDeclaration(r.name, void 0, n),
                        r
                      )
                    ])
                  ),
                  r
                ),
                r
              )
            : e.setOriginalNode(vt(r.name, n, r), r)
        )
      }
    }
    function dt(t) {
      return void 0 !== $t && e.hasModifier(t, 1)
    }
    function pt(t) {
      return void 0 === $t && e.hasModifier(t, 1)
    }
    function ft(t) {
      return pt(t) && !e.hasModifier(t, 512)
    }
    function gt(t) {
      return pt(t) && e.hasModifier(t, 512)
    }
    function mt(t) {
      return e.createStatement(t)
    }
    function yt(t, r) {
      var n = e.createAssignment(
        e.getExternalModuleOrNamespaceExportName(er, r, !1, !0),
        e.getLocalName(r)
      )
      e.setSourceMapRange(n, e.createRange(r.name.pos, r.end))
      var a = e.createStatement(n)
      e.setSourceMapRange(a, e.createRange(-1, r.end)), t.push(a)
    }
    function vt(t, r, n) {
      return e.setTextRange(
        e.createStatement(
          e.createAssignment(e.getNamespaceMemberName(er, t, !1, !0), r)
        ),
        n
      )
    }
    function ht(t, r, n) {
      return e.setTextRange(e.createAssignment(bt(t), r), n)
    }
    function bt(t) {
      return e.getNamespaceMemberName(er, t, !1, !0)
    }
    function kt(t) {
      var r = e.getGeneratedNameForNode(t)
      return e.setSourceMapRange(r, t.name), r
    }
    function xt(t) {
      return e.getGeneratedNameForNode(t)
    }
    function Ct(t) {
      if (8388608 & Wt.getNodeCheckFlags(t)) {
        Et()
        var r = e.createUniqueName(
          t.name && !e.isGeneratedIdentifier(t.name)
            ? e.unescapeIdentifier(t.name.text)
            : 'default'
        )
        return (ar[e.getOriginalNodeId(t)] = r), Ut(r), r
      }
    }
    function St(t) {
      return e.createPropertyAccess(e.getDeclarationName(t), 'prototype')
    }
    function Dt(t, r) {
      return e.hasModifier(r, 32) ? e.getDeclarationName(t) : St(t)
    }
    function Tt() {
      0 === (8 & nr) && ((nr |= 8), t.enableSubstitution(71))
    }
    function Et() {
      0 === (1 & nr) && ((nr |= 1), t.enableSubstitution(71), (ar = []))
    }
    function Nt() {
      0 === (2 & nr) &&
        ((nr |= 2),
        t.enableSubstitution(71),
        t.enableSubstitution(262),
        t.enableEmitNotification(233))
    }
    function At(t) {
      return 233 === e.getOriginalNode(t).kind
    }
    function wt(t) {
      return 232 === e.getOriginalNode(t).kind
    }
    function Pt(t, r, n) {
      var a = ir,
        i = Zt
      e.isSourceFile(r) && (Zt = r),
        2 & nr && At(r) && (ir |= 2),
        8 & nr && wt(r) && (ir |= 8),
        Qt(t, r, n),
        (ir = a),
        (Zt = i)
    }
    function Ot(t, r) {
      return (
        (r = Yt(t, r)),
        1 === t ? It(r) : e.isShorthandPropertyAssignment(r) ? Ft(r) : r
      )
    }
    function Ft(t) {
      if (2 & nr) {
        var r = t.name,
          n = Lt(r)
        if (n) {
          if (t.objectAssignmentInitializer) {
            var a = e.createAssignment(n, t.objectAssignmentInitializer)
            return e.setTextRange(e.createPropertyAssignment(r, a), t)
          }
          return e.setTextRange(e.createPropertyAssignment(r, n), t)
        }
      }
      return t
    }
    function It(e) {
      switch (e.kind) {
        case 71:
          return Rt(e)
        case 179:
          return Bt(e)
        case 180:
          return Jt(e)
      }
      return e
    }
    function Rt(e) {
      return Mt(e) || Lt(e) || e
    }
    function Mt(t) {
      if (1 & nr && 16777216 & Wt.getNodeCheckFlags(t)) {
        var r = Wt.getReferencedValueDeclaration(t)
        if (r) {
          var n = ar[r.id]
          if (n) {
            var a = e.getSynthesizedClone(n)
            return e.setSourceMapRange(a, t), e.setCommentRange(a, t), a
          }
        }
      }
    }
    function Lt(t) {
      if (nr & ir && !e.isGeneratedIdentifier(t) && !e.isLocalName(t)) {
        var r = Wt.getReferencedExportContainer(t, !1)
        if (r && 265 !== r.kind) {
          var n = (2 & ir && 233 === r.kind) || (8 & ir && 232 === r.kind)
          if (n)
            return e.setTextRange(
              e.createPropertyAccess(e.getGeneratedNameForNode(r), t),
              t
            )
        }
      }
    }
    function Bt(e) {
      return zt(e)
    }
    function Jt(e) {
      return zt(e)
    }
    function zt(t) {
      var r = Kt(t)
      if (void 0 !== r) {
        e.setConstantValue(t, r)
        var n = e.createLiteral(r)
        if (!Ht.removeComments) {
          var a = e.isPropertyAccessExpression(t)
            ? e.declarationNameToString(t.name)
            : e.getTextOfNode(t.argumentExpression)
          e.addSyntheticTrailingComment(n, 3, ' ' + a + ' ')
        }
        return n
      }
      return t
    }
    function Kt(t) {
      if (!Ht.isolatedModules)
        return e.isPropertyAccessExpression(t) || e.isElementAccessExpression(t)
          ? Wt.getConstantValue(t)
          : void 0
    }
    var jt = t.startLexicalEnvironment,
      Vt = t.resumeLexicalEnvironment,
      qt = t.endLexicalEnvironment,
      Ut = t.hoistVariableDeclaration,
      Wt = t.getEmitResolver(),
      Ht = t.getCompilerOptions(),
      Gt = e.getEmitScriptTarget(Ht),
      Xt = e.getEmitModuleKind(Ht),
      Qt = t.onEmitNode,
      Yt = t.onSubstituteNode
    ;(t.onEmitNode = Pt),
      (t.onSubstituteNode = Ot),
      t.enableSubstitution(179),
      t.enableSubstitution(180)
    var Zt, $t, er, tr, rr, nr, ar, ir
    return i
  }
  function r(t, r, n, a, i, o) {
    var c = []
    return (
      c.push(e.createArrayLiteral(r, !0)),
      c.push(n),
      a && (c.push(a), i && c.push(i)),
      t.requestEmitHelper(s),
      e.setTextRange(e.createCall(e.getHelperName('__decorate'), void 0, c), o)
    )
  }
  function n(t, r, n) {
    return (
      t.requestEmitHelper(c),
      e.createCall(e.getHelperName('__metadata'), void 0, [
        e.createLiteral(r),
        n
      ])
    )
  }
  function a(t, r, n, a) {
    return (
      t.requestEmitHelper(u),
      e.setTextRange(
        e.createCall(e.getHelperName('__param'), void 0, [
          e.createLiteral(n),
          r
        ]),
        a
      )
    )
  }
  var i,
    o = !1
  !(function(e) {
    ;(e[(e.ClassAliases = 1)] = 'ClassAliases'),
      (e[(e.NamespaceExports = 2)] = 'NamespaceExports'),
      (e[(e.NonQualifiedEnumMembers = 8)] = 'NonQualifiedEnumMembers')
  })(i || (i = {})),
    (e.transformTypeScript = t)
  var s = {
      name: 'typescript:decorate',
      scoped: !1,
      priority: 2,
      text:
        '\n            var __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            };'
    },
    c = {
      name: 'typescript:metadata',
      scoped: !1,
      priority: 3,
      text:
        '\n            var __metadata = (this && this.__metadata) || function (k, v) {\n                if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);\n            };'
    },
    u = {
      name: 'typescript:param',
      scoped: !1,
      priority: 4,
      text:
        '\n            var __param = (this && this.__param) || function (paramIndex, decorator) {\n                return function (target, key) { decorator(target, key, paramIndex); }\n            };'
    }
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t) {
    function n(r) {
      if (e.isDeclarationFile(r)) return r
      x = r
      var n = e.visitEachChild(r, a, t)
      return e.addEmitHelpers(n, t.readEmitHelpers()), (x = void 0), n
    }
    function a(r) {
      if (0 === (16 & r.transformFlags)) return r
      switch (r.kind) {
        case 120:
          return
        case 191:
          return i(r)
        case 151:
          return o(r)
        case 228:
          return s(r)
        case 186:
          return c(r)
        case 187:
          return u(r)
        default:
          return e.visitEachChild(r, a, t)
      }
    }
    function i(t) {
      return e.setOriginalNode(
        e.setTextRange(
          e.createYield(void 0, e.visitNode(t.expression, a, e.isExpression)),
          t
        ),
        t
      )
    }
    function o(r) {
      return e.updateMethod(
        r,
        void 0,
        e.visitNodes(r.modifiers, a, e.isModifier),
        r.asteriskToken,
        r.name,
        void 0,
        void 0,
        e.visitParameterList(r.parameters, a, t),
        void 0,
        2 & e.getFunctionFlags(r) ? _(r) : e.visitFunctionBody(r.body, a, t)
      )
    }
    function s(r) {
      return e.updateFunctionDeclaration(
        r,
        void 0,
        e.visitNodes(r.modifiers, a, e.isModifier),
        r.asteriskToken,
        r.name,
        void 0,
        e.visitParameterList(r.parameters, a, t),
        void 0,
        2 & e.getFunctionFlags(r) ? _(r) : e.visitFunctionBody(r.body, a, t)
      )
    }
    function c(r) {
      return e.updateFunctionExpression(
        r,
        e.visitNodes(r.modifiers, a, e.isModifier),
        r.asteriskToken,
        r.name,
        void 0,
        e.visitParameterList(r.parameters, a, t),
        void 0,
        2 & e.getFunctionFlags(r) ? _(r) : e.visitFunctionBody(r.body, a, t)
      )
    }
    function u(r) {
      return e.updateArrowFunction(
        r,
        e.visitNodes(r.modifiers, a, e.isModifier),
        void 0,
        e.visitParameterList(r.parameters, a, t),
        void 0,
        2 & e.getFunctionFlags(r) ? _(r) : e.visitFunctionBody(r.body, a, t)
      )
    }
    function _(n) {
      D()
      var i = e.getOriginalNode(n, e.isFunctionLike),
        o = i.type,
        s = A < 2 ? d(o) : void 0,
        c = 187 === n.kind,
        u = 0 !== (8192 & E.getNodeCheckFlags(n))
      if (c) {
        var _ = r(t, u, s, l(n.body)),
          f = T()
        if (e.some(f)) {
          var g = e.convertToFunctionBody(_)
          return e.updateBlock(
            g,
            e.setTextRange(
              e.createNodeArray(e.concatenate(g.statements, f)),
              g.statements
            )
          )
        }
        return _
      }
      var m = [],
        y = e.addPrologue(m, n.body.statements, !1, a)
      m.push(e.createReturn(r(t, u, s, l(n.body, y)))), e.addRange(m, T())
      var g = e.createBlock(m, !0)
      return (
        e.setTextRange(g, n.body),
        A >= 2 &&
          (4096 & E.getNodeCheckFlags(n)
            ? (p(), e.addEmitHelper(g, e.advancedAsyncSuperHelper))
            : 2048 & E.getNodeCheckFlags(n) &&
              (p(), e.addEmitHelper(g, e.asyncSuperHelper))),
        g
      )
    }
    function l(r, n) {
      if (e.isBlock(r))
        return e.updateBlock(
          r,
          e.visitLexicalEnvironment(r.statements, a, t, n)
        )
      S()
      var i = e.convertToFunctionBody(e.visitNode(r, a, e.isConciseBody)),
        o = T()
      return e.updateBlock(
        i,
        e.setTextRange(
          e.createNodeArray(e.concatenate(i.statements, o)),
          i.statements
        )
      )
    }
    function d(t) {
      var r = t && e.getEntityNameFromTypeNode(t)
      if (r && e.isEntityName(r)) {
        var n = E.getTypeReferenceSerializationKind(r)
        if (
          n ===
            e.TypeReferenceSerializationKind
              .TypeWithConstructSignatureAndValue ||
          n === e.TypeReferenceSerializationKind.Unknown
        )
          return r
      }
    }
    function p() {
      0 === (1 & C) &&
        ((C |= 1),
        t.enableSubstitution(181),
        t.enableSubstitution(179),
        t.enableSubstitution(180),
        t.enableEmitNotification(229),
        t.enableEmitNotification(151),
        t.enableEmitNotification(153),
        t.enableEmitNotification(154),
        t.enableEmitNotification(152))
    }
    function f(e, t, r) {
      if (1 & C && b(t)) {
        var n = 6144 & E.getNodeCheckFlags(t)
        if (n !== w) {
          var a = w
          return (w = n), P(e, t, r), void (w = a)
        }
      }
      P(e, t, r)
    }
    function g(e, t) {
      return (t = O(e, t)), 1 === e && w ? m(t) : t
    }
    function m(e) {
      switch (e.kind) {
        case 179:
          return y(e)
        case 180:
          return v(e)
        case 181:
          return h(e)
      }
      return e
    }
    function y(t) {
      return 97 === t.expression.kind ? k(e.createLiteral(t.name.text), t) : t
    }
    function v(e) {
      return 97 === e.expression.kind ? k(e.argumentExpression, e) : e
    }
    function h(t) {
      var r = t.expression
      if (e.isSuperProperty(r)) {
        var n = e.isPropertyAccessExpression(r) ? y(r) : v(r)
        return e.createCall(
          e.createPropertyAccess(n, 'call'),
          void 0,
          [e.createThis()].concat(t.arguments)
        )
      }
      return t
    }
    function b(e) {
      var t = e.kind
      return 229 === t || 152 === t || 151 === t || 153 === t || 154 === t
    }
    function k(t, r) {
      return 4096 & w
        ? e.setTextRange(
            e.createPropertyAccess(
              e.createCall(e.createIdentifier('_super'), void 0, [t]),
              'value'
            ),
            r
          )
        : e.setTextRange(
            e.createCall(e.createIdentifier('_super'), void 0, [t]),
            r
          )
    }
    var x,
      C,
      S = t.startLexicalEnvironment,
      D = t.resumeLexicalEnvironment,
      T = t.endLexicalEnvironment,
      E = t.getEmitResolver(),
      N = t.getCompilerOptions(),
      A = e.getEmitScriptTarget(N),
      w = 0,
      P = t.onEmitNode,
      O = t.onSubstituteNode
    return (t.onEmitNode = f), (t.onSubstituteNode = g), n
  }
  function r(t, r, n, i) {
    t.requestEmitHelper(a)
    var o = e.createFunctionExpression(
      void 0,
      e.createToken(39),
      void 0,
      void 0,
      [],
      void 0,
      i
    )
    return (
      ((o.emitNode || (o.emitNode = {})).flags |= 262144),
      e.createCall(e.getHelperName('__awaiter'), void 0, [
        e.createThis(),
        r ? e.createIdentifier('arguments') : e.createVoidZero(),
        n ? e.createExpressionFromEntityName(n) : e.createVoidZero(),
        o
      ])
    )
  }
  var n
  !(function(e) {
    e[(e.AsyncMethodsWithSuper = 1)] = 'AsyncMethodsWithSuper'
  })(n || (n = {})),
    (e.transformES2017 = t)
  var a = {
    name: 'typescript:awaiter',
    scoped: !1,
    priority: 5,
    text:
      '\n            var __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            };'
  }
  ;(e.asyncSuperHelper = {
    name: 'typescript:async-super',
    scoped: !0,
    text: '\n            const _super = name => super[name];\n        '
  }),
    (e.advancedAsyncSuperHelper = {
      name: 'typescript:advanced-async-super',
      scoped: !0,
      text:
        '\n            const _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);\n        '
    })
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t) {
    function s(r) {
      if (e.isDeclarationFile(r)) return r
      var n = e.visitEachChild(r, c, t)
      return e.addEmitHelpers(n, t.readEmitHelpers()), n
    }
    function c(e) {
      return l(e, !1)
    }
    function u(e) {
      return l(e, !0)
    }
    function _(e) {
      if (120 !== e.kind) return e
    }
    function l(r, n) {
      if (0 === (8 & r.transformFlags)) return r
      switch (r.kind) {
        case 191:
          return d(r)
        case 197:
          return p(r)
        case 222:
          return f(r)
        case 178:
          return m(r)
        case 194:
          return h(r, n)
        case 226:
          return b(r)
        case 216:
          return C(r, void 0)
        case 214:
          return k(r)
        case 190:
          return x(r)
        case 152:
          return A(r)
        case 151:
          return O(r)
        case 153:
          return w(r)
        case 154:
          return P(r)
        case 228:
          return F(r)
        case 186:
          return R(r)
        case 187:
          return I(r)
        case 146:
          return N(r)
        case 210:
          return y(r)
        case 185:
          return v(r, n)
        default:
          return e.visitEachChild(r, c, t)
      }
    }
    function d(r) {
      return 2 & ne && 1 & ne
        ? e.setOriginalNode(
            e.setTextRange(
              e.createYield(n(t, e.visitNode(r.expression, c, e.isExpression))),
              r
            ),
            r
          )
        : e.visitEachChild(r, c, t)
    }
    function p(r) {
      if (2 & ne && 1 & ne && r.asteriskToken) {
        var a = e.visitNode(r.expression, c, e.isExpression)
        return e.setOriginalNode(
          e.setTextRange(
            e.createYield(
              n(t, e.updateYield(r, r.asteriskToken, i(t, o(t, a, a), a)))
            ),
            r
          ),
          r
        )
      }
      return e.visitEachChild(r, c, t)
    }
    function f(r) {
      if (2 & ne && 1 & ne) {
        var n = e.unwrapInnermostStatementOfLabel(r)
        return 216 === n.kind && n.awaitModifier
          ? C(n, r)
          : e.restoreEnclosingLabel(e.visitEachChild(r, c, t), r)
      }
      return e.visitEachChild(r, c, t)
    }
    function g(t) {
      for (var r, n = [], a = 0, i = t; a < i.length; a++) {
        var o = i[a]
        if (263 === o.kind) {
          r && (n.push(e.createObjectLiteral(r)), (r = void 0))
          var s = o.expression
          n.push(e.visitNode(s, c, e.isExpression))
        } else if ((r || (r = []), 261 === o.kind)) {
          var u = o
          r.push(
            e.createPropertyAssignment(
              u.name,
              e.visitNode(u.initializer, c, e.isExpression)
            )
          )
        } else r.push(o)
      }
      return r && n.push(e.createObjectLiteral(r)), n
    }
    function m(n) {
      if (1048576 & n.transformFlags) {
        var a = g(n.properties)
        return (
          a.length && 178 !== a[0].kind && a.unshift(e.createObjectLiteral()),
          r(t, a)
        )
      }
      return e.visitEachChild(n, c, t)
    }
    function y(r) {
      return e.visitEachChild(r, u, t)
    }
    function v(r, n) {
      return e.visitEachChild(r, n ? u : c, t)
    }
    function h(r, n) {
      return e.isDestructuringAssignment(r) && 1048576 & r.left.transformFlags
        ? e.flattenDestructuringAssignment(r, c, t, 1, !n)
        : 26 === r.operatorToken.kind
          ? e.updateBinary(
              r,
              e.visitNode(r.left, u, e.isExpression),
              e.visitNode(r.right, n ? u : c, e.isExpression)
            )
          : e.visitEachChild(r, c, t)
    }
    function b(r) {
      return e.isBindingPattern(r.name) && 1048576 & r.name.transformFlags
        ? e.flattenDestructuringBinding(r, c, t, 1)
        : e.visitEachChild(r, c, t)
    }
    function k(t) {
      return e.updateFor(
        t,
        e.visitNode(t.initializer, u, e.isForInitializer),
        e.visitNode(t.condition, c, e.isExpression),
        e.visitNode(t.incrementor, c, e.isExpression),
        e.visitNode(t.statement, c, e.isStatement)
      )
    }
    function x(r) {
      return e.visitEachChild(r, u, t)
    }
    function C(r, n) {
      return (
        1048576 & r.initializer.transformFlags && (r = S(r)),
        r.awaitModifier
          ? E(r, n)
          : e.restoreEnclosingLabel(e.visitEachChild(r, c, t), n)
      )
    }
    function S(t) {
      var r = e.skipParentheses(t.initializer)
      if (e.isVariableDeclarationList(r) || e.isAssignmentPattern(r)) {
        var n = void 0,
          a = void 0,
          i = e.createTempVariable(void 0),
          o = [e.createForOfBindingStatement(r, i)]
        return (
          e.isBlock(t.statement) &&
            (e.addRange(o, t.statement.statements),
            (n = t.statement),
            (a = t.statement.statements)),
          e.updateForOf(
            t,
            t.awaitModifier,
            e.setTextRange(
              e.createVariableDeclarationList(
                [e.setTextRange(e.createVariableDeclaration(i), t.initializer)],
                1
              ),
              t.initializer
            ),
            t.expression,
            e.setTextRange(
              e.createBlock(e.setTextRange(e.createNodeArray(o), a), !0),
              n
            )
          )
        )
      }
      return t
    }
    function D(t, r) {
      var n,
        a,
        i = e.createForOfBindingStatement(t.initializer, r),
        o = [e.visitNode(i, c, e.isStatement)],
        s = e.visitNode(t.statement, c, e.isStatement)
      return (
        e.isBlock(s)
          ? (e.addRange(o, s.statements), (n = s), (a = s.statements))
          : o.push(s),
        e.setEmitFlags(
          e.setTextRange(
            e.createBlock(e.setTextRange(e.createNodeArray(o), a), !0),
            n
          ),
          432
        )
      )
    }
    function T(r) {
      return e.createYield(void 0, 1 & ne ? n(t, r) : r)
    }
    function E(r, n) {
      var a = e.visitNode(r.expression, c, e.isExpression),
        i = e.isIdentifier(a)
          ? e.getGeneratedNameForNode(a)
          : e.createTempVariable(void 0),
        s = e.isIdentifier(a)
          ? e.getGeneratedNameForNode(i)
          : e.createTempVariable(void 0),
        u = e.createUniqueName('e'),
        _ = e.getGeneratedNameForNode(u),
        l = e.createTempVariable(void 0),
        d = o(t, a, r.expression),
        p = e.createCall(e.createPropertyAccess(i, 'next'), void 0, []),
        f = e.createPropertyAccess(s, 'done'),
        g = e.createPropertyAccess(s, 'value'),
        m = e.createFunctionCall(l, i, [])
      Q(u), Q(l)
      var y = e.setEmitFlags(
        e.setTextRange(
          e.createFor(
            e.setEmitFlags(
              e.setTextRange(
                e.createVariableDeclarationList([
                  e.setTextRange(
                    e.createVariableDeclaration(i, void 0, d),
                    r.expression
                  ),
                  e.createVariableDeclaration(s)
                ]),
                r.expression
              ),
              2097152
            ),
            e.createComma(e.createAssignment(s, T(p)), e.createLogicalNot(f)),
            void 0,
            D(r, T(g))
          ),
          r
        ),
        256
      )
      return e.createTry(
        e.createBlock([e.restoreEnclosingLabel(y, n)]),
        e.createCatchClause(
          e.createVariableDeclaration(_),
          e.setEmitFlags(
            e.createBlock([
              e.createStatement(
                e.createAssignment(
                  u,
                  e.createObjectLiteral([
                    e.createPropertyAssignment('error', _)
                  ])
                )
              )
            ]),
            1
          )
        ),
        e.createBlock([
          e.createTry(
            e.createBlock([
              e.setEmitFlags(
                e.createIf(
                  e.createLogicalAnd(
                    e.createLogicalAnd(s, e.createLogicalNot(f)),
                    e.createAssignment(l, e.createPropertyAccess(i, 'return'))
                  ),
                  e.createStatement(T(m))
                ),
                1
              )
            ]),
            void 0,
            e.setEmitFlags(
              e.createBlock([
                e.setEmitFlags(
                  e.createIf(
                    u,
                    e.createThrow(e.createPropertyAccess(u, 'error'))
                  ),
                  1
                )
              ]),
              1
            )
          )
        ])
      )
    }
    function N(r) {
      return 1048576 & r.transformFlags
        ? e.updateParameter(
            r,
            void 0,
            void 0,
            r.dotDotDotToken,
            e.getGeneratedNameForNode(r),
            void 0,
            void 0,
            e.visitNode(r.initializer, c, e.isExpression)
          )
        : e.visitEachChild(r, c, t)
    }
    function A(r) {
      var n = ne
      ne = 0
      var a = e.updateConstructor(
        r,
        void 0,
        r.modifiers,
        e.visitParameterList(r.parameters, c, t),
        L(r)
      )
      return (ne = n), a
    }
    function w(r) {
      var n = ne
      ne = 0
      var a = e.updateGetAccessor(
        r,
        void 0,
        r.modifiers,
        e.visitNode(r.name, c, e.isPropertyName),
        e.visitParameterList(r.parameters, c, t),
        void 0,
        L(r)
      )
      return (ne = n), a
    }
    function P(r) {
      var n = ne
      ne = 0
      var a = e.updateSetAccessor(
        r,
        void 0,
        r.modifiers,
        e.visitNode(r.name, c, e.isPropertyName),
        e.visitParameterList(r.parameters, c, t),
        L(r)
      )
      return (ne = n), a
    }
    function O(r) {
      var n = ne
      ne = e.getFunctionFlags(r)
      var a = e.updateMethod(
        r,
        void 0,
        1 & ne ? e.visitNodes(r.modifiers, _, e.isModifier) : r.modifiers,
        2 & ne ? void 0 : r.asteriskToken,
        e.visitNode(r.name, c, e.isPropertyName),
        e.visitNode(void 0, c, e.isToken),
        void 0,
        e.visitParameterList(r.parameters, c, t),
        void 0,
        2 & ne && 1 & ne ? M(r) : L(r)
      )
      return (ne = n), a
    }
    function F(r) {
      var n = ne
      ne = e.getFunctionFlags(r)
      var a = e.updateFunctionDeclaration(
        r,
        void 0,
        1 & ne ? e.visitNodes(r.modifiers, _, e.isModifier) : r.modifiers,
        2 & ne ? void 0 : r.asteriskToken,
        r.name,
        void 0,
        e.visitParameterList(r.parameters, c, t),
        void 0,
        2 & ne && 1 & ne ? M(r) : L(r)
      )
      return (ne = n), a
    }
    function I(r) {
      var n = ne
      ne = e.getFunctionFlags(r)
      var a = e.updateArrowFunction(
        r,
        r.modifiers,
        void 0,
        e.visitParameterList(r.parameters, c, t),
        void 0,
        L(r)
      )
      return (ne = n), a
    }
    function R(r) {
      var n = ne
      ne = e.getFunctionFlags(r)
      var a = e.updateFunctionExpression(
        r,
        1 & ne ? e.visitNodes(r.modifiers, _, e.isModifier) : r.modifiers,
        2 & ne ? void 0 : r.asteriskToken,
        r.name,
        void 0,
        e.visitParameterList(r.parameters, c, t),
        void 0,
        2 & ne && 1 & ne ? M(r) : L(r)
      )
      return (ne = n), a
    }
    function M(r) {
      G()
      var n = [],
        i = e.addPrologue(n, r.body.statements, !1, c)
      B(n, r),
        n.push(
          e.createReturn(
            a(
              t,
              e.createFunctionExpression(
                void 0,
                e.createToken(39),
                r.name && e.getGeneratedNameForNode(r.name),
                void 0,
                [],
                void 0,
                e.updateBlock(
                  r.body,
                  e.visitLexicalEnvironment(r.body.statements, c, t, i)
                )
              )
            )
          )
        ),
        e.addRange(n, X())
      var o = e.updateBlock(r.body, n)
      return (
        $ >= 2 &&
          (4096 & Y.getNodeCheckFlags(r)
            ? (J(), e.addEmitHelper(o, e.advancedAsyncSuperHelper))
            : 2048 & Y.getNodeCheckFlags(r) &&
              (J(), e.addEmitHelper(o, e.asyncSuperHelper))),
        o
      )
    }
    function L(t) {
      G()
      var r = 0,
        n = [],
        a = e.visitNode(t.body, c, e.isConciseBody)
      e.isBlock(a) && (r = e.addPrologue(n, a.statements, !1, c)),
        e.addRange(n, B(void 0, t))
      var i = X()
      if (r > 0 || e.some(n) || e.some(i)) {
        var o = e.convertToFunctionBody(a, !0)
        return (
          e.addRange(n, o.statements.slice(r)),
          e.addRange(n, i),
          e.updateBlock(o, e.setTextRange(e.createNodeArray(n), o.statements))
        )
      }
      return a
    }
    function B(r, n) {
      for (var a = 0, i = n.parameters; a < i.length; a++) {
        var o = i[a]
        if (1048576 & o.transformFlags) {
          var s = e.getGeneratedNameForNode(o),
            u = e.flattenDestructuringBinding(o, c, t, 1, s, !1, !0)
          if (e.some(u)) {
            var _ = e.createVariableStatement(
              void 0,
              e.createVariableDeclarationList(u)
            )
            e.setEmitFlags(_, 1048576), (r = e.append(r, _))
          }
        }
      }
      return r
    }
    function J() {
      0 === (1 & re) &&
        ((re |= 1),
        t.enableSubstitution(181),
        t.enableSubstitution(179),
        t.enableSubstitution(180),
        t.enableEmitNotification(229),
        t.enableEmitNotification(151),
        t.enableEmitNotification(153),
        t.enableEmitNotification(154),
        t.enableEmitNotification(152))
    }
    function z(e, t, r) {
      if (1 & re && W(t)) {
        var n = 6144 & Y.getNodeCheckFlags(t)
        if (n !== ae) {
          var a = ae
          return (ae = n), ee(e, t, r), void (ae = a)
        }
      }
      ee(e, t, r)
    }
    function K(e, t) {
      return (t = te(e, t)), 1 === e && ae ? j(t) : t
    }
    function j(e) {
      switch (e.kind) {
        case 179:
          return V(e)
        case 180:
          return q(e)
        case 181:
          return U(e)
      }
      return e
    }
    function V(t) {
      return 97 === t.expression.kind ? H(e.createLiteral(t.name.text), t) : t
    }
    function q(e) {
      return 97 === e.expression.kind ? H(e.argumentExpression, e) : e
    }
    function U(t) {
      var r = t.expression
      if (e.isSuperProperty(r)) {
        var n = e.isPropertyAccessExpression(r) ? V(r) : q(r)
        return e.createCall(
          e.createPropertyAccess(n, 'call'),
          void 0,
          [e.createThis()].concat(t.arguments)
        )
      }
      return t
    }
    function W(e) {
      var t = e.kind
      return 229 === t || 152 === t || 151 === t || 153 === t || 154 === t
    }
    function H(t, r) {
      return 4096 & ae
        ? e.setTextRange(
            e.createPropertyAccess(
              e.createCall(e.createIdentifier('_super'), void 0, [t]),
              'value'
            ),
            r
          )
        : e.setTextRange(
            e.createCall(e.createIdentifier('_super'), void 0, [t]),
            r
          )
    }
    var G = t.resumeLexicalEnvironment,
      X = t.endLexicalEnvironment,
      Q = t.hoistVariableDeclaration,
      Y = t.getEmitResolver(),
      Z = t.getCompilerOptions(),
      $ = e.getEmitScriptTarget(Z),
      ee = t.onEmitNode
    t.onEmitNode = z
    var te = t.onSubstituteNode
    t.onSubstituteNode = K
    var re,
      ne,
      ae = 0
    return s
  }
  function r(t, r) {
    return t.getCompilerOptions().target >= 2
      ? e.createCall(
          e.createPropertyAccess(e.createIdentifier('Object'), 'assign'),
          void 0,
          r
        )
      : (t.requestEmitHelper(c),
        e.createCall(e.getHelperName('__assign'), void 0, r))
  }
  function n(t, r) {
    return (
      t.requestEmitHelper(u),
      e.createCall(e.getHelperName('__await'), void 0, [r])
    )
  }
  function a(t, r) {
    return (
      t.requestEmitHelper(u),
      t.requestEmitHelper(_),
      ((r.emitNode || (r.emitNode = {})).flags |= 262144),
      e.createCall(e.getHelperName('__asyncGenerator'), void 0, [
        e.createThis(),
        e.createIdentifier('arguments'),
        r
      ])
    )
  }
  function i(t, r, n) {
    return (
      t.requestEmitHelper(u),
      t.requestEmitHelper(l),
      e.setTextRange(
        e.createCall(e.getHelperName('__asyncDelegator'), void 0, [r]),
        n
      )
    )
  }
  function o(t, r, n) {
    return (
      t.requestEmitHelper(d),
      e.setTextRange(
        e.createCall(e.getHelperName('__asyncValues'), void 0, [r]),
        n
      )
    )
  }
  var s
  !(function(e) {
    e[(e.AsyncMethodsWithSuper = 1)] = 'AsyncMethodsWithSuper'
  })(s || (s = {})),
    (e.transformESNext = t)
  var c = {
    name: 'typescript:assign',
    scoped: !1,
    priority: 1,
    text:
      '\n            var __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            };'
  }
  e.createAssignHelper = r
  var u = {
      name: 'typescript:await',
      scoped: !1,
      text:
        '\n            var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }\n        '
    },
    _ = {
      name: 'typescript:asyncGenerator',
      scoped: !1,
      text:
        '\n            var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {\n                if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n                var g = generator.apply(thisArg, _arguments || []), i, q = [];\n                return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;\n                function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n                function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n                function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);  }\n                function fulfill(value) { resume("next", value); }\n                function reject(value) { resume("throw", value); }\n                function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n            };\n        '
    },
    l = {
      name: 'typescript:asyncDelegator',
      scoped: !1,
      text:
        '\n            var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {\n                var i, p;\n                return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;\n                function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; }; }\n            };\n        '
    },
    d = {
      name: 'typescript:asyncValues',
      scoped: !1,
      text:
        '\n            var __asyncValues = (this && this.__asyncIterator) || function (o) {\n                if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n                var m = o[Symbol.asyncIterator];\n                return m ? m.call(o) : typeof __values === "function" ? __values(o) : o[Symbol.iterator]();\n            };\n        '
    }
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t) {
    function n(r) {
      if (e.isDeclarationFile(r)) return r
      var n = e.visitEachChild(r, a, t)
      return e.addEmitHelpers(n, t.readEmitHelpers()), n
    }
    function a(e) {
      return 4 & e.transformFlags ? i(e) : e
    }
    function i(r) {
      switch (r.kind) {
        case 249:
          return s(r, !1)
        case 250:
          return c(r, !1)
        case 256:
          return b(r)
        default:
          return e.visitEachChild(r, a, t)
      }
    }
    function o(t) {
      switch (t.kind) {
        case 10:
          return p(t)
        case 256:
          return b(t)
        case 249:
          return s(t, !0)
        case 250:
          return c(t, !0)
        default:
          return void e.Debug.failBadSyntaxKind(t)
      }
    }
    function s(e, t) {
      return u(e.openingElement, e.children, t, e)
    }
    function c(e, t) {
      return u(e, void 0, t, e)
    }
    function u(r, n, a, i) {
      var s,
        c = v(r),
        u = r.attributes.properties
      if (0 === u.length) s = e.createNull()
      else {
        var d = e.flatten(
          e.spanMap(u, e.isJsxSpreadAttribute, function(t, r) {
            return r ? e.map(t, _) : e.createObjectLiteral(e.map(t, l))
          })
        )
        e.isJsxSpreadAttribute(u[0]) && d.unshift(e.createObjectLiteral()),
          (s = e.singleOrUndefined(d)),
          s || (s = e.createAssignHelper(t, d))
      }
      var p = e.createExpressionForJsxElement(
        t.getEmitResolver().getJsxFactoryEntity(),
        k.reactNamespace,
        c,
        s,
        e.filter(e.map(n, o), e.isDefined),
        r,
        i
      )
      return a && e.startOnNewLine(p), p
    }
    function _(t) {
      return e.visitNode(t.expression, a, e.isExpression)
    }
    function l(t) {
      var r = h(t),
        n = d(t.initializer)
      return e.createPropertyAssignment(r, n)
    }
    function d(t) {
      if (void 0 === t) return e.createTrue()
      if (9 === t.kind) {
        var r = y(t.text)
        return r ? e.setTextRange(e.createLiteral(r), t) : t
      }
      return 256 === t.kind
        ? void 0 === t.expression
          ? e.createTrue()
          : b(t)
        : void e.Debug.failBadSyntaxKind(t)
    }
    function p(t) {
      var r = f(e.getTextOfNode(t, !0))
      return void 0 === r ? void 0 : e.createLiteral(r)
    }
    function f(t) {
      for (var r, n = 0, a = -1, i = 0; i < t.length; i++) {
        var o = t.charCodeAt(i)
        e.isLineBreak(o)
          ? (n !== -1 && a !== -1 && (r = g(r, t.substr(n, a - n + 1))),
            (n = -1))
          : e.isWhiteSpaceSingleLine(o) || ((a = i), n === -1 && (n = i))
      }
      return n !== -1 ? g(r, t.substr(n)) : r
    }
    function g(e, t) {
      var r = m(t)
      return void 0 === e ? r : e + ' ' + r
    }
    function m(e) {
      return e.replace(/&((#((\d+)|x([\da-fA-F]+)))|(\w+));/g, function(
        e,
        t,
        n,
        a,
        i,
        o,
        s
      ) {
        if (i) return String.fromCharCode(parseInt(i, 10))
        if (o) return String.fromCharCode(parseInt(o, 16))
        var c = r.get(s)
        return c ? String.fromCharCode(c) : e
      })
    }
    function y(e) {
      var t = m(e)
      return t === e ? void 0 : t
    }
    function v(t) {
      if (249 === t.kind) return v(t.openingElement)
      var r = t.tagName
      return e.isIdentifier(r) && e.isIntrinsicJsxName(r.text)
        ? e.createLiteral(r.text)
        : e.createExpressionFromEntityName(r)
    }
    function h(t) {
      var r = t.name
      return /^[A-Za-z_]\w*$/.test(r.text) ? r : e.createLiteral(r.text)
    }
    function b(t) {
      return e.visitNode(t.expression, a, e.isExpression)
    }
    var k = t.getCompilerOptions()
    return n
  }
  e.transformJsx = t
  var r = e.createMapFromTemplate({
    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
  })
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t) {
    function r(r) {
      return e.isDeclarationFile(r) ? r : e.visitEachChild(r, n, t)
    }
    function n(r) {
      if (0 === (32 & r.transformFlags)) return r
      switch (r.kind) {
        case 194:
          return a(r)
        default:
          return e.visitEachChild(r, n, t)
      }
    }
    function a(r) {
      switch (r.operatorToken.kind) {
        case 62:
          return i(r)
        case 40:
          return o(r)
        default:
          return e.visitEachChild(r, n, t)
      }
    }
    function i(t) {
      var r,
        a,
        i = e.visitNode(t.left, n, e.isExpression),
        o = e.visitNode(t.right, n, e.isExpression)
      if (e.isElementAccessExpression(i)) {
        var c = e.createTempVariable(s),
          u = e.createTempVariable(s)
        ;(r = e.setTextRange(
          e.createElementAccess(
            e.setTextRange(e.createAssignment(c, i.expression), i.expression),
            e.setTextRange(
              e.createAssignment(u, i.argumentExpression),
              i.argumentExpression
            )
          ),
          i
        )),
          (a = e.setTextRange(e.createElementAccess(c, u), i))
      } else if (e.isPropertyAccessExpression(i)) {
        var c = e.createTempVariable(s)
        ;(r = e.setTextRange(
          e.createPropertyAccess(
            e.setTextRange(e.createAssignment(c, i.expression), i.expression),
            i.name
          ),
          i
        )),
          (a = e.setTextRange(e.createPropertyAccess(c, i.name), i))
      } else (r = i), (a = i)
      return e.setTextRange(e.createAssignment(r, e.createMathPow(a, o, t)), t)
    }
    function o(t) {
      var r = e.visitNode(t.left, n, e.isExpression),
        a = e.visitNode(t.right, n, e.isExpression)
      return e.createMathPow(r, a, t)
    }
    var s = t.hoistVariableDeclaration
    return r
  }
  e.transformES2016 = t
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t) {
    function n(r) {
      if (e.isDeclarationFile(r)) return r
      ;(At = r), (wt = r.text)
      var n = d(r)
      return (
        e.addEmitHelpers(n, t.readEmitHelpers()),
        (At = void 0),
        (wt = void 0),
        (Pt = 0),
        n
      )
    }
    function a(e, t) {
      var r = Pt
      return (Pt = 16383 & ((Pt & ~e) | t)), r
    }
    function i(e, t, r) {
      Pt = (((Pt & ~t) | r) & -16384) | e
    }
    function o(e) {
      return 4096 & Pt && 219 === e.kind && !e.expression
    }
    function s(t) {
      return (
        0 !== (128 & t.transformFlags) ||
        void 0 !== Ot ||
        (4096 & Pt && e.isStatement(t)) ||
        (e.isIterationStatement(t, !1) && ke(t))
      )
    }
    function c(e) {
      return s(e) ? l(e) : e
    }
    function u(e) {
      return s(e) ? $(e, !0) : e
    }
    function _(e) {
      return 97 === e.kind ? st(!0) : c(e)
    }
    function l(r) {
      switch (r.kind) {
        case 115:
          return
        case 229:
          return b(r)
        case 199:
          return k(r)
        case 146:
          return O(r)
        case 228:
          return X(r)
        case 187:
          return H(r)
        case 186:
          return G(r)
        case 226:
          return se(r)
        case 71:
          return v(r)
        case 227:
          return ae(r)
        case 221:
          return p(r)
        case 235:
          return f(r)
        case 207:
          return $(r, !1)
        case 218:
        case 217:
          return h(r)
        case 222:
          return _e(r)
        case 212:
        case 213:
          return pe(r, void 0)
        case 214:
          return fe(r, void 0)
        case 215:
          return ge(r, void 0)
        case 216:
          return me(r, void 0)
        case 210:
          return ee(r)
        case 178:
          return be(r)
        case 260:
          return Ie(r)
        case 262:
          return Be(r)
        case 144:
          return Je(r)
        case 177:
          return Ke(r)
        case 181:
          return je(r)
        case 182:
          return Ue(r)
        case 185:
          return te(r, !0)
        case 194:
          return re(r, !0)
        case 13:
        case 14:
        case 15:
        case 16:
          return Ze(r)
        case 9:
          return $e(r)
        case 8:
          return et(r)
        case 183:
          return tt(r)
        case 196:
          return nt(r)
        case 197:
          return ze(r)
        case 198:
          return Qe(r)
        case 97:
          return st(!1)
        case 99:
          return y(r)
        case 204:
          return ct(r)
        case 151:
          return Me(r)
        case 153:
        case 154:
          return Le(r)
        case 208:
          return ne(r)
        case 219:
          return m(r)
        default:
          return e.visitEachChild(r, c, t)
      }
    }
    function d(t) {
      var r = a(3968, 64),
        n = []
      kt()
      var o = e.addStandardPrologue(n, t.statements, !1)
      return (
        J(n, t),
        (o = e.addCustomPrologue(n, t.statements, o, c)),
        e.addRange(n, e.visitNodes(t.statements, c, e.isStatement, o)),
        e.addRange(n, Ct()),
        i(r, 0, 0),
        e.updateSourceFileNode(
          t,
          e.setTextRange(e.createNodeArray(n), t.statements)
        )
      )
    }
    function p(r) {
      if (void 0 !== Ot) {
        var n = Ot.allowedNonLabeledJumps
        Ot.allowedNonLabeledJumps |= 2
        var a = e.visitEachChild(r, c, t)
        return (Ot.allowedNonLabeledJumps = n), a
      }
      return e.visitEachChild(r, c, t)
    }
    function f(r) {
      var n = a(4032, 0),
        o = e.visitEachChild(r, c, t)
      return i(n, 0, 0), o
    }
    function g(t) {
      return e.setOriginalNode(e.createReturn(e.createIdentifier('_this')), t)
    }
    function m(r) {
      return Ot
        ? ((Ot.nonLocalJumps |= 8),
          o(r) && (r = g(r)),
          e.createReturn(
            e.createObjectLiteral([
              e.createPropertyAssignment(
                e.createIdentifier('value'),
                r.expression
                  ? e.visitNode(r.expression, c, e.isExpression)
                  : e.createVoidZero()
              )
            ])
          ))
        : o(r)
          ? g(r)
          : e.visitEachChild(r, c, t)
    }
    function y(t) {
      return Ot
        ? 2 & Pt
          ? ((Ot.containsLexicalThis = !0), t)
          : Ot.thisName || (Ot.thisName = e.createUniqueName('this'))
        : t
    }
    function v(t) {
      return Ot
        ? e.isGeneratedIdentifier(t)
          ? t
          : 'arguments' === t.text && Tt.isArgumentsLocalBinding(t)
            ? Ot.argumentsName ||
              (Ot.argumentsName = e.createUniqueName('arguments'))
            : t
        : t
    }
    function h(r) {
      if (Ot) {
        var n = 218 === r.kind ? 2 : 4,
          a =
            (r.label && Ot.labels && Ot.labels.get(r.label.text)) ||
            (!r.label && Ot.allowedNonLabeledJumps & n)
        if (!a) {
          var i = void 0
          r.label
            ? 218 === r.kind
              ? ((i = 'break-' + r.label.text), Ee(Ot, !0, r.label.text, i))
              : ((i = 'continue-' + r.label.text), Ee(Ot, !1, r.label.text, i))
            : 218 === r.kind
              ? ((Ot.nonLocalJumps |= 2), (i = 'break'))
              : ((Ot.nonLocalJumps |= 4), (i = 'continue'))
          var o = e.createLiteral(i)
          if (Ot.loopOutParameters.length) {
            for (
              var s = Ot.loopOutParameters, u = void 0, _ = 0;
              _ < s.length;
              _++
            ) {
              var l = Se(s[_], 1)
              u = 0 === _ ? l : e.createBinary(u, 26, l)
            }
            o = e.createBinary(u, 26, o)
          }
          return e.createReturn(o)
        }
      }
      return e.visitEachChild(r, c, t)
    }
    function b(t) {
      var r = e.createVariableDeclaration(e.getLocalName(t, !0), void 0, x(t))
      e.setOriginalNode(r, t)
      var n = [],
        a = e.createVariableStatement(
          void 0,
          e.createVariableDeclarationList([r])
        )
      if (
        (e.setOriginalNode(a, t),
        e.setTextRange(a, t),
        e.startOnNewLine(a),
        n.push(a),
        e.hasModifier(t, 1))
      ) {
        var i = e.hasModifier(t, 512)
          ? e.createExportDefault(e.getLocalName(t))
          : e.createExternalModuleExport(e.getLocalName(t))
        e.setOriginalNode(i, a), n.push(i)
      }
      var o = e.getEmitFlags(t)
      return (
        0 === (4194304 & o) &&
          (n.push(e.createEndOfDeclarationMarker(t)),
          e.setEmitFlags(a, 4194304 | o)),
        e.singleOrMany(n)
      )
    }
    function k(e) {
      return x(e)
    }
    function x(t) {
      t.name && _t()
      var r = e.getClassExtendsHeritageClauseElement(t),
        n = e.createFunctionExpression(
          void 0,
          void 0,
          void 0,
          void 0,
          r ? [e.createParameter(void 0, void 0, void 0, '_super')] : [],
          void 0,
          C(t, r)
        )
      65536 & e.getEmitFlags(t) && e.setEmitFlags(n, 65536)
      var a = e.createPartiallyEmittedExpression(n)
      ;(a.end = t.end), e.setEmitFlags(a, 1536)
      var i = e.createPartiallyEmittedExpression(a)
      return (
        (i.end = e.skipTrivia(wt, t.pos)),
        e.setEmitFlags(i, 1536),
        e.createParen(
          e.createCall(
            i,
            void 0,
            r ? [e.visitNode(r.expression, c, e.isExpression)] : []
          )
        )
      )
    }
    function C(t, r) {
      var n = []
      kt(), S(n, t, r), D(n, t, r), j(n, t)
      var a = e.createTokenRange(e.skipTrivia(wt, t.members.end), 18),
        i = e.getInternalName(t),
        o = e.createPartiallyEmittedExpression(i)
      ;(o.end = a.end), e.setEmitFlags(o, 1536)
      var s = e.createReturn(o)
      ;(s.pos = a.pos), e.setEmitFlags(s, 1920), n.push(s), e.addRange(n, Ct())
      var c = e.createBlock(e.setTextRange(e.createNodeArray(n), t.members), !0)
      return e.setEmitFlags(c, 1536), c
    }
    function S(n, a, i) {
      i && n.push(e.setTextRange(e.createStatement(r(t, e.getLocalName(a))), i))
    }
    function D(t, r, n) {
      var o = Ot
      Ot = void 0
      var s = a(16278, 73),
        c = e.getFirstConstructorWithBody(r),
        u = bt(c, void 0 !== n),
        _ = e.createFunctionDeclaration(
          void 0,
          void 0,
          void 0,
          e.getInternalName(r),
          void 0,
          T(c, u),
          void 0,
          E(c, r, n, u)
        )
      e.setTextRange(_, c || r),
        n && e.setEmitFlags(_, 8),
        t.push(_),
        i(s, 49152, 0),
        (Ot = o)
    }
    function T(r, n) {
      return e.visitParameterList(r && !n && r.parameters, c, t) || []
    }
    function E(t, r, n, a) {
      var i = []
      xt()
      var o = -1
      a ? (o = 0) : t && (o = e.addStandardPrologue(i, t.body.statements, !1)),
        t &&
          (I(i, t),
          B(i, t, a),
          a || (o = e.addCustomPrologue(i, t.body.statements, o, c)),
          e.Debug.assert(o >= 0, 'statementOffset not initialized correctly!'))
      var s = n && 95 !== e.skipOuterExpressions(n.expression).kind,
        u = A(i, t, s, a, o)
      ;(1 !== u && 2 !== u) || o++,
        t &&
          (1 === u && (Pt |= 4096),
          e.addRange(i, e.visitNodes(t.body.statements, c, e.isStatement, o))),
        !s ||
          2 === u ||
          (t && N(t.body)) ||
          i.push(e.createReturn(e.createIdentifier('_this'))),
        e.addRange(i, Ct()),
        t && K(i, t, !1)
      var _ = e.createBlock(
        e.setTextRange(e.createNodeArray(i), t ? t.body.statements : r.members),
        !0
      )
      return e.setTextRange(_, t ? t.body : r), t || e.setEmitFlags(_, 1536), _
    }
    function N(t) {
      if (219 === t.kind) return !0
      if (211 === t.kind) {
        var r = t
        if (r.elseStatement) return N(r.thenStatement) && N(r.elseStatement)
      } else if (207 === t.kind) {
        var n = e.lastOrUndefined(t.statements)
        if (n && N(n)) return !0
      }
      return !1
    }
    function A(t, r, n, a, i) {
      if (!n) return r && J(t, r), 0
      if (!r) return t.push(e.createReturn(P())), 2
      if (a) return z(t, r, P()), lt(), 1
      var o,
        s,
        c = r.body.statements
      if (
        (i < c.length &&
          ((o = c[i]),
          210 === o.kind &&
            e.isSuperCall(o.expression) &&
            (s = Ve(o.expression))),
        s && i === c.length - 1 && !(49152 & r.transformFlags))
      ) {
        var u = e.createReturn(s)
        return (
          (194 === s.kind && 181 === s.left.kind) ||
            e.Debug.fail(
              "Assumed generated super call would have form 'super.call(...) || this'."
            ),
          e.setCommentRange(u, e.getCommentRange(e.setEmitFlags(s.left, 1536))),
          t.push(u),
          2
        )
      }
      return z(t, r, s || w(), o), s ? 1 : 0
    }
    function w() {
      return e.setEmitFlags(e.createThis(), 4)
    }
    function P() {
      return e.createLogicalOr(
        e.createLogicalAnd(
          e.createStrictInequality(
            e.createIdentifier('_super'),
            e.createNull()
          ),
          e.createFunctionApply(
            e.createIdentifier('_super'),
            w(),
            e.createIdentifier('arguments')
          )
        ),
        w()
      )
    }
    function O(t) {
      return t.dotDotDotToken
        ? void 0
        : e.isBindingPattern(t.name)
          ? e.setOriginalNode(
              e.setTextRange(
                e.createParameter(
                  void 0,
                  void 0,
                  void 0,
                  e.getGeneratedNameForNode(t),
                  void 0,
                  void 0,
                  void 0
                ),
                t
              ),
              t
            )
          : t.initializer
            ? e.setOriginalNode(
                e.setTextRange(
                  e.createParameter(
                    void 0,
                    void 0,
                    void 0,
                    t.name,
                    void 0,
                    void 0,
                    void 0
                  ),
                  t
                ),
                t
              )
            : t
    }
    function F(e) {
      return 0 !== (131072 & e.transformFlags)
    }
    function I(t, r) {
      if (F(r))
        for (var n = 0, a = r.parameters; n < a.length; n++) {
          var i = a[n],
            o = i.name,
            s = i.initializer,
            c = i.dotDotDotToken
          c || (e.isBindingPattern(o) ? R(t, i, o, s) : s && M(t, i, o, s))
        }
    }
    function R(r, n, a, i) {
      var o = e.getGeneratedNameForNode(n)
      a.elements.length > 0
        ? r.push(
            e.setEmitFlags(
              e.createVariableStatement(
                void 0,
                e.createVariableDeclarationList(
                  e.flattenDestructuringBinding(n, c, t, 0, o)
                )
              ),
              1048576
            )
          )
        : i &&
          r.push(
            e.setEmitFlags(
              e.createStatement(
                e.createAssignment(o, e.visitNode(i, c, e.isExpression))
              ),
              1048576
            )
          )
    }
    function M(t, r, n, a) {
      a = e.visitNode(a, c, e.isExpression)
      var i = e.createIf(
        e.createTypeCheck(e.getSynthesizedClone(n), 'undefined'),
        e.setEmitFlags(
          e.setTextRange(
            e.createBlock([
              e.createStatement(
                e.setTextRange(
                  e.createAssignment(
                    e.setEmitFlags(e.getMutableClone(n), 48),
                    e.setEmitFlags(a, 48 | e.getEmitFlags(a))
                  ),
                  r
                )
              )
            ]),
            r
          ),
          417
        )
      )
      ;(i.startsOnNewLine = !0),
        e.setTextRange(i, r),
        e.setEmitFlags(i, 1048992),
        t.push(i)
    }
    function L(e, t) {
      return e && e.dotDotDotToken && 71 === e.name.kind && !t
    }
    function B(t, r, n) {
      var a = e.lastOrUndefined(r.parameters)
      if (L(a, n)) {
        var i = e.getMutableClone(a.name)
        e.setEmitFlags(i, 48)
        var o = e.getSynthesizedClone(a.name),
          s = r.parameters.length - 1,
          c = e.createLoopVariable()
        t.push(
          e.setEmitFlags(
            e.setTextRange(
              e.createVariableStatement(
                void 0,
                e.createVariableDeclarationList([
                  e.createVariableDeclaration(
                    i,
                    void 0,
                    e.createArrayLiteral([])
                  )
                ])
              ),
              a
            ),
            1048576
          )
        )
        var u = e.createFor(
          e.setTextRange(
            e.createVariableDeclarationList([
              e.createVariableDeclaration(c, void 0, e.createLiteral(s))
            ]),
            a
          ),
          e.setTextRange(
            e.createLessThan(
              c,
              e.createPropertyAccess(e.createIdentifier('arguments'), 'length')
            ),
            a
          ),
          e.setTextRange(e.createPostfixIncrement(c), a),
          e.createBlock([
            e.startOnNewLine(
              e.setTextRange(
                e.createStatement(
                  e.createAssignment(
                    e.createElementAccess(
                      o,
                      0 === s ? c : e.createSubtract(c, e.createLiteral(s))
                    ),
                    e.createElementAccess(e.createIdentifier('arguments'), c)
                  )
                ),
                a
              )
            )
          ])
        )
        e.setEmitFlags(u, 1048576), e.startOnNewLine(u), t.push(u)
      }
    }
    function J(t, r) {
      32768 & r.transformFlags && 187 !== r.kind && z(t, r, e.createThis())
    }
    function z(t, r, n, a) {
      lt()
      var i = e.createVariableStatement(
        void 0,
        e.createVariableDeclarationList([
          e.createVariableDeclaration('_this', void 0, n)
        ])
      )
      e.setEmitFlags(i, 1050112),
        e.setTextRange(i, a),
        e.setSourceMapRange(i, r),
        t.push(i)
    }
    function K(t, r, n) {
      if (16384 & Pt) {
        var a = void 0
        switch (r.kind) {
          case 187:
            return t
          case 151:
          case 153:
          case 154:
            a = e.createVoidZero()
            break
          case 152:
            a = e.createPropertyAccess(
              e.setEmitFlags(e.createThis(), 4),
              'constructor'
            )
            break
          case 228:
          case 186:
            a = e.createConditional(
              e.createLogicalAnd(
                e.setEmitFlags(e.createThis(), 4),
                e.createBinary(
                  e.setEmitFlags(e.createThis(), 4),
                  93,
                  e.getLocalName(r)
                )
              ),
              e.createPropertyAccess(
                e.setEmitFlags(e.createThis(), 4),
                'constructor'
              ),
              e.createVoidZero()
            )
            break
          default:
            e.Debug.failBadSyntaxKind(r)
        }
        var i = e.createVariableStatement(
          void 0,
          e.createVariableDeclarationList([
            e.createVariableDeclaration('_newTarget', void 0, a)
          ])
        )
        if (n) return [i].concat(t)
        t.unshift(i)
      }
      return t
    }
    function j(t, r) {
      for (var n = 0, a = r.members; n < a.length; n++) {
        var i = a[n]
        switch (i.kind) {
          case 206:
            t.push(V(i))
            break
          case 151:
            t.push(q(ht(r, i), i, r))
            break
          case 153:
          case 154:
            var o = e.getAllAccessorDeclarations(r.members, i)
            i === o.firstAccessor && t.push(U(ht(r, i), o, r))
            break
          case 152:
            break
          default:
            e.Debug.failBadSyntaxKind(r)
        }
      }
    }
    function V(t) {
      return e.setTextRange(e.createEmptyStatement(), t)
    }
    function q(t, r, n) {
      var o = a(0, 0),
        s = e.getCommentRange(r),
        u = e.getSourceMapRange(r),
        _ = e.createMemberAccessForPropertyName(
          t,
          e.visitNode(r.name, c, e.isPropertyName),
          r.name
        ),
        l = Q(r, r, void 0, n)
      e.setEmitFlags(l, 1536), e.setSourceMapRange(l, u)
      var d = e.setTextRange(e.createStatement(e.createAssignment(_, l)), r)
      return (
        e.setOriginalNode(d, r),
        e.setCommentRange(d, s),
        e.setEmitFlags(d, 48),
        i(o, 49152, 49152 & Pt ? 16384 : 0),
        d
      )
    }
    function U(t, r, n) {
      var a = e.createStatement(W(t, r, n, !1))
      return (
        e.setEmitFlags(a, 1536),
        e.setSourceMapRange(a, e.getSourceMapRange(r.firstAccessor)),
        a
      )
    }
    function W(t, r, n, o) {
      var s = r.firstAccessor,
        u = r.getAccessor,
        _ = r.setAccessor,
        l = a(0, 0),
        d = e.getMutableClone(t)
      e.setEmitFlags(d, 1568), e.setSourceMapRange(d, s.name)
      var p = e.createExpressionForPropertyName(
        e.visitNode(s.name, c, e.isPropertyName)
      )
      e.setEmitFlags(p, 1552), e.setSourceMapRange(p, s.name)
      var f = []
      if (u) {
        var g = Q(u, void 0, void 0, n)
        e.setSourceMapRange(g, e.getSourceMapRange(u)), e.setEmitFlags(g, 512)
        var m = e.createPropertyAssignment('get', g)
        e.setCommentRange(m, e.getCommentRange(u)), f.push(m)
      }
      if (_) {
        var y = Q(_, void 0, void 0, n)
        e.setSourceMapRange(y, e.getSourceMapRange(_)), e.setEmitFlags(y, 512)
        var v = e.createPropertyAssignment('set', y)
        e.setCommentRange(v, e.getCommentRange(_)), f.push(v)
      }
      f.push(
        e.createPropertyAssignment('enumerable', e.createTrue()),
        e.createPropertyAssignment('configurable', e.createTrue())
      )
      var h = e.createCall(
        e.createPropertyAccess(e.createIdentifier('Object'), 'defineProperty'),
        void 0,
        [d, p, e.createObjectLiteral(f, !0)]
      )
      return (
        o && (h.startsOnNewLine = !0), i(l, 49152, 49152 & Pt ? 16384 : 0), h
      )
    }
    function H(r) {
      16384 & r.transformFlags && lt()
      var n = Ot
      Ot = void 0
      var o = a(16256, 66),
        s = e.createFunctionExpression(
          void 0,
          void 0,
          void 0,
          void 0,
          e.visitParameterList(r.parameters, c, t),
          void 0,
          Y(r)
        )
      return (
        e.setTextRange(s, r),
        e.setOriginalNode(s, r),
        e.setEmitFlags(s, 8),
        i(o, 0, 0),
        (Ot = n),
        s
      )
    }
    function G(r) {
      var n = 262144 & e.getEmitFlags(r) ? a(16278, 69) : a(16286, 65),
        o = Ot
      Ot = void 0
      var s = e.visitParameterList(r.parameters, c, t),
        u = 64 & r.transformFlags ? Y(r) : Z(r),
        _ = 16384 & Pt ? e.getLocalName(r) : r.name
      return (
        i(n, 49152, 0),
        (Ot = o),
        e.updateFunctionExpression(
          r,
          void 0,
          r.asteriskToken,
          _,
          void 0,
          s,
          void 0,
          u
        )
      )
    }
    function X(r) {
      var n = Ot
      Ot = void 0
      var o = a(16286, 65),
        s = e.visitParameterList(r.parameters, c, t),
        u = 64 & r.transformFlags ? Y(r) : Z(r),
        _ = 16384 & Pt ? e.getLocalName(r) : r.name
      return (
        i(o, 49152, 0),
        (Ot = n),
        e.updateFunctionDeclaration(
          r,
          void 0,
          e.visitNodes(r.modifiers, c, e.isModifier),
          r.asteriskToken,
          _,
          void 0,
          s,
          void 0,
          u
        )
      )
    }
    function Q(r, n, o, s) {
      var u = Ot
      Ot = void 0
      var _ =
          s && e.isClassLike(s) && !e.hasModifier(r, 32)
            ? a(16286, 73)
            : a(16286, 65),
        l = e.visitParameterList(r.parameters, c, t),
        d = Y(r)
      return (
        16384 & Pt &&
          !o &&
          (228 === r.kind || 186 === r.kind) &&
          (o = e.getGeneratedNameForNode(r)),
        i(_, 49152, 0),
        (Ot = u),
        e.setOriginalNode(
          e.setTextRange(
            e.createFunctionExpression(
              void 0,
              r.asteriskToken,
              o,
              void 0,
              l,
              void 0,
              d
            ),
            n
          ),
          r
        )
      )
    }
    function Y(r) {
      var n,
        a,
        i,
        o = !1,
        s = !1,
        u = [],
        _ = r.body
      if (
        (xt(),
        e.isBlock(_) && (i = e.addStandardPrologue(u, _.statements, !1)),
        J(u, r),
        I(u, r),
        B(u, r, !1),
        !o && u.length > 0 && (o = !0),
        e.isBlock(_))
      )
        (i = e.addCustomPrologue(u, _.statements, i, c)),
          (n = _.statements),
          e.addRange(u, e.visitNodes(_.statements, c, e.isStatement, i)),
          !o && _.multiLine && (o = !0)
      else {
        e.Debug.assert(187 === r.kind), (n = e.moveRangeEnd(_, -1))
        var l = r.equalsGreaterThanToken
        e.nodeIsSynthesized(l) ||
          e.nodeIsSynthesized(_) ||
          (e.rangeEndIsOnSameLineAsRangeStart(l, _, At) ? (s = !0) : (o = !0))
        var d = e.visitNode(_, c, e.isExpression),
          p = e.createReturn(d)
        e.setTextRange(p, _), e.setEmitFlags(p, 1440), u.push(p), (a = _)
      }
      var f = t.endLexicalEnvironment()
      e.addRange(u, f), K(u, r, !1), !o && f && f.length && (o = !0)
      var g = e.createBlock(e.setTextRange(e.createNodeArray(u), n), o)
      return (
        e.setTextRange(g, r.body),
        !o && s && e.setEmitFlags(g, 1),
        a && e.setTokenSourceMapRange(g, 18, a),
        e.setOriginalNode(g, r.body),
        g
      )
    }
    function Z(r) {
      var n = e.visitFunctionBody(r.body, u, t)
      return e.updateBlock(
        n,
        e.setTextRange(e.createNodeArray(K(n.statements, r, !0)), n.statements)
      )
    }
    function $(r, n) {
      if (n) return e.visitEachChild(r, c, t)
      var o = 256 & Pt ? a(4032, 512) : a(3904, 128),
        s = e.visitEachChild(r, c, t)
      return i(o, 0, 0), s
    }
    function ee(r) {
      switch (r.expression.kind) {
        case 185:
          return e.updateStatement(r, te(r.expression, !1))
        case 194:
          return e.updateStatement(r, re(r.expression, !1))
      }
      return e.visitEachChild(r, c, t)
    }
    function te(r, n) {
      if (!n)
        switch (r.expression.kind) {
          case 185:
            return e.updateParen(r, te(r.expression, !1))
          case 194:
            return e.updateParen(r, re(r.expression, !1))
        }
      return e.visitEachChild(r, c, t)
    }
    function re(r, n) {
      return e.isDestructuringAssignment(r)
        ? e.flattenDestructuringAssignment(r, c, t, 0, n)
        : e.visitEachChild(r, c, t)
    }
    function ne(r) {
      var n,
        o = a(0, e.hasModifier(r, 1) ? 32 : 0)
      if (Ot && 0 === (3 & r.declarationList.flags)) {
        for (
          var s = void 0, u = 0, _ = r.declarationList.declarations;
          u < _.length;
          u++
        ) {
          var l = _[u]
          if ((xe(Ot, l), l.initializer)) {
            var d = void 0
            ;(d = e.isBindingPattern(l.name)
              ? e.flattenDestructuringAssignment(l, c, t, 0)
              : e.createBinary(
                  l.name,
                  58,
                  e.visitNode(l.initializer, c, e.isExpression)
                )),
              (s = e.append(s, d))
          }
        }
        n = s
          ? e.setTextRange(
              e.createStatement(
                e.reduceLeft(s, function(t, r) {
                  return e.createBinary(r, 26, t)
                })
              ),
              r
            )
          : void 0
      } else n = e.visitEachChild(r, c, t)
      return i(o, 0, 0), n
    }
    function ae(r) {
      if (64 & r.transformFlags) {
        3 & r.flags && _t()
        var n = e.flatten(e.map(r.declarations, 1 & r.flags ? oe : se)),
          a = e.createVariableDeclarationList(n)
        if (
          (e.setOriginalNode(a, r),
          e.setTextRange(a, r),
          e.setCommentRange(a, r),
          8388608 & r.transformFlags &&
            (e.isBindingPattern(r.declarations[0].name) ||
              e.isBindingPattern(e.lastOrUndefined(r.declarations).name)))
        ) {
          var i = e.firstOrUndefined(n),
            o = e.lastOrUndefined(n)
          e.setSourceMapRange(a, e.createRange(i.pos, o.end))
        }
        return a
      }
      return e.visitEachChild(r, c, t)
    }
    function ie(e) {
      var t = Tt.getNodeCheckFlags(e),
        r = 131072 & t,
        n = 262144 & t,
        a = 0 !== (64 & Pt) || (r && n && 0 !== (512 & Pt)),
        i =
          !a &&
          0 === (2048 & Pt) &&
          (!Tt.isDeclarationWithCollidingName(e) ||
            (n && !r && 0 === (3072 & Pt)))
      return i
    }
    function oe(r) {
      var n = r.name
      if (e.isBindingPattern(n)) return se(r)
      if (!r.initializer && ie(r)) {
        var a = e.getMutableClone(r)
        return (a.initializer = e.createVoidZero()), a
      }
      return e.visitEachChild(r, c, t)
    }
    function se(r) {
      var n,
        o = a(32, 0)
      return (
        (n = e.isBindingPattern(r.name)
          ? e.flattenDestructuringBinding(r, c, t, 0, void 0, 0 !== (32 & o))
          : e.visitEachChild(r, c, t)),
        i(o, 0, 0),
        n
      )
    }
    function ce(e) {
      Ot.labels.set(e.label.text, e.label.text)
    }
    function ue(e) {
      Ot.labels.set(e.label.text, void 0)
    }
    function _e(t) {
      Ot && !Ot.labels && (Ot.labels = e.createMap())
      var r = e.unwrapInnermostStatementOfLabel(t, Ot && ce)
      return e.isIterationStatement(r, !1)
        ? le(r, t)
        : e.restoreEnclosingLabel(e.visitNode(r, c, e.isStatement), t, Ot && ue)
    }
    function le(e, t) {
      switch (e.kind) {
        case 212:
        case 213:
          return pe(e, t)
        case 214:
          return fe(e, t)
        case 215:
          return ge(e, t)
        case 216:
          return me(e, t)
      }
    }
    function de(e, t, r, n, o) {
      var s = a(e, t),
        c = Ce(r, n, o)
      return i(s, 0, 0), c
    }
    function pe(e, t) {
      return de(0, 256, e, t)
    }
    function fe(e, t) {
      return de(3008, 1280, e, t)
    }
    function ge(e, t) {
      return de(1984, 2304, e, t)
    }
    function me(e, t) {
      return de(1984, 2304, e, t, Dt.downlevelIteration ? he : ve)
    }
    function ye(r, n, a) {
      var i = []
      if (e.isVariableDeclarationList(r.initializer)) {
        3 & r.initializer.flags && _t()
        var o = e.firstOrUndefined(r.initializer.declarations)
        if (o && e.isBindingPattern(o.name)) {
          var s = e.flattenDestructuringBinding(o, c, t, 0, n),
            u = e.setTextRange(
              e.createVariableDeclarationList(s),
              r.initializer
            )
          e.setOriginalNode(u, r.initializer)
          var _ = s[0],
            l = e.lastOrUndefined(s)
          e.setSourceMapRange(u, e.createRange(_.pos, l.end)),
            i.push(e.createVariableStatement(void 0, u))
        } else
          i.push(
            e.setTextRange(
              e.createVariableStatement(
                void 0,
                e.setOriginalNode(
                  e.setTextRange(
                    e.createVariableDeclarationList([
                      e.createVariableDeclaration(
                        o ? o.name : e.createTempVariable(void 0),
                        void 0,
                        n
                      )
                    ]),
                    e.moveRangePos(r.initializer, -1)
                  ),
                  r.initializer
                )
              ),
              e.moveRangeEnd(r.initializer, -1)
            )
          )
      } else {
        var d = e.createAssignment(r.initializer, n)
        e.isDestructuringAssignment(d)
          ? (e.aggregateTransformFlags(d), i.push(e.createStatement(re(d, !1))))
          : ((d.end = r.initializer.end),
            i.push(
              e.setTextRange(
                e.createStatement(e.visitNode(d, c, e.isExpression)),
                e.moveRangeEnd(r.initializer, -1)
              )
            ))
      }
      var p, f
      if (a) e.addRange(i, a)
      else {
        var g = e.visitNode(r.statement, c, e.isStatement, e.liftToBlock)
        e.isBlock(g)
          ? (e.addRange(i, g.statements), (p = g), (f = g.statements))
          : i.push(g)
      }
      return e.setEmitFlags(
        e.setTextRange(
          e.createBlock(e.setTextRange(e.createNodeArray(i), f), !0),
          p
        ),
        432
      )
    }
    function ve(t, r, n) {
      var a = e.visitNode(t.expression, c, e.isExpression),
        i = e.createLoopVariable(),
        o = e.isIdentifier(a)
          ? e.getGeneratedNameForNode(a)
          : e.createTempVariable(void 0)
      e.setEmitFlags(a, 48 | e.getEmitFlags(a))
      var s = e.setTextRange(
        e.createFor(
          e.setEmitFlags(
            e.setTextRange(
              e.createVariableDeclarationList([
                e.setTextRange(
                  e.createVariableDeclaration(i, void 0, e.createLiteral(0)),
                  e.moveRangePos(t.expression, -1)
                ),
                e.setTextRange(
                  e.createVariableDeclaration(o, void 0, a),
                  t.expression
                )
              ]),
              t.expression
            ),
            2097152
          ),
          e.setTextRange(
            e.createLessThan(i, e.createPropertyAccess(o, 'length')),
            t.expression
          ),
          e.setTextRange(e.createPostfixIncrement(i), t.expression),
          ye(t, e.createElementAccess(o, i), n)
        ),
        t
      )
      return (
        e.setEmitFlags(s, 256),
        e.setTextRange(s, t),
        e.restoreEnclosingLabel(s, r, Ot && ue)
      )
    }
    function he(r, n, a) {
      var i = e.visitNode(r.expression, c, e.isExpression),
        o = e.isIdentifier(i)
          ? e.getGeneratedNameForNode(i)
          : e.createTempVariable(void 0),
        s = e.isIdentifier(i)
          ? e.getGeneratedNameForNode(o)
          : e.createTempVariable(void 0),
        u = e.createUniqueName('e'),
        _ = e.getGeneratedNameForNode(u),
        l = e.createTempVariable(void 0),
        d = e.createValuesHelper(t, i, r.expression),
        p = e.createCall(e.createPropertyAccess(o, 'next'), void 0, [])
      St(u), St(l)
      var f = e.setEmitFlags(
        e.setTextRange(
          e.createFor(
            e.setEmitFlags(
              e.setTextRange(
                e.createVariableDeclarationList([
                  e.setTextRange(
                    e.createVariableDeclaration(o, void 0, d),
                    r.expression
                  ),
                  e.createVariableDeclaration(s, void 0, p)
                ]),
                r.expression
              ),
              2097152
            ),
            e.createLogicalNot(e.createPropertyAccess(s, 'done')),
            e.createAssignment(s, p),
            ye(r, e.createPropertyAccess(s, 'value'), a)
          ),
          r
        ),
        256
      )
      return e.createTry(
        e.createBlock([e.restoreEnclosingLabel(f, n, Ot && ue)]),
        e.createCatchClause(
          e.createVariableDeclaration(_),
          e.setEmitFlags(
            e.createBlock([
              e.createStatement(
                e.createAssignment(
                  u,
                  e.createObjectLiteral([
                    e.createPropertyAssignment('error', _)
                  ])
                )
              )
            ]),
            1
          )
        ),
        e.createBlock([
          e.createTry(
            e.createBlock([
              e.setEmitFlags(
                e.createIf(
                  e.createLogicalAnd(
                    e.createLogicalAnd(
                      s,
                      e.createLogicalNot(e.createPropertyAccess(s, 'done'))
                    ),
                    e.createAssignment(l, e.createPropertyAccess(o, 'return'))
                  ),
                  e.createStatement(e.createFunctionCall(l, o, []))
                ),
                1
              )
            ]),
            void 0,
            e.setEmitFlags(
              e.createBlock([
                e.setEmitFlags(
                  e.createIf(
                    u,
                    e.createThrow(e.createPropertyAccess(u, 'error'))
                  ),
                  1
                )
              ]),
              1
            )
          )
        ])
      )
    }
    function be(r) {
      for (
        var n = r.properties, a = n.length, i = a, o = a, s = 0;
        s < a;
        s++
      ) {
        var u = n[s]
        if (
          (16777216 & u.transformFlags && 4 & Pt && s < o && (o = s),
          144 === u.name.kind)
        ) {
          i = s
          break
        }
      }
      if (i !== a) {
        o < i && (i = o)
        var _ = e.createTempVariable(St),
          l = [],
          d = e.createAssignment(
            _,
            e.setEmitFlags(
              e.createObjectLiteral(
                e.visitNodes(n, c, e.isObjectLiteralElementLike, 0, i),
                r.multiLine
              ),
              65536
            )
          )
        return (
          r.multiLine && (d.startsOnNewLine = !0),
          l.push(d),
          we(l, r, _, i),
          l.push(r.multiLine ? e.startOnNewLine(e.getMutableClone(_)) : _),
          e.inlineExpressions(l)
        )
      }
      return e.visitEachChild(r, c, t)
    }
    function ke(e) {
      return 0 !== (65536 & Tt.getNodeCheckFlags(e))
    }
    function xe(t, r) {
      function n(r) {
        if (71 === r.kind) t.hoistedLocalVariables.push(r)
        else
          for (var a = 0, i = r.elements; a < i.length; a++) {
            var o = i[a]
            e.isOmittedExpression(o) || n(o.name)
          }
      }
      t.hoistedLocalVariables || (t.hoistedLocalVariables = []), n(r.name)
    }
    function Ce(r, n, a) {
      if (!ke(r)) {
        var i = void 0
        Ot && ((i = Ot.allowedNonLabeledJumps), (Ot.allowedNonLabeledJumps = 6))
        var o = a
          ? a(r, n, void 0)
          : e.restoreEnclosingLabel(e.visitEachChild(r, c, t), n, Ot && ue)
        return Ot && (Ot.allowedNonLabeledJumps = i), o
      }
      var s,
        u = e.createUniqueName('_loop')
      switch (r.kind) {
        case 214:
        case 215:
        case 216:
          var _ = r.initializer
          _ && 227 === _.kind && (s = _)
      }
      var l = [],
        d = []
      if (s && 3 & e.getCombinedNodeFlags(s))
        for (var p = 0, f = s.declarations; p < f.length; p++) {
          var g = f[p]
          Ae(g, l, d)
        }
      var m = Ot
      ;(Ot = { loopOutParameters: d }),
        m &&
          (m.argumentsName && (Ot.argumentsName = m.argumentsName),
          m.thisName && (Ot.thisName = m.thisName),
          m.hoistedLocalVariables &&
            (Ot.hoistedLocalVariables = m.hoistedLocalVariables)),
        kt()
      var y = e.visitNode(r.statement, c, e.isStatement, e.liftToBlock),
        v = Ct(),
        h = Ot
      if (((Ot = m), d.length || v)) {
        var b = e.isBlock(y) ? y.statements.slice() : [y]
        d.length && De(d, 1, b), e.addRange(b, v), (y = e.createBlock(b, !0))
      }
      e.isBlock(y) ? (y.multiLine = !0) : (y = e.createBlock([y], !0))
      var k = 0 !== (16777216 & r.statement.transformFlags),
        x = k && 0 !== (4 & Pt),
        C = 0
      h.containsLexicalThis && (C |= 8), x && (C |= 262144)
      var S,
        D = e.createVariableStatement(
          void 0,
          e.setEmitFlags(
            e.createVariableDeclarationList([
              e.createVariableDeclaration(
                u,
                void 0,
                e.setEmitFlags(
                  e.createFunctionExpression(
                    void 0,
                    k ? e.createToken(39) : void 0,
                    void 0,
                    void 0,
                    l,
                    void 0,
                    y
                  ),
                  C
                )
              )
            ]),
            2097152
          )
        ),
        T = [D]
      if (
        (h.argumentsName &&
          (m
            ? (m.argumentsName = h.argumentsName)
            : (S || (S = [])).push(
                e.createVariableDeclaration(
                  h.argumentsName,
                  void 0,
                  e.createIdentifier('arguments')
                )
              )),
        h.thisName &&
          (m
            ? (m.thisName = h.thisName)
            : (S || (S = [])).push(
                e.createVariableDeclaration(
                  h.thisName,
                  void 0,
                  e.createIdentifier('this')
                )
              )),
        h.hoistedLocalVariables)
      )
        if (m) m.hoistedLocalVariables = h.hoistedLocalVariables
        else {
          S || (S = [])
          for (var E = 0, N = h.hoistedLocalVariables; E < N.length; E++) {
            var A = N[E]
            S.push(e.createVariableDeclaration(A))
          }
        }
      if (d.length) {
        S || (S = [])
        for (var w = 0, P = d; w < P.length; w++) {
          var O = P[w]
          S.push(e.createVariableDeclaration(O.outParamName))
        }
      }
      S &&
        T.push(
          e.createVariableStatement(void 0, e.createVariableDeclarationList(S))
        )
      var F,
        I = Te(u, l, h, k)
      if (a) F = a(r, n, I)
      else {
        var R = e.getMutableClone(r)
        ;(R.statement = void 0),
          (R = e.visitEachChild(R, c, t)),
          (R.statement = e.createBlock(I, !0)),
          (R.transformFlags = 0),
          e.aggregateTransformFlags(R),
          (F = e.restoreEnclosingLabel(R, n, Ot && ue))
      }
      return T.push(F), T
    }
    function Se(t, r) {
      var n = 0 === r ? t.outParamName : t.originalName,
        a = 0 === r ? t.originalName : t.outParamName
      return e.createBinary(a, 58, n)
    }
    function De(t, r, n) {
      for (var a = 0, i = t; a < i.length; a++) {
        var o = i[a]
        n.push(e.createStatement(Se(o, r)))
      }
    }
    function Te(t, r, n, a) {
      var i = Ot,
        o = [],
        s = !(
          n.nonLocalJumps & -5 ||
          n.labeledNonLocalBreaks ||
          n.labeledNonLocalContinues
        ),
        c = e.createCall(
          t,
          void 0,
          e.map(r, function(e) {
            return e.name
          })
        ),
        u = a ? e.createYield(e.createToken(39), e.setEmitFlags(c, 8388608)) : c
      if (s) o.push(e.createStatement(u)), De(n.loopOutParameters, 0, o)
      else {
        var _ = e.createUniqueName('state'),
          l = e.createVariableStatement(
            void 0,
            e.createVariableDeclarationList([
              e.createVariableDeclaration(_, void 0, u)
            ])
          )
        if ((o.push(l), De(n.loopOutParameters, 0, o), 8 & n.nonLocalJumps)) {
          var d = void 0
          i
            ? ((i.nonLocalJumps |= 8), (d = e.createReturn(_)))
            : (d = e.createReturn(e.createPropertyAccess(_, 'value'))),
            o.push(
              e.createIf(
                e.createBinary(
                  e.createTypeOf(_),
                  34,
                  e.createLiteral('object')
                ),
                d
              )
            )
        }
        if (
          (2 & n.nonLocalJumps &&
            o.push(
              e.createIf(
                e.createBinary(_, 34, e.createLiteral('break')),
                e.createBreak()
              )
            ),
          n.labeledNonLocalBreaks || n.labeledNonLocalContinues)
        ) {
          var p = []
          Ne(n.labeledNonLocalBreaks, !0, _, i, p),
            Ne(n.labeledNonLocalContinues, !1, _, i, p),
            o.push(e.createSwitch(_, e.createCaseBlock(p)))
        }
      }
      return o
    }
    function Ee(t, r, n, a) {
      r
        ? (t.labeledNonLocalBreaks || (t.labeledNonLocalBreaks = e.createMap()),
          t.labeledNonLocalBreaks.set(n, a))
        : (t.labeledNonLocalContinues ||
            (t.labeledNonLocalContinues = e.createMap()),
          t.labeledNonLocalContinues.set(n, a))
    }
    function Ne(t, r, n, a, i) {
      t &&
        t.forEach(function(t, o) {
          var s = []
          if (!a || (a.labels && a.labels.get(o))) {
            var c = e.createIdentifier(o)
            s.push(r ? e.createBreak(c) : e.createContinue(c))
          } else Ee(a, r, o, t), s.push(e.createReturn(n))
          i.push(e.createCaseClause(e.createLiteral(t), s))
        })
    }
    function Ae(t, r, n) {
      var a = t.name
      if (e.isBindingPattern(a))
        for (var i = 0, o = a.elements; i < o.length; i++) {
          var s = o[i]
          e.isOmittedExpression(s) || Ae(s, r, n)
        }
      else if (
        (r.push(e.createParameter(void 0, void 0, void 0, a)),
        2097152 & Tt.getNodeCheckFlags(t))
      ) {
        var c = e.createUniqueName('out_' + e.unescapeIdentifier(a.text))
        n.push({ originalName: a, outParamName: c })
      }
    }
    function we(t, r, n, a) {
      for (var i = r.properties, o = i.length, s = a; s < o; s++) {
        var c = i[s]
        switch (c.kind) {
          case 153:
          case 154:
            var u = e.getAllAccessorDeclarations(r.properties, c)
            c === u.firstAccessor && t.push(W(n, u, r, r.multiLine))
            break
          case 151:
            t.push(Fe(c, n, r, r.multiLine))
            break
          case 261:
            t.push(Pe(c, n, r.multiLine))
            break
          case 262:
            t.push(Oe(c, n, r.multiLine))
            break
          default:
            e.Debug.failBadSyntaxKind(r)
        }
      }
    }
    function Pe(t, r, n) {
      var a = e.createAssignment(
        e.createMemberAccessForPropertyName(
          r,
          e.visitNode(t.name, c, e.isPropertyName)
        ),
        e.visitNode(t.initializer, c, e.isExpression)
      )
      return e.setTextRange(a, t), n && (a.startsOnNewLine = !0), a
    }
    function Oe(t, r, n) {
      var a = e.createAssignment(
        e.createMemberAccessForPropertyName(
          r,
          e.visitNode(t.name, c, e.isPropertyName)
        ),
        e.getSynthesizedClone(t.name)
      )
      return e.setTextRange(a, t), n && (a.startsOnNewLine = !0), a
    }
    function Fe(t, r, n, o) {
      var s = a(0, 0),
        u = e.createAssignment(
          e.createMemberAccessForPropertyName(
            r,
            e.visitNode(t.name, c, e.isPropertyName)
          ),
          Q(t, t, void 0, n)
        )
      return (
        e.setTextRange(u, t),
        o && (u.startsOnNewLine = !0),
        i(s, 49152, 49152 & Pt ? 16384 : 0),
        u
      )
    }
    function Ie(r) {
      var n,
        o = a(4032, 0)
      if (e.isBindingPattern(r.variableDeclaration.name)) {
        var s = e.createTempVariable(void 0),
          u = e.createVariableDeclaration(s)
        e.setTextRange(u, r.variableDeclaration)
        var _ = e.flattenDestructuringBinding(
            r.variableDeclaration,
            c,
            t,
            0,
            s
          ),
          l = e.createVariableDeclarationList(_)
        e.setTextRange(l, r.variableDeclaration)
        var d = e.createVariableStatement(void 0, l)
        n = e.updateCatchClause(r, u, Re(r.block, d))
      } else n = e.visitEachChild(r, c, t)
      return i(o, 0, 0), n
    }
    function Re(t, r) {
      var n = e.visitNodes(t.statements, c, e.isStatement)
      return e.updateBlock(t, [r].concat(n))
    }
    function Me(t) {
      e.Debug.assert(!e.isComputedPropertyName(t.name))
      var r = Q(t, e.moveRangePos(t, -1), void 0, void 0)
      return (
        e.setEmitFlags(r, 512 | e.getEmitFlags(r)),
        e.setTextRange(e.createPropertyAssignment(t.name, r), t)
      )
    }
    function Le(r) {
      e.Debug.assert(!e.isComputedPropertyName(r.name))
      var n = Ot
      Ot = void 0
      var o,
        s = a(16286, 65)
      if (32768 & r.transformFlags) {
        var u = e.visitParameterList(r.parameters, c, t),
          _ = Y(r)
        o =
          153 === r.kind
            ? e.updateGetAccessor(
                r,
                r.decorators,
                r.modifiers,
                r.name,
                u,
                r.type,
                _
              )
            : e.updateSetAccessor(r, r.decorators, r.modifiers, r.name, u, _)
      } else o = e.visitEachChild(r, c, t)
      return i(s, 49152, 0), (Ot = n), o
    }
    function Be(t) {
      return e.setTextRange(
        e.createPropertyAssignment(t.name, e.getSynthesizedClone(t.name)),
        t
      )
    }
    function Je(r) {
      var n = a(0, 8192),
        o = e.visitEachChild(r, c, t)
      return i(n, 49152, 49152 & Pt ? 32768 : 0), o
    }
    function ze(r) {
      return e.visitEachChild(r, c, t)
    }
    function Ke(r) {
      return 64 & r.transformFlags
        ? We(r.elements, !0, r.multiLine, r.elements.hasTrailingComma)
        : e.visitEachChild(r, c, t)
    }
    function je(t) {
      return 64 & t.transformFlags
        ? qe(t, !0)
        : e.updateCall(
            t,
            e.visitNode(t.expression, _, e.isExpression),
            void 0,
            e.visitNodes(t.arguments, c, e.isExpression)
          )
    }
    function Ve(e) {
      return qe(e, !1)
    }
    function qe(t, r) {
      var n = e.createCallBinding(t.expression, St),
        a = n.target,
        i = n.thisArg
      97 === t.expression.kind && e.setEmitFlags(i, 4)
      var o
      if (
        ((o =
          524288 & t.transformFlags
            ? e.createFunctionApply(
                e.visitNode(a, _, e.isExpression),
                e.visitNode(i, c, e.isExpression),
                We(t.arguments, !1, !1, !1)
              )
            : e.createFunctionCall(
                e.visitNode(a, _, e.isExpression),
                e.visitNode(i, c, e.isExpression),
                e.visitNodes(t.arguments, c, e.isExpression),
                t
              )),
        97 === t.expression.kind)
      ) {
        var s = e.createThis()
        e.setEmitFlags(s, 4)
        var u = e.createLogicalOr(o, s)
        o = r ? e.createAssignment(e.createIdentifier('_this'), u) : u
      }
      return e.setOriginalNode(o, t)
    }
    function Ue(r) {
      if (524288 & r.transformFlags) {
        var n = e.createCallBinding(
            e.createPropertyAccess(r.expression, 'bind'),
            St
          ),
          a = n.target,
          i = n.thisArg
        return e.createNew(
          e.createFunctionApply(
            e.visitNode(a, c, e.isExpression),
            i,
            We(
              e.createNodeArray([e.createVoidZero()].concat(r.arguments)),
              !1,
              !1,
              !1
            )
          ),
          void 0,
          []
        )
      }
      return e.visitEachChild(r, c, t)
    }
    function We(r, n, a, i) {
      var o = r.length,
        s = e.flatten(
          e.spanMap(r, He, function(e, t, r, n) {
            return t(e, a, i && n === o)
          })
        )
      if (Dt.downlevelIteration) {
        if (1 === s.length) {
          var c = s[0]
          if (
            e.isCallExpression(c) &&
            e.isIdentifier(c.expression) &&
            4096 & e.getEmitFlags(c.expression) &&
            '___spread' === c.expression.text
          )
            return s[0]
        }
        return e.createSpreadHelper(t, s)
      }
      if (1 === s.length) {
        var u = r[0]
        return n && e.isSpreadExpression(u) && 177 !== u.expression.kind
          ? e.createArraySlice(s[0])
          : s[0]
      }
      return e.createArrayConcat(s.shift(), s)
    }
    function He(t) {
      return e.isSpreadExpression(t) ? Ge : Xe
    }
    function Ge(t) {
      return e.map(t, Ye)
    }
    function Xe(t, r, n) {
      return e.createArrayLiteral(
        e.visitNodes(e.createNodeArray(t, n), c, e.isExpression),
        r
      )
    }
    function Qe(t) {
      return e.visitNode(t.expression, c, e.isExpression)
    }
    function Ye(t) {
      return e.visitNode(t.expression, c, e.isExpression)
    }
    function Ze(t) {
      return e.setTextRange(e.createLiteral(t.text), t)
    }
    function $e(t) {
      return t.hasExtendedUnicodeEscape
        ? e.setTextRange(e.createLiteral(t.text), t)
        : t
    }
    function et(t) {
      return 48 & t.numericLiteralFlags
        ? e.setTextRange(e.createNumericLiteral(t.text), t)
        : t
    }
    function tt(t) {
      var r = e.visitNode(t.tag, c, e.isExpression),
        n = e.createTempVariable(St),
        a = [n],
        i = [],
        o = [],
        s = t.template
      if (e.isNoSubstitutionTemplateLiteral(s))
        i.push(e.createLiteral(s.text)), o.push(rt(s))
      else {
        i.push(e.createLiteral(s.head.text)), o.push(rt(s.head))
        for (var u = 0, _ = s.templateSpans; u < _.length; u++) {
          var l = _[u]
          i.push(e.createLiteral(l.literal.text)),
            o.push(rt(l.literal)),
            a.push(e.visitNode(l.expression, c, e.isExpression))
        }
      }
      return e.createParen(
        e.inlineExpressions([
          e.createAssignment(n, e.createArrayLiteral(i)),
          e.createAssignment(
            e.createPropertyAccess(n, 'raw'),
            e.createArrayLiteral(o)
          ),
          e.createCall(r, void 0, a)
        ])
      )
    }
    function rt(t) {
      var r = e.getSourceTextOfNodeFromSourceFile(At, t),
        n = 13 === t.kind || 16 === t.kind
      return (
        (r = r.substring(1, r.length - (n ? 1 : 2))),
        (r = r.replace(/\r\n?/g, '\n')),
        e.setTextRange(e.createLiteral(r), t)
      )
    }
    function nt(t) {
      var r = []
      it(r, t), ot(r, t)
      var n = e.reduceLeft(r, e.createAdd)
      return e.nodeIsSynthesized(n) && ((n.pos = t.pos), (n.end = t.end)), n
    }
    function at(t) {
      return (
        e.Debug.assert(0 !== t.templateSpans.length),
        0 !== t.head.text.length || 0 === t.templateSpans[0].literal.text.length
      )
    }
    function it(t, r) {
      at(r) && t.push(e.createLiteral(r.head.text))
    }
    function ot(t, r) {
      for (var n = 0, a = r.templateSpans; n < a.length; n++) {
        var i = a[n]
        t.push(e.visitNode(i.expression, c, e.isExpression)),
          0 !== i.literal.text.length && t.push(e.createLiteral(i.literal.text))
      }
    }
    function st(t) {
      return 8 & Pt && !t
        ? e.createPropertyAccess(e.createIdentifier('_super'), 'prototype')
        : e.createIdentifier('_super')
    }
    function ct(t) {
      return 94 === t.keywordToken && 'target' === t.name.text
        ? ((Pt |= 8192 & Pt ? 32768 : 16384), e.createIdentifier('_newTarget'))
        : t
    }
    function ut(t, r, n) {
      if (1 & Ft && e.isFunctionLike(r)) {
        var o = a(16286, 8 & e.getEmitFlags(r) ? 81 : 65)
        return Nt(t, r, n), void i(o, 0, 0)
      }
      Nt(t, r, n)
    }
    function _t() {
      0 === (2 & Ft) && ((Ft |= 2), t.enableSubstitution(71))
    }
    function lt() {
      0 === (1 & Ft) &&
        ((Ft |= 1),
        t.enableSubstitution(99),
        t.enableEmitNotification(152),
        t.enableEmitNotification(151),
        t.enableEmitNotification(153),
        t.enableEmitNotification(154),
        t.enableEmitNotification(187),
        t.enableEmitNotification(186),
        t.enableEmitNotification(228))
    }
    function dt(t, r) {
      return (r = Et(t, r)), 1 === t ? gt(r) : e.isIdentifier(r) ? pt(r) : r
    }
    function pt(t) {
      if (2 & Ft && !e.isInternalName(t)) {
        var r = e.getParseTreeNode(t, e.isIdentifier)
        if (r && ft(r)) return e.setTextRange(e.getGeneratedNameForNode(r), t)
      }
      return t
    }
    function ft(e) {
      var t = e.parent
      switch (t.kind) {
        case 176:
        case 229:
        case 232:
        case 226:
          return t.name === e && Tt.isDeclarationWithCollidingName(t)
      }
      return !1
    }
    function gt(e) {
      switch (e.kind) {
        case 71:
          return mt(e)
        case 99:
          return vt(e)
      }
      return e
    }
    function mt(t) {
      if (2 & Ft && !e.isInternalName(t)) {
        var r = Tt.getReferencedDeclarationWithCollidingName(t)
        if (r && (!e.isClassLike(r) || !yt(r, t)))
          return e.setTextRange(
            e.getGeneratedNameForNode(e.getNameOfDeclaration(r)),
            t
          )
      }
      return t
    }
    function yt(t, r) {
      var n = e.getParseTreeNode(r)
      if (!n || n === t || n.end <= t.pos || n.pos >= t.end) return !1
      for (var a = e.getEnclosingBlockScopeContainer(t); n; ) {
        if (n === a || n === t) return !1
        if (e.isClassElement(n) && n.parent === t)
          return 149 !== n.kind || 0 === (32 & e.getModifierFlags(n))
        n = n.parent
      }
      return !1
    }
    function vt(t) {
      return 1 & Ft && 16 & Pt
        ? e.setTextRange(e.createIdentifier('_this'), t)
        : t
    }
    function ht(t, r) {
      return e.hasModifier(r, 32)
        ? e.getInternalName(t)
        : e.createPropertyAccess(e.getInternalName(t), 'prototype')
    }
    function bt(t, r) {
      if (!t || !r) return !1
      if (e.some(t.parameters)) return !1
      var n = e.firstOrUndefined(t.body.statements)
      if (!n || !e.nodeIsSynthesized(n) || 210 !== n.kind) return !1
      var a = n.expression
      if (!e.nodeIsSynthesized(a) || 181 !== a.kind) return !1
      var i = a.expression
      if (!e.nodeIsSynthesized(i) || 97 !== i.kind) return !1
      var o = e.singleOrUndefined(a.arguments)
      if (!o || !e.nodeIsSynthesized(o) || 198 !== o.kind) return !1
      var s = o.expression
      return e.isIdentifier(s) && 'arguments' === s.text
    }
    var kt = t.startLexicalEnvironment,
      xt = t.resumeLexicalEnvironment,
      Ct = t.endLexicalEnvironment,
      St = t.hoistVariableDeclaration,
      Dt = t.getCompilerOptions(),
      Tt = t.getEmitResolver(),
      Et = t.onSubstituteNode,
      Nt = t.onEmitNode
    ;(t.onEmitNode = ut), (t.onSubstituteNode = dt)
    var At, wt, Pt, Ot, Ft
    return n
  }
  function r(t, r) {
    return (
      t.requestEmitHelper(c),
      e.createCall(e.getHelperName('__extends'), void 0, [
        r,
        e.createIdentifier('_super')
      ])
    )
  }
  var n
  !(function(e) {
    ;(e[(e.CapturedThis = 1)] = 'CapturedThis'),
      (e[(e.BlockScopedBindings = 2)] = 'BlockScopedBindings')
  })(n || (n = {}))
  var a
  !(function(e) {
    ;(e[(e.ToOriginal = 0)] = 'ToOriginal'),
      (e[(e.ToOutParameter = 1)] = 'ToOutParameter')
  })(a || (a = {}))
  var i
  !(function(e) {
    ;(e[(e.Break = 2)] = 'Break'),
      (e[(e.Continue = 4)] = 'Continue'),
      (e[(e.Return = 8)] = 'Return')
  })(i || (i = {}))
  var o
  !(function(e) {
    ;(e[(e.NoReplacement = 0)] = 'NoReplacement'),
      (e[(e.ReplaceSuperCapture = 1)] = 'ReplaceSuperCapture'),
      (e[(e.ReplaceWithReturn = 2)] = 'ReplaceWithReturn')
  })(o || (o = {}))
  var s
  !(function(e) {
    ;(e[(e.None = 0)] = 'None'),
      (e[(e.Function = 1)] = 'Function'),
      (e[(e.ArrowFunction = 2)] = 'ArrowFunction'),
      (e[(e.AsyncFunctionBody = 4)] = 'AsyncFunctionBody'),
      (e[(e.NonStaticClassElement = 8)] = 'NonStaticClassElement'),
      (e[(e.CapturesThis = 16)] = 'CapturesThis'),
      (e[(e.ExportedVariableStatement = 32)] = 'ExportedVariableStatement'),
      (e[(e.TopLevel = 64)] = 'TopLevel'),
      (e[(e.Block = 128)] = 'Block'),
      (e[(e.IterationStatement = 256)] = 'IterationStatement'),
      (e[(e.IterationStatementBlock = 512)] = 'IterationStatementBlock'),
      (e[(e.ForStatement = 1024)] = 'ForStatement'),
      (e[(e.ForInOrForOfStatement = 2048)] = 'ForInOrForOfStatement'),
      (e[(e.ConstructorWithCapturedSuper = 4096)] =
        'ConstructorWithCapturedSuper'),
      (e[(e.ComputedPropertyName = 8192)] = 'ComputedPropertyName'),
      (e[(e.AncestorFactsMask = 16383)] = 'AncestorFactsMask'),
      (e[(e.BlockScopeIncludes = 0)] = 'BlockScopeIncludes'),
      (e[(e.BlockScopeExcludes = 4032)] = 'BlockScopeExcludes'),
      (e[(e.SourceFileIncludes = 64)] = 'SourceFileIncludes'),
      (e[(e.SourceFileExcludes = 3968)] = 'SourceFileExcludes'),
      (e[(e.FunctionIncludes = 65)] = 'FunctionIncludes'),
      (e[(e.FunctionExcludes = 16286)] = 'FunctionExcludes'),
      (e[(e.AsyncFunctionBodyIncludes = 69)] = 'AsyncFunctionBodyIncludes'),
      (e[(e.AsyncFunctionBodyExcludes = 16278)] = 'AsyncFunctionBodyExcludes'),
      (e[(e.ArrowFunctionIncludes = 66)] = 'ArrowFunctionIncludes'),
      (e[(e.ArrowFunctionExcludes = 16256)] = 'ArrowFunctionExcludes'),
      (e[(e.ConstructorIncludes = 73)] = 'ConstructorIncludes'),
      (e[(e.ConstructorExcludes = 16278)] = 'ConstructorExcludes'),
      (e[(e.DoOrWhileStatementIncludes = 256)] = 'DoOrWhileStatementIncludes'),
      (e[(e.DoOrWhileStatementExcludes = 0)] = 'DoOrWhileStatementExcludes'),
      (e[(e.ForStatementIncludes = 1280)] = 'ForStatementIncludes'),
      (e[(e.ForStatementExcludes = 3008)] = 'ForStatementExcludes'),
      (e[(e.ForInOrForOfStatementIncludes = 2304)] =
        'ForInOrForOfStatementIncludes'),
      (e[(e.ForInOrForOfStatementExcludes = 1984)] =
        'ForInOrForOfStatementExcludes'),
      (e[(e.BlockIncludes = 128)] = 'BlockIncludes'),
      (e[(e.BlockExcludes = 3904)] = 'BlockExcludes'),
      (e[(e.IterationStatementBlockIncludes = 512)] =
        'IterationStatementBlockIncludes'),
      (e[(e.IterationStatementBlockExcludes = 4032)] =
        'IterationStatementBlockExcludes'),
      (e[(e.ComputedPropertyNameIncludes = 8192)] =
        'ComputedPropertyNameIncludes'),
      (e[(e.ComputedPropertyNameExcludes = 0)] =
        'ComputedPropertyNameExcludes'),
      (e[(e.NewTarget = 16384)] = 'NewTarget'),
      (e[(e.NewTargetInComputedPropertyName = 32768)] =
        'NewTargetInComputedPropertyName'),
      (e[(e.SubtreeFactsMask = -16384)] = 'SubtreeFactsMask'),
      (e[(e.PropagateNewTargetMask = 49152)] = 'PropagateNewTargetMask')
  })(s || (s = {})),
    (e.transformES2015 = t)
  var c = {
    name: 'typescript:extends',
    scoped: !1,
    priority: 0,
    text:
      '\n            var __extends = (this && this.__extends) || (function () {\n                var extendStatics = Object.setPrototypeOf ||\n                    ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n                    function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n                return function (d, b) {\n                    extendStatics(d, b);\n                    function __() { this.constructor = d; }\n                    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n                };\n            })();'
  }
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t) {
    function r(e) {
      return e
    }
    function n(t, r, n) {
      switch (r.kind) {
        case 251:
        case 252:
        case 250:
          var a = r.tagName
          u[e.getOriginalNodeId(a)] = !0
      }
      c(t, r, n)
    }
    function a(t, r) {
      return r.id && u && u[r.id]
        ? l(t, r)
        : ((r = l(t, r)),
          e.isPropertyAccessExpression(r)
            ? i(r)
            : e.isPropertyAssignment(r)
              ? o(r)
              : r)
    }
    function i(t) {
      var r = s(t.name)
      return r ? e.setTextRange(e.createElementAccess(t.expression, r), t) : t
    }
    function o(t) {
      var r = e.isIdentifier(t.name) && s(t.name)
      return r ? e.updatePropertyAssignment(t, r, t.initializer) : t
    }
    function s(t) {
      var r =
        t.originalKeywordKind ||
        (e.nodeIsSynthesized(t) ? e.stringToToken(t.text) : void 0)
      if (r >= 72 && r <= 107) return e.setTextRange(e.createLiteral(t), t)
    }
    var c,
      u,
      _ = t.getCompilerOptions()
    ;(1 !== _.jsx && 3 !== _.jsx) ||
      ((c = t.onEmitNode),
      (t.onEmitNode = n),
      t.enableEmitNotification(251),
      t.enableEmitNotification(252),
      t.enableEmitNotification(250),
      (u = []))
    var l = t.onSubstituteNode
    return (
      (t.onSubstituteNode = a),
      t.enableSubstitution(179),
      t.enableSubstitution(261),
      r
    )
  }
  e.transformES5 = t
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(e) {
    switch (e) {
      case 2:
        return 'return'
      case 3:
        return 'break'
      case 4:
        return 'yield'
      case 5:
        return 'yield*'
      case 7:
        return 'endfinally'
    }
  }
  function r(r) {
    function a(t) {
      if (e.isDeclarationFile(t) || 0 === (512 & t.transformFlags)) return t
      Ft = t
      var n = e.visitEachChild(t, i, r)
      return e.addEmitHelpers(n, r.readEmitHelpers()), (Ft = void 0), n
    }
    function i(t) {
      var n = t.transformFlags
      return Lt
        ? o(t)
        : Mt
          ? s(t)
          : 256 & n
            ? u(t)
            : 512 & n
              ? e.visitEachChild(t, i, r)
              : t
    }
    function o(e) {
      switch (e.kind) {
        case 212:
          return z(e)
        case 213:
          return j(e)
        case 221:
          return te(e)
        case 222:
          return ne(e)
        default:
          return s(e)
      }
    }
    function s(t) {
      switch (t.kind) {
        case 228:
          return _(t)
        case 186:
          return l(t)
        case 153:
        case 154:
          return d(t)
        case 208:
          return f(t)
        case 214:
          return q(t)
        case 215:
          return W(t)
        case 218:
          return Q(t)
        case 217:
          return G(t)
        case 219:
          return Z(t)
        default:
          return 16777216 & t.transformFlags
            ? c(t)
            : 33554944 & t.transformFlags
              ? e.visitEachChild(t, i, r)
              : t
      }
    }
    function c(t) {
      switch (t.kind) {
        case 194:
          return g(t)
        case 195:
          return x(t)
        case 197:
          return C(t)
        case 177:
          return S(t)
        case 178:
          return T(t)
        case 180:
          return E(t)
        case 181:
          return N(t)
        case 182:
          return A(t)
        default:
          return e.visitEachChild(t, i, r)
      }
    }
    function u(t) {
      switch (t.kind) {
        case 228:
          return _(t)
        case 186:
          return l(t)
        default:
          return e.Debug.failBadSyntaxKind(t), e.visitEachChild(t, i, r)
      }
    }
    function _(t) {
      if (t.asteriskToken)
        t = e.setOriginalNode(
          e.setTextRange(
            e.createFunctionDeclaration(
              void 0,
              t.modifiers,
              void 0,
              t.name,
              void 0,
              e.visitParameterList(t.parameters, i, r),
              void 0,
              p(t.body)
            ),
            t
          ),
          t
        )
      else {
        var n = Mt,
          a = Lt
        ;(Mt = !1),
          (Lt = !1),
          (t = e.visitEachChild(t, i, r)),
          (Mt = n),
          (Lt = a)
      }
      return Mt ? void Et(t) : t
    }
    function l(t) {
      if (t.asteriskToken)
        t = e.setOriginalNode(
          e.setTextRange(
            e.createFunctionExpression(
              void 0,
              void 0,
              t.name,
              void 0,
              e.visitParameterList(t.parameters, i, r),
              void 0,
              p(t.body)
            ),
            t
          ),
          t
        )
      else {
        var n = Mt,
          a = Lt
        ;(Mt = !1),
          (Lt = !1),
          (t = e.visitEachChild(t, i, r)),
          (Mt = n),
          (Lt = a)
      }
      return t
    }
    function d(t) {
      var n = Mt,
        a = Lt
      return (
        (Mt = !1),
        (Lt = !1),
        (t = e.visitEachChild(t, i, r)),
        (Mt = n),
        (Lt = a),
        t
      )
    }
    function p(t) {
      var r = [],
        n = Mt,
        a = Lt,
        o = Bt,
        s = Jt,
        c = zt,
        u = Kt,
        _ = jt,
        l = Vt,
        d = rr,
        p = qt,
        f = Ut,
        g = Wt,
        m = Ht
      ;(Mt = !0),
        (Lt = !1),
        (Bt = void 0),
        (Jt = void 0),
        (zt = void 0),
        (Kt = void 0),
        (jt = void 0),
        (Vt = void 0),
        (rr = 1),
        (qt = void 0),
        (Ut = void 0),
        (Wt = void 0),
        (Ht = e.createTempVariable(void 0)),
        Dt()
      var y = e.addPrologue(r, t.statements, !1, i)
      w(t.statements, y)
      var v = it()
      return (
        e.addRange(r, Tt()),
        r.push(e.createReturn(v)),
        (Mt = n),
        (Lt = a),
        (Bt = o),
        (Jt = s),
        (zt = c),
        (Kt = u),
        (jt = _),
        (Vt = l),
        (rr = d),
        (qt = p),
        (Ut = f),
        (Wt = g),
        (Ht = m),
        e.setTextRange(e.createBlock(r, t.multiLine), t)
      )
    }
    function f(t) {
      if (16777216 & t.transformFlags) return void M(t.declarationList)
      if (1048576 & e.getEmitFlags(t)) return t
      for (var r = 0, n = t.declarationList.declarations; r < n.length; r++) {
        var a = n[r]
        Nt(a.name)
      }
      var i = e.getInitializedVariables(t.declarationList)
      if (0 !== i.length)
        return e.createStatement(e.inlineExpressions(e.map(i, L)))
    }
    function g(t) {
      switch (e.getExpressionAssociativity(t)) {
        case 0:
          return h(t)
        case 1:
          return v(t)
        default:
          e.Debug.fail('Unknown associativity.')
      }
    }
    function m(e) {
      return e >= 59 && e <= 70
    }
    function y(e) {
      switch (e) {
        case 59:
          return 37
        case 60:
          return 38
        case 61:
          return 39
        case 62:
          return 40
        case 63:
          return 41
        case 64:
          return 42
        case 65:
          return 45
        case 66:
          return 46
        case 67:
          return 47
        case 68:
          return 48
        case 69:
          return 49
        case 70:
          return 50
      }
    }
    function v(t) {
      var n = t.left,
        a = t.right
      if (oe(a)) {
        var o = void 0
        switch (n.kind) {
          case 179:
            o = e.updatePropertyAccess(
              n,
              le(e.visitNode(n.expression, i, e.isLeftHandSideExpression)),
              n.name
            )
            break
          case 180:
            o = e.updateElementAccess(
              n,
              le(e.visitNode(n.expression, i, e.isLeftHandSideExpression)),
              le(e.visitNode(n.argumentExpression, i, e.isExpression))
            )
            break
          default:
            o = e.visitNode(n, i, e.isExpression)
        }
        var s = t.operatorToken.kind
        return m(s)
          ? e.setTextRange(
              e.createAssignment(
                o,
                e.setTextRange(
                  e.createBinary(
                    le(o),
                    y(s),
                    e.visitNode(a, i, e.isExpression)
                  ),
                  t
                )
              ),
              t
            )
          : e.updateBinary(t, o, e.visitNode(a, i, e.isExpression))
      }
      return e.visitEachChild(t, i, r)
    }
    function h(t) {
      if (oe(t.right)) {
        if (e.isLogicalOperator(t.operatorToken.kind)) return b(t)
        if (26 === t.operatorToken.kind) return k(t)
        var n = e.getMutableClone(t)
        return (
          (n.left = le(e.visitNode(t.left, i, e.isExpression))),
          (n.right = e.visitNode(t.right, i, e.isExpression)),
          n
        )
      }
      return e.visitEachChild(t, i, r)
    }
    function b(t) {
      var r = pe(),
        n = de()
      return (
        Xe(n, e.visitNode(t.left, i, e.isExpression), t.left),
        53 === t.operatorToken.kind ? Ze(r, n, t.left) : Ye(r, n, t.left),
        Xe(n, e.visitNode(t.right, i, e.isExpression), t.right),
        fe(r),
        n
      )
    }
    function k(t) {
      function r(t) {
        e.isBinaryExpression(t) && 26 === t.operatorToken.kind
          ? (r(t.left), r(t.right))
          : (oe(t) &&
              n.length > 0 &&
              (at(1, [e.createStatement(e.inlineExpressions(n))]), (n = [])),
            n.push(e.visitNode(t, i, e.isExpression)))
      }
      var n = []
      return r(t.left), r(t.right), e.inlineExpressions(n)
    }
    function x(t) {
      if (oe(t.whenTrue) || oe(t.whenFalse)) {
        var n = pe(),
          a = pe(),
          o = de()
        return (
          Ze(n, e.visitNode(t.condition, i, e.isExpression), t.condition),
          Xe(o, e.visitNode(t.whenTrue, i, e.isExpression), t.whenTrue),
          Qe(a),
          fe(n),
          Xe(o, e.visitNode(t.whenFalse, i, e.isExpression), t.whenFalse),
          fe(a),
          o
        )
      }
      return e.visitEachChild(t, i, r)
    }
    function C(t) {
      var n = pe(),
        a = e.visitNode(t.expression, i, e.isExpression)
      if (t.asteriskToken) {
        var o =
          0 === (8388608 & e.getEmitFlags(t.expression))
            ? e.createValuesHelper(r, a, t)
            : a
        $e(o, t)
      } else et(a, t)
      return fe(n), We(t)
    }
    function S(e) {
      return D(e.elements, void 0, void 0, e.multiLine)
    }
    function D(t, r, n, a) {
      function o(t, n) {
        if (oe(n) && t.length > 0) {
          var o = void 0 !== s
          s || (s = de()),
            Xe(
              s,
              o
                ? e.createArrayConcat(s, [e.createArrayLiteral(t, a)])
                : e.createArrayLiteral(r ? [r].concat(t) : t, a)
            ),
            (r = void 0),
            (t = [])
        }
        return t.push(e.visitNode(n, i, e.isExpression)), t
      }
      var s,
        c = se(t)
      if (c > 0) {
        s = de()
        var u = e.visitNodes(t, i, e.isExpression, 0, c)
        Xe(s, e.createArrayLiteral(r ? [r].concat(u) : u)), (r = void 0)
      }
      var _ = e.reduceLeft(t, o, [], c)
      return s
        ? e.createArrayConcat(s, [e.createArrayLiteral(_, a)])
        : e.setTextRange(e.createArrayLiteral(r ? [r].concat(_) : _, a), n)
    }
    function T(t) {
      function r(r, n) {
        oe(n) &&
          r.length > 0 &&
          (Ge(e.createStatement(e.inlineExpressions(r))), (r = []))
        var o = e.createExpressionForObjectLiteralElementLike(t, n, s),
          c = e.visitNode(o, i, e.isExpression)
        return c && (a && (c.startsOnNewLine = !0), r.push(c)), r
      }
      var n = t.properties,
        a = t.multiLine,
        o = se(n),
        s = de()
      Xe(
        s,
        e.createObjectLiteral(
          e.visitNodes(n, i, e.isObjectLiteralElementLike, 0, o),
          a
        )
      )
      var c = e.reduceLeft(n, r, [], o)
      return (
        c.push(a ? e.startOnNewLine(e.getMutableClone(s)) : s),
        e.inlineExpressions(c)
      )
    }
    function E(t) {
      if (oe(t.argumentExpression)) {
        var n = e.getMutableClone(t)
        return (
          (n.expression = le(
            e.visitNode(t.expression, i, e.isLeftHandSideExpression)
          )),
          (n.argumentExpression = e.visitNode(
            t.argumentExpression,
            i,
            e.isExpression
          )),
          n
        )
      }
      return e.visitEachChild(t, i, r)
    }
    function N(t) {
      if (e.forEach(t.arguments, oe)) {
        var n = e.createCallBinding(t.expression, Nt, wt, !0),
          a = n.target,
          o = n.thisArg
        return e.setOriginalNode(
          e.createFunctionApply(
            le(e.visitNode(a, i, e.isLeftHandSideExpression)),
            o,
            D(t.arguments),
            t
          ),
          t
        )
      }
      return e.visitEachChild(t, i, r)
    }
    function A(t) {
      if (e.forEach(t.arguments, oe)) {
        var n = e.createCallBinding(
            e.createPropertyAccess(t.expression, 'bind'),
            Nt
          ),
          a = n.target,
          o = n.thisArg
        return e.setOriginalNode(
          e.setTextRange(
            e.createNew(
              e.createFunctionApply(
                le(e.visitNode(a, i, e.isExpression)),
                o,
                D(t.arguments, e.createVoidZero())
              ),
              void 0,
              []
            ),
            t
          ),
          t
        )
      }
      return e.visitEachChild(t, i, r)
    }
    function w(e, t) {
      void 0 === t && (t = 0)
      for (var r = e.length, n = t; n < r; n++) O(e[n])
    }
    function P(t) {
      e.isBlock(t) ? w(t.statements) : O(t)
    }
    function O(e) {
      var t = Lt
      Lt || (Lt = oe(e)), F(e), (Lt = t)
    }
    function F(t) {
      switch (t.kind) {
        case 207:
          return I(t)
        case 210:
          return R(t)
        case 211:
          return B(t)
        case 212:
          return J(t)
        case 213:
          return K(t)
        case 214:
          return V(t)
        case 215:
          return U(t)
        case 217:
          return H(t)
        case 218:
          return X(t)
        case 219:
          return Y(t)
        case 220:
          return $(t)
        case 221:
          return ee(t)
        case 222:
          return re(t)
        case 223:
          return ae(t)
        case 224:
          return ie(t)
        default:
          return Ge(e.visitNode(t, i, e.isStatement))
      }
    }
    function I(t) {
      oe(t) ? w(t.statements) : Ge(e.visitNode(t, i, e.isStatement))
    }
    function R(t) {
      Ge(e.visitNode(t, i, e.isStatement))
    }
    function M(t) {
      for (var r = 0, n = t.declarations; r < n.length; r++) {
        var a = n[r],
          i = e.getSynthesizedClone(a.name)
        e.setCommentRange(i, a.name), Nt(i)
      }
      for (
        var o = e.getInitializedVariables(t), s = o.length, c = 0, u = [];
        c < s;

      ) {
        for (var _ = c; _ < s; _++) {
          var a = o[_]
          if (oe(a.initializer) && u.length > 0) break
          u.push(L(a))
        }
        u.length &&
          (Ge(e.createStatement(e.inlineExpressions(u))),
          (c += u.length),
          (u = []))
      }
    }
    function L(t) {
      return e.createAssignment(
        e.getSynthesizedClone(t.name),
        e.visitNode(t.initializer, i, e.isExpression)
      )
    }
    function B(t) {
      if (oe(t))
        if (oe(t.thenStatement) || oe(t.elseStatement)) {
          var r = pe(),
            n = t.elseStatement ? pe() : void 0
          Ze(
            t.elseStatement ? n : r,
            e.visitNode(t.expression, i, e.isExpression),
            t.expression
          ),
            P(t.thenStatement),
            t.elseStatement && (Qe(r), fe(n), P(t.elseStatement)),
            fe(r)
        } else Ge(e.visitNode(t, i, e.isStatement))
      else Ge(e.visitNode(t, i, e.isStatement))
    }
    function J(t) {
      if (oe(t)) {
        var r = pe(),
          n = pe()
        Ne(r),
          fe(n),
          P(t.statement),
          fe(r),
          Ye(n, e.visitNode(t.expression, i, e.isExpression)),
          Ae()
      } else Ge(e.visitNode(t, i, e.isStatement))
    }
    function z(t) {
      return Lt
        ? (Ee(), (t = e.visitEachChild(t, i, r)), Ae(), t)
        : e.visitEachChild(t, i, r)
    }
    function K(t) {
      if (oe(t)) {
        var r = pe(),
          n = Ne(r)
        fe(r),
          Ze(n, e.visitNode(t.expression, i, e.isExpression)),
          P(t.statement),
          Qe(r),
          Ae()
      } else Ge(e.visitNode(t, i, e.isStatement))
    }
    function j(t) {
      return Lt
        ? (Ee(), (t = e.visitEachChild(t, i, r)), Ae(), t)
        : e.visitEachChild(t, i, r)
    }
    function V(t) {
      if (oe(t)) {
        var r = pe(),
          n = pe(),
          a = Ne(n)
        if (t.initializer) {
          var o = t.initializer
          e.isVariableDeclarationList(o)
            ? M(o)
            : Ge(
                e.setTextRange(
                  e.createStatement(e.visitNode(o, i, e.isExpression)),
                  o
                )
              )
        }
        fe(r),
          t.condition && Ze(a, e.visitNode(t.condition, i, e.isExpression)),
          P(t.statement),
          fe(n),
          t.incrementor &&
            Ge(
              e.setTextRange(
                e.createStatement(
                  e.visitNode(t.incrementor, i, e.isExpression)
                ),
                t.incrementor
              )
            ),
          Qe(r),
          Ae()
      } else Ge(e.visitNode(t, i, e.isStatement))
    }
    function q(t) {
      Lt && Ee()
      var n = t.initializer
      if (n && e.isVariableDeclarationList(n)) {
        for (var a = 0, o = n.declarations; a < o.length; a++) {
          var s = o[a]
          Nt(s.name)
        }
        var c = e.getInitializedVariables(n)
        t = e.updateFor(
          t,
          c.length > 0 ? e.inlineExpressions(e.map(c, L)) : void 0,
          e.visitNode(t.condition, i, e.isExpression),
          e.visitNode(t.incrementor, i, e.isExpression),
          e.visitNode(t.statement, i, e.isStatement, e.liftToBlock)
        )
      } else t = e.visitEachChild(t, i, r)
      return Lt && Ae(), t
    }
    function U(t) {
      if (oe(t)) {
        var r = de(),
          n = de(),
          a = e.createLoopVariable(),
          o = t.initializer
        Nt(a),
          Xe(r, e.createArrayLiteral()),
          Ge(
            e.createForIn(
              n,
              e.visitNode(t.expression, i, e.isExpression),
              e.createStatement(
                e.createCall(e.createPropertyAccess(r, 'push'), void 0, [n])
              )
            )
          ),
          Xe(a, e.createLiteral(0))
        var s = pe(),
          c = pe(),
          u = Ne(c)
        fe(s), Ze(u, e.createLessThan(a, e.createPropertyAccess(r, 'length')))
        var _ = void 0
        if (e.isVariableDeclarationList(o)) {
          for (var l = 0, d = o.declarations; l < d.length; l++) {
            var p = d[l]
            Nt(p.name)
          }
          _ = e.getSynthesizedClone(o.declarations[0].name)
        } else
          (_ = e.visitNode(o, i, e.isExpression)),
            e.Debug.assert(e.isLeftHandSideExpression(_))
        Xe(_, e.createElementAccess(r, a)),
          P(t.statement),
          fe(c),
          Ge(e.createStatement(e.createPostfixIncrement(a))),
          Qe(s),
          Ae()
      } else Ge(e.visitNode(t, i, e.isStatement))
    }
    function W(t) {
      Lt && Ee()
      var n = t.initializer
      if (e.isVariableDeclarationList(n)) {
        for (var a = 0, o = n.declarations; a < o.length; a++) {
          var s = o[a]
          Nt(s.name)
        }
        t = e.updateForIn(
          t,
          n.declarations[0].name,
          e.visitNode(t.expression, i, e.isExpression),
          e.visitNode(t.statement, i, e.isStatement, e.liftToBlock)
        )
      } else t = e.visitEachChild(t, i, r)
      return Lt && Ae(), t
    }
    function H(t) {
      var r = Ke(t.label ? t.label.text : void 0)
      e.Debug.assert(
        r > 0,
        'Expected continue statment to point to a valid Label.'
      ),
        Qe(r, t)
    }
    function G(t) {
      if (Lt) {
        var n = Ke(t.label && t.label.text)
        if (n > 0) return qe(n, t)
      }
      return e.visitEachChild(t, i, r)
    }
    function X(t) {
      var r = ze(t.label ? t.label.text : void 0)
      e.Debug.assert(
        r > 0,
        'Expected break statment to point to a valid Label.'
      ),
        Qe(r, t)
    }
    function Q(t) {
      if (Lt) {
        var n = ze(t.label && t.label.text)
        if (n > 0) return qe(n, t)
      }
      return e.visitEachChild(t, i, r)
    }
    function Y(t) {
      tt(e.visitNode(t.expression, i, e.isExpression), t)
    }
    function Z(t) {
      return Ue(e.visitNode(t.expression, i, e.isExpression), t)
    }
    function $(t) {
      oe(t)
        ? (he(le(e.visitNode(t.expression, i, e.isExpression))),
          P(t.statement),
          be())
        : Ge(e.visitNode(t, i, e.isStatement))
    }
    function ee(t) {
      if (oe(t.caseBlock)) {
        for (
          var r = t.caseBlock,
            n = r.clauses.length,
            a = Pe(),
            o = le(e.visitNode(t.expression, i, e.isExpression)),
            s = [],
            c = -1,
            u = 0;
          u < n;
          u++
        ) {
          var _ = r.clauses[u]
          s.push(pe()), 258 === _.kind && c === -1 && (c = u)
        }
        for (var l = 0, d = []; l < n; ) {
          for (var p = 0, u = l; u < n; u++) {
            var _ = r.clauses[u]
            if (257 === _.kind) {
              var f = _
              if (oe(f.expression) && d.length > 0) break
              d.push(
                e.createCaseClause(
                  e.visitNode(f.expression, i, e.isExpression),
                  [qe(s[u], f.expression)]
                )
              )
            } else p++
          }
          d.length &&
            (Ge(e.createSwitch(o, e.createCaseBlock(d))),
            (l += d.length),
            (d = [])),
            p > 0 && ((l += p), (p = 0))
        }
        Qe(c >= 0 ? s[c] : a)
        for (var u = 0; u < n; u++) fe(s[u]), w(r.clauses[u].statements)
        Oe()
      } else Ge(e.visitNode(t, i, e.isStatement))
    }
    function te(t) {
      return Lt && we(), (t = e.visitEachChild(t, i, r)), Lt && Oe(), t
    }
    function re(t) {
      oe(t)
        ? (Ie(t.label.text), P(t.statement), Re())
        : Ge(e.visitNode(t, i, e.isStatement))
    }
    function ne(t) {
      return (
        Lt && Fe(t.label.text), (t = e.visitEachChild(t, i, r)), Lt && Re(), t
      )
    }
    function ae(t) {
      rt(e.visitNode(t.expression, i, e.isExpression), t)
    }
    function ie(t) {
      oe(t)
        ? (xe(),
          P(t.tryBlock),
          t.catchClause &&
            (Ce(t.catchClause.variableDeclaration), P(t.catchClause.block)),
          t.finallyBlock && (Se(), P(t.finallyBlock)),
          De())
        : Ge(e.visitEachChild(t, i, r))
    }
    function oe(e) {
      return e && 0 !== (16777216 & e.transformFlags)
    }
    function se(e) {
      for (var t = e.length, r = 0; r < t; r++) if (oe(e[r])) return r
      return -1
    }
    function ce(e, t) {
      return (t = Ot(e, t)), 1 === e ? ue(t) : t
    }
    function ue(t) {
      return e.isIdentifier(t) ? _e(t) : t
    }
    function _e(t) {
      if (!e.isGeneratedIdentifier(t) && It && It.has(t.text)) {
        var r = e.getOriginalNode(t)
        if (e.isIdentifier(r) && r.parent) {
          var n = Pt.getReferencedValueDeclaration(r)
          if (n) {
            var a = Rt[e.getOriginalNodeId(n)]
            if (a) {
              var i = e.getMutableClone(a)
              return e.setSourceMapRange(i, t), e.setCommentRange(i, t), i
            }
          }
        }
      }
      return t
    }
    function le(t) {
      var r
      return e.isGeneratedIdentifier(t) || 4096 & e.getEmitFlags(t)
        ? t
        : ((r = e.createTempVariable(Nt)), Xe(r, t, t), r)
    }
    function de(t) {
      var r = t ? e.createUniqueName(t) : e.createTempVariable(void 0)
      return Nt(r), r
    }
    function pe() {
      jt || (jt = [])
      var e = rr
      return rr++, (jt[e] = -1), e
    }
    function fe(t) {
      e.Debug.assert(void 0 !== jt, 'No labels were defined.'),
        (jt[t] = qt ? qt.length : 0)
    }
    function ge(e) {
      Bt || ((Bt = []), (zt = []), (Jt = []), (Kt = []))
      var t = zt.length
      return (
        (zt[t] = 0), (Jt[t] = qt ? qt.length : 0), (Bt[t] = e), Kt.push(e), t
      )
    }
    function me() {
      var t = ye()
      e.Debug.assert(void 0 !== t, 'beginBlock was never called.')
      var r = zt.length
      return (zt[r] = 1), (Jt[r] = qt ? qt.length : 0), (Bt[r] = t), Kt.pop(), t
    }
    function ye() {
      return e.lastOrUndefined(Kt)
    }
    function ve() {
      var e = ye()
      return e && e.kind
    }
    function he(e) {
      var t = pe(),
        r = pe()
      fe(t), ge({ kind: 1, expression: e, startLabel: t, endLabel: r })
    }
    function be() {
      e.Debug.assert(1 === ve())
      var t = me()
      fe(t.endLabel)
    }
    function ke(e) {
      return 1 === e.kind
    }
    function xe() {
      var e = pe(),
        t = pe()
      return (
        fe(e), ge({ kind: 0, state: 0, startLabel: e, endLabel: t }), He(), t
      )
    }
    function Ce(t) {
      e.Debug.assert(0 === ve())
      var n
      if (e.isGeneratedIdentifier(t.name)) (n = t.name), Nt(t.name)
      else {
        var a = t.name.text
        ;(n = de(a)),
          It || ((It = e.createMap()), (Rt = []), r.enableSubstitution(71)),
          It.set(a, !0),
          (Rt[e.getOriginalNodeId(t)] = n)
      }
      var i = ye()
      e.Debug.assert(i.state < 1)
      var o = i.endLabel
      Qe(o)
      var s = pe()
      fe(s),
        (i.state = 1),
        (i.catchVariable = n),
        (i.catchLabel = s),
        Xe(n, e.createCall(e.createPropertyAccess(Ht, 'sent'), void 0, [])),
        He()
    }
    function Se() {
      e.Debug.assert(0 === ve())
      var t = ye()
      e.Debug.assert(t.state < 2)
      var r = t.endLabel
      Qe(r)
      var n = pe()
      fe(n), (t.state = 2), (t.finallyLabel = n)
    }
    function De() {
      e.Debug.assert(0 === ve())
      var t = me(),
        r = t.state
      r < 2 ? Qe(t.endLabel) : nt(), fe(t.endLabel), He(), (t.state = 3)
    }
    function Te(e) {
      return 0 === e.kind
    }
    function Ee() {
      ge({ kind: 3, isScript: !0, breakLabel: -1, continueLabel: -1 })
    }
    function Ne(e) {
      var t = pe()
      return ge({ kind: 3, isScript: !1, breakLabel: t, continueLabel: e }), t
    }
    function Ae() {
      e.Debug.assert(3 === ve())
      var t = me(),
        r = t.breakLabel
      t.isScript || fe(r)
    }
    function we() {
      ge({ kind: 2, isScript: !0, breakLabel: -1 })
    }
    function Pe() {
      var e = pe()
      return ge({ kind: 2, isScript: !1, breakLabel: e }), e
    }
    function Oe() {
      e.Debug.assert(2 === ve())
      var t = me(),
        r = t.breakLabel
      t.isScript || fe(r)
    }
    function Fe(e) {
      ge({ kind: 4, isScript: !0, labelText: e, breakLabel: -1 })
    }
    function Ie(e) {
      var t = pe()
      ge({ kind: 4, isScript: !1, labelText: e, breakLabel: t })
    }
    function Re() {
      e.Debug.assert(4 === ve())
      var t = me()
      t.isScript || fe(t.breakLabel)
    }
    function Me(e) {
      return 2 === e.kind || 3 === e.kind
    }
    function Le(e) {
      return 4 === e.kind
    }
    function Be(e) {
      return 3 === e.kind
    }
    function Je(e, t) {
      for (var r = t; r >= 0; r--) {
        var n = Kt[r]
        if (!Le(n)) break
        if (n.labelText === e) return !0
      }
      return !1
    }
    function ze(t) {
      if ((e.Debug.assert(void 0 !== Bt), t))
        for (var r = Kt.length - 1; r >= 0; r--) {
          var n = Kt[r]
          if (Le(n) && n.labelText === t) return n.breakLabel
          if (Me(n) && Je(t, r - 1)) return n.breakLabel
        }
      else
        for (var r = Kt.length - 1; r >= 0; r--) {
          var n = Kt[r]
          if (Me(n)) return n.breakLabel
        }
      return 0
    }
    function Ke(t) {
      if ((e.Debug.assert(void 0 !== Bt), t))
        for (var r = Kt.length - 1; r >= 0; r--) {
          var n = Kt[r]
          if (Be(n) && Je(t, r - 1)) return n.continueLabel
        }
      else
        for (var r = Kt.length - 1; r >= 0; r--) {
          var n = Kt[r]
          if (Be(n)) return n.continueLabel
        }
      return 0
    }
    function je(t) {
      if (t > 0) {
        void 0 === Vt && (Vt = [])
        var r = e.createLiteral(-1)
        return void 0 === Vt[t] ? (Vt[t] = [r]) : Vt[t].push(r), r
      }
      return e.createOmittedExpression()
    }
    function Ve(r) {
      var n = e.createLiteral(r)
      return e.addSyntheticTrailingComment(n, 3, t(r)), n
    }
    function qe(t, r) {
      return (
        e.Debug.assert(t > 0, 'Invalid label: ' + t),
        e.setTextRange(e.createReturn(e.createArrayLiteral([Ve(3), je(t)])), r)
      )
    }
    function Ue(t, r) {
      return e.setTextRange(
        e.createReturn(e.createArrayLiteral(t ? [Ve(2), t] : [Ve(2)])),
        r
      )
    }
    function We(t) {
      return e.setTextRange(
        e.createCall(e.createPropertyAccess(Ht, 'sent'), void 0, []),
        t
      )
    }
    function He() {
      at(0)
    }
    function Ge(e) {
      e ? at(1, [e]) : He()
    }
    function Xe(e, t, r) {
      at(2, [e, t], r)
    }
    function Qe(e, t) {
      at(3, [e], t)
    }
    function Ye(e, t, r) {
      at(4, [e, t], r)
    }
    function Ze(e, t, r) {
      at(5, [e, t], r)
    }
    function $e(e, t) {
      at(7, [e], t)
    }
    function et(e, t) {
      at(6, [e], t)
    }
    function tt(e, t) {
      at(8, [e], t)
    }
    function rt(e, t) {
      at(9, [e], t)
    }
    function nt() {
      at(10)
    }
    function at(e, t, r) {
      void 0 === qt && ((qt = []), (Ut = []), (Wt = [])),
        void 0 === jt && fe(pe())
      var n = qt.length
      ;(qt[n] = e), (Ut[n] = t), (Wt[n] = r)
    }
    function it() {
      ;(nr = 0),
        (ar = 0),
        (Gt = void 0),
        (Xt = !1),
        (Qt = !1),
        (Yt = void 0),
        (Zt = void 0),
        ($t = void 0),
        (er = void 0),
        (tr = void 0)
      var t = ot()
      return n(
        r,
        e.setEmitFlags(
          e.createFunctionExpression(
            void 0,
            void 0,
            void 0,
            void 0,
            [e.createParameter(void 0, void 0, void 0, Ht)],
            void 0,
            e.createBlock(t, t.length > 0)
          ),
          524288
        )
      )
    }
    function ot() {
      if (qt) {
        for (var t = 0; t < qt.length; t++) ft(t)
        ct(qt.length)
      } else ct(0)
      if (Yt) {
        var r = e.createPropertyAccess(Ht, 'label'),
          n = e.createSwitch(r, e.createCaseBlock(Yt))
        return (n.startsOnNewLine = !0), [n]
      }
      return Zt ? Zt : []
    }
    function st() {
      Zt && (_t(!Xt), (Xt = !1), (Qt = !1), ar++)
    }
    function ct(e) {
      ut(e) && (lt(e), (tr = void 0), vt(void 0, void 0)),
        Zt && Yt && _t(!1),
        dt()
    }
    function ut(e) {
      if (!Qt) return !0
      if (!jt || !Vt) return !1
      for (var t = 0; t < jt.length; t++) if (jt[t] === e && Vt[t]) return !0
      return !1
    }
    function _t(t) {
      if ((Yt || (Yt = []), Zt)) {
        if (tr)
          for (var r = tr.length - 1; r >= 0; r--) {
            var n = tr[r]
            Zt = [e.createWith(n.expression, e.createBlock(Zt))]
          }
        if (er) {
          var a = er.startLabel,
            i = er.catchLabel,
            o = er.finallyLabel,
            s = er.endLabel
          Zt.unshift(
            e.createStatement(
              e.createCall(
                e.createPropertyAccess(
                  e.createPropertyAccess(Ht, 'trys'),
                  'push'
                ),
                void 0,
                [e.createArrayLiteral([je(a), je(i), je(o), je(s)])]
              )
            )
          ),
            (er = void 0)
        }
        t &&
          Zt.push(
            e.createStatement(
              e.createAssignment(
                e.createPropertyAccess(Ht, 'label'),
                e.createLiteral(ar + 1)
              )
            )
          )
      }
      Yt.push(e.createCaseClause(e.createLiteral(ar), Zt || [])), (Zt = void 0)
    }
    function lt(e) {
      if (jt)
        for (var t = 0; t < jt.length; t++)
          jt[t] === e &&
            (st(),
            void 0 === Gt && (Gt = []),
            void 0 === Gt[ar] ? (Gt[ar] = [t]) : Gt[ar].push(t))
    }
    function dt() {
      if (void 0 !== Vt && void 0 !== Gt)
        for (var e = 0; e < Gt.length; e++) {
          var t = Gt[e]
          if (void 0 !== t)
            for (var r = 0, n = t; r < n.length; r++) {
              var a = n[r],
                i = Vt[a]
              if (void 0 !== i)
                for (var o = 0, s = i; o < s.length; o++) {
                  var c = s[o]
                  c.text = String(e)
                }
            }
        }
    }
    function pt(e) {
      if (Bt)
        for (; nr < zt.length && Jt[nr] <= e; nr++) {
          var t = Bt[nr],
            r = zt[nr]
          Te(t)
            ? 0 === r
              ? ($t || ($t = []), Zt || (Zt = []), $t.push(er), (er = t))
              : 1 === r && (er = $t.pop())
            : ke(t) &&
              (0 === r ? (tr || (tr = []), tr.push(t)) : 1 === r && tr.pop())
        }
    }
    function ft(e) {
      if ((lt(e), pt(e), !Xt)) {
        ;(Xt = !1), (Qt = !1)
        var t = qt[e]
        if (0 !== t) {
          if (10 === t) return St()
          var r = Ut[e]
          if (1 === t) return gt(r[0])
          var n = Wt[e]
          switch (t) {
            case 2:
              return mt(r[0], r[1], n)
            case 3:
              return ht(r[0], n)
            case 4:
              return bt(r[0], r[1], n)
            case 5:
              return kt(r[0], r[1], n)
            case 6:
              return xt(r[0], n)
            case 7:
              return Ct(r[0], n)
            case 8:
              return vt(r[0], n)
            case 9:
              return yt(r[0], n)
          }
        }
      }
    }
    function gt(e) {
      e && (Zt ? Zt.push(e) : (Zt = [e]))
    }
    function mt(t, r, n) {
      gt(e.setTextRange(e.createStatement(e.createAssignment(t, r)), n))
    }
    function yt(t, r) {
      ;(Xt = !0), (Qt = !0), gt(e.setTextRange(e.createThrow(t), r))
    }
    function vt(t, r) {
      ;(Xt = !0),
        (Qt = !0),
        gt(
          e.setEmitFlags(
            e.setTextRange(
              e.createReturn(e.createArrayLiteral(t ? [Ve(2), t] : [Ve(2)])),
              r
            ),
            384
          )
        )
    }
    function ht(t, r) {
      ;(Xt = !0),
        gt(
          e.setEmitFlags(
            e.setTextRange(
              e.createReturn(e.createArrayLiteral([Ve(3), je(t)])),
              r
            ),
            384
          )
        )
    }
    function bt(t, r, n) {
      gt(
        e.setEmitFlags(
          e.createIf(
            r,
            e.setEmitFlags(
              e.setTextRange(
                e.createReturn(e.createArrayLiteral([Ve(3), je(t)])),
                n
              ),
              384
            )
          ),
          1
        )
      )
    }
    function kt(t, r, n) {
      gt(
        e.setEmitFlags(
          e.createIf(
            e.createLogicalNot(r),
            e.setEmitFlags(
              e.setTextRange(
                e.createReturn(e.createArrayLiteral([Ve(3), je(t)])),
                n
              ),
              384
            )
          ),
          1
        )
      )
    }
    function xt(t, r) {
      ;(Xt = !0),
        gt(
          e.setEmitFlags(
            e.setTextRange(
              e.createReturn(e.createArrayLiteral(t ? [Ve(4), t] : [Ve(4)])),
              r
            ),
            384
          )
        )
    }
    function Ct(t, r) {
      ;(Xt = !0),
        gt(
          e.setEmitFlags(
            e.setTextRange(e.createReturn(e.createArrayLiteral([Ve(5), t])), r),
            384
          )
        )
    }
    function St() {
      ;(Xt = !0), gt(e.createReturn(e.createArrayLiteral([Ve(7)])))
    }
    var Dt = r.resumeLexicalEnvironment,
      Tt = r.endLexicalEnvironment,
      Et = r.hoistFunctionDeclaration,
      Nt = r.hoistVariableDeclaration,
      At = r.getCompilerOptions(),
      wt = e.getEmitScriptTarget(At),
      Pt = r.getEmitResolver(),
      Ot = r.onSubstituteNode
    r.onSubstituteNode = ce
    var Ft,
      It,
      Rt,
      Mt,
      Lt,
      Bt,
      Jt,
      zt,
      Kt,
      jt,
      Vt,
      qt,
      Ut,
      Wt,
      Ht,
      Gt,
      Xt,
      Qt,
      Yt,
      Zt,
      $t,
      er,
      tr,
      rr = 1,
      nr = 0,
      ar = 0
    return a
  }
  function n(t, r) {
    return (
      t.requestEmitHelper(u),
      e.createCall(e.getHelperName('__generator'), void 0, [e.createThis(), r])
    )
  }
  var a
  !(function(e) {
    ;(e[(e.Nop = 0)] = 'Nop'),
      (e[(e.Statement = 1)] = 'Statement'),
      (e[(e.Assign = 2)] = 'Assign'),
      (e[(e.Break = 3)] = 'Break'),
      (e[(e.BreakWhenTrue = 4)] = 'BreakWhenTrue'),
      (e[(e.BreakWhenFalse = 5)] = 'BreakWhenFalse'),
      (e[(e.Yield = 6)] = 'Yield'),
      (e[(e.YieldStar = 7)] = 'YieldStar'),
      (e[(e.Return = 8)] = 'Return'),
      (e[(e.Throw = 9)] = 'Throw'),
      (e[(e.Endfinally = 10)] = 'Endfinally')
  })(a || (a = {}))
  var i
  !(function(e) {
    ;(e[(e.Open = 0)] = 'Open'), (e[(e.Close = 1)] = 'Close')
  })(i || (i = {}))
  var o
  !(function(e) {
    ;(e[(e.Exception = 0)] = 'Exception'),
      (e[(e.With = 1)] = 'With'),
      (e[(e.Switch = 2)] = 'Switch'),
      (e[(e.Loop = 3)] = 'Loop'),
      (e[(e.Labeled = 4)] = 'Labeled')
  })(o || (o = {}))
  var s
  !(function(e) {
    ;(e[(e.Try = 0)] = 'Try'),
      (e[(e.Catch = 1)] = 'Catch'),
      (e[(e.Finally = 2)] = 'Finally'),
      (e[(e.Done = 3)] = 'Done')
  })(s || (s = {}))
  var c
  !(function(e) {
    ;(e[(e.Next = 0)] = 'Next'),
      (e[(e.Throw = 1)] = 'Throw'),
      (e[(e.Return = 2)] = 'Return'),
      (e[(e.Break = 3)] = 'Break'),
      (e[(e.Yield = 4)] = 'Yield'),
      (e[(e.YieldStar = 5)] = 'YieldStar'),
      (e[(e.Catch = 6)] = 'Catch'),
      (e[(e.Endfinally = 7)] = 'Endfinally')
  })(c || (c = {})),
    (e.transformGenerators = r)
  var u = {
    name: 'typescript:generator',
    scoped: !1,
    priority: 6,
    text:
      '\n            var __generator = (this && this.__generator) || function (thisArg, body) {\n                var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n                return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;\n                function verb(n) { return function (v) { return step([n, v]); }; }\n                function step(op) {\n                    if (f) throw new TypeError("Generator is already executing.");\n                    while (_) try {\n                        if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;\n                        if (y = 0, t) op = [0, t.value];\n                        switch (op[0]) {\n                            case 0: case 1: t = op; break;\n                            case 4: _.label++; return { value: op[1], done: false };\n                            case 5: _.label++; y = op[1]; op = [0]; continue;\n                            case 7: op = _.ops.pop(); _.trys.pop(); continue;\n                            default:\n                                if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                                if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                                if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                                if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                                if (t[2]) _.ops.pop();\n                                _.trys.pop(); continue;\n                        }\n                        op = body.call(thisArg, _);\n                    } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n                    if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n                }\n            };'
  }
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t) {
    function n(t) {
      switch (t) {
        case e.ModuleKind.AMD:
          return s
        case e.ModuleKind.UMD:
          return c
        default:
          return o
      }
    }
    function a(t) {
      if (
        e.isDeclarationFile(t) ||
        (!e.isExternalModule(t) && !W.isolatedModules)
      )
        return t
      ;($ = t),
        (ee = e.collectExternalModuleInfo(t, H, W)),
        (re[e.getOriginalNodeId(t)] = ee)
      var r = n(Q),
        a = r(t)
      return ($ = void 0), (ee = void 0), e.aggregateTransformFlags(a)
    }
    function i() {
      return !(ee.exportEquals || !e.isExternalModule($))
    }
    function o(t) {
      q()
      var n = [],
        a = W.alwaysStrict || (!W.noImplicitUseStrict && e.isExternalModule($)),
        o = e.addPrologue(n, t.statements, a, d)
      i() && e.append(n, O()),
        e.append(
          n,
          e.visitNode(ee.externalHelpersImportDeclaration, d, e.isStatement)
        ),
        e.addRange(n, e.visitNodes(t.statements, d, e.isStatement, o)),
        l(n, !1),
        e.addRange(n, U())
      var s = e.updateSourceFileNode(
        t,
        e.setTextRange(e.createNodeArray(n), t.statements)
      )
      return ee.hasExportStarsToExportValues && e.addEmitHelper(s, r), s
    }
    function s(t) {
      var r = e.createIdentifier('define'),
        n = e.tryGetModuleNameFromFile(t, G, W),
        a = u(t, !0),
        i = a.aliasedModuleNames,
        o = a.unaliasedModuleNames,
        s = a.importAliasNames
      return e.updateSourceFileNode(
        t,
        e.setTextRange(
          e.createNodeArray([
            e.createStatement(
              e.createCall(
                r,
                void 0,
                (n ? [n] : []).concat([
                  e.createArrayLiteral(
                    [
                      e.createLiteral('require'),
                      e.createLiteral('exports')
                    ].concat(i, o)
                  ),
                  e.createFunctionExpression(
                    void 0,
                    void 0,
                    void 0,
                    void 0,
                    [
                      e.createParameter(void 0, void 0, void 0, 'require'),
                      e.createParameter(void 0, void 0, void 0, 'exports')
                    ].concat(s),
                    void 0,
                    _(t)
                  )
                ])
              )
            )
          ]),
          t.statements
        )
      )
    }
    function c(t) {
      var r = u(t, !1),
        n = r.aliasedModuleNames,
        a = r.unaliasedModuleNames,
        i = r.importAliasNames,
        o = e.createFunctionExpression(
          void 0,
          void 0,
          void 0,
          void 0,
          [e.createParameter(void 0, void 0, void 0, 'factory')],
          void 0,
          e.setTextRange(
            e.createBlock(
              [
                e.createIf(
                  e.createLogicalAnd(
                    e.createTypeCheck(e.createIdentifier('module'), 'object'),
                    e.createTypeCheck(
                      e.createPropertyAccess(
                        e.createIdentifier('module'),
                        'exports'
                      ),
                      'object'
                    )
                  ),
                  e.createBlock([
                    e.createVariableStatement(void 0, [
                      e.createVariableDeclaration(
                        'v',
                        void 0,
                        e.createCall(e.createIdentifier('factory'), void 0, [
                          e.createIdentifier('require'),
                          e.createIdentifier('exports')
                        ])
                      )
                    ]),
                    e.setEmitFlags(
                      e.createIf(
                        e.createStrictInequality(
                          e.createIdentifier('v'),
                          e.createIdentifier('undefined')
                        ),
                        e.createStatement(
                          e.createAssignment(
                            e.createPropertyAccess(
                              e.createIdentifier('module'),
                              'exports'
                            ),
                            e.createIdentifier('v')
                          )
                        )
                      ),
                      1
                    )
                  ]),
                  e.createIf(
                    e.createLogicalAnd(
                      e.createTypeCheck(
                        e.createIdentifier('define'),
                        'function'
                      ),
                      e.createPropertyAccess(
                        e.createIdentifier('define'),
                        'amd'
                      )
                    ),
                    e.createBlock([
                      e.createStatement(
                        e.createCall(e.createIdentifier('define'), void 0, [
                          e.createArrayLiteral(
                            [
                              e.createLiteral('require'),
                              e.createLiteral('exports')
                            ].concat(n, a)
                          ),
                          e.createIdentifier('factory')
                        ])
                      )
                    ])
                  )
                )
              ],
              !0
            ),
            void 0
          )
        )
      return e.updateSourceFileNode(
        t,
        e.setTextRange(
          e.createNodeArray([
            e.createStatement(
              e.createCall(o, void 0, [
                e.createFunctionExpression(
                  void 0,
                  void 0,
                  void 0,
                  void 0,
                  [
                    e.createParameter(void 0, void 0, void 0, 'require'),
                    e.createParameter(void 0, void 0, void 0, 'exports')
                  ].concat(i),
                  void 0,
                  _(t)
                )
              ])
            )
          ]),
          t.statements
        )
      )
    }
    function u(t, r) {
      for (
        var n = [], a = [], i = [], o = 0, s = t.amdDependencies;
        o < s.length;
        o++
      ) {
        var c = s[o]
        c.name
          ? (n.push(e.createLiteral(c.path)),
            i.push(e.createParameter(void 0, void 0, void 0, c.name)))
          : a.push(e.createLiteral(c.path))
      }
      for (var u = 0, _ = ee.externalImports; u < _.length; u++) {
        var l = _[u],
          d = e.getExternalModuleNameLiteral(l, $, G, H, W),
          p = e.getLocalNameForExternalImport(l, $)
        d &&
          (r && p
            ? (e.setEmitFlags(p, 4),
              n.push(d),
              i.push(e.createParameter(void 0, void 0, void 0, p)))
            : a.push(d))
      }
      return {
        aliasedModuleNames: n,
        unaliasedModuleNames: a,
        importAliasNames: i
      }
    }
    function _(t) {
      q()
      var n = [],
        a = e.addPrologue(n, t.statements, !W.noImplicitUseStrict, d)
      i() && e.append(n, O()),
        e.append(
          n,
          e.visitNode(ee.externalHelpersImportDeclaration, d, e.isStatement)
        ),
        e.addRange(n, e.visitNodes(t.statements, d, e.isStatement, a)),
        l(n, !0),
        e.addRange(n, U())
      var o = e.createBlock(n, !0)
      return ee.hasExportStarsToExportValues && e.addEmitHelper(o, r), o
    }
    function l(t, r) {
      if (ee.exportEquals)
        if (r) {
          var n = e.createReturn(ee.exportEquals.expression)
          e.setTextRange(n, ee.exportEquals), e.setEmitFlags(n, 1920), t.push(n)
        } else {
          var n = e.createStatement(
            e.createAssignment(
              e.createPropertyAccess(e.createIdentifier('module'), 'exports'),
              ee.exportEquals.expression
            )
          )
          e.setTextRange(n, ee.exportEquals), e.setEmitFlags(n, 1536), t.push(n)
        }
    }
    function d(e) {
      switch (e.kind) {
        case 238:
          return p(e)
        case 237:
          return g(e)
        case 244:
          return m(e)
        case 243:
          return y(e)
        case 208:
          return b(e)
        case 228:
          return v(e)
        case 229:
          return h(e)
        case 297:
          return x(e)
        case 298:
          return S(e)
        default:
          return e
      }
    }
    function p(t) {
      var r,
        n = e.getNamespaceDeclarationNode(t)
      if (Q !== e.ModuleKind.AMD) {
        if (!t.importClause) return e.setTextRange(e.createStatement(f(t)), t)
        var a = []
        n && !e.isDefaultImport(t)
          ? a.push(
              e.createVariableDeclaration(
                e.getSynthesizedClone(n.name),
                void 0,
                f(t)
              )
            )
          : (a.push(
              e.createVariableDeclaration(
                e.getGeneratedNameForNode(t),
                void 0,
                f(t)
              )
            ),
            n &&
              e.isDefaultImport(t) &&
              a.push(
                e.createVariableDeclaration(
                  e.getSynthesizedClone(n.name),
                  void 0,
                  e.getGeneratedNameForNode(t)
                )
              )),
          (r = e.append(
            r,
            e.setTextRange(
              e.createVariableStatement(
                void 0,
                e.createVariableDeclarationList(a, X >= 2 ? 2 : 0)
              ),
              t
            )
          ))
      } else
        n &&
          e.isDefaultImport(t) &&
          (r = e.append(
            r,
            e.createVariableStatement(
              void 0,
              e.createVariableDeclarationList(
                [
                  e.setTextRange(
                    e.createVariableDeclaration(
                      e.getSynthesizedClone(n.name),
                      void 0,
                      e.getGeneratedNameForNode(t)
                    ),
                    t
                  )
                ],
                X >= 2 ? 2 : 0
              )
            )
          ))
      if (C(t)) {
        var i = e.getOriginalNodeId(t)
        ne[i] = D(ne[i], t)
      } else r = D(r, t)
      return e.singleOrMany(r)
    }
    function f(t) {
      var r = e.getExternalModuleNameLiteral(t, $, G, H, W),
        n = []
      return (
        r && n.push(r), e.createCall(e.createIdentifier('require'), void 0, n)
      )
    }
    function g(t) {
      e.Debug.assert(
        e.isExternalModuleImportEqualsDeclaration(t),
        'import= for internal module references should be handled in an earlier transformer.'
      )
      var r
      if (
        (Q !== e.ModuleKind.AMD
          ? (r = e.hasModifier(t, 1)
              ? e.append(
                  r,
                  e.setTextRange(e.createStatement(I(t.name, f(t))), t)
                )
              : e.append(
                  r,
                  e.setTextRange(
                    e.createVariableStatement(
                      void 0,
                      e.createVariableDeclarationList(
                        [
                          e.createVariableDeclaration(
                            e.getSynthesizedClone(t.name),
                            void 0,
                            f(t)
                          )
                        ],
                        X >= 2 ? 2 : 0
                      )
                    ),
                    t
                  )
                ))
          : e.hasModifier(t, 1) &&
            (r = e.append(
              r,
              e.setTextRange(
                e.createStatement(I(e.getExportName(t), e.getLocalName(t))),
                t
              )
            )),
        C(t))
      ) {
        var n = e.getOriginalNodeId(t)
        ne[n] = T(ne[n], t)
      } else r = T(r, t)
      return e.singleOrMany(r)
    }
    function m(t) {
      if (t.moduleSpecifier) {
        var r = e.getGeneratedNameForNode(t)
        if (t.exportClause) {
          var n = []
          Q !== e.ModuleKind.AMD &&
            n.push(
              e.setTextRange(
                e.createVariableStatement(
                  void 0,
                  e.createVariableDeclarationList([
                    e.createVariableDeclaration(r, void 0, f(t))
                  ])
                ),
                t
              )
            )
          for (var a = 0, i = t.exportClause.elements; a < i.length; a++) {
            var o = i[a],
              s = e.createPropertyAccess(r, o.propertyName || o.name)
            n.push(
              e.setTextRange(e.createStatement(I(e.getExportName(o), s)), o)
            )
          }
          return e.singleOrMany(n)
        }
        return e.setTextRange(
          e.createStatement(
            e.createCall(e.createIdentifier('__export'), void 0, [
              Q !== e.ModuleKind.AMD ? f(t) : r
            ])
          ),
          t
        )
      }
    }
    function y(t) {
      if (!t.isExportEquals) {
        var r,
          n = t.original
        if (n && C(n)) {
          var a = e.getOriginalNodeId(t)
          ne[a] = P(ne[a], e.createIdentifier('default'), t.expression, t, !0)
        } else r = P(r, e.createIdentifier('default'), t.expression, t, !0)
        return e.singleOrMany(r)
      }
    }
    function v(t) {
      var r
      if (
        ((r = e.hasModifier(t, 1)
          ? e.append(
              r,
              e.setOriginalNode(
                e.setTextRange(
                  e.createFunctionDeclaration(
                    void 0,
                    e.visitNodes(t.modifiers, R, e.isModifier),
                    t.asteriskToken,
                    e.getDeclarationName(t, !0, !0),
                    void 0,
                    t.parameters,
                    void 0,
                    t.body
                  ),
                  t
                ),
                t
              )
            )
          : e.append(r, t)),
        C(t))
      ) {
        var n = e.getOriginalNodeId(t)
        ne[n] = A(ne[n], t)
      } else r = A(r, t)
      return e.singleOrMany(r)
    }
    function h(t) {
      var r
      if (
        ((r = e.hasModifier(t, 1)
          ? e.append(
              r,
              e.setOriginalNode(
                e.setTextRange(
                  e.createClassDeclaration(
                    void 0,
                    e.visitNodes(t.modifiers, R, e.isModifier),
                    e.getDeclarationName(t, !0, !0),
                    void 0,
                    t.heritageClauses,
                    t.members
                  ),
                  t
                ),
                t
              )
            )
          : e.append(r, t)),
        C(t))
      ) {
        var n = e.getOriginalNodeId(t)
        ne[n] = A(ne[n], t)
      } else r = A(r, t)
      return e.singleOrMany(r)
    }
    function b(t) {
      var r, n, a
      if (e.hasModifier(t, 1)) {
        for (
          var i = void 0, o = 0, s = t.declarationList.declarations;
          o < s.length;
          o++
        ) {
          var c = s[o]
          e.isIdentifier(c.name) && e.isLocalName(c.name)
            ? (i || (i = e.visitNodes(t.modifiers, R, e.isModifier)),
              (n = e.append(n, c)))
            : c.initializer && (a = e.append(a, k(c)))
        }
        n &&
          (r = e.append(
            r,
            e.updateVariableStatement(
              t,
              i,
              e.updateVariableDeclarationList(t.declarationList, n)
            )
          )),
          a &&
            (r = e.append(
              r,
              e.setTextRange(e.createStatement(e.inlineExpressions(a)), t)
            ))
      } else r = e.append(r, t)
      if (C(t)) {
        var u = e.getOriginalNodeId(t)
        ne[u] = E(ne[u], t)
      } else r = E(r, t)
      return e.singleOrMany(r)
    }
    function k(r) {
      return e.isBindingPattern(r.name)
        ? e.flattenDestructuringAssignment(r, void 0, t, 0, !1, I)
        : e.createAssignment(
            e.setTextRange(
              e.createPropertyAccess(e.createIdentifier('exports'), r.name),
              r.name
            ),
            r.initializer
          )
    }
    function x(t) {
      if (C(t) && 208 === t.original.kind) {
        var r = e.getOriginalNodeId(t)
        ne[r] = E(ne[r], t.original)
      }
      return t
    }
    function C(t) {
      return 0 !== (4194304 & e.getEmitFlags(t))
    }
    function S(t) {
      var r = e.getOriginalNodeId(t),
        n = ne[r]
      return n ? (delete ne[r], e.append(n, t)) : t
    }
    function D(e, t) {
      if (ee.exportEquals) return e
      var r = t.importClause
      if (!r) return e
      r.name && (e = w(e, r))
      var n = r.namedBindings
      if (n)
        switch (n.kind) {
          case 240:
            e = w(e, n)
            break
          case 241:
            for (var a = 0, i = n.elements; a < i.length; a++) {
              var o = i[a]
              e = w(e, o)
            }
        }
      return e
    }
    function T(e, t) {
      return ee.exportEquals ? e : w(e, t)
    }
    function E(e, t) {
      if (ee.exportEquals) return e
      for (var r = 0, n = t.declarationList.declarations; r < n.length; r++) {
        var a = n[r]
        e = N(e, a)
      }
      return e
    }
    function N(t, r) {
      if (ee.exportEquals) return t
      if (e.isBindingPattern(r.name))
        for (var n = 0, a = r.name.elements; n < a.length; n++) {
          var i = a[n]
          e.isOmittedExpression(i) || (t = N(t, i))
        }
      else e.isGeneratedIdentifier(r.name) || (t = w(t, r))
      return t
    }
    function A(t, r) {
      if (ee.exportEquals) return t
      if (e.hasModifier(r, 1)) {
        var n = e.hasModifier(r, 512) ? e.createIdentifier('default') : r.name
        t = P(t, n, e.getLocalName(r), r)
      }
      return r.name && (t = w(t, r)), t
    }
    function w(t, r) {
      var n = e.getDeclarationName(r),
        a = ee.exportSpecifiers.get(n.text)
      if (a)
        for (var i = 0, o = a; i < o.length; i++) {
          var s = o[i]
          t = P(t, s.name, n, s.name)
        }
      return t
    }
    function P(t, r, n, a, i) {
      return (t = e.append(t, F(r, n, a, i)))
    }
    function O() {
      var t
      return (
        (t =
          0 === X
            ? e.createStatement(
                I(e.createIdentifier('__esModule'), e.createLiteral(!0))
              )
            : e.createStatement(
                e.createCall(
                  e.createPropertyAccess(
                    e.createIdentifier('Object'),
                    'defineProperty'
                  ),
                  void 0,
                  [
                    e.createIdentifier('exports'),
                    e.createLiteral('__esModule'),
                    e.createObjectLiteral([
                      e.createPropertyAssignment('value', e.createLiteral(!0))
                    ])
                  ]
                )
              )),
        e.setEmitFlags(t, 1048576),
        t
      )
    }
    function F(t, r, n, a) {
      var i = e.setTextRange(e.createStatement(I(t, r)), n)
      return e.startOnNewLine(i), a || e.setEmitFlags(i, 1536), i
    }
    function I(t, r, n) {
      return e.setTextRange(
        e.createAssignment(
          e.createPropertyAccess(
            e.createIdentifier('exports'),
            e.getSynthesizedClone(t)
          ),
          r
        ),
        n
      )
    }
    function R(e) {
      switch (e.kind) {
        case 84:
        case 79:
          return
      }
      return e
    }
    function M(t, r, n) {
      265 === r.kind
        ? (($ = r),
          (ee = re[e.getOriginalNodeId($)]),
          (te = []),
          Z(t, r, n),
          ($ = void 0),
          (ee = void 0),
          (te = void 0))
        : Z(t, r, n)
    }
    function L(t, r) {
      return (
        (r = Y(t, r)),
        r.id && te[r.id]
          ? r
          : 1 === t
            ? J(r)
            : e.isShorthandPropertyAssignment(r)
              ? B(r)
              : r
      )
    }
    function B(t) {
      var r = t.name,
        n = z(r)
      if (n !== r) {
        if (t.objectAssignmentInitializer) {
          var a = e.createAssignment(n, t.objectAssignmentInitializer)
          return e.setTextRange(e.createPropertyAssignment(r, a), t)
        }
        return e.setTextRange(e.createPropertyAssignment(r, n), t)
      }
      return t
    }
    function J(e) {
      switch (e.kind) {
        case 71:
          return z(e)
        case 194:
          return K(e)
        case 193:
        case 192:
          return j(e)
      }
      return e
    }
    function z(t) {
      if (4096 & e.getEmitFlags(t)) {
        var r = e.getExternalHelpersModuleName($)
        return r ? e.createPropertyAccess(r, t) : t
      }
      if (!e.isGeneratedIdentifier(t) && !e.isLocalName(t)) {
        var n = H.getReferencedExportContainer(t, e.isExportName(t))
        if (n && 265 === n.kind)
          return e.setTextRange(
            e.createPropertyAccess(
              e.createIdentifier('exports'),
              e.getSynthesizedClone(t)
            ),
            t
          )
        var a = H.getReferencedImportDeclaration(t)
        if (a) {
          if (e.isImportClause(a))
            return e.setTextRange(
              e.createPropertyAccess(
                e.getGeneratedNameForNode(a.parent),
                e.createIdentifier('default')
              ),
              t
            )
          if (e.isImportSpecifier(a)) {
            var i = a.propertyName || a.name
            return e.setTextRange(
              e.createPropertyAccess(
                e.getGeneratedNameForNode(a.parent.parent.parent),
                e.getSynthesizedClone(i)
              ),
              t
            )
          }
        }
      }
      return t
    }
    function K(t) {
      if (
        e.isAssignmentOperator(t.operatorToken.kind) &&
        e.isIdentifier(t.left) &&
        !e.isGeneratedIdentifier(t.left) &&
        !e.isLocalName(t.left) &&
        !e.isDeclarationNameOfEnumOrNamespace(t.left)
      ) {
        var r = V(t.left)
        if (r) {
          for (var n = t, a = 0, i = r; a < i.length; a++) {
            var o = i[a]
            ;(te[e.getNodeId(n)] = !0), (n = I(o, n, t))
          }
          return n
        }
      }
      return t
    }
    function j(t) {
      if (
        (43 === t.operator || 44 === t.operator) &&
        e.isIdentifier(t.operand) &&
        !e.isGeneratedIdentifier(t.operand) &&
        !e.isLocalName(t.operand) &&
        !e.isDeclarationNameOfEnumOrNamespace(t.operand)
      ) {
        var r = V(t.operand)
        if (r) {
          for (
            var n =
                193 === t.kind
                  ? e.setTextRange(
                      e.createBinary(
                        t.operand,
                        e.createToken(43 === t.operator ? 59 : 60),
                        e.createLiteral(1)
                      ),
                      t
                    )
                  : t,
              a = 0,
              i = r;
            a < i.length;
            a++
          ) {
            var o = i[a]
            ;(te[e.getNodeId(n)] = !0), (n = I(o, n))
          }
          return n
        }
      }
      return t
    }
    function V(t) {
      if (!e.isGeneratedIdentifier(t)) {
        var r =
          H.getReferencedImportDeclaration(t) ||
          H.getReferencedValueDeclaration(t)
        if (r) return ee && ee.exportedBindings[e.getOriginalNodeId(r)]
      }
    }
    var q = t.startLexicalEnvironment,
      U = t.endLexicalEnvironment,
      W = t.getCompilerOptions(),
      H = t.getEmitResolver(),
      G = t.getEmitHost(),
      X = e.getEmitScriptTarget(W),
      Q = e.getEmitModuleKind(W),
      Y = t.onSubstituteNode,
      Z = t.onEmitNode
    ;(t.onSubstituteNode = L),
      (t.onEmitNode = M),
      t.enableSubstitution(71),
      t.enableSubstitution(194),
      t.enableSubstitution(192),
      t.enableSubstitution(193),
      t.enableSubstitution(262),
      t.enableEmitNotification(265)
    var $,
      ee,
      te,
      re = [],
      ne = []
    return a
  }
  e.transformModule = t
  var r = {
    name: 'typescript:export-star',
    scoped: !0,
    text:
      '\n            function __export(m) {\n                for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n            }'
  }
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t) {
    function r(t) {
      if (
        e.isDeclarationFile(t) ||
        (!e.isExternalModule(t) && !de.isolatedModules)
      )
        return t
      var r = e.getOriginalNodeId(t)
      ;(ye = t),
        (xe = t),
        (ve = Se[r] = e.collectExternalModuleInfo(t, pe, de)),
        (he = e.createUniqueName('exports')),
        (Te[r] = he),
        (be = e.createUniqueName('context'))
      var i = n(ve.externalImports),
        o = a(t, i),
        s = e.createFunctionExpression(
          void 0,
          void 0,
          void 0,
          void 0,
          [
            e.createParameter(void 0, void 0, void 0, he),
            e.createParameter(void 0, void 0, void 0, be)
          ],
          void 0,
          o
        ),
        c = e.tryGetModuleNameFromFile(t, fe, de),
        u = e.createArrayLiteral(
          e.map(i, function(e) {
            return e.name
          })
        ),
        _ = e.setEmitFlags(
          e.updateSourceFileNode(
            t,
            e.setTextRange(
              e.createNodeArray([
                e.createStatement(
                  e.createCall(
                    e.createPropertyAccess(
                      e.createIdentifier('System'),
                      'register'
                    ),
                    void 0,
                    c ? [c, u, s] : [u, s]
                  )
                )
              ]),
              t.statements
            )
          ),
          1024
        )
      return (
        de.outFile ||
          de.out ||
          e.moveEmitHelpers(_, o, function(e) {
            return !e.scoped
          }),
        Ce && ((Ee[r] = Ce), (Ce = void 0)),
        (ye = void 0),
        (ve = void 0),
        (he = void 0),
        (be = void 0),
        (ke = void 0),
        (xe = void 0),
        e.aggregateTransformFlags(_)
      )
    }
    function n(t) {
      for (var r = e.createMap(), n = [], a = 0; a < t.length; a++) {
        var i = t[a],
          o = e.getExternalModuleNameLiteral(i, ye, fe, pe, de)
        if (o) {
          var s = o.text,
            c = r.get(s)
          void 0 !== c
            ? n[c].externalImports.push(i)
            : (r.set(s, n.length), n.push({ name: o, externalImports: [i] }))
        }
      }
      return n
    }
    function a(t, r) {
      var n = []
      ue()
      var a =
          de.alwaysStrict ||
          (!de.noImplicitUseStrict && e.isExternalModule(ye)),
        o = e.addPrologue(n, t.statements, a, c)
      n.push(
        e.createVariableStatement(
          void 0,
          e.createVariableDeclarationList([
            e.createVariableDeclaration(
              '__moduleName',
              void 0,
              e.createLogicalAnd(be, e.createPropertyAccess(be, 'id'))
            )
          ])
        )
      ),
        e.visitNode(ve.externalHelpersImportDeclaration, c, e.isStatement)
      var u = e.visitNodes(t.statements, c, e.isStatement, o)
      e.addRange(n, ke), e.addRange(n, _e())
      var _ = i(n),
        l = e.createObjectLiteral([
          e.createPropertyAssignment('setters', s(_, r)),
          e.createPropertyAssignment(
            'execute',
            e.createFunctionExpression(
              void 0,
              void 0,
              void 0,
              void 0,
              [],
              void 0,
              e.createBlock(u, !0)
            )
          )
        ])
      return (l.multiLine = !0), n.push(e.createReturn(l)), e.createBlock(n, !0)
    }
    function i(t) {
      if (ve.hasExportStarsToExportValues) {
        if (!ve.exportedNames && 0 === ve.exportSpecifiers.size) {
          for (var r = !1, n = 0, a = ve.externalImports; n < a.length; n++) {
            var i = a[n]
            if (244 === i.kind && i.exportClause) {
              r = !0
              break
            }
          }
          if (!r) {
            var s = o(void 0)
            return t.push(s), s.name
          }
        }
        var c = []
        if (ve.exportedNames)
          for (var u = 0, _ = ve.exportedNames; u < _.length; u++) {
            var l = _[u]
            'default' !== l.text &&
              c.push(
                e.createPropertyAssignment(e.createLiteral(l), e.createTrue())
              )
          }
        for (var d = 0, p = ve.externalImports; d < p.length; d++) {
          var i = p[d]
          if (244 === i.kind) {
            var f = i
            if (f.exportClause)
              for (var g = 0, m = f.exportClause.elements; g < m.length; g++) {
                var y = m[g]
                c.push(
                  e.createPropertyAssignment(
                    e.createLiteral((y.name || y.propertyName).text),
                    e.createTrue()
                  )
                )
              }
          }
        }
        var v = e.createUniqueName('exportedNames')
        t.push(
          e.createVariableStatement(
            void 0,
            e.createVariableDeclarationList([
              e.createVariableDeclaration(
                v,
                void 0,
                e.createObjectLiteral(c, !0)
              )
            ])
          )
        )
        var h = o(v)
        return t.push(h), h.name
      }
    }
    function o(t) {
      var r = e.createUniqueName('exportStar'),
        n = e.createIdentifier('m'),
        a = e.createIdentifier('n'),
        i = e.createIdentifier('exports'),
        o = e.createStrictInequality(a, e.createLiteral('default'))
      return (
        t &&
          (o = e.createLogicalAnd(
            o,
            e.createLogicalNot(
              e.createCall(
                e.createPropertyAccess(t, 'hasOwnProperty'),
                void 0,
                [a]
              )
            )
          )),
        e.createFunctionDeclaration(
          void 0,
          void 0,
          void 0,
          r,
          void 0,
          [e.createParameter(void 0, void 0, void 0, n)],
          void 0,
          e.createBlock(
            [
              e.createVariableStatement(
                void 0,
                e.createVariableDeclarationList([
                  e.createVariableDeclaration(
                    i,
                    void 0,
                    e.createObjectLiteral([])
                  )
                ])
              ),
              e.createForIn(
                e.createVariableDeclarationList([
                  e.createVariableDeclaration(a, void 0)
                ]),
                n,
                e.createBlock([
                  e.setEmitFlags(
                    e.createIf(
                      o,
                      e.createStatement(
                        e.createAssignment(
                          e.createElementAccess(i, a),
                          e.createElementAccess(n, a)
                        )
                      )
                    ),
                    1
                  )
                ])
              ),
              e.createStatement(e.createCall(he, void 0, [i]))
            ],
            !0
          )
        )
      )
    }
    function s(t, r) {
      for (var n = [], a = 0, i = r; a < i.length; a++) {
        for (
          var o = i[a],
            s = e.forEach(o.externalImports, function(t) {
              return e.getLocalNameForExternalImport(t, ye)
            }),
            c = s ? e.getGeneratedNameForNode(s) : e.createUniqueName(''),
            u = [],
            _ = 0,
            l = o.externalImports;
          _ < l.length;
          _++
        ) {
          var d = l[_],
            p = e.getLocalNameForExternalImport(d, ye)
          switch (d.kind) {
            case 238:
              if (!d.importClause) break
            case 237:
              e.Debug.assert(void 0 !== p),
                u.push(e.createStatement(e.createAssignment(p, c)))
              break
            case 244:
              if ((e.Debug.assert(void 0 !== p), d.exportClause)) {
                for (
                  var f = [], g = 0, m = d.exportClause.elements;
                  g < m.length;
                  g++
                ) {
                  var y = m[g]
                  f.push(
                    e.createPropertyAssignment(
                      e.createLiteral(y.name.text),
                      e.createElementAccess(
                        c,
                        e.createLiteral((y.propertyName || y.name).text)
                      )
                    )
                  )
                }
                u.push(
                  e.createStatement(
                    e.createCall(he, void 0, [e.createObjectLiteral(f, !0)])
                  )
                )
              } else u.push(e.createStatement(e.createCall(t, void 0, [c])))
          }
        }
        n.push(
          e.createFunctionExpression(
            void 0,
            void 0,
            void 0,
            void 0,
            [e.createParameter(void 0, void 0, void 0, c)],
            void 0,
            e.createBlock(u, !0)
          )
        )
      }
      return e.createArrayLiteral(n, !0)
    }
    function c(e) {
      switch (e.kind) {
        case 238:
          return u(e)
        case 237:
          return _(e)
        case 244:
          return
        case 243:
          return l(e)
        default:
          return F(e)
      }
    }
    function u(t) {
      var r
      if (
        (t.importClause && le(e.getLocalNameForExternalImport(t, ye)), x(t))
      ) {
        var n = e.getOriginalNodeId(t)
        De[n] = S(De[n], t)
      } else r = S(r, t)
      return e.singleOrMany(r)
    }
    function _(t) {
      e.Debug.assert(
        e.isExternalModuleImportEqualsDeclaration(t),
        'import= for internal module references should be handled in an earlier transformer.'
      )
      var r
      if ((le(e.getLocalNameForExternalImport(t, ye)), x(t))) {
        var n = e.getOriginalNodeId(t)
        De[n] = D(De[n], t)
      } else r = D(r, t)
      return e.singleOrMany(r)
    }
    function l(t) {
      if (!t.isExportEquals) {
        var r = e.visitNode(t.expression, Q, e.isExpression),
          n = t.original
        if (!n || !x(n)) return P(e.createIdentifier('default'), r, !0)
        var a = e.getOriginalNodeId(t)
        De[a] = w(De[a], e.createIdentifier('default'), r, !0)
      }
    }
    function d(t) {
      if (
        ((ke = e.hasModifier(t, 1)
          ? e.append(
              ke,
              e.updateFunctionDeclaration(
                t,
                t.decorators,
                e.visitNodes(t.modifiers, $, e.isModifier),
                t.asteriskToken,
                e.getDeclarationName(t, !0, !0),
                void 0,
                e.visitNodes(t.parameters, Q, e.isParameterDeclaration),
                void 0,
                e.visitNode(t.body, Q, e.isBlock)
              )
            )
          : e.append(ke, t)),
        x(t))
      ) {
        var r = e.getOriginalNodeId(t)
        De[r] = N(De[r], t)
      } else ke = N(ke, t)
    }
    function p(t) {
      var r,
        n = e.getLocalName(t)
      if (
        (le(n),
        (r = e.append(
          r,
          e.setTextRange(
            e.createStatement(
              e.createAssignment(
                n,
                e.setTextRange(
                  e.createClassExpression(
                    void 0,
                    t.name,
                    void 0,
                    e.visitNodes(t.heritageClauses, Q, e.isHeritageClause),
                    e.visitNodes(t.members, Q, e.isClassElement)
                  ),
                  t
                )
              )
            ),
            t
          )
        )),
        x(t))
      ) {
        var a = e.getOriginalNodeId(t)
        De[a] = N(De[a], t)
      } else r = N(r, t)
      return e.singleOrMany(r)
    }
    function f(t) {
      if (!m(t.declarationList)) return e.visitNode(t, Q, e.isStatement)
      for (
        var r,
          n = e.hasModifier(t, 1),
          a = x(t),
          i = 0,
          o = t.declarationList.declarations;
        i < o.length;
        i++
      ) {
        var s = o[i]
        s.initializer ? (r = e.append(r, y(s, n && !a))) : g(s)
      }
      var c
      if (
        (r &&
          (c = e.append(
            c,
            e.setTextRange(e.createStatement(e.inlineExpressions(r)), t)
          )),
        a)
      ) {
        var u = e.getOriginalNodeId(t)
        De[u] = T(De[u], t, n)
      } else c = T(c, t, !1)
      return e.singleOrMany(c)
    }
    function g(t) {
      if (e.isBindingPattern(t.name))
        for (var r = 0, n = t.name.elements; r < n.length; r++) {
          var a = n[r]
          e.isOmittedExpression(a) || g(a)
        }
      else le(e.getSynthesizedClone(t.name))
    }
    function m(t) {
      return (
        0 === (2097152 & e.getEmitFlags(t)) &&
        (265 === xe.kind || 0 === (3 & e.getOriginalNode(t).flags))
      )
    }
    function y(r, n) {
      var a = n ? v : h
      return e.isBindingPattern(r.name)
        ? e.flattenDestructuringAssignment(r, Q, t, 0, !1, a)
        : a(r.name, e.visitNode(r.initializer, Q, e.isExpression))
    }
    function v(e, t, r) {
      return b(e, t, r, !0)
    }
    function h(e, t, r) {
      return b(e, t, r, !1)
    }
    function b(t, r, n, a) {
      return (
        le(e.getSynthesizedClone(t)),
        a
          ? O(t, se(e.setTextRange(e.createAssignment(t, r), n)))
          : se(e.setTextRange(e.createAssignment(t, r), n))
      )
    }
    function k(t) {
      if (x(t) && 208 === t.original.kind) {
        var r = e.getOriginalNodeId(t),
          n = e.hasModifier(t.original, 1)
        De[r] = T(De[r], t.original, n)
      }
      return t
    }
    function x(t) {
      return 0 !== (4194304 & e.getEmitFlags(t))
    }
    function C(t) {
      var r = e.getOriginalNodeId(t),
        n = De[r]
      return n ? (delete De[r], e.append(n, t)) : t
    }
    function S(e, t) {
      if (ve.exportEquals) return e
      var r = t.importClause
      if (!r) return e
      r.name && (e = A(e, r))
      var n = r.namedBindings
      if (n)
        switch (n.kind) {
          case 240:
            e = A(e, n)
            break
          case 241:
            for (var a = 0, i = n.elements; a < i.length; a++) {
              var o = i[a]
              e = A(e, o)
            }
        }
      return e
    }
    function D(e, t) {
      return ve.exportEquals ? e : A(e, t)
    }
    function T(e, t, r) {
      if (ve.exportEquals) return e
      for (var n = 0, a = t.declarationList.declarations; n < a.length; n++) {
        var i = a[n]
        ;(i.initializer || r) && (e = E(e, i, r))
      }
      return e
    }
    function E(t, r, n) {
      if (ve.exportEquals) return t
      if (e.isBindingPattern(r.name))
        for (var a = 0, i = r.name.elements; a < i.length; a++) {
          var o = i[a]
          e.isOmittedExpression(o) || (t = E(t, o, n))
        }
      else if (!e.isGeneratedIdentifier(r.name)) {
        var s = void 0
        n && ((t = w(t, r.name, e.getLocalName(r))), (s = r.name.text)),
          (t = A(t, r, s))
      }
      return t
    }
    function N(t, r) {
      if (ve.exportEquals) return t
      var n
      if (e.hasModifier(r, 1)) {
        var a = e.hasModifier(r, 512) ? e.createLiteral('default') : r.name
        ;(t = w(t, a, e.getLocalName(r))), (n = a.text)
      }
      return r.name && (t = A(t, r, n)), t
    }
    function A(t, r, n) {
      if (ve.exportEquals) return t
      var a = e.getDeclarationName(r),
        i = ve.exportSpecifiers.get(a.text)
      if (i)
        for (var o = 0, s = i; o < s.length; o++) {
          var c = s[o]
          c.name.text !== n && (t = w(t, c.name, a))
        }
      return t
    }
    function w(t, r, n, a) {
      return (t = e.append(t, P(r, n, a)))
    }
    function P(t, r, n) {
      var a = e.createStatement(O(t, r))
      return e.startOnNewLine(a), n || e.setEmitFlags(a, 1536), a
    }
    function O(t, r) {
      var n = e.isIdentifier(t) ? e.createLiteral(t) : t
      return e.createCall(he, void 0, [n, r])
    }
    function F(e) {
      switch (e.kind) {
        case 208:
          return f(e)
        case 228:
          return d(e)
        case 229:
          return p(e)
        case 214:
          return I(e)
        case 215:
          return R(e)
        case 216:
          return M(e)
        case 212:
          return J(e)
        case 213:
          return z(e)
        case 222:
          return K(e)
        case 220:
          return j(e)
        case 221:
          return V(e)
        case 235:
          return q(e)
        case 257:
          return U(e)
        case 258:
          return W(e)
        case 224:
          return H(e)
        case 260:
          return G(e)
        case 207:
          return X(e)
        case 297:
          return k(e)
        case 298:
          return C(e)
        default:
          return Q(e)
      }
    }
    function I(t) {
      var r = xe
      return (
        (xe = t),
        (t = e.updateFor(
          t,
          B(t.initializer),
          e.visitNode(t.condition, Q, e.isExpression),
          e.visitNode(t.incrementor, Q, e.isExpression),
          e.visitNode(t.statement, F, e.isStatement)
        )),
        (xe = r),
        t
      )
    }
    function R(t) {
      var r = xe
      return (
        (xe = t),
        (t = e.updateForIn(
          t,
          B(t.initializer),
          e.visitNode(t.expression, Q, e.isExpression),
          e.visitNode(t.statement, F, e.isStatement, e.liftToBlock)
        )),
        (xe = r),
        t
      )
    }
    function M(t) {
      var r = xe
      return (
        (xe = t),
        (t = e.updateForOf(
          t,
          t.awaitModifier,
          B(t.initializer),
          e.visitNode(t.expression, Q, e.isExpression),
          e.visitNode(t.statement, F, e.isStatement, e.liftToBlock)
        )),
        (xe = r),
        t
      )
    }
    function L(t) {
      return e.isVariableDeclarationList(t) && m(t)
    }
    function B(r) {
      if (!r) return r
      if (L(r)) {
        for (var n = void 0, a = 0, i = r.declarations; a < i.length; a++) {
          var o = i[a]
          n = e.append(n, y(o, !1))
        }
        return n ? e.inlineExpressions(n) : e.createOmittedExpression()
      }
      return e.visitEachChild(r, F, t)
    }
    function J(t) {
      return e.updateDo(
        t,
        e.visitNode(t.statement, F, e.isStatement, e.liftToBlock),
        e.visitNode(t.expression, Q, e.isExpression)
      )
    }
    function z(t) {
      return e.updateWhile(
        t,
        e.visitNode(t.expression, Q, e.isExpression),
        e.visitNode(t.statement, F, e.isStatement, e.liftToBlock)
      )
    }
    function K(t) {
      return e.updateLabel(
        t,
        t.label,
        e.visitNode(t.statement, F, e.isStatement, e.liftToBlock)
      )
    }
    function j(t) {
      return e.updateWith(
        t,
        e.visitNode(t.expression, Q, e.isExpression),
        e.visitNode(t.statement, F, e.isStatement, e.liftToBlock)
      )
    }
    function V(t) {
      return e.updateSwitch(
        t,
        e.visitNode(t.expression, Q, e.isExpression),
        e.visitNode(t.caseBlock, F, e.isCaseBlock)
      )
    }
    function q(t) {
      var r = xe
      return (
        (xe = t),
        (t = e.updateCaseBlock(
          t,
          e.visitNodes(t.clauses, F, e.isCaseOrDefaultClause)
        )),
        (xe = r),
        t
      )
    }
    function U(t) {
      return e.updateCaseClause(
        t,
        e.visitNode(t.expression, Q, e.isExpression),
        e.visitNodes(t.statements, F, e.isStatement)
      )
    }
    function W(r) {
      return e.visitEachChild(r, F, t)
    }
    function H(r) {
      return e.visitEachChild(r, F, t)
    }
    function G(t) {
      var r = xe
      return (
        (xe = t),
        (t = e.updateCatchClause(
          t,
          t.variableDeclaration,
          e.visitNode(t.block, F, e.isBlock)
        )),
        (xe = r),
        t
      )
    }
    function X(r) {
      var n = xe
      return (xe = r), (r = e.visitEachChild(r, F, t)), (xe = n), r
    }
    function Q(r) {
      return 1024 & r.transformFlags && 194 === r.kind
        ? Y(r)
        : 2048 & r.transformFlags
          ? e.visitEachChild(r, Q, t)
          : r
    }
    function Y(r) {
      return Z(r.left)
        ? e.flattenDestructuringAssignment(r, Q, t, 0, !0)
        : e.visitEachChild(r, Q, t)
    }
    function Z(t) {
      if (e.isAssignmentExpression(t, !0)) return Z(t.left)
      if (e.isSpreadExpression(t)) return Z(t.expression)
      if (e.isObjectLiteralExpression(t)) return e.some(t.properties, Z)
      if (e.isArrayLiteralExpression(t)) return e.some(t.elements, Z)
      if (e.isShorthandPropertyAssignment(t)) return Z(t.name)
      if (e.isPropertyAssignment(t)) return Z(t.initializer)
      if (e.isIdentifier(t)) {
        var r = pe.getReferencedExportContainer(t)
        return void 0 !== r && 265 === r.kind
      }
      return !1
    }
    function $(e) {
      switch (e.kind) {
        case 84:
        case 79:
          return
      }
      return e
    }
    function ee(t, r, n) {
      if (265 === r.kind) {
        var a = e.getOriginalNodeId(r)
        ;(ye = r),
          (ve = Se[a]),
          (he = Te[a]),
          (Ce = Ee[a]),
          Ce && delete Ee[a],
          me(t, r, n),
          (ye = void 0),
          (ve = void 0),
          (he = void 0),
          (Ce = void 0)
      } else me(t, r, n)
    }
    function te(e, t) {
      return (t = ge(e, t)), ce(t) ? t : 1 === e ? re(t) : t
    }
    function re(e) {
      switch (e.kind) {
        case 71:
          return ne(e)
        case 194:
          return ae(e)
        case 192:
        case 193:
          return ie(e)
      }
      return e
    }
    function ne(t) {
      if (4096 & e.getEmitFlags(t)) {
        var r = e.getExternalHelpersModuleName(ye)
        return r ? e.createPropertyAccess(r, t) : t
      }
      if (!e.isGeneratedIdentifier(t) && !e.isLocalName(t)) {
        var n = pe.getReferencedImportDeclaration(t)
        if (n) {
          if (e.isImportClause(n))
            return e.setTextRange(
              e.createPropertyAccess(
                e.getGeneratedNameForNode(n.parent),
                e.createIdentifier('default')
              ),
              t
            )
          if (e.isImportSpecifier(n))
            return e.setTextRange(
              e.createPropertyAccess(
                e.getGeneratedNameForNode(n.parent.parent.parent),
                e.getSynthesizedClone(n.propertyName || n.name)
              ),
              t
            )
        }
      }
      return t
    }
    function ae(t) {
      if (
        e.isAssignmentOperator(t.operatorToken.kind) &&
        e.isIdentifier(t.left) &&
        !e.isGeneratedIdentifier(t.left) &&
        !e.isLocalName(t.left) &&
        !e.isDeclarationNameOfEnumOrNamespace(t.left)
      ) {
        var r = oe(t.left)
        if (r) {
          for (var n = t, a = 0, i = r; a < i.length; a++) {
            var o = i[a]
            n = O(o, se(n))
          }
          return n
        }
      }
      return t
    }
    function ie(t) {
      if (
        (43 === t.operator || 44 === t.operator) &&
        e.isIdentifier(t.operand) &&
        !e.isGeneratedIdentifier(t.operand) &&
        !e.isLocalName(t.operand) &&
        !e.isDeclarationNameOfEnumOrNamespace(t.operand)
      ) {
        var r = oe(t.operand)
        if (r) {
          for (
            var n =
                193 === t.kind
                  ? e.setTextRange(e.createPrefix(t.operator, t.operand), t)
                  : t,
              a = 0,
              i = r;
            a < i.length;
            a++
          ) {
            var o = i[a]
            n = O(o, se(n))
          }
          return (
            193 === t.kind &&
              (n =
                43 === t.operator
                  ? e.createSubtract(se(n), e.createLiteral(1))
                  : e.createAdd(se(n), e.createLiteral(1))),
            n
          )
        }
      }
      return t
    }
    function oe(t) {
      var r
      if (!e.isGeneratedIdentifier(t)) {
        var n =
          pe.getReferencedImportDeclaration(t) ||
          pe.getReferencedValueDeclaration(t)
        if (n) {
          var a = pe.getReferencedExportContainer(t, !1)
          a && 265 === a.kind && (r = e.append(r, e.getDeclarationName(n))),
            (r = e.addRange(
              r,
              ve && ve.exportedBindings[e.getOriginalNodeId(n)]
            ))
        }
      }
      return r
    }
    function se(t) {
      return void 0 === Ce && (Ce = []), (Ce[e.getNodeId(t)] = !0), t
    }
    function ce(e) {
      return Ce && e.id && Ce[e.id]
    }
    var ue = t.startLexicalEnvironment,
      _e = t.endLexicalEnvironment,
      le = t.hoistVariableDeclaration,
      de = t.getCompilerOptions(),
      pe = t.getEmitResolver(),
      fe = t.getEmitHost(),
      ge = t.onSubstituteNode,
      me = t.onEmitNode
    ;(t.onSubstituteNode = te),
      (t.onEmitNode = ee),
      t.enableSubstitution(71),
      t.enableSubstitution(194),
      t.enableSubstitution(192),
      t.enableSubstitution(193),
      t.enableEmitNotification(265)
    var ye,
      ve,
      he,
      be,
      ke,
      xe,
      Ce,
      Se = [],
      De = [],
      Te = [],
      Ee = []
    return r
  }
  e.transformSystemModule = t
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t) {
    function r(r) {
      if (e.isDeclarationFile(r)) return r
      if (e.isExternalModule(r) || c.isolatedModules) {
        var a = e.getOrCreateExternalHelpersModuleNameIfNeeded(r, c)
        if (a) {
          var i = [],
            o = e.addPrologue(i, r.statements)
          return (
            e.append(
              i,
              e.createImportDeclaration(
                void 0,
                void 0,
                e.createImportClause(void 0, e.createNamespaceImport(a)),
                e.createLiteral(e.externalHelpersModuleNameText)
              )
            ),
            e.addRange(i, e.visitNodes(r.statements, n, e.isStatement, o)),
            e.updateSourceFileNode(
              r,
              e.setTextRange(e.createNodeArray(i), r.statements)
            )
          )
        }
        return e.visitEachChild(r, n, t)
      }
      return r
    }
    function n(e) {
      switch (e.kind) {
        case 237:
          return
        case 243:
          return a(e)
      }
      return e
    }
    function a(e) {
      return e.isExportEquals ? void 0 : e
    }
    function i(t, r, n) {
      e.isSourceFile(r) ? ((l = r), u(t, r, n), (l = void 0)) : u(t, r, n)
    }
    function o(t, r) {
      return (r = _(t, r)), e.isIdentifier(r) && 1 === t ? s(r) : r
    }
    function s(t) {
      if (4096 & e.getEmitFlags(t)) {
        var r = e.getExternalHelpersModuleName(l)
        if (r) return e.createPropertyAccess(r, t)
      }
      return t
    }
    var c = t.getCompilerOptions(),
      u = t.onEmitNode,
      _ = t.onSubstituteNode
    ;(t.onEmitNode = i),
      (t.onSubstituteNode = o),
      t.enableEmitNotification(265),
      t.enableSubstitution(71)
    var l
    return r
  }
  e.transformES2015Module = t
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t) {
    switch (t) {
      case e.ModuleKind.ES2015:
        return e.transformES2015Module
      case e.ModuleKind.System:
        return e.transformSystemModule
      default:
        return e.transformModule
    }
  }
  function r(r, n) {
    var a = r.jsx,
      i = e.getEmitScriptTarget(r),
      o = e.getEmitModuleKind(r),
      s = []
    return (
      e.addRange(s, n && n.before),
      s.push(e.transformTypeScript),
      2 === a && s.push(e.transformJsx),
      i < 5 && s.push(e.transformESNext),
      i < 4 && s.push(e.transformES2017),
      i < 3 && s.push(e.transformES2016),
      i < 2 && (s.push(e.transformES2015), s.push(e.transformGenerators)),
      s.push(t(o)),
      i < 1 && s.push(e.transformES5),
      e.addRange(s, n && n.after),
      s
    )
  }
  function n(t, r, n, a, i, o) {
    function s(t) {
      return !t || (e.isSourceFile(t) && e.isDeclarationFile(t)) ? t : B(t)
    }
    function c(t) {
      e.Debug.assert(
        F < 2,
        'Cannot modify the transformation context after transformation has completed.'
      ),
        (T[t] |= 1)
    }
    function u(t) {
      return 0 !== (1 & T[t.kind]) && 0 === (4 & e.getEmitFlags(t))
    }
    function _(t, r) {
      return (
        e.Debug.assert(
          F < 3,
          'Cannot substitute a node after the result is disposed.'
        ),
        (r && u(r) && P(t, r)) || r
      )
    }
    function l(t) {
      e.Debug.assert(
        F < 2,
        'Cannot modify the transformation context after transformation has completed.'
      ),
        (T[t] |= 2)
    }
    function d(t) {
      return 0 !== (2 & T[t.kind]) || 0 !== (2 & e.getEmitFlags(t))
    }
    function p(t, r, n) {
      e.Debug.assert(
        F < 3,
        'Cannot invoke TransformationResult callbacks after the result is disposed.'
      ),
        r && (d(r) ? O(t, r, n) : n(t, r))
    }
    function f(t) {
      e.Debug.assert(
        F > 0,
        'Cannot modify the lexical environment during initialization.'
      ),
        e.Debug.assert(
          F < 2,
          'Cannot modify the lexical environment after transformation has completed.'
        )
      var r = e.createVariableDeclaration(t)
      C ? C.push(r) : (C = [r])
    }
    function g(t) {
      e.Debug.assert(
        F > 0,
        'Cannot modify the lexical environment during initialization.'
      ),
        e.Debug.assert(
          F < 2,
          'Cannot modify the lexical environment after transformation has completed.'
        ),
        S ? S.push(t) : (S = [t])
    }
    function m() {
      e.Debug.assert(
        F > 0,
        'Cannot modify the lexical environment during initialization.'
      ),
        e.Debug.assert(
          F < 2,
          'Cannot modify the lexical environment after transformation has completed.'
        ),
        e.Debug.assert(!w, 'Lexical environment is suspended.'),
        (E[A] = C),
        (N[A] = S),
        A++,
        (C = void 0),
        (S = void 0)
    }
    function y() {
      e.Debug.assert(
        F > 0,
        'Cannot modify the lexical environment during initialization.'
      ),
        e.Debug.assert(
          F < 2,
          'Cannot modify the lexical environment after transformation has completed.'
        ),
        e.Debug.assert(!w, 'Lexical environment is already suspended.'),
        (w = !0)
    }
    function v() {
      e.Debug.assert(
        F > 0,
        'Cannot modify the lexical environment during initialization.'
      ),
        e.Debug.assert(
          F < 2,
          'Cannot modify the lexical environment after transformation has completed.'
        ),
        e.Debug.assert(w, 'Lexical environment is not suspended.'),
        (w = !1)
    }
    function h() {
      e.Debug.assert(
        F > 0,
        'Cannot modify the lexical environment during initialization.'
      ),
        e.Debug.assert(
          F < 2,
          'Cannot modify the lexical environment after transformation has completed.'
        ),
        e.Debug.assert(!w, 'Lexical environment is suspended.')
      var t
      if ((C || S) && (S && (t = S.slice()), C)) {
        var r = e.createVariableStatement(
          void 0,
          e.createVariableDeclarationList(C)
        )
        t ? t.push(r) : (t = [r])
      }
      return A--, (C = E[A]), (S = N[A]), 0 === A && ((E = []), (N = [])), t
    }
    function b(t) {
      e.Debug.assert(
        F > 0,
        'Cannot modify the transformation context during initialization.'
      ),
        e.Debug.assert(
          F < 2,
          'Cannot modify the transformation context after transformation has completed.'
        ),
        e.Debug.assert(!t.scoped, 'Cannot request a scoped emit helper.'),
        (D = e.append(D, t))
    }
    function k() {
      e.Debug.assert(
        F > 0,
        'Cannot modify the transformation context during initialization.'
      ),
        e.Debug.assert(
          F < 2,
          'Cannot modify the transformation context after transformation has completed.'
        )
      var t = D
      return (D = void 0), t
    }
    function x() {
      if (F < 3) {
        for (var t = 0, r = a; t < r.length; t++) {
          var n = r[t]
          e.disposeEmitNodes(e.getSourceFileOfNode(e.getParseTreeNode(n)))
        }
        ;(C = void 0),
          (E = void 0),
          (S = void 0),
          (N = void 0),
          (P = void 0),
          (O = void 0),
          (D = void 0),
          (F = 3)
      }
    }
    for (
      var C,
        S,
        D,
        T = new Array(299),
        E = [],
        N = [],
        A = 0,
        w = !1,
        P = function(e, t) {
          return t
        },
        O = function(e, t, r) {
          return r(e, t)
        },
        F = 0,
        I = {
          getCompilerOptions: function() {
            return n
          },
          getEmitResolver: function() {
            return t
          },
          getEmitHost: function() {
            return r
          },
          startLexicalEnvironment: m,
          suspendLexicalEnvironment: y,
          resumeLexicalEnvironment: v,
          endLexicalEnvironment: h,
          hoistVariableDeclaration: f,
          hoistFunctionDeclaration: g,
          requestEmitHelper: b,
          readEmitHelpers: k,
          enableSubstitution: c,
          enableEmitNotification: l,
          isSubstitutionEnabled: u,
          isEmitNotificationEnabled: d,
          get onSubstituteNode() {
            return P
          },
          set onSubstituteNode(t) {
            e.Debug.assert(
              F < 1,
              'Cannot modify transformation hooks after initialization has completed.'
            ),
              e.Debug.assert(void 0 !== t, "Value must not be 'undefined'"),
              (P = t)
          },
          get onEmitNode() {
            return O
          },
          set onEmitNode(t) {
            e.Debug.assert(
              F < 1,
              'Cannot modify transformation hooks after initialization has completed.'
            ),
              e.Debug.assert(void 0 !== t, "Value must not be 'undefined'"),
              (O = t)
          }
        },
        R = 0,
        M = a;
      R < M.length;
      R++
    ) {
      var L = M[R]
      e.disposeEmitNodes(e.getSourceFileOfNode(e.getParseTreeNode(L)))
    }
    e.performance.mark('beforeTransform')
    var B = e.chain.apply(void 0, i)(I)
    F = 1
    var J = e.map(a, o ? B : s)
    return (
      (F = 2),
      e.performance.mark('afterTransform'),
      e.performance.measure(
        'transformTime',
        'beforeTransform',
        'afterTransform'
      ),
      {
        transformed: J,
        substituteNode: _,
        emitNodeWithNotification: p,
        dispose: x
      }
    )
  }
  var a
  !(function(e) {
    ;(e[(e.Uninitialized = 0)] = 'Uninitialized'),
      (e[(e.Initialized = 1)] = 'Initialized'),
      (e[(e.Completed = 2)] = 'Completed'),
      (e[(e.Disposed = 3)] = 'Disposed')
  })(a || (a = {}))
  var i
  !(function(e) {
    ;(e[(e.Substitution = 1)] = 'Substitution'),
      (e[(e.EmitNotifications = 2)] = 'EmitNotifications')
  })(i || (i = {})),
    (e.getTransformers = r),
    (e.transformNodes = n)
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t, r) {
    function i(r, n, i) {
      S ||
        (k && o(),
        (f = void 0),
        (g = void 0),
        (y = -1),
        (v = void 0),
        (h = a),
        (b = 0),
        (k = {
          sourceMapFilePath: n,
          jsSourceMappingURL: x.inlineSourceMap
            ? void 0
            : e.getBaseFileName(e.normalizeSlashes(n)),
          sourceMapFile: e.getBaseFileName(e.normalizeSlashes(r)),
          sourceMapSourceRoot: x.sourceRoot || '',
          sourceMapSources: [],
          inputSourceFileNames: [],
          sourceMapNames: [],
          sourceMapMappings: '',
          sourceMapSourcesContent: x.inlineSources ? [] : void 0,
          sourceMapDecodedMappings: []
        }),
        (k.sourceMapSourceRoot = e.normalizeSlashes(k.sourceMapSourceRoot)),
        k.sourceMapSourceRoot.length &&
          47 !==
            k.sourceMapSourceRoot.charCodeAt(
              k.sourceMapSourceRoot.length - 1
            ) &&
          (k.sourceMapSourceRoot += e.directorySeparator),
        x.mapRoot
          ? ((m = e.normalizeSlashes(x.mapRoot)),
            265 === i.kind &&
              (m = e.getDirectoryPath(e.getSourceFilePathInNewDir(i, t, m))),
            e.isRootedDiskPath(m) || e.isUrl(m)
              ? (k.jsSourceMappingURL = e.combinePaths(m, k.jsSourceMappingURL))
              : ((m = e.combinePaths(t.getCommonSourceDirectory(), m)),
                (k.jsSourceMappingURL = e.getRelativePathToDirectoryOrUrl(
                  e.getDirectoryPath(e.normalizePath(r)),
                  e.combinePaths(m, k.jsSourceMappingURL),
                  t.getCurrentDirectory(),
                  t.getCanonicalFileName,
                  !0
                ))))
          : (m = e.getDirectoryPath(e.normalizePath(r))))
    }
    function o() {
      S ||
        ((f = void 0),
        (m = void 0),
        (y = void 0),
        (v = void 0),
        (h = void 0),
        (b = void 0),
        (k = void 0))
    }
    function s() {
      if (v && v !== h) {
        var t = h.emittedColumn
        if (h.emittedLine === v.emittedLine)
          k.sourceMapMappings && (k.sourceMapMappings += ',')
        else {
          for (var r = h.emittedLine; r < v.emittedLine; r++)
            k.sourceMapMappings += ';'
          t = 1
        }
        ;(k.sourceMapMappings += n(v.emittedColumn - t)),
          (k.sourceMapMappings += n(v.sourceIndex - h.sourceIndex)),
          (k.sourceMapMappings += n(v.sourceLine - h.sourceLine)),
          (k.sourceMapMappings += n(v.sourceColumn - h.sourceColumn)),
          v.nameIndex >= 0 &&
            (e.Debug.assert(
              !1,
              'We do not support name index right now, Make sure to update updateLastEncodedAndRecordedSpans when we start using this'
            ),
            (k.sourceMapMappings += n(v.nameIndex - b)),
            (b = v.nameIndex)),
          (h = v),
          k.sourceMapDecodedMappings.push(h)
      }
    }
    function c(t) {
      if (!S && !e.positionIsSynthesized(t)) {
        C && e.performance.mark('beforeSourcemap')
        var n = e.getLineAndCharacterOfPosition(f, t)
        n.line++, n.character++
        var a = r.getLine(),
          i = r.getColumn()
        !v ||
        v.emittedLine !== a ||
        v.emittedColumn !== i ||
        (v.sourceIndex === y &&
          (v.sourceLine > n.line ||
            (v.sourceLine === n.line && v.sourceColumn > n.character)))
          ? (s(),
            (v = {
              emittedLine: a,
              emittedColumn: i,
              sourceLine: n.line,
              sourceColumn: n.character,
              sourceIndex: y
            }))
          : ((v.sourceLine = n.line),
            (v.sourceColumn = n.character),
            (v.sourceIndex = y)),
          C &&
            (e.performance.mark('afterSourcemap'),
            e.performance.measure(
              'Source Map',
              'beforeSourcemap',
              'afterSourcemap'
            ))
      }
    }
    function u(t, r, n) {
      if (S) return n(t, r)
      if (r) {
        var a = r.emitNode,
          i = a && a.flags,
          o = (a && a.sourceMapRange) || r,
          s = o.pos,
          u = o.end
        295 !== r.kind && 0 === (16 & i) && s >= 0 && c(e.skipTrivia(g, s)),
          64 & i ? ((S = !0), n(t, r), (S = !1)) : n(t, r),
          295 !== r.kind && 0 === (32 & i) && u >= 0 && c(u)
      }
    }
    function _(t, r, n, a) {
      if (S) return a(r, n)
      var i = t && t.emitNode,
        o = i && i.flags,
        s = i && i.tokenSourceMapRanges && i.tokenSourceMapRanges[r]
      return (
        (n = e.skipTrivia(g, s ? s.pos : n)),
        0 === (128 & o) && n >= 0 && c(n),
        (n = a(r, n)),
        s && (n = s.end),
        0 === (256 & o) && n >= 0 && c(n),
        n
      )
    }
    function l(r) {
      if (!S) {
        ;(f = r), (g = f.text)
        var n = x.sourceRoot ? t.getCommonSourceDirectory() : m,
          a = e.getRelativePathToDirectoryOrUrl(
            n,
            f.fileName,
            t.getCurrentDirectory(),
            t.getCanonicalFileName,
            !0
          )
        ;(y = e.indexOf(k.sourceMapSources, a)),
          y === -1 &&
            ((y = k.sourceMapSources.length),
            k.sourceMapSources.push(a),
            k.inputSourceFileNames.push(f.fileName),
            x.inlineSources && k.sourceMapSourcesContent.push(f.text))
      }
    }
    function d() {
      if (!S)
        return (
          s(),
          JSON.stringify({
            version: 3,
            file: k.sourceMapFile,
            sourceRoot: k.sourceMapSourceRoot,
            sources: k.sourceMapSources,
            names: k.sourceMapNames,
            mappings: k.sourceMapMappings,
            sourcesContent: k.sourceMapSourcesContent
          })
        )
    }
    function p() {
      if (!S) {
        if (x.inlineSourceMap) {
          var t = e.convertToBase64(d())
          return (k.jsSourceMappingURL = 'data:application/json;base64,' + t)
        }
        return k.jsSourceMappingURL
      }
    }
    var f,
      g,
      m,
      y,
      v,
      h,
      b,
      k,
      x = t.getCompilerOptions(),
      C = x.extendedDiagnostics,
      S = !(x.sourceMap || x.inlineSourceMap)
    return {
      initialize: i,
      reset: o,
      getSourceMapData: function() {
        return k
      },
      setSourceFile: l,
      emitPos: c,
      emitNodeWithSourceMap: u,
      emitTokenWithSourceMap: _,
      getText: d,
      getSourceMappingURL: p
    }
  }
  function r(e) {
    if (e < 64) return i.charAt(e)
    throw TypeError(e + ': not a 64 based value')
  }
  function n(e) {
    e < 0 ? (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 a = {
    emittedLine: 1,
    emittedColumn: 1,
    sourceLine: 1,
    sourceColumn: 1,
    sourceIndex: 0
  }
  e.createSourceMapWriter = t
  var i = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t, r) {
    function n(t, r, n) {
      if (z) return void n(t, r)
      if (r) {
        J = !1
        var i = r.emitNode,
          o = i && i.flags,
          s = (i && i.commentRange) || r,
          c = s.pos,
          u = s.end
        if ((c < 0 && u < 0) || c === u) a(t, r, i, o, n)
        else {
          I && e.performance.mark('preEmitNodeWithComment')
          var _ = 295 !== r.kind,
            d = c < 0 || 0 !== (512 & o),
            p = u < 0 || 0 !== (1024 & o)
          d || l(c, _)
          var f = M,
            m = L,
            y = B
          d || (M = c),
            p || ((L = u), 227 === r.kind && (B = u)),
            I && e.performance.measure('commentTime', 'preEmitNodeWithComment'),
            a(t, r, i, o, n),
            I && e.performance.mark('postEmitNodeWithComment'),
            (M = f),
            (L = m),
            (B = y),
            !p && _ && g(u),
            I && e.performance.measure('commentTime', 'postEmitNodeWithComment')
        }
      }
    }
    function a(t, r, n, a, s) {
      var c = n && n.leadingComments
      e.some(c) &&
        (I && e.performance.mark('preEmitNodeWithSynthesizedComments'),
        e.forEach(c, i),
        I &&
          e.performance.measure(
            'commentTime',
            'preEmitNodeWithSynthesizedComments'
          )),
        u(t, r, a, s)
      var _ = n && n.trailingComments
      e.some(_) &&
        (I && e.performance.mark('postEmitNodeWithSynthesizedComments'),
        e.forEach(_, o),
        I &&
          e.performance.measure(
            'commentTime',
            'postEmitNodeWithSynthesizedComments'
          ))
    }
    function i(e) {
      2 === e.kind && A.writeLine(),
        s(e),
        e.hasTrailingNewLine || 2 === e.kind ? A.writeLine() : A.write(' ')
    }
    function o(e) {
      A.isAtStartOfLine() || A.write(' '),
        s(e),
        e.hasTrailingNewLine && A.writeLine()
    }
    function s(t) {
      var r = c(t),
        n = 3 === t.kind ? e.computeLineStarts(r) : void 0
      e.writeCommentRange(r, n, A, 0, r.length, R)
    }
    function c(e) {
      return 3 === e.kind ? '/*' + e.text + '*/' : '//' + e.text
    }
    function u(e, t, r, n) {
      2048 & r ? ((z = !0), n(e, t), (z = !1)) : n(e, t)
    }
    function _(t, r, n) {
      I && e.performance.mark('preEmitBodyWithDetachedComments')
      var a = r.pos,
        i = r.end,
        o = e.getEmitFlags(t),
        s = a < 0 || 0 !== (512 & o),
        c = z || i < 0 || 0 !== (1024 & o)
      s || T(r),
        I &&
          e.performance.measure(
            'commentTime',
            'preEmitBodyWithDetachedComments'
          ),
        2048 & o && !z ? ((z = !0), n(t), (z = !1)) : n(t),
        I && e.performance.mark('beginEmitBodyWithDetachedCommetns'),
        c || (l(r.end, !0), J && !A.isAtStartOfLine() && A.writeLine()),
        I &&
          e.performance.measure(
            'commentTime',
            'beginEmitBodyWithDetachedCommetns'
          )
    }
    function l(e, t) {
      ;(J = !1), t ? h(e, p) : 0 === e && h(e, d)
    }
    function d(e, t, r, n, a) {
      N(e, t) && p(e, t, r, n, a)
    }
    function p(t, n, a, i, o) {
      J || (e.emitNewLineBeforeLeadingCommentOfPosition(O, A, o, t), (J = !0)),
        r && r(t),
        e.writeCommentRange(P, O, A, t, n, R),
        r && r(n),
        i ? A.writeLine() : A.write(' ')
    }
    function f(e) {
      z || e === -1 || l(e, !0)
    }
    function g(e) {
      b(e, m)
    }
    function m(t, n, a, i) {
      A.isAtStartOfLine() || A.write(' '),
        r && r(t),
        e.writeCommentRange(P, O, A, t, n, R),
        r && r(n),
        i && A.writeLine()
    }
    function y(t) {
      z ||
        (I && e.performance.mark('beforeEmitTrailingCommentsOfPosition'),
        b(t, v),
        I &&
          e.performance.measure(
            'commentTime',
            'beforeEmitTrailingCommentsOfPosition'
          ))
    }
    function v(t, n, a, i) {
      r && r(t),
        e.writeCommentRange(P, O, A, t, n, R),
        r && r(n),
        i ? A.writeLine() : A.write(' ')
    }
    function h(t, r) {
      ;(M !== -1 && t === M) ||
        (S(t) ? D(r) : e.forEachLeadingCommentRange(P, t, r, t))
    }
    function b(t, r) {
      ;(L === -1 || (t !== L && t !== B)) &&
        e.forEachTrailingCommentRange(P, t, r)
    }
    function k() {
      ;(w = void 0), (P = void 0), (O = void 0), (F = void 0)
    }
    function x(e) {
      A = e
    }
    function C(t) {
      ;(w = t), (P = w.text), (O = e.getLineStarts(w)), (F = void 0)
    }
    function S(t) {
      return void 0 !== F && e.lastOrUndefined(F).nodePos === t
    }
    function D(t) {
      var r = e.lastOrUndefined(F).detachedCommentEndPos
      F.length - 1 ? F.pop() : (F = void 0),
        e.forEachLeadingCommentRange(P, r, t, r)
    }
    function T(t) {
      var r = e.emitDetachedComments(P, O, A, E, t, R, z)
      r && (F ? F.push(r) : (F = [r]))
    }
    function E(t, n, a, i, o, s) {
      r && r(i), e.writeCommentRange(t, n, a, i, o, s), r && r(o)
    }
    function N(t, r) {
      if (
        47 === P.charCodeAt(t + 1) &&
        t + 2 < r &&
        47 === P.charCodeAt(t + 2)
      ) {
        var n = P.substring(t, r)
        return !(
          !n.match(e.fullTripleSlashReferencePathRegEx) &&
          !n.match(e.fullTripleSlashAMDReferencePathRegEx)
        )
      }
      return !1
    }
    var A,
      w,
      P,
      O,
      F,
      I = t.extendedDiagnostics,
      R = e.getNewLineCharacter(t),
      M = -1,
      L = -1,
      B = -1,
      J = !1,
      z = t.removeComments
    return {
      reset: k,
      setWriter: x,
      setSourceFile: C,
      emitNodeWithComments: n,
      emitBodyWithDetachedComments: _,
      emitTrailingCommentsOfPosition: y,
      emitLeadingCommentsOfPosition: f
    }
  }
  e.createCommentWriter = t
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t, n, a) {
    function i(e, a) {
      var i = e.declarationFilePath
      r(t, n, o, i, a, !1)
    }
    var o = e.createDiagnosticCollection()
    return (
      e.forEachEmittedFile(t, i, a), o.getDiagnostics(a ? a.fileName : void 0)
    )
  }
  function r(t, r, n, a, i, o) {
    function s(e) {
      var t = be.substring(e.pos, e.end)
      return t.indexOf('@internal') >= 0
    }
    function c(t) {
      if (t) {
        var r = e.getLeadingCommentRanges(be, t.pos)
        if (e.forEach(r, s)) return
        oe(t)
      }
    }
    function u() {
      var t = e.createTextWriter(me)
      ;(t.trackSymbol = f),
        (t.reportInaccessibleThisError = m),
        (t.reportIllegalExtends = g),
        (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.writeProperty = t.write),
        (t.writeSymbol = t.write),
        _(t)
    }
    function _(e) {
      ;(pe = e),
        (ce = e.write),
        (de = e.writeTextOfNode),
        (ue = e.writeLine),
        (_e = e.increaseIndent),
        (le = e.decreaseIndent)
    }
    function l(t) {
      var r = pe
      e.forEach(t, function(t) {
        var r
        226 === t.kind
          ? (r = t.parent.parent)
          : 241 === t.kind || 242 === t.kind || 239 === t.kind
            ? e.Debug.fail(
                'We should be getting ImportDeclaration instead to write'
              )
            : (r = t)
        var n = e.forEach(Pe, function(e) {
          return e.node === r ? e : void 0
        })
        if (
          (!n &&
            De &&
            (n = e.forEach(De, function(e) {
              return e.node === r ? e : void 0
            })),
          n)
        )
          if (238 === n.node.kind) n.isVisible = !0
          else {
            u()
            for (var a = n.indent; a; a--) _e()
            233 === r.kind && (e.Debug.assert(void 0 === De), (De = [])),
              P(r),
              233 === r.kind &&
                ((n.subModuleElementDeclarationEmitInfo = De), (De = void 0)),
              (n.asynchronousOutput = pe.getText())
          }
      }),
        _(r)
    }
    function d(t) {
      if (t) {
        Te || (Te = e.createMap())
        for (var r = 0, n = t; r < n.length; r++) {
          var a = n[r]
          Te.has(a) || Te.set(a, a)
        }
      }
    }
    function p(t) {
      if (0 === t.accessibility)
        t && t.aliasesToMakeVisible && l(t.aliasesToMakeVisible)
      else {
        Ee = !0
        var r = pe.getSymbolAccessibilityDiagnostic(t)
        r &&
          (r.typeName
            ? n.add(
                e.createDiagnosticForNode(
                  t.errorNode || r.errorNode,
                  r.diagnosticMessage,
                  e.getTextOfNodeFromSourceText(be, r.typeName),
                  t.errorSymbolName,
                  t.errorModuleName
                )
              )
            : n.add(
                e.createDiagnosticForNode(
                  t.errorNode || r.errorNode,
                  r.diagnosticMessage,
                  t.errorSymbolName,
                  t.errorModuleName
                )
              ))
      }
    }
    function f(e, t, n) {
      p(r.isSymbolAccessible(e, t, n, !0)),
        d(r.getTypeReferenceDirectivesForSymbol(e, n))
    }
    function g() {
      Se &&
        ((Ee = !0),
        n.add(
          e.createDiagnosticForNode(
            Se,
            e.Diagnostics
              .extends_clause_of_exported_class_0_refers_to_a_type_whose_name_cannot_be_referenced,
            e.declarationNameToString(Se)
          )
        ))
    }
    function m() {
      Se &&
        ((Ee = !0),
        n.add(
          e.createDiagnosticForNode(
            Se,
            e.Diagnostics
              .The_inferred_type_of_0_references_an_inaccessible_this_type_A_type_annotation_is_necessary,
            e.declarationNameToString(Se)
          )
        ))
    }
    function y(e, t, n) {
      ;(pe.getSymbolAccessibilityDiagnostic = n), ce(': ')
      var a = 146 === e.kind && r.isRequiredInitializedParameter(e)
      if (t && !a) S(t)
      else {
        Se = e.name
        var i = 1026 | (a ? 4096 : 0)
        r.writeTypeOfDeclaration(e, ve, i, pe), (Se = void 0)
      }
    }
    function v(e, t) {
      ;(pe.getSymbolAccessibilityDiagnostic = t),
        ce(': '),
        e.type
          ? S(e.type)
          : ((Se = e.name),
            r.writeReturnTypeOfSignatureDeclaration(e, ve, 1026, pe),
            (Se = void 0))
    }
    function h(e) {
      for (var t = 0, r = e; t < r.length; t++) {
        var n = r[t]
        Ae(n)
      }
    }
    function b(e, t, r, n) {
      for (var a = pe.getTextPos(), i = 0, o = e; i < o.length; i++) {
        var s = o[i]
        ;(n && !n(s)) ||
          (a !== pe.getTextPos() && ce(t), (a = pe.getTextPos()), r(s))
      }
    }
    function k(e, t, r) {
      b(e, ', ', t, r)
    }
    function x(t) {
      if (t) {
        var r = e.getJSDocCommentRanges(t, be)
        e.emitNewLineBeforeLeadingComments(ke, pe, t, r),
          e.emitComments(be, ke, pe, r, !1, !0, me, e.writeCommentRange)
      }
    }
    function C(e, t) {
      ;(pe.getSymbolAccessibilityDiagnostic = t), S(e)
    }
    function S(t) {
      function n(e) {
        if (71 === e.kind) de(be, e)
        else {
          var t = 143 === e.kind ? e.left : e.expression,
            r = 143 === e.kind ? e.right : e.name
          n(t), ce('.'), de(be, r)
        }
      }
      function a(e) {
        var t = r.isEntityNameVisible(e, 237 === e.parent.kind ? e.parent : ve)
        p(t), d(r.getTypeReferenceDirectivesForEntityName(e)), n(e)
      }
      function i(t) {
        e.isEntityNameExpression(t.expression) &&
          (e.Debug.assert(
            71 === t.expression.kind || 179 === t.expression.kind
          ),
          a(t.expression),
          t.typeArguments && (ce('<'), k(t.typeArguments, S), ce('>')))
      }
      function o(e) {
        a(e.typeName),
          e.typeArguments && (ce('<'), k(e.typeArguments, S), ce('>'))
      }
      function s(e) {
        de(be, e.parameterName), ce(' is '), S(e.type)
      }
      function c(e) {
        ce('typeof '), a(e.exprName)
      }
      function u(e) {
        S(e.elementType), ce('[]')
      }
      function _(e) {
        ce('['), k(e.elementTypes, S), ce(']')
      }
      function l(e) {
        b(e.types, ' | ', S)
      }
      function f(e) {
        b(e.types, ' & ', S)
      }
      function g(e) {
        ce('('), S(e.type), ce(')')
      }
      function m(t) {
        ce(e.tokenToString(t.operator)), ce(' '), S(t.type)
      }
      function y(e) {
        S(e.objectType), ce('['), S(e.indexType), ce(']')
      }
      function v(e) {
        var t = ve
        ;(ve = e),
          ce('{'),
          ue(),
          _e(),
          e.readonlyToken && ce('readonly '),
          ce('['),
          n(e.typeParameter.name),
          ce(' in '),
          S(e.typeParameter.constraint),
          ce(']'),
          e.questionToken && ce('?'),
          ce(': '),
          S(e.type),
          ce(';'),
          ue(),
          le(),
          ce('}'),
          (ve = t)
      }
      function x(e) {
        ce('{'), e.members.length && (ue(), _e(), h(e.members), le()), ce('}')
      }
      switch (t.kind) {
        case 119:
        case 136:
        case 133:
        case 122:
        case 134:
        case 137:
        case 105:
        case 139:
        case 95:
        case 130:
        case 169:
        case 173:
          return de(be, t)
        case 201:
          return i(t)
        case 159:
          return o(t)
        case 162:
          return c(t)
        case 164:
          return u(t)
        case 165:
          return _(t)
        case 166:
          return l(t)
        case 167:
          return f(t)
        case 168:
          return g(t)
        case 170:
          return m(t)
        case 171:
          return y(t)
        case 172:
          return v(t)
        case 160:
        case 161:
          return ne(t)
        case 163:
          return x(t)
        case 71:
          return a(t)
        case 143:
          return a(t)
        case 158:
          return s(t)
      }
    }
    function D(t) {
      ;(be = t.text),
        (ke = e.getLineStarts(t)),
        (xe = t.identifiers),
        (Ce = e.isExternalModule(t)),
        (ve = t),
        e.emitDetachedComments(be, ke, pe, e.writeCommentRange, t, me, !0),
        h(t.statements)
    }
    function T(e) {
      if (!xe.has(e)) return e
      for (var t = 0; ; ) {
        t++
        var r = e + '_' + t
        if (!xe.has(r)) return r
      }
    }
    function E(e, t, n, a) {
      var i = T(t)
      return (
        a && ce('declare '),
        ce('const '),
        ce(i),
        ce(': '),
        (pe.getSymbolAccessibilityDiagnostic = function() {
          return n
        }),
        r.writeTypeOfExpression(e, ve, 1026, pe),
        ce(';'),
        ue(),
        i
      )
    }
    function N(t) {
      if (71 === t.expression.kind)
        ce(t.isExportEquals ? 'export = ' : 'export default '),
          de(be, t.expression)
      else {
        var n = E(
          t.expression,
          '_default',
          {
            diagnosticMessage:
              e.Diagnostics
                .Default_export_of_the_module_has_or_is_using_private_name_0,
            errorNode: t
          },
          we
        )
        ce(t.isExportEquals ? 'export = ' : 'export default '), ce(n)
      }
      if ((ce(';'), ue(), 71 === t.expression.kind)) {
        var a = r.collectLinkedAliases(t.expression)
        l(a)
      }
    }
    function A(e) {
      return r.isDeclarationVisible(e)
    }
    function w(e, t) {
      if (t) P(e)
      else if (237 === e.kind || (265 === e.parent.kind && Ce)) {
        var n = void 0
        if (De && 265 !== e.parent.kind)
          De.push({
            node: e,
            outputPos: pe.getTextPos(),
            indent: pe.getIndent(),
            isVisible: n
          })
        else {
          if (238 === e.kind) {
            var a = e
            a.importClause &&
              (n =
                (a.importClause.name &&
                  r.isDeclarationVisible(a.importClause)) ||
                R(a.importClause.namedBindings))
          }
          Pe.push({
            node: e,
            outputPos: pe.getTextPos(),
            indent: pe.getIndent(),
            isVisible: n
          })
        }
      }
    }
    function P(t) {
      switch (t.kind) {
        case 228:
          return re(t)
        case 208:
          return ee(t)
        case 230:
          return X(t)
        case 229:
          return G(t)
        case 231:
          return j(t)
        case 232:
          return V(t)
        case 233:
          return K(t)
        case 237:
          return I(t)
        case 238:
          return M(t)
        default:
          e.Debug.fail('Unknown symbol kind')
      }
    }
    function O(t) {
      if (265 === t.parent.kind) {
        var r = e.getModifierFlags(t)
        1 & r && ce('export '),
          512 & r ? ce('default ') : 230 !== t.kind && we && ce('declare ')
      }
    }
    function F(e) {
      8 & e ? ce('private ') : 16 & e && ce('protected '),
        32 & e && ce('static '),
        64 & e && ce('readonly '),
        128 & e && ce('abstract ')
    }
    function I(t) {
      function r() {
        return {
          diagnosticMessage:
            e.Diagnostics.Import_declaration_0_is_using_private_name_1,
          errorNode: t,
          typeName: t.name
        }
      }
      Ne(t),
        e.hasModifier(t, 1) && ce('export '),
        ce('import '),
        de(be, t.name),
        ce(' = '),
        e.isInternalModuleImportEqualsDeclaration(t)
          ? (C(t.moduleReference, r), ce(';'))
          : (ce('require('), L(t), ce(');')),
        pe.writeLine()
    }
    function R(t) {
      if (t)
        return 240 === t.kind
          ? r.isDeclarationVisible(t)
          : e.forEach(t.elements, function(e) {
              return r.isDeclarationVisible(e)
            })
    }
    function M(t) {
      if (
        (Ne(t),
        e.hasModifier(t, 1) && ce('export '),
        ce('import '),
        t.importClause)
      ) {
        var n = pe.getTextPos()
        t.importClause.name &&
          r.isDeclarationVisible(t.importClause) &&
          de(be, t.importClause.name),
          t.importClause.namedBindings &&
            R(t.importClause.namedBindings) &&
            (n !== pe.getTextPos() && ce(', '),
            240 === t.importClause.namedBindings.kind
              ? (ce('* as '), de(be, t.importClause.namedBindings.name))
              : (ce('{ '),
                k(
                  t.importClause.namedBindings.elements,
                  B,
                  r.isDeclarationVisible
                ),
                ce(' }'))),
          ce(' from ')
      }
      L(t), ce(';'), pe.writeLine()
    }
    function L(n) {
      he = he || 233 !== n.kind
      var a
      if (237 === n.kind) {
        var i = n
        a = e.getExternalModuleImportEqualsDeclarationExpression(i)
      } else if (233 === n.kind) a = n.name
      else {
        var i = n
        a = i.moduleSpecifier
      }
      if (9 === a.kind && ge && (ye.out || ye.outFile)) {
        var o = e.getExternalModuleNameFromDeclaration(t, r, n)
        if (o) return ce('"'), ce(o), void ce('"')
      }
      de(be, a)
    }
    function B(e) {
      e.propertyName && (de(be, e.propertyName), ce(' as ')), de(be, e.name)
    }
    function J(e) {
      B(e)
      var t = r.collectLinkedAliases(e.propertyName || e.name)
      l(t)
    }
    function z(e) {
      Ne(e),
        ce('export '),
        e.exportClause
          ? (ce('{ '), k(e.exportClause.elements, J), ce(' }'))
          : ce('*'),
        e.moduleSpecifier && (ce(' from '), L(e)),
        ce(';'),
        pe.writeLine()
    }
    function K(t) {
      for (
        Ne(t),
          O(t),
          e.isGlobalScopeAugmentation(t)
            ? ce('global ')
            : (ce(16 & t.flags ? 'namespace ' : 'module '),
              e.isExternalModuleAugmentation(t) ? L(t) : de(be, t.name));
        t.body && 234 !== t.body.kind;

      )
        (t = t.body), ce('.'), de(be, t.name)
      var r = ve
      t.body
        ? ((ve = t),
          ce(' {'),
          ue(),
          _e(),
          h(t.body.statements),
          le(),
          ce('}'),
          ue(),
          (ve = r))
        : ce(';')
    }
    function j(t) {
      function r() {
        return {
          diagnosticMessage:
            e.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1,
          errorNode: t.type,
          typeName: t.name
        }
      }
      var n = ve
      ;(ve = t),
        Ne(t),
        O(t),
        ce('type '),
        de(be, t.name),
        W(t.typeParameters),
        ce(' = '),
        C(t.type, r),
        ce(';'),
        ue(),
        (ve = n)
    }
    function V(t) {
      Ne(t),
        O(t),
        e.isConst(t) && ce('const '),
        ce('enum '),
        de(be, t.name),
        ce(' {'),
        ue(),
        _e(),
        h(t.members),
        le(),
        ce('}'),
        ue()
    }
    function q(e) {
      Ne(e), de(be, e.name)
      var t = r.getConstantValue(e)
      void 0 !== t && (ce(' = '), ce(t.toString())), ce(','), ue()
    }
    function U(t) {
      return 151 === t.parent.kind && e.hasModifier(t.parent, 8)
    }
    function W(t) {
      function r(t) {
        function r() {
          var r
          switch (t.parent.kind) {
            case 229:
              r =
                e.Diagnostics
                  .Type_parameter_0_of_exported_class_has_or_is_using_private_name_1
              break
            case 230:
              r =
                e.Diagnostics
                  .Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1
              break
            case 156:
              r =
                e.Diagnostics
                  .Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1
              break
            case 155:
              r =
                e.Diagnostics
                  .Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1
              break
            case 151:
            case 150:
              r = e.hasModifier(t.parent, 32)
                ? e.Diagnostics
                    .Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1
                : 229 === 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 228:
              r =
                e.Diagnostics
                  .Type_parameter_0_of_exported_function_has_or_is_using_private_name_1
              break
            case 231:
              r =
                e.Diagnostics
                  .Type_parameter_0_of_exported_type_alias_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 }
        }
        _e(),
          Ne(t),
          le(),
          de(be, t.name),
          t.constraint &&
            !U(t) &&
            (ce(' extends '),
            160 === t.parent.kind ||
            161 === t.parent.kind ||
            (t.parent.parent && 163 === t.parent.parent.kind)
              ? (e.Debug.assert(
                  151 === t.parent.kind ||
                    150 === t.parent.kind ||
                    160 === t.parent.kind ||
                    161 === t.parent.kind ||
                    155 === t.parent.kind ||
                    156 === t.parent.kind
                ),
                S(t.constraint))
              : C(t.constraint, r)),
          t['default'] &&
            !U(t) &&
            (ce(' = '),
            160 === t.parent.kind ||
            161 === t.parent.kind ||
            (t.parent.parent && 163 === t.parent.parent.kind)
              ? (e.Debug.assert(
                  151 === t.parent.kind ||
                    150 === t.parent.kind ||
                    160 === t.parent.kind ||
                    161 === t.parent.kind ||
                    155 === t.parent.kind ||
                    156 === t.parent.kind
                ),
                S(t['default']))
              : C(t['default'], r))
      }
      t && (ce('<'), k(t, r), ce('>'))
    }
    function H(t, r) {
      function n(t) {
        function n() {
          var n
          return (
            (n =
              229 === t.parent.parent.kind
                ? r
                  ? 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: n,
              errorNode: t,
              typeName: e.getNameOfDeclaration(t.parent.parent)
            }
          )
        }
        e.isEntityNameExpression(t.expression)
          ? C(t, n)
          : r || 95 !== t.expression.kind || ce('null')
      }
      t && (ce(r ? ' implements ' : ' extends '), k(t, n))
    }
    function G(t) {
      function r(t) {
        t &&
          e.forEach(t.parameters, function(t) {
            e.hasModifier(t, 92) && Q(t)
          })
      }
      var n = ve
      ve = t
      var a,
        i = e.getClassExtendsHeritageClauseElement(t)
      i &&
        !e.isEntityNameExpression(i.expression) &&
        (a =
          95 === i.expression.kind
            ? 'null'
            : E(
                i.expression,
                t.name.text + '_base',
                {
                  diagnosticMessage:
                    e.Diagnostics
                      .extends_clause_of_exported_class_0_has_or_is_using_private_name_1,
                  errorNode: i,
                  typeName: t.name
                },
                !e.findAncestor(t, function(e) {
                  return 233 === e.kind
                })
              )),
        Ne(t),
        O(t),
        e.hasModifier(t, 128) && ce('abstract '),
        ce('class '),
        de(be, t.name),
        W(t.typeParameters),
        i &&
          (e.isEntityNameExpression(i.expression)
            ? H([i], !1)
            : (ce(' extends '),
              ce(a),
              i.typeArguments && (ce('<'), k(i.typeArguments, S), ce('>')))),
        H(e.getClassImplementsHeritageClauseElements(t), !0),
        ce(' {'),
        ue(),
        _e(),
        r(e.getFirstConstructorWithBody(t)),
        h(t.members),
        le(),
        ce('}'),
        ue(),
        (ve = n)
    }
    function X(t) {
      Ne(t), O(t), ce('interface '), de(be, t.name)
      var r = ve
      ;(ve = t), W(t.typeParameters)
      var n = e.filter(e.getInterfaceBaseTypeNodes(t), function(t) {
        return e.isEntityNameExpression(t.expression)
      })
      n && n.length && H(n, !1),
        ce(' {'),
        ue(),
        _e(),
        h(t.members),
        le(),
        ce('}'),
        ue(),
        (ve = r)
    }
    function Q(t) {
      e.hasDynamicName(t) ||
        (Ne(t), F(e.getModifierFlags(t)), Y(t), ce(';'), ue())
    }
    function Y(t) {
      function n(r) {
        return 226 === t.kind
          ? r.errorModuleName
            ? 2 === r.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
          : 149 === t.kind || 148 === t.kind
            ? e.hasModifier(t, 32)
              ? r.errorModuleName
                ? 2 === r.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
              : 229 === t.parent.kind
                ? r.errorModuleName
                  ? 2 === r.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
                : r.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 r = n(e)
        return void 0 !== r
          ? { diagnosticMessage: r, errorNode: t, typeName: t.name }
          : void 0
      }
      function i(e) {
        for (var t = [], r = 0, n = e.elements; r < n.length; r++) {
          var a = n[r]
          200 !== a.kind && t.push(a)
        }
        k(t, o)
      }
      function o(t) {
        function r(e) {
          var r = n(e)
          return void 0 !== r
            ? { diagnosticMessage: r, errorNode: t, typeName: t.name }
            : void 0
        }
        t.name &&
          (e.isBindingPattern(t.name)
            ? i(t.name)
            : (de(be, t.name), y(t, void 0, r)))
      }
      ;(226 !== t.kind || r.isDeclarationVisible(t)) &&
        (e.isBindingPattern(t.name)
          ? i(t.name)
          : (de(be, t.name),
            (149 === t.kind ||
              148 === t.kind ||
              (146 === t.kind && !e.isParameterPropertyDeclaration(t))) &&
              e.hasQuestionToken(t) &&
              ce('?'),
            (149 !== t.kind && 148 !== t.kind) || 163 !== t.parent.kind
              ? r.isLiteralConstDeclaration(t)
                ? (ce(' = '), r.writeLiteralConstValue(t, pe))
                : e.hasModifier(t, 8) || y(t, t.type, a)
              : Z(t)))
    }
    function Z(e) {
      e.type && (ce(': '), S(e.type))
    }
    function $(t) {
      return e.forEach(t.declarationList.declarations, function(e) {
        return r.isDeclarationVisible(e)
      })
    }
    function ee(t) {
      Ne(t),
        O(t),
        ce(
          e.isLet(t.declarationList)
            ? 'let '
            : e.isConst(t.declarationList)
              ? 'const '
              : 'var '
        ),
        k(t.declarationList.declarations, Y, r.isDeclarationVisible),
        ce(';'),
        ue()
    }
    function te(t) {
      function r(e) {
        if (e)
          return 153 === e.kind
            ? e.type
            : e.parameters.length > 0
              ? e.parameters[0].type
              : void 0
      }
      function n(t) {
        var r
        return 154 === a.kind
          ? ((r = e.hasModifier(a.parent, 32)
              ? 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: r,
              errorNode: a.parameters[0],
              typeName: a.name
            })
          : ((r = e.hasModifier(a, 32)
              ? 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: r, errorNode: a.name, typeName: void 0 })
      }
      if (!e.hasDynamicName(t)) {
        var a,
          i = e.getAllAccessorDeclarations(t.parent.members, t)
        if (t === i.firstAccessor) {
          if (
            (Ne(i.getAccessor),
            Ne(i.setAccessor),
            F(e.getModifierFlags(t) | (i.setAccessor ? 0 : 64)),
            de(be, t.name),
            !e.hasModifier(t, 8))
          ) {
            a = t
            var o = r(t)
            if (!o) {
              var s = 153 === t.kind ? i.setAccessor : i.getAccessor
              ;(o = r(s)), o && (a = s)
            }
            y(t, o, n)
          }
          ce(';'), ue()
        }
      }
    }
    function re(t) {
      e.hasDynamicName(t) ||
        r.isImplementationOfOverload(t) ||
        (Ne(t),
        228 === t.kind
          ? O(t)
          : (151 !== t.kind && 152 !== t.kind) || F(e.getModifierFlags(t)),
        228 === t.kind
          ? (ce('function '), de(be, t.name))
          : 152 === t.kind
            ? ce('constructor')
            : (de(be, t.name), e.hasQuestionToken(t) && ce('?')),
        ae(t))
    }
    function ne(e) {
      Ne(e), ae(e)
    }
    function ae(t) {
      function r(r) {
        var n
        switch (t.kind) {
          case 156:
            n = r.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 155:
            n = r.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 157:
            n = r.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 151:
          case 150:
            n = e.hasModifier(t, 32)
              ? r.errorModuleName
                ? 2 === r.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
              : 229 === t.parent.kind
                ? r.errorModuleName
                  ? 2 === r.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
                : r.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 228:
            n = r.errorModuleName
              ? 2 === r.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: n, errorNode: t.name || t }
      }
      var n = ve
      ve = t
      var a = !1
      if (157 === t.kind) F(e.getModifierFlags(t)), ce('[')
      else {
        if (156 === t.kind || 161 === t.kind) ce('new ')
        else if (160 === t.kind) {
          var i = pe.getText()
          t.typeParameters &&
            '<' === i.charAt(i.length - 1) &&
            ((a = !0), ce('('))
        }
        W(t.typeParameters), ce('(')
      }
      k(t.parameters, ie), ce(157 === t.kind ? ']' : ')')
      var o = 160 === t.kind || 161 === t.kind
      o || 163 === t.parent.kind
        ? t.type && (ce(o ? ' => ' : ': '), S(t.type))
        : 152 === t.kind || e.hasModifier(t, 8) || v(t, r),
        (ve = n),
        o ? a && ce(')') : (ce(';'), ue())
    }
    function ie(t) {
      function n(e) {
        var r = a(e)
        return void 0 !== r
          ? { diagnosticMessage: r, errorNode: t, typeName: t.name }
          : void 0
      }
      function a(r) {
        switch (t.parent.kind) {
          case 152:
            return r.errorModuleName
              ? 2 === r.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 156:
            return r.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 155:
            return r.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 157:
            return r.errorModuleName
              ? e.Diagnostics
                  .Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2
              : e.Diagnostics
                  .Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1
          case 151:
          case 150:
            return e.hasModifier(t.parent, 32)
              ? r.errorModuleName
                ? 2 === r.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
              : 229 === t.parent.parent.kind
                ? r.errorModuleName
                  ? 2 === r.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
                : r.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 228:
            return r.errorModuleName
              ? 2 === r.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 (174 === e.kind) ce('{'), k(e.elements, o), ce('}')
        else if (175 === e.kind) {
          ce('[')
          var t = e.elements
          k(t, o), t && t.hasTrailingComma && ce(', '), ce(']')
        }
      }
      function o(t) {
        200 === t.kind
          ? ce(' ')
          : 176 === t.kind &&
            (t.propertyName && (de(be, t.propertyName), ce(': ')),
            t.name &&
              (e.isBindingPattern(t.name)
                ? i(t.name)
                : (e.Debug.assert(71 === t.name.kind),
                  t.dotDotDotToken && ce('...'),
                  de(be, t.name))))
      }
      _e(),
        Ne(t),
        t.dotDotDotToken && ce('...'),
        e.isBindingPattern(t.name) ? i(t.name) : de(be, t.name),
        r.isOptionalParameter(t) && ce('?'),
        le(),
        160 === t.parent.kind ||
        161 === t.parent.kind ||
        163 === t.parent.parent.kind
          ? Z(t)
          : e.hasModifier(t.parent, 8) || y(t, t.type, n)
    }
    function oe(e) {
      switch (e.kind) {
        case 228:
        case 233:
        case 237:
        case 230:
        case 229:
        case 231:
        case 232:
          return w(e, A(e))
        case 208:
          return w(e, $(e))
        case 238:
          return w(e, !e.importClause)
        case 244:
          return z(e)
        case 152:
        case 151:
        case 150:
          return re(e)
        case 156:
        case 155:
        case 157:
          return ne(e)
        case 153:
        case 154:
          return te(e)
        case 149:
        case 148:
          return Q(e)
        case 264:
          return q(e)
        case 243:
          return N(e)
        case 265:
          return D(e)
      }
    }
    function se(r, n, i) {
      function o(t, a) {
        var i = 266 === a.kind
        ;(i && !n) ||
          (e.Debug.assert(
            !!t.declarationFilePath || e.isSourceFileJavaScript(r),
            'Declaration file is not present only for javascript files'
          ),
          (s = t.declarationFilePath || t.jsFilePath),
          (c = i))
      }
      var s,
        c = !1
      return (
        e.isDeclarationFile(r)
          ? (s = r.fileName)
          : e.forEachEmittedFile(t, o, r, i),
        s &&
          ((s = e.getRelativePathToDirectoryOrUrl(
            e.getDirectoryPath(e.normalizeSlashes(a)),
            s,
            t.getCurrentDirectory(),
            t.getCanonicalFileName,
            !1
          )),
          (Oe += '/// <reference path="' + s + '" />' + me)),
        c
      )
    }
    var ce,
      ue,
      _e,
      le,
      de,
      pe,
      fe = 266 === i.kind ? i.sourceFiles : [i],
      ge = 266 === i.kind,
      me = t.getNewLine(),
      ye = t.getCompilerOptions()
    u()
    var ve,
      he,
      be,
      ke,
      xe,
      Ce,
      Se,
      De,
      Te,
      Ee = !1,
      Ne = ye.removeComments ? e.noop : x,
      Ae = ye.stripInternal ? c : oe,
      we = !0,
      Pe = [],
      Oe = '',
      Fe = [],
      Ie = !1,
      Re = []
    return (
      e.forEach(fe, function(r) {
        if (!e.isSourceFileJavaScript(r)) {
          if (
            (ye.noResolve ||
              e.forEach(r.referencedFiles, function(n) {
                var a = e.tryResolveScriptReference(t, r, n)
                a &&
                  !e.contains(Fe, a) &&
                  (se(a, !ge && !Ie, o) && (Ie = !0), Fe.push(a))
              }),
            (he = !1),
            ge && e.isExternalModule(r)
              ? e.isExternalModule(r) &&
                ((we = !1),
                ce(
                  'declare module "' +
                    e.getResolvedExternalModuleName(t, r) +
                    '" {'
                ),
                ue(),
                _e(),
                D(r),
                le(),
                ce('}'),
                ue())
              : ((we = !0), D(r)),
            Pe.length)
          ) {
            var n = pe
            e.forEach(Pe, function(t) {
              if (t.isVisible && !t.asynchronousOutput) {
                e.Debug.assert(238 === t.node.kind),
                  u(),
                  e.Debug.assert(0 === t.indent || (1 === t.indent && ge))
                for (var r = 0; r < t.indent; r++) _e()
                M(t.node), (t.asynchronousOutput = pe.getText())
                for (var r = 0; r < t.indent; r++) le()
              }
            }),
              _(n),
              (Re = Re.concat(Pe)),
              (Pe = [])
          }
          !ge &&
            e.isExternalModule(r) &&
            r.moduleAugmentations.length &&
            !he &&
            (ce('export {};'), ue())
        }
      }),
      Te &&
        e.forEachKey(Te, function(e) {
          Oe += '/// <reference types="' + e + '" />' + me
        }),
      {
        reportedDeclarationError: Ee,
        moduleElementDeclarationEmitInfo: Re,
        synchronousDeclarationOutput: pe.getText(),
        referencesOutput: Oe
      }
    )
  }
  function n(t, n, a, i, o, s) {
    function c(t, r) {
      var n = 0,
        a = ''
      return (
        e.forEach(r, function(e) {
          e.asynchronousOutput &&
            ((a += t.substring(n, e.outputPos)),
            (a += c(
              e.asynchronousOutput,
              e.subModuleElementDeclarationEmitInfo
            )),
            (n = e.outputPos))
        }),
        (a += t.substring(n))
      )
    }
    var u = r(a, i, o, t, n, s),
      _ =
        u.reportedDeclarationError ||
        a.isEmitBlocked(t) ||
        a.getCompilerOptions().noEmit
    if (!_) {
      var l = 266 === n.kind ? n.sourceFiles : [n],
        d =
          u.referencesOutput +
          c(u.synchronousDeclarationOutput, u.moduleElementDeclarationEmitInfo)
      e.writeFile(a, o, t, d, a.getCompilerOptions().emitBOM, l)
    }
    return _
  }
  ;(e.getDeclarationDiagnostics = t), (e.writeDeclarationFile = n)
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t, n, a, i, o) {
    function s(r, a) {
      var o = r.jsFilePath,
        s = r.sourceMapFilePath,
        u = r.declarationFilePath
      n.isEmitBlocked(o) || f.noEmit ? (x = !0) : i || c(o, s, a),
        u &&
          (x =
            e.writeDeclarationFile(
              u,
              e.getOriginalSourceFileOrBundle(a),
              n,
              t,
              v,
              i
            ) || x),
        !x && y && (i || y.push(o), s && y.push(s), u && y.push(u))
    }
    function c(t, r, a) {
      var i = 266 === a.kind ? a : void 0,
        o = 265 === a.kind ? a : void 0,
        s = i ? i.sourceFiles : [o]
      k.initialize(t, r, a),
        i
          ? ((d = e.createMap()), (p = !1), D.writeBundle(i, b))
          : ((p = !0), D.writeFile(o, b)),
        b.writeLine()
      var c = k.getSourceMappingURL()
      c && b.write('//# sourceMappingURL=' + c),
        f.sourceMap &&
          !f.inlineSourceMap &&
          e.writeFile(n, v, r, k.getText(), !1, s),
        m && m.push(k.getSourceMapData()),
        e.writeFile(n, v, t, b.getText(), f.emitBOM, s),
        k.reset(),
        b.reset(),
        (l = void 0),
        (d = void 0),
        (p = !1)
    }
    function u(e) {
      ;(l = e), k.setSourceFile(e)
    }
    function _(t, r) {
      var n = !1,
        a = 266 === t.kind ? t : void 0
      if (!a || g !== e.ModuleKind.None) {
        for (var i = a ? a.sourceFiles.length : 1, o = 0; o < i; o++) {
          var s = a ? a.sourceFiles[o] : t,
            c = e.isSourceFile(s) ? s : l,
            u =
              f.noEmitHelpers ||
              (c && void 0 !== e.getExternalHelpersModuleName(c)),
            _ = e.isSourceFile(s) && !p,
            m = e.getEmitHelpers(s)
          if (m)
            for (
              var y = 0, v = e.stableSort(m, e.compareEmitHelpers);
              y < v.length;
              y++
            ) {
              var h = v[y]
              if (h.scoped) {
                if (a) continue
              } else {
                if (u) continue
                if (_) {
                  if (d.get(h.name)) continue
                  d.set(h.name, !0)
                }
              }
              r(h.text), (n = !0)
            }
        }
        return n
      }
    }
    var l,
      d,
      p,
      f = n.getCompilerOptions(),
      g = e.getEmitModuleKind(f),
      m = f.sourceMap || f.inlineSourceMap ? [] : void 0,
      y = f.listEmittedFiles ? [] : void 0,
      v = e.createDiagnosticCollection(),
      h = n.getNewLine(),
      b = e.createTextWriter(h),
      k = e.createSourceMapWriter(n, b),
      x = !1,
      C = e.getSourceFilesToEmit(n, a),
      S = e.transformNodes(t, n, f, C, o, !1),
      D = r(f, {
        hasGlobalName: t.hasGlobalName,
        onEmitNode: S.emitNodeWithNotification,
        substituteNode: S.substituteNode,
        onEmitSourceMapOfNode: k.emitNodeWithSourceMap,
        onEmitSourceMapOfToken: k.emitTokenWithSourceMap,
        onEmitSourceMapOfPosition: k.emitPos,
        onEmitHelpers: _,
        onSetSourceFile: u
      })
    return (
      e.performance.mark('beforePrint'),
      e.forEachEmittedFile(n, s, S.transformed, i),
      e.performance.measure('printTime', 'beforePrint'),
      S.dispose(),
      {
        emitSkipped: x,
        diagnostics: v.getDiagnostics(),
        emittedFiles: y,
        sourceMaps: m
      }
    )
  }
  function r(t, r) {
    function n(t, r, n) {
      switch (t) {
        case 0:
          e.Debug.assert(e.isSourceFile(r), 'Expected a SourceFile node.')
          break
        case 2:
          e.Debug.assert(e.isIdentifier(r), 'Expected an Identifier node.')
          break
        case 1:
          e.Debug.assert(e.isExpression(r), 'Expected an Expression node.')
      }
      switch (r.kind) {
        case 265:
          return c(r)
        case 266:
          return i(r)
      }
      return u(t, r, n, d()), p()
    }
    function i(e) {
      return _(e, d()), p()
    }
    function c(e) {
      return l(e, d()), p()
    }
    function u(e, t, r, n) {
      var a = Sn
      m(n), f(e, t, r), y(), (Sn = a)
    }
    function _(e, t) {
      var r = Sn
      m(t), mr(e), gr(e), w(e)
      for (var n = 0, a = e.sourceFiles; n < a.length; n++) {
        var i = a[n]
        f(0, i, i)
      }
      y(), (Sn = r)
    }
    function l(e, t) {
      var r = Sn
      m(t), mr(e), gr(e), f(0, e, e), y(), (Sn = r)
    }
    function d() {
      return Dn || (Dn = e.createTextWriter(Mn))
    }
    function p() {
      var e = Dn.getText()
      return Dn.reset(), e
    }
    function f(e, t, r) {
      g(r), k(e, t)
    }
    function g(e) {
      ;(vn = e), Ln.setSourceFile(e), On && On(e)
    }
    function m(e) {
      ;(Sn = e), Ln.setWriter(e)
    }
    function y() {
      ;(hn = []),
        (bn = []),
        (kn = e.createMap()),
        (xn = []),
        (Cn = 0),
        Ln.reset(),
        m(void 0)
    }
    function v(e) {
      k(3, e)
    }
    function h(e) {
      k(2, e)
    }
    function b(e) {
      k(1, e)
    }
    function k(e, t) {
      wn ? wn(e, t, x) : x(e, t)
    }
    function x(e, t) {
      ;(t = A(e, t)), Bn && 0 !== e ? Bn(e, t, C) : C(e, t)
    }
    function C(e, t) {
      En && 0 !== e && 2 !== e ? En(e, t, S) : S(e, t)
    }
    function S(e, t) {
      switch (e) {
        case 0:
          return D(t)
        case 2:
          return T(t)
        case 1:
          return N(t)
        case 3:
          return E(t)
      }
    }
    function D(t) {
      e.Debug.assertNode(t, e.isSourceFile), lr(t)
    }
    function T(t) {
      e.Debug.assertNode(t, e.isIdentifier), F(t)
    }
    function E(t) {
      var r = t.kind
      if (e.isKeyword(r)) return void Jr(r)
      switch (r) {
        case 14:
        case 15:
        case 16:
          return O(t)
        case 71:
          return F(t)
        case 143:
          return I(t)
        case 144:
          return M(t)
        case 145:
          return L(t)
        case 146:
          return B(t)
        case 147:
          return J(t)
        case 148:
          return z(t)
        case 149:
          return K(t)
        case 150:
          return j(t)
        case 151:
          return V(t)
        case 152:
          return q(t)
        case 153:
        case 154:
          return U(t)
        case 155:
          return W(t)
        case 156:
          return H(t)
        case 157:
          return G(t)
        case 158:
          return Q(t)
        case 159:
          return Y(t)
        case 160:
          return Z(t)
        case 161:
          return $(t)
        case 162:
          return ee(t)
        case 163:
          return te(t)
        case 164:
          return re(t)
        case 165:
          return ne(t)
        case 166:
          return ae(t)
        case 167:
          return ie(t)
        case 168:
          return oe(t)
        case 201:
          return Ke(t)
        case 169:
          return se()
        case 170:
          return ce(t)
        case 171:
          return ue(t)
        case 172:
          return _e(t)
        case 173:
          return le(t)
        case 174:
          return de(t)
        case 175:
          return pe(t)
        case 176:
          return fe(t)
        case 205:
          return Ue(t)
        case 206:
          return X()
        case 207:
          return We(t)
        case 208:
          return Ge(t)
        case 209:
          return Xe()
        case 210:
          return Qe(t)
        case 211:
          return Ye(t)
        case 212:
          return Ze(t)
        case 213:
          return $e(t)
        case 214:
          return et(t)
        case 215:
          return tt(t)
        case 216:
          return rt(t)
        case 217:
          return at(t)
        case 218:
          return it(t)
        case 219:
          return ot(t)
        case 220:
          return st(t)
        case 221:
          return ct(t)
        case 222:
          return ut(t)
        case 223:
          return _t(t)
        case 224:
          return lt(t)
        case 225:
          return dt(t)
        case 226:
          return pt(t)
        case 227:
          return ft(t)
        case 228:
          return gt(t)
        case 229:
          return St(t)
        case 230:
          return Tt(t)
        case 231:
          return Et(t)
        case 232:
          return Nt(t)
        case 233:
          return At(t)
        case 234:
          return wt(t)
        case 235:
          return Pt(t)
        case 237:
          return Ot(t)
        case 238:
          return It(t)
        case 239:
          return Rt(t)
        case 240:
          return Mt(t)
        case 241:
          return Lt(t)
        case 242:
          return Bt(t)
        case 243:
          return Jt(t)
        case 244:
          return zt(t)
        case 245:
          return Kt(t)
        case 246:
          return jt(t)
        case 247:
          return
        case 248:
          return Ut(t)
        case 10:
          return Xt(t)
        case 251:
          return Gt(t)
        case 252:
          return Qt(t)
        case 253:
          return Zt(t)
        case 254:
          return Yt(t)
        case 255:
          return $t(t)
        case 256:
          return er(t)
        case 257:
          return rr(t)
        case 258:
          return nr(t)
        case 259:
          return ir(t)
        case 260:
          return or(t)
        case 261:
          return sr(t)
        case 262:
          return cr(t)
        case 263:
          return ur(t)
        case 264:
          return _r(t)
      }
      return e.isExpression(t) ? N(A(1, t)) : e.isToken(t) ? void Jr(r) : void 0
    }
    function N(e) {
      var t = e.kind
      switch (t) {
        case 8:
          return P(e)
        case 9:
        case 12:
        case 13:
          return O(e)
        case 71:
          return F(e)
        case 86:
        case 95:
        case 97:
        case 101:
        case 99:
          return void Jr(t)
        case 177:
          return ge(e)
        case 178:
          return me(e)
        case 179:
          return ye(e)
        case 180:
          return he(e)
        case 181:
          return be(e)
        case 182:
          return ke(e)
        case 183:
          return xe(e)
        case 184:
          return Ce(e)
        case 185:
          return Se(e)
        case 186:
          return De(e)
        case 187:
          return Te(e)
        case 188:
          return Ne(e)
        case 189:
          return Ae(e)
        case 190:
          return we(e)
        case 191:
          return Pe(e)
        case 192:
          return Oe(e)
        case 193:
          return Ie(e)
        case 194:
          return Re(e)
        case 195:
          return Me(e)
        case 196:
          return Le(e)
        case 197:
          return Be(e)
        case 198:
          return Je(e)
        case 199:
          return ze(e)
        case 200:
          return
        case 202:
          return je(e)
        case 203:
          return Ve(e)
        case 204:
          return qe(e)
        case 249:
          return Wt(e)
        case 250:
          return Ht(e)
        case 296:
          return pr(e)
      }
    }
    function A(e, t) {
      return (t && Fn && Fn(e, t)) || t
    }
    function w(e) {
      Pn && Pn(e, Kr)
    }
    function P(e) {
      O(e)
    }
    function O(r) {
      var n = en(r)
      ;(!t.sourceMap && !t.inlineSourceMap) ||
      (9 !== r.kind && !e.isTemplateLiteralKind(r.kind))
        ? Or(n)
        : Sn.writeLiteral(n)
    }
    function F(e) {
      Or($r(e, !1))
    }
    function I(e) {
      R(e.left), Or('.'), v(e.right)
    }
    function R(e) {
      71 === e.kind ? b(e) : v(e)
    }
    function M(e) {
      Or('['), b(e.expression), Or(']')
    }
    function L(e) {
      v(e.name), vr(' extends ', e.constraint)
    }
    function B(e) {
      Cr(e, e.decorators),
        yr(e, e.modifiers),
        Lr(e.dotDotDotToken, '...'),
        v(e.name),
        Lr(e.questionToken, '?'),
        vr(': ', e.type),
        hr(' = ', e.initializer)
    }
    function J(e) {
      Or('@'), b(e.expression)
    }
    function z(e) {
      Cr(e, e.decorators),
        yr(e, e.modifiers),
        v(e.name),
        Lr(e.questionToken, '?'),
        vr(': ', e.type),
        Or(';')
    }
    function K(e) {
      Cr(e, e.decorators),
        yr(e, e.modifiers),
        v(e.name),
        vr(': ', e.type),
        hr(' = ', e.initializer),
        Or(';')
    }
    function j(e) {
      Cr(e, e.decorators),
        yr(e, e.modifiers),
        v(e.name),
        Lr(e.questionToken, '?'),
        Dr(e, e.typeParameters),
        Tr(e, e.parameters),
        vr(': ', e.type),
        Or(';')
    }
    function V(e) {
      Cr(e, e.decorators),
        yr(e, e.modifiers),
        Lr(e.asteriskToken, '*'),
        v(e.name),
        vt(e, ht)
    }
    function q(e) {
      yr(e, e.modifiers), Or('constructor'), vt(e, ht)
    }
    function U(e) {
      Cr(e, e.decorators),
        yr(e, e.modifiers),
        Or(153 === e.kind ? 'get ' : 'set '),
        v(e.name),
        vt(e, ht)
    }
    function W(e) {
      Cr(e, e.decorators),
        yr(e, e.modifiers),
        Dr(e, e.typeParameters),
        Tr(e, e.parameters),
        vr(': ', e.type),
        Or(';')
    }
    function H(e) {
      Cr(e, e.decorators),
        yr(e, e.modifiers),
        Or('new '),
        Dr(e, e.typeParameters),
        Tr(e, e.parameters),
        vr(': ', e.type),
        Or(';')
    }
    function G(e) {
      Cr(e, e.decorators),
        yr(e, e.modifiers),
        Nr(e, e.parameters),
        vr(': ', e.type),
        Or(';')
    }
    function X() {
      Or(';')
    }
    function Q(e) {
      v(e.parameterName), Or(' is '), v(e.type)
    }
    function Y(e) {
      v(e.typeName), Sr(e, e.typeArguments)
    }
    function Z(e) {
      Dr(e, e.typeParameters), Er(e, e.parameters), Or(' => '), v(e.type)
    }
    function $(e) {
      Or('new '),
        Dr(e, e.typeParameters),
        Er(e, e.parameters),
        Or(' => '),
        v(e.type)
    }
    function ee(e) {
      Or('typeof '), v(e.exprName)
    }
    function te(e) {
      Or('{'), Ar(e, e.members, 65), Or('}')
    }
    function re(e) {
      v(e.elementType), Or('[]')
    }
    function ne(e) {
      Or('['), Ar(e, e.elementTypes, 336), Or(']')
    }
    function ae(e) {
      Ar(e, e.types, 260)
    }
    function ie(e) {
      Ar(e, e.types, 264)
    }
    function oe(e) {
      Or('('), v(e.type), Or(')')
    }
    function se() {
      Or('this')
    }
    function ce(e) {
      Jr(e.operator), Or(' '), v(e.type)
    }
    function ue(e) {
      v(e.objectType), Or('['), v(e.indexType), Or(']')
    }
    function _e(e) {
      Or('{'),
        Fr(),
        Ir(),
        Lr(e.readonlyToken, 'readonly '),
        Or('['),
        v(e.typeParameter.name),
        Or(' in '),
        v(e.typeParameter.constraint),
        Or(']'),
        Lr(e.questionToken, '?'),
        Or(': '),
        v(e.type),
        Or(';'),
        Fr(),
        Rr(),
        Or('}')
    }
    function le(e) {
      b(e.literal)
    }
    function de(e) {
      var t = e.elements
      0 === t.length ? Or('{}') : (Or('{'), Ar(e, t, 432), Or('}'))
    }
    function pe(e) {
      var t = e.elements
      0 === t.length ? Or('[]') : (Or('['), Ar(e, e.elements, 304), Or(']'))
    }
    function fe(e) {
      kr(e.propertyName, ': '),
        Lr(e.dotDotDotToken, '...'),
        v(e.name),
        hr(' = ', e.initializer)
    }
    function ge(e) {
      var t = e.elements
      if (0 === t.length) Or('[]')
      else {
        var r = e.multiLine ? 32768 : 0
        wr(e, t, 4466 | r)
      }
    }
    function me(t) {
      var r = t.properties
      if (0 === r.length) Or('{}')
      else {
        var n = 65536 & e.getEmitFlags(t)
        n && Ir()
        var a = t.multiLine ? 32768 : 0,
          i = vn.languageVersion >= 1 ? 32 : 0
        Ar(t, r, 978 | i | a), n && Rr()
      }
    }
    function ye(t) {
      var r = !1,
        n = !1
      if (!(131072 & e.getEmitFlags(t))) {
        var a = t.expression.end,
          i = e.skipTrivia(vn.text, t.expression.end) + 1,
          o = { kind: 23, pos: a, end: i }
        ;(r = Xr(t, t.expression, o)), (n = Xr(t, o, t.name))
      }
      b(t.expression), Vr(r)
      var s = !r && ve(t.expression)
      Or(s ? '..' : '.'), Vr(n), v(t.name), qr(r, n)
    }
    function ve(r) {
      if (((r = e.skipPartiallyEmittedExpressions(r)), e.isNumericLiteral(r))) {
        var n = en(r)
        return !r.numericLiteralFlags && n.indexOf(e.tokenToString(23)) < 0
      }
      if (e.isPropertyAccessExpression(r) || e.isElementAccessExpression(r)) {
        var a = e.getConstantValue(r)
        return isFinite(a) && Math.floor(a) === a && t.removeComments
      }
    }
    function he(e) {
      b(e.expression), Or('['), b(e.argumentExpression), Or(']')
    }
    function be(e) {
      b(e.expression), Sr(e, e.typeArguments), wr(e, e.arguments, 1296)
    }
    function ke(e) {
      Or('new '),
        b(e.expression),
        Sr(e, e.typeArguments),
        wr(e, e.arguments, 9488)
    }
    function xe(e) {
      b(e.tag), Or(' '), b(e.template)
    }
    function Ce(e) {
      Or('<'), v(e.type), Or('>'), b(e.expression)
    }
    function Se(e) {
      Or('('), b(e.expression), Or(')')
    }
    function De(e) {
      mt(e)
    }
    function Te(e) {
      Cr(e, e.decorators), yr(e, e.modifiers), vt(e, Ee)
    }
    function Ee(e) {
      Dr(e, e.typeParameters), Er(e, e.parameters), vr(': ', e.type), Or(' =>')
    }
    function Ne(e) {
      Or('delete '), b(e.expression)
    }
    function Ae(e) {
      Or('typeof '), b(e.expression)
    }
    function we(e) {
      Or('void '), b(e.expression)
    }
    function Pe(e) {
      Or('await '), b(e.expression)
    }
    function Oe(e) {
      Jr(e.operator), Fe(e) && Or(' '), b(e.operand)
    }
    function Fe(e) {
      var t = e.operand
      return (
        192 === t.kind &&
        ((37 === e.operator && (37 === t.operator || 43 === t.operator)) ||
          (38 === e.operator && (38 === t.operator || 44 === t.operator)))
      )
    }
    function Ie(e) {
      b(e.operand), Jr(e.operator)
    }
    function Re(e) {
      var t = 26 !== e.operatorToken.kind,
        r = Xr(e, e.left, e.operatorToken),
        n = Xr(e, e.operatorToken, e.right)
      b(e.left),
        Vr(r, t ? ' ' : void 0),
        Jr(e.operatorToken.kind),
        Vr(n, ' '),
        b(e.right),
        qr(r, n)
    }
    function Me(e) {
      var t = Xr(e, e.condition, e.questionToken),
        r = Xr(e, e.questionToken, e.whenTrue),
        n = Xr(e, e.whenTrue, e.colonToken),
        a = Xr(e, e.colonToken, e.whenFalse)
      b(e.condition),
        Vr(t, ' '),
        Or('?'),
        Vr(r, ' '),
        b(e.whenTrue),
        qr(t, r),
        Vr(n, ' '),
        Or(':'),
        Vr(a, ' '),
        b(e.whenFalse),
        qr(n, a)
    }
    function Le(e) {
      v(e.head), Ar(e, e.templateSpans, 131072)
    }
    function Be(e) {
      Or(e.asteriskToken ? 'yield*' : 'yield'), hr(' ', e.expression)
    }
    function Je(e) {
      Or('...'), b(e.expression)
    }
    function ze(e) {
      Dt(e)
    }
    function Ke(e) {
      b(e.expression), Sr(e, e.typeArguments)
    }
    function je(e) {
      b(e.expression), e.type && (Or(' as '), v(e.type))
    }
    function Ve(e) {
      b(e.expression), Or('!')
    }
    function qe(e) {
      Br(e.keywordToken, e.pos), Or('.'), v(e.name)
    }
    function Ue(e) {
      b(e.expression), v(e.literal)
    }
    function We(e) {
      Qr(e)
        ? (Br(17, e.pos, e), Or(' '), Br(18, e.statements.end, e))
        : (Br(17, e.pos, e),
          He(e),
          Ir(),
          Kn(e.statements.end),
          Rr(),
          Br(18, e.statements.end, e))
    }
    function He(t) {
      1 & e.getEmitFlags(t) ? Ar(t, t.statements, 384) : Ar(t, t.statements, 65)
    }
    function Ge(e) {
      yr(e, e.modifiers), v(e.declarationList), Or(';')
    }
    function Xe() {
      Or(';')
    }
    function Qe(e) {
      b(e.expression), Or(';')
    }
    function Ye(e) {
      var t = Br(90, e.pos, e)
      Or(' '),
        Br(19, t, e),
        b(e.expression),
        Br(20, e.expression.end, e),
        xr(e, e.thenStatement),
        e.elseStatement &&
          (zr(e),
          Br(82, e.thenStatement.end, e),
          211 === e.elseStatement.kind
            ? (Or(' '), v(e.elseStatement))
            : xr(e, e.elseStatement))
    }
    function Ze(t) {
      Or('do'),
        xr(t, t.statement),
        e.isBlock(t.statement) ? Or(' ') : zr(t),
        Or('while ('),
        b(t.expression),
        Or(');')
    }
    function $e(e) {
      Or('while ('), b(e.expression), Or(')'), xr(e, e.statement)
    }
    function et(e) {
      var t = Br(88, e.pos)
      Or(' '),
        Br(19, t, e),
        nt(e.initializer),
        Or(';'),
        hr(' ', e.condition),
        Or(';'),
        hr(' ', e.incrementor),
        Or(')'),
        xr(e, e.statement)
    }
    function tt(e) {
      var t = Br(88, e.pos)
      Or(' '),
        Br(19, t),
        nt(e.initializer),
        Or(' in '),
        b(e.expression),
        Br(20, e.expression.end),
        xr(e, e.statement)
    }
    function rt(e) {
      var t = Br(88, e.pos)
      Or(' '),
        kr(e.awaitModifier, ' '),
        Br(19, t),
        nt(e.initializer),
        Or(' of '),
        b(e.expression),
        Br(20, e.expression.end),
        xr(e, e.statement)
    }
    function nt(e) {
      void 0 !== e && (227 === e.kind ? v(e) : b(e))
    }
    function at(e) {
      Br(77, e.pos), vr(' ', e.label), Or(';')
    }
    function it(e) {
      Br(72, e.pos), vr(' ', e.label), Or(';')
    }
    function ot(e) {
      Br(96, e.pos, e), hr(' ', e.expression), Or(';')
    }
    function st(e) {
      Or('with ('), b(e.expression), Or(')'), xr(e, e.statement)
    }
    function ct(e) {
      var t = Br(98, e.pos)
      Or(' '),
        Br(19, t),
        b(e.expression),
        Br(20, e.expression.end),
        Or(' '),
        v(e.caseBlock)
    }
    function ut(e) {
      v(e.label), Or(': '), v(e.statement)
    }
    function _t(e) {
      Or('throw'), hr(' ', e.expression), Or(';')
    }
    function lt(e) {
      Or('try '),
        v(e.tryBlock),
        e.catchClause && (zr(e), v(e.catchClause)),
        e.finallyBlock && (zr(e), Or('finally '), v(e.finallyBlock))
    }
    function dt(e) {
      Br(78, e.pos), Or(';')
    }
    function pt(e) {
      v(e.name), vr(': ', e.type), hr(' = ', e.initializer)
    }
    function ft(t) {
      Or(e.isLet(t) ? 'let ' : e.isConst(t) ? 'const ' : 'var '),
        Ar(t, t.declarations, 272)
    }
    function gt(e) {
      mt(e)
    }
    function mt(e) {
      Cr(e, e.decorators),
        yr(e, e.modifiers),
        Or(e.asteriskToken ? 'function* ' : 'function '),
        h(e.name),
        vt(e, ht)
    }
    function yt(e, t) {
      kt(t)
    }
    function vt(t, r) {
      var n = t.body
      if (n)
        if (e.isBlock(n)) {
          var a = 65536 & e.getEmitFlags(t)
          a && Ir(),
            524288 & e.getEmitFlags(t)
              ? (r(t), wn ? wn(3, n, yt) : kt(n))
              : (tn(), r(t), wn ? wn(3, n, yt) : kt(n), rn()),
            a && Rr()
        } else r(t), Or(' '), b(n)
      else r(t), Or(';')
    }
    function ht(e) {
      Dr(e, e.typeParameters), Tr(e, e.parameters), vr(': ', e.type)
    }
    function bt(t) {
      if (1 & e.getEmitFlags(t)) return !0
      if (t.multiLine) return !1
      if (!e.nodeIsSynthesized(t) && !e.rangeIsOnSingleLine(t, vn)) return !1
      if (Ur(t, t.statements, 2) || Hr(t, t.statements, 2)) return !1
      for (var r, n = 0, a = t.statements; n < a.length; n++) {
        var i = a[n]
        if (Wr(r, i, 2)) return !1
        r = i
      }
      return !0
    }
    function kt(e) {
      Or(' {'), Ir()
      var t = bt(e) ? xt : Ct
      Jn ? Jn(e, e.statements, t) : t(e), Rr(), Br(18, e.statements.end, e)
    }
    function xt(e) {
      Ct(e, !0)
    }
    function Ct(e, t) {
      var r = fr(e.statements, !0),
        n = Sn.getTextPos()
      w(e),
        0 === r && n === Sn.getTextPos() && t
          ? (Rr(), Ar(e, e.statements, 384), Ir())
          : Ar(e, e.statements, 1, r)
    }
    function St(e) {
      Dt(e)
    }
    function Dt(t) {
      Cr(t, t.decorators), yr(t, t.modifiers), Or('class'), br(' ', t.name, h)
      var r = 65536 & e.getEmitFlags(t)
      r && Ir(),
        Dr(t, t.typeParameters),
        Ar(t, t.heritageClauses, 256),
        tn(),
        Or(' {'),
        Ar(t, t.members, 65),
        Or('}'),
        rn(),
        r && Rr()
    }
    function Tt(e) {
      Cr(e, e.decorators),
        yr(e, e.modifiers),
        Or('interface '),
        v(e.name),
        Dr(e, e.typeParameters),
        Ar(e, e.heritageClauses, 256),
        Or(' {'),
        Ar(e, e.members, 65),
        Or('}')
    }
    function Et(e) {
      Cr(e, e.decorators),
        yr(e, e.modifiers),
        Or('type '),
        v(e.name),
        Dr(e, e.typeParameters),
        Or(' = '),
        v(e.type),
        Or(';')
    }
    function Nt(e) {
      yr(e, e.modifiers),
        Or('enum '),
        v(e.name),
        tn(),
        Or(' {'),
        Ar(e, e.members, 81),
        Or('}'),
        rn()
    }
    function At(e) {
      yr(e, e.modifiers), Or(16 & e.flags ? 'namespace ' : 'module '), v(e.name)
      for (var t = e.body; 233 === t.kind; ) Or('.'), v(t.name), (t = t.body)
      Or(' '), v(t)
    }
    function wt(e) {
      Yr(e) ? Or('{ }') : (tn(), Or('{'), He(e), Or('}'), rn())
    }
    function Pt(e) {
      Br(17, e.pos), Ar(e, e.clauses, 65), Br(18, e.clauses.end)
    }
    function Ot(e) {
      yr(e, e.modifiers),
        Or('import '),
        v(e.name),
        Or(' = '),
        Ft(e.moduleReference),
        Or(';')
    }
    function Ft(e) {
      71 === e.kind ? b(e) : v(e)
    }
    function It(e) {
      yr(e, e.modifiers),
        Or('import '),
        e.importClause && (v(e.importClause), Or(' from ')),
        b(e.moduleSpecifier),
        Or(';')
    }
    function Rt(e) {
      v(e.name), e.name && e.namedBindings && Or(', '), v(e.namedBindings)
    }
    function Mt(e) {
      Or('* as '), v(e.name)
    }
    function Lt(e) {
      Vt(e)
    }
    function Bt(e) {
      qt(e)
    }
    function Jt(e) {
      Or(e.isExportEquals ? 'export = ' : 'export default '),
        b(e.expression),
        Or(';')
    }
    function zt(e) {
      Or('export '),
        e.exportClause ? v(e.exportClause) : Or('*'),
        e.moduleSpecifier && (Or(' from '), b(e.moduleSpecifier)),
        Or(';')
    }
    function Kt(e) {
      Vt(e)
    }
    function jt(e) {
      qt(e)
    }
    function Vt(e) {
      Or('{'), Ar(e, e.elements, 432), Or('}')
    }
    function qt(e) {
      e.propertyName && (v(e.propertyName), Or(' as ')), v(e.name)
    }
    function Ut(e) {
      Or('require('), b(e.expression), Or(')')
    }
    function Wt(e) {
      v(e.openingElement), Ar(e, e.children, 131072), v(e.closingElement)
    }
    function Ht(e) {
      Or('<'),
        tr(e.tagName),
        Or(' '),
        e.attributes.properties &&
          e.attributes.properties.length > 0 &&
          v(e.attributes),
        Or('/>')
    }
    function Gt(e) {
      Or('<'),
        tr(e.tagName),
        Mr(e.attributes.properties, ' '),
        e.attributes.properties &&
          e.attributes.properties.length > 0 &&
          v(e.attributes),
        Or('>')
    }
    function Xt(e) {
      Sn.writeLiteral($r(e, !0))
    }
    function Qt(e) {
      Or('</'), tr(e.tagName), Or('>')
    }
    function Yt(e) {
      Ar(e, e.properties, 131328)
    }
    function Zt(e) {
      v(e.name), vr('=', e.initializer)
    }
    function $t(e) {
      Or('{...'), b(e.expression), Or('}')
    }
    function er(e) {
      e.expression &&
        (Or('{'), e.dotDotDotToken && Or('...'), b(e.expression), Or('}'))
    }
    function tr(e) {
      71 === e.kind ? b(e) : v(e)
    }
    function rr(e) {
      Or('case '), b(e.expression), Or(':'), ar(e, e.statements)
    }
    function nr(e) {
      Or('default:'), ar(e, e.statements)
    }
    function ar(t, r) {
      var n =
        1 === r.length &&
        (e.nodeIsSynthesized(t) ||
          e.nodeIsSynthesized(r[0]) ||
          e.rangeStartPositionsAreOnSameLine(t, r[0], vn))
      n ? (Or(' '), v(r[0])) : Ar(t, r, 81985)
    }
    function ir(e) {
      Or(' '), Jr(e.token), Or(' '), Ar(e, e.types, 272)
    }
    function or(e) {
      var t = Br(74, e.pos)
      Or(' '),
        Br(19, t),
        v(e.variableDeclaration),
        Br(20, e.variableDeclaration ? e.variableDeclaration.end : t),
        Or(' '),
        v(e.block)
    }
    function sr(t) {
      v(t.name), Or(': ')
      var r = t.initializer
      if (zn && 0 === (512 & e.getEmitFlags(r))) {
        var n = e.getCommentRange(r)
        zn(n.pos)
      }
      b(r)
    }
    function cr(e) {
      v(e.name),
        e.objectAssignmentInitializer &&
          (Or(' = '), b(e.objectAssignmentInitializer))
    }
    function ur(e) {
      e.expression && (Or('...'), b(e.expression))
    }
    function _r(e) {
      v(e.name), hr(' = ', e.initializer)
    }
    function lr(t) {
      Fr()
      var r = t.statements
      if (Jn) {
        var n =
          0 === r.length ||
          !e.isPrologueDirective(r[0]) ||
          e.nodeIsSynthesized(r[0])
        if (n) return void Jn(t, r, dr)
      }
      dr(t)
    }
    function dr(t) {
      var r = t.statements
      tn(), w(t)
      var n = e.findIndex(r, function(t) {
        return !e.isPrologueDirective(t)
      })
      Ar(t, r, 1, n === -1 ? r.length : n), rn()
    }
    function pr(e) {
      b(e.expression)
    }
    function fr(t, r, n) {
      for (var a = 0; a < t.length; a++) {
        var i = t[a]
        if (!e.isPrologueDirective(i)) return a
        var o = !n || !n.has(i.expression.text)
        o &&
          ((r || a > 0) && Fr(),
          v(i),
          n && n.set(i.expression.text, i.expression.text))
      }
      return t.length
    }
    function gr(t) {
      if (e.isSourceFile(t)) g(t), fr(t.statements)
      else
        for (
          var r = e.createMap(), n = 0, a = t.sourceFiles;
          n < a.length;
          n++
        ) {
          var i = a[n]
          g(i), fr(i.statements, !0, r)
        }
    }
    function mr(t) {
      if (e.isSourceFile(t)) {
        var r = e.getShebang(t.text)
        if (r) return Or(r), Fr(), !0
      } else
        for (var n = 0, a = t.sourceFiles; n < a.length; n++) {
          var i = a[n]
          if (mr(i)) break
        }
    }
    function yr(e, t) {
      t && t.length && (Ar(e, t, 256), Or(' '))
    }
    function vr(e, t) {
      br(e, t, v)
    }
    function hr(e, t) {
      br(e, t, b)
    }
    function br(e, t, r) {
      t && (Or(e), r(t))
    }
    function kr(e, t) {
      e && (v(e), Or(t))
    }
    function xr(t, r) {
      e.isBlock(r) || 1 & e.getEmitFlags(t)
        ? (Or(' '), v(r))
        : (Fr(), Ir(), v(r), Rr())
    }
    function Cr(e, t) {
      Ar(e, t, 24577)
    }
    function Sr(e, t) {
      Ar(e, t, 26960)
    }
    function Dr(e, t) {
      Ar(e, t, 26960)
    }
    function Tr(e, t) {
      Ar(e, t, 1360)
    }
    function Er(e, t) {
      t && 1 === t.length && void 0 === t[0].type && t[0].pos === e.pos
        ? v(t[0])
        : Tr(e, t)
    }
    function Nr(e, t) {
      Ar(e, t, 4432)
    }
    function Ar(e, t, r, n, a) {
      Pr(v, e, t, r, n, a)
    }
    function wr(e, t, r, n, a) {
      Pr(b, e, t, r, n, a)
    }
    function Pr(t, r, n, i, c, u) {
      void 0 === c && (c = 0), void 0 === u && (u = n ? n.length - c : 0)
      var _ = void 0 === n
      if (!(_ && 8192 & i)) {
        var l = _ || 0 === n.length || c >= n.length || 0 === u
        if (!(l && 16384 & i)) {
          if ((7680 & i && Or(o(i)), In && In(n), l))
            1 & i ? Fr() : 128 & i && Or(' ')
          else {
            var d = 0 === (131072 & i),
              p = d
            Ur(r, n, i) ? (Fr(), (p = !1)) : 128 & i && Or(' '), 64 & i && Ir()
            for (var f = void 0, g = void 0, m = a(i), y = 0; y < u; y++) {
              var v = n[c + y]
              if (
                (f &&
                  (m && f.end !== r.end && Kn(f.end),
                  Or(m),
                  Wr(f, v, i)
                    ? (0 === (67 & i) && (Ir(), (g = !0)), Fr(), (p = !1))
                    : f && 256 & i && Or(' ')),
                p)
              ) {
                if (zn) {
                  var h = e.getCommentRange(v)
                  zn(h.pos)
                }
              } else p = d
              t(v), g && (Rr(), (g = !1)), (f = v)
            }
            var b = 32 & i && n.hasTrailingComma
            16 & i && b && Or(','),
              f && m && f.end !== r.end && Kn(f.end),
              64 & i && Rr(),
              Hr(r, n, i) ? Fr() : 128 & i && Or(' ')
          }
          Rn && Rn(n), 7680 & i && Or(s(i))
        }
      }
    }
    function Or(e) {
      Sn.write(e)
    }
    function Fr() {
      Sn.writeLine()
    }
    function Ir() {
      Sn.increaseIndent()
    }
    function Rr() {
      Sn.decreaseIndent()
    }
    function Mr(t, r) {
      e.some(t) && Or(r)
    }
    function Lr(e, t) {
      e && Or(t)
    }
    function Br(e, t, r) {
      return Nn ? Nn(r, e, t, Jr) : Jr(e, t)
    }
    function Jr(t, r) {
      var n = e.tokenToString(t)
      return Or(n), r < 0 ? r : r + n.length
    }
    function zr(t) {
      1 & e.getEmitFlags(t) ? Or(' ') : Fr()
    }
    function Kr(e) {
      for (var t = e.split(/\r\n?|\n/g), r = jr(t), n = 0; n < t.length; n++) {
        var a = r ? t[n].slice(r) : t[n]
        a.length && (Fr(), Or(a), Fr())
      }
    }
    function jr(t) {
      for (var r, n = 0, a = t; n < a.length; n++)
        for (var i = a[n], o = 0; o < i.length && (void 0 === r || o < r); o++)
          if (!e.isWhiteSpaceLike(i.charCodeAt(o)) && (void 0 === r || o < r)) {
            r = o
            break
          }
      return r
    }
    function Vr(e, t) {
      e ? (Ir(), Fr()) : t && Or(t)
    }
    function qr(e, t) {
      e && Rr(), t && Rr()
    }
    function Ur(t, r, n) {
      if (1 & n) return !0
      if (2 & n) {
        if (32768 & n) return !0
        var a = r[0]
        return void 0 === a
          ? !e.rangeIsOnSingleLine(t, vn)
          : e.positionIsSynthesized(t.pos) || e.nodeIsSynthesized(a)
            ? Gr(a, n)
            : !e.rangeStartPositionsAreOnSameLine(t, a, vn)
      }
      return !1
    }
    function Wr(t, r, n) {
      return (
        !!(1 & n) ||
        (2 & n
          ? void 0 !== t &&
            void 0 !== r &&
            (e.nodeIsSynthesized(t) || e.nodeIsSynthesized(r)
              ? Gr(t, n) || Gr(r, n)
              : !e.rangeEndIsOnSameLineAsRangeStart(t, r, vn))
          : r.startsOnNewLine)
      )
    }
    function Hr(t, r, n) {
      if (1 & n) return 0 === (65536 & n)
      if (2 & n) {
        if (32768 & n) return !0
        var a = e.lastOrUndefined(r)
        return void 0 === a
          ? !e.rangeIsOnSingleLine(t, vn)
          : e.positionIsSynthesized(t.pos) || e.nodeIsSynthesized(a)
            ? Gr(a, n)
            : !e.rangeEndPositionsAreOnSameLine(t, a, vn)
      }
      return !1
    }
    function Gr(t, r) {
      if (e.nodeIsSynthesized(t)) {
        var n = t.startsOnNewLine
        return void 0 === n ? 0 !== (32768 & r) : n
      }
      return 0 !== (32768 & r)
    }
    function Xr(t, r, n) {
      return (
        (t = Zr(t)),
        (r = Zr(r)),
        (n = Zr(n)),
        !!n.startsOnNewLine ||
          !(
            e.nodeIsSynthesized(t) ||
            e.nodeIsSynthesized(r) ||
            e.nodeIsSynthesized(n) ||
            e.rangeEndIsOnSameLineAsRangeStart(r, n, vn)
          )
      )
    }
    function Qr(e) {
      return !e.multiLine && Yr(e)
    }
    function Yr(t) {
      return (
        0 === t.statements.length &&
        e.rangeEndIsOnSameLineAsRangeStart(t, t, vn)
      )
    }
    function Zr(t) {
      for (; 185 === t.kind && e.nodeIsSynthesized(t); ) t = t.expression
      return t
    }
    function $r(t, r) {
      return e.isGeneratedIdentifier(t)
        ? nn(t)
        : !e.isIdentifier(t) || (!e.nodeIsSynthesized(t) && t.parent)
          ? 9 === t.kind && t.textSourceNode
            ? $r(t.textSourceNode, r)
            : !e.isLiteralExpression(t) || (!e.nodeIsSynthesized(t) && t.parent)
              ? e.getSourceTextOfNodeFromSourceFile(vn, t, r)
              : t.text
          : e.unescapeIdentifier(t.text)
    }
    function en(t) {
      if (9 === t.kind && t.textSourceNode) {
        var r = t.textSourceNode
        return e.isIdentifier(r)
          ? '"' + e.escapeNonAsciiCharacters(e.escapeString($r(r))) + '"'
          : en(r)
      }
      return e.getLiteralText(t, vn)
    }
    function tn() {
      xn.push(Cn), (Cn = 0)
    }
    function rn() {
      Cn = xn.pop()
    }
    function nn(t) {
      if (4 === t.autoGenerateKind) {
        var r = yn(t)
        return an(r)
      }
      var n = t.autoGenerateId
      return bn[n] || (bn[n] = e.unescapeIdentifier(mn(t)))
    }
    function an(t) {
      var r = e.getNodeId(t)
      return hn[r] || (hn[r] = e.unescapeIdentifier(gn(t)))
    }
    function on(e) {
      return !((Tn && Tn(e)) || vn.identifiers.has(e) || kn.has(e))
    }
    function sn(t, r) {
      for (var n = r; e.isNodeDescendantOf(n, r); n = n.nextContainer)
        if (n.locals) {
          var a = n.locals.get(t)
          if (a && 9544639 & a.flags) return !1
        }
      return !0
    }
    function cn(e) {
      if (e && !(Cn & e)) {
        var t = 268435456 === e ? '_i' : '_n'
        if (on(t)) return (Cn |= e), t
      }
      for (;;) {
        var r = 268435455 & Cn
        if ((Cn++, 8 !== r && 13 !== r)) {
          var t = r < 26 ? '_' + String.fromCharCode(97 + r) : '_' + (r - 26)
          if (on(t)) return t
        }
      }
    }
    function un(e) {
      95 !== e.charCodeAt(e.length - 1) && (e += '_')
      for (var t = 1; ; ) {
        var r = e + t
        if (on(r)) return kn.set(r, r), r
        t++
      }
    }
    function _n(e) {
      var t = $r(e.name)
      return sn(t, e) ? t : un(t)
    }
    function ln(t) {
      var r = e.getExternalModuleName(t),
        n =
          9 === r.kind
            ? e.escapeIdentifier(e.makeIdentifierFromModuleName(r.text))
            : 'module'
      return un(n)
    }
    function dn() {
      return un('default')
    }
    function pn() {
      return un('class')
    }
    function fn(t) {
      return e.isIdentifier(t.name) ? an(t.name) : cn(0)
    }
    function gn(e) {
      switch (e.kind) {
        case 71:
          return un($r(e))
        case 233:
        case 232:
          return _n(e)
        case 238:
        case 244:
          return ln(e)
        case 228:
        case 229:
        case 243:
          return dn()
        case 199:
          return pn()
        case 151:
        case 153:
        case 154:
          return fn(e)
        default:
          return cn(0)
      }
    }
    function mn(t) {
      switch (t.autoGenerateKind) {
        case 1:
          return cn(0)
        case 2:
          return cn(268435456)
        case 3:
          return un(e.unescapeIdentifier(t.text))
      }
      e.Debug.fail('Unsupported GeneratedIdentifierKind.')
    }
    function yn(t) {
      for (
        var r = t.autoGenerateId, n = t, a = n.original;
        a &&
        ((n = a),
        !e.isIdentifier(n) ||
          4 !== n.autoGenerateKind ||
          n.autoGenerateId === r);

      )
        a = n.original
      return n
    }
    void 0 === t && (t = {}), void 0 === r && (r = {})
    var vn,
      hn,
      bn,
      kn,
      xn,
      Cn,
      Sn,
      Dn,
      Tn = r.hasGlobalName,
      En = r.onEmitSourceMapOfNode,
      Nn = r.onEmitSourceMapOfToken,
      An = r.onEmitSourceMapOfPosition,
      wn = r.onEmitNode,
      Pn = r.onEmitHelpers,
      On = r.onSetSourceFile,
      Fn = r.substituteNode,
      In = r.onBeforeEmitNodeArray,
      Rn = r.onAfterEmitNodeArray,
      Mn = e.getNewLineCharacter(t),
      Ln = e.createCommentWriter(t, An),
      Bn = Ln.emitNodeWithComments,
      Jn = Ln.emitBodyWithDetachedComments,
      zn = Ln.emitTrailingCommentsOfPosition,
      Kn = Ln.emitLeadingCommentsOfPosition
    return (
      y(),
      {
        printNode: n,
        printFile: c,
        printBundle: i,
        writeNode: u,
        writeFile: l,
        writeBundle: _
      }
    )
  }
  function n() {
    var e = []
    return (e[0] = ''), (e[16] = ','), (e[4] = ' |'), (e[8] = ' &'), e
  }
  function a(e) {
    return c[28 & e]
  }
  function i() {
    var e = []
    return (
      (e[512] = ['{', '}']),
      (e[1024] = ['(', ')']),
      (e[2048] = ['<', '>']),
      (e[4096] = ['[', ']']),
      e
    )
  }
  function o(e) {
    return u[7680 & e][0]
  }
  function s(e) {
    return u[7680 & e][1]
  }
  var c = n(),
    u = i()
  ;(e.emitFiles = t), (e.createPrinter = r)
  var _
  !(function(e) {
    ;(e[(e.Auto = 0)] = 'Auto'),
      (e[(e.CountMask = 268435455)] = 'CountMask'),
      (e[(e._i = 268435456)] = '_i')
  })(_ || (_ = {}))
  var l
  !(function(e) {
    ;(e[(e.None = 0)] = 'None'),
      (e[(e.SingleLine = 0)] = 'SingleLine'),
      (e[(e.MultiLine = 1)] = 'MultiLine'),
      (e[(e.PreserveLines = 2)] = 'PreserveLines'),
      (e[(e.LinesMask = 3)] = 'LinesMask'),
      (e[(e.NotDelimited = 0)] = 'NotDelimited'),
      (e[(e.BarDelimited = 4)] = 'BarDelimited'),
      (e[(e.AmpersandDelimited = 8)] = 'AmpersandDelimited'),
      (e[(e.CommaDelimited = 16)] = 'CommaDelimited'),
      (e[(e.DelimitersMask = 28)] = 'DelimitersMask'),
      (e[(e.AllowTrailingComma = 32)] = 'AllowTrailingComma'),
      (e[(e.Indented = 64)] = 'Indented'),
      (e[(e.SpaceBetweenBraces = 128)] = 'SpaceBetweenBraces'),
      (e[(e.SpaceBetweenSiblings = 256)] = 'SpaceBetweenSiblings'),
      (e[(e.Braces = 512)] = 'Braces'),
      (e[(e.Parenthesis = 1024)] = 'Parenthesis'),
      (e[(e.AngleBrackets = 2048)] = 'AngleBrackets'),
      (e[(e.SquareBrackets = 4096)] = 'SquareBrackets'),
      (e[(e.BracketsMask = 7680)] = 'BracketsMask'),
      (e[(e.OptionalIfUndefined = 8192)] = 'OptionalIfUndefined'),
      (e[(e.OptionalIfEmpty = 16384)] = 'OptionalIfEmpty'),
      (e[(e.Optional = 24576)] = 'Optional'),
      (e[(e.PreferNewLine = 32768)] = 'PreferNewLine'),
      (e[(e.NoTrailingNewLine = 65536)] = 'NoTrailingNewLine'),
      (e[(e.NoInterveningComments = 131072)] = 'NoInterveningComments'),
      (e[(e.Modifiers = 256)] = 'Modifiers'),
      (e[(e.HeritageClauses = 256)] = 'HeritageClauses'),
      (e[(e.TypeLiteralMembers = 65)] = 'TypeLiteralMembers'),
      (e[(e.TupleTypeElements = 336)] = 'TupleTypeElements'),
      (e[(e.UnionTypeConstituents = 260)] = 'UnionTypeConstituents'),
      (e[(e.IntersectionTypeConstituents = 264)] =
        'IntersectionTypeConstituents'),
      (e[(e.ObjectBindingPatternElements = 432)] =
        'ObjectBindingPatternElements'),
      (e[(e.ArrayBindingPatternElements = 304)] =
        'ArrayBindingPatternElements'),
      (e[(e.ObjectLiteralExpressionProperties = 978)] =
        'ObjectLiteralExpressionProperties'),
      (e[(e.ArrayLiteralExpressionElements = 4466)] =
        'ArrayLiteralExpressionElements'),
      (e[(e.CallExpressionArguments = 1296)] = 'CallExpressionArguments'),
      (e[(e.NewExpressionArguments = 9488)] = 'NewExpressionArguments'),
      (e[(e.TemplateExpressionSpans = 131072)] = 'TemplateExpressionSpans'),
      (e[(e.SingleLineBlockStatements = 384)] = 'SingleLineBlockStatements'),
      (e[(e.MultiLineBlockStatements = 65)] = 'MultiLineBlockStatements'),
      (e[(e.VariableDeclarationList = 272)] = 'VariableDeclarationList'),
      (e[(e.SingleLineFunctionBodyStatements = 384)] =
        'SingleLineFunctionBodyStatements'),
      (e[(e.MultiLineFunctionBodyStatements = 1)] =
        'MultiLineFunctionBodyStatements'),
      (e[(e.ClassHeritageClauses = 256)] = 'ClassHeritageClauses'),
      (e[(e.ClassMembers = 65)] = 'ClassMembers'),
      (e[(e.InterfaceMembers = 65)] = 'InterfaceMembers'),
      (e[(e.EnumMembers = 81)] = 'EnumMembers'),
      (e[(e.CaseBlockClauses = 65)] = 'CaseBlockClauses'),
      (e[(e.NamedImportsOrExportsElements = 432)] =
        'NamedImportsOrExportsElements'),
      (e[(e.JsxElementChildren = 131072)] = 'JsxElementChildren'),
      (e[(e.JsxElementAttributes = 131328)] = 'JsxElementAttributes'),
      (e[(e.CaseOrDefaultClauseStatements = 81985)] =
        'CaseOrDefaultClauseStatements'),
      (e[(e.HeritageClauseTypes = 272)] = 'HeritageClauseTypes'),
      (e[(e.SourceFileStatements = 65537)] = 'SourceFileStatements'),
      (e[(e.Decorators = 24577)] = 'Decorators'),
      (e[(e.TypeArguments = 26960)] = 'TypeArguments'),
      (e[(e.TypeParameters = 26960)] = 'TypeParameters'),
      (e[(e.Parameters = 1360)] = 'Parameters'),
      (e[(e.IndexSignatureParameters = 4432)] = 'IndexSignatureParameters')
  })(l || (l = {}))
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t, r, n) {
    for (void 0 === n && (n = 'tsconfig.json'); ; ) {
      var a = e.combinePaths(t, n)
      if (r(a)) return a
      var i = e.getDirectoryPath(t)
      if (i === t) break
      t = i
    }
  }
  function r(t, r) {
    var n = e.getDirectoryPath(r),
      a = e.isRootedDiskPath(t) ? t : e.combinePaths(n, t)
    return e.normalizePath(a)
  }
  function n(t, r, n) {
    var a,
      i = e.forEach(t, function(t) {
        var i = e.getNormalizedPathComponents(t, r)
        if ((i.pop(), !a)) return void (a = i)
        for (var o = Math.min(a.length, i.length), s = 0; s < o; s++)
          if (n(a[s]) !== n(i[s])) {
            if (0 === s) return !0
            a.length = s
            break
          }
        i.length < a.length && (a.length = i.length)
      })
    return i ? '' : a ? e.getNormalizedPathFromPathComponents(a) : r
  }
  function a(t, r) {
    function n(t) {
      return e.sys.useCaseSensitiveFileNames ? t : t.toLowerCase()
    }
    function a(n, a, i) {
      var o
      try {
        e.performance.mark('beforeIORead'),
          (o = e.sys.readFile(n, t.charset)),
          e.performance.mark('afterIORead'),
          e.performance.measure('I/O Read', 'beforeIORead', 'afterIORead')
      } catch (s) {
        i && i(s.message), (o = '')
      }
      return void 0 !== o ? e.createSourceFile(n, o, a, r) : void 0
    }
    function i(t) {
      return !!l.has(t) || (!!e.sys.directoryExists(t) && (l.set(t, !0), !0))
    }
    function o(t) {
      if (t.length > e.getRootLength(t) && !i(t)) {
        var r = e.getDirectoryPath(t)
        o(r), e.sys.createDirectory(t)
      }
    }
    function s(t, r, n) {
      _ || (_ = e.createMap())
      var a = e.sys.createHash(r),
        i = e.sys.getModifiedTime(t)
      if (i) {
        var o = _.get(t)
        if (
          o &&
          o.byteOrderMark === n &&
          o.hash === a &&
          o.mtime.getTime() === i.getTime()
        )
          return
      }
      e.sys.writeFile(t, r, n)
      var s = e.sys.getModifiedTime(t)
      _.set(t, { hash: a, byteOrderMark: n, mtime: s })
    }
    function c(r, n, a, i) {
      try {
        e.performance.mark('beforeIOWrite'),
          o(e.getDirectoryPath(e.normalizePath(r))),
          e.isWatchSet(t) && e.sys.createHash && e.sys.getModifiedTime
            ? s(r, n, a)
            : e.sys.writeFile(r, n, a),
          e.performance.mark('afterIOWrite'),
          e.performance.measure('I/O Write', 'beforeIOWrite', 'afterIOWrite')
      } catch (c) {
        i && i(c.message)
      }
    }
    function u() {
      return e.getDirectoryPath(e.normalizePath(e.sys.getExecutingFilePath()))
    }
    var _,
      l = e.createMap(),
      d = e.getNewLineCharacter(t),
      p =
        e.sys.realpath &&
        function(t) {
          return e.sys.realpath(t)
        }
    return {
      getSourceFile: a,
      getDefaultLibLocation: u,
      getDefaultLibFileName: function(t) {
        return e.combinePaths(u(), e.getDefaultLibFileName(t))
      },
      writeFile: c,
      getCurrentDirectory: e.memoize(function() {
        return e.sys.getCurrentDirectory()
      }),
      useCaseSensitiveFileNames: function() {
        return e.sys.useCaseSensitiveFileNames
      },
      getCanonicalFileName: n,
      getNewLine: function() {
        return d
      },
      fileExists: function(t) {
        return e.sys.fileExists(t)
      },
      readFile: function(t) {
        return e.sys.readFile(t)
      },
      trace: function(t) {
        return e.sys.write(t + d)
      },
      directoryExists: function(t) {
        return e.sys.directoryExists(t)
      },
      getEnvironmentVariable: function(t) {
        return e.sys.getEnvironmentVariable
          ? e.sys.getEnvironmentVariable(t)
          : ''
      },
      getDirectories: function(t) {
        return e.sys.getDirectories(t)
      },
      realpath: p
    }
  }
  function i(t, r, n) {
    var a = t
      .getOptionsDiagnostics(n)
      .concat(
        t.getSyntacticDiagnostics(r, n),
        t.getGlobalDiagnostics(n),
        t.getSemanticDiagnostics(r, n)
      )
    return (
      t.getCompilerOptions().declaration &&
        (a = a.concat(t.getDeclarationDiagnostics(r, n))),
      e.sortAndDeduplicateDiagnostics(a)
    )
  }
  function o(t, r) {
    for (var n = '', a = 0, i = t; a < i.length; a++) {
      var o = i[a]
      if (o.file) {
        var c = e.getLineAndCharacterOfPosition(o.file, o.start),
          u = c.line,
          _ = c.character,
          l = o.file.fileName,
          d = e.convertToRelativePath(l, r.getCurrentDirectory(), function(e) {
            return r.getCanonicalFileName(e)
          })
        n += d + '(' + (u + 1) + ',' + (_ + 1) + '): '
      }
      var p = e.DiagnosticCategory[o.category].toLowerCase()
      n +=
        p +
        ' TS' +
        o.code +
        ': ' +
        s(o.messageText, r.getNewLine()) +
        r.getNewLine()
    }
    return n
  }
  function s(e, t) {
    if ('string' == typeof e) return e
    for (var r = e, n = '', a = 0; r; ) {
      if (a) {
        n += t
        for (var i = 0; i < a; i++) n += '  '
      }
      ;(n += r.messageText), a++, (r = r.next)
    }
    return n
  }
  function c(t, r, n) {
    if (0 === t.length) return []
    for (var a = [], i = e.createMap(), o = 0, s = t; o < s.length; o++) {
      var c = s[o],
        u = void 0
      i.has(c) ? (u = i.get(c)) : i.set(c, (u = n(c, r))), a.push(u)
    }
    return a
  }
  function u(t, i, o, s) {
    function u() {
      if (void 0 === se) {
        var t = e.filter(le, function(t) {
          return e.sourceFileMayBeEmitted(t, i, y)
        })
        ;(se =
          i.rootDir && ne(t, i.rootDir)
            ? e.getNormalizedAbsolutePath(i.rootDir, Se)
            : re(t)),
          se &&
            se[se.length - 1] !== e.directorySeparator &&
            (se += e.directorySeparator)
      }
      return se
    }
    function p() {
      if (!_e) {
        b(), (_e = e.createMap())
        for (var t = 0, r = le; t < r.length; t++) {
          var n = r[t]
          e.copyEntries(n.classifiableNames, _e)
        }
      }
      return _e
    }
    function f(t, r, n, a) {
      function c(t, r) {
        if (!r) return !1
        var n = e.getResolvedModule(r.file, t)
        if (n) return !1
        var a = s.getTypeChecker().tryFindAmbientModuleWithoutAugmentations(t)
        if (!a || !a.declarations) return !1
        var c = e.forEach(a.declarations, function(t) {
          var n = e.getSourceFileOfNode(t)
          return !e.contains(r.modifiedFilePaths, n.path) && n
        })
        return (
          !!c &&
          (e.isTraceEnabled(i, o) &&
            e.trace(
              o,
              e.Diagnostics
                .Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified,
              t,
              c.fileName
            ),
          !0)
        )
      }
      if (!a && !n.ambientModuleNames.length) return ke(t, r)
      for (var u, _, d = {}, p = 0; p < t.length; p++) {
        var f = t[p],
          g = !1
        e.contains(n.ambientModuleNames, f)
          ? ((g = !0),
            e.isTraceEnabled(i, o) &&
              e.trace(
                o,
                e.Diagnostics
                  .Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1,
                f,
                r
              ))
          : (g = c(f, a)),
          g
            ? (u || ((_ = new Array(t.length)), (u = t.slice(0, p))),
              (_[p] = d))
            : u && u.push(f)
      }
      if (!u) return ke(t, r)
      for (var m = u.length ? ke(u, r) : l, y = 0, p = 0; p < _.length; p++)
        _[p] === d ? (_[p] = void 0) : ((_[p] = m[y]), y++)
      return e.Debug.assert(y === m.length), _
    }
    function g() {
      if (!s) return !1
      var r = s.getCompilerOptions()
      if (e.changesAffectModuleResolution(r, i)) return !1
      e.Debug.assert(!s.structureIsReused)
      var n = s.getRootFileNames()
      if (!e.arrayIsEqualTo(n, t)) return !1
      if (!e.arrayIsEqualTo(i.types, r.types)) return !1
      for (
        var a = [], c = [], u = [], _ = 0, l = s.getSourceFiles();
        _ < l.length;
        _++
      ) {
        var d = l[_],
          p = o.getSourceFileByPath
            ? o.getSourceFileByPath(d.fileName, d.path, i.target)
            : o.getSourceFile(d.fileName, i.target)
        if (!p) return !1
        if (((p.path = d.path), c.push(p.path), d !== p)) {
          if (d.hasNoDefaultLib !== p.hasNoDefaultLib) return !1
          if (!e.arrayIsEqualTo(d.referencedFiles, p.referencedFiles, V))
            return !1
          if ((W(p), !e.arrayIsEqualTo(d.imports, p.imports, q))) return !1
          if (
            !e.arrayIsEqualTo(d.moduleAugmentations, p.moduleAugmentations, q)
          )
            return !1
          if (
            !e.arrayIsEqualTo(
              d.typeReferenceDirectives,
              p.typeReferenceDirectives,
              V
            )
          )
            return !1
          u.push({ oldFile: d, newFile: p })
        } else p = d
        a.push(p)
      }
      for (
        var g = u.map(function(e) {
            return e.newFile.path
          }),
          m = 0,
          y = u;
        m < y.length;
        m++
      ) {
        var v = y[m],
          d = v.oldFile,
          p = v.newFile,
          h = e.getNormalizedAbsolutePath(p.fileName, Se)
        if (ke) {
          var b = e.map(e.concatenate(p.imports, p.moduleAugmentations), U),
            k = f(b, h, p, { file: d, program: s, modifiedFilePaths: g }),
            x = e.hasChangesInResolutions(
              b,
              k,
              d.resolvedModules,
              e.moduleResolutionIsEqualTo
            )
          if (x) return !1
        }
        if (Ne) {
          var C = e.map(p.typeReferenceDirectives, function(e) {
              return e.fileName
            }),
            k = Ne(C, h),
            x = e.hasChangesInResolutions(
              C,
              k,
              d.resolvedTypeReferenceDirectiveNames,
              e.typeDirectiveIsEqualTo
            )
          if (x) return !1
        }
        ;(p.resolvedModules = d.resolvedModules),
          (p.resolvedTypeReferenceDirectiveNames =
            d.resolvedTypeReferenceDirectiveNames)
      }
      for (var S = 0; S < a.length; S++) we.set(c[S], a[S])
      ;(le = a), (ge = s.getFileProcessingDiagnostics())
      for (var D = 0, T = u; D < T.length; D++) {
        var E = T[D]
        ge.reattachFileDiagnostics(E.newFile)
      }
      return (
        (fe = s.getResolvedTypeReferenceDirectives()),
        (s.structureIsReused = !0),
        !0
      )
    }
    function m(e) {
      return {
        getCanonicalFileName: ee,
        getCommonSourceDirectory: oe.getCommonSourceDirectory,
        getCompilerOptions: oe.getCompilerOptions,
        getCurrentDirectory: function() {
          return Se
        },
        getNewLine: function() {
          return o.getNewLine()
        },
        getSourceFile: oe.getSourceFile,
        getSourceFileByPath: oe.getSourceFileByPath,
        getSourceFiles: oe.getSourceFiles,
        isSourceFileFromExternalLibrary: y,
        writeFile:
          e ||
          function(e, t, r, n, a) {
            return o.writeFile(e, t, r, n, a)
          },
        isEmitBlocked: x
      }
    }
    function y(e) {
      return he.get(e.path)
    }
    function v() {
      return ce || (ce = e.createTypeChecker(oe, !0))
    }
    function h() {
      ce = void 0
    }
    function b() {
      return ue || (ue = e.createTypeChecker(oe, !1))
    }
    function k(e, t, r, n, a) {
      return P(function() {
        return C(oe, e, t, r, n, a)
      })
    }
    function x(t) {
      return Te.contains(e.toPath(t, Se, ee))
    }
    function C(t, r, n, a, o, s) {
      var c = []
      if (i.noEmit)
        return {
          diagnostics: c,
          sourceMaps: void 0,
          emittedFiles: void 0,
          emitSkipped: !0
        }
      if (i.noEmitOnError) {
        var u = t
          .getOptionsDiagnostics(a)
          .concat(
            t.getSyntacticDiagnostics(r, a),
            t.getGlobalDiagnostics(a),
            t.getSemanticDiagnostics(r, a)
          )
        if (
          (0 === u.length &&
            t.getCompilerOptions().declaration &&
            (c = t.getDeclarationDiagnostics(void 0, a)),
          u.length > 0 || c.length > 0)
        )
          return {
            diagnostics: e.concatenate(u, c),
            sourceMaps: void 0,
            emittedFiles: void 0,
            emitSkipped: !0
          }
      }
      var _ = v().getEmitResolver(i.outFile || i.out ? void 0 : r)
      e.performance.mark('beforeEmit')
      var l = o ? [] : e.getTransformers(i, s),
        d = e.emitFiles(_, m(n), r, o, l)
      return (
        e.performance.mark('afterEmit'),
        e.performance.measure('Emit', 'beforeEmit', 'afterEmit'),
        d
      )
    }
    function S(t) {
      return D(e.toPath(t, Se, ee))
    }
    function D(e) {
      return we.get(e)
    }
    function T(t, r, n) {
      if (t) return r(t, n)
      var a = []
      return (
        e.forEach(oe.getSourceFiles(), function(t) {
          n && n.throwIfCancellationRequested(), e.addRange(a, r(t, n))
        }),
        e.sortAndDeduplicateDiagnostics(a)
      )
    }
    function E(e, t) {
      return T(e, w, t)
    }
    function N(e, t) {
      return T(e, O, t)
    }
    function A(e, t) {
      var r = oe.getCompilerOptions()
      return !e || r.out || r.outFile ? M(e, t) : T(e, J, t)
    }
    function w(t) {
      return e.isSourceFileJavaScript(t)
        ? (t.additionalSyntacticDiagnostics ||
            (t.additionalSyntacticDiagnostics = R(t)),
          e.concatenate(t.additionalSyntacticDiagnostics, t.parseDiagnostics))
        : t.parseDiagnostics
    }
    function P(t) {
      try {
        return t()
      } catch (r) {
        throw (r instanceof e.OperationCanceledException &&
          ((ue = void 0), (ce = void 0)),
        r)
      }
    }
    function O(e, t) {
      return B(e, t, de, F)
    }
    function F(t, r) {
      return P(function() {
        if (
          (i.skipLibCheck && t.isDeclarationFile) ||
          (i.skipDefaultLibCheck && t.hasNoDefaultLib)
        )
          return l
        var n = v()
        e.Debug.assert(!!t.bindDiagnostics)
        var a = t.bindDiagnostics,
          o = !e.isSourceFileJavaScript(t) || e.isCheckJsEnabledForFile(t, i),
          s = o ? n.getDiagnostics(t, r) : [],
          c = ge.getDiagnostics(t.fileName),
          u = Ce.getDiagnostics(t.fileName),
          _ = a.concat(s, c, u)
        return e.isSourceFileJavaScript(t) ? e.filter(_, I) : _
      })
    }
    function I(t) {
      var r = t.file,
        n = t.start
      if (r)
        for (
          var a = e.getLineStarts(r),
            i = e.computeLineAndCharacterOfPosition(a, n).line;
          i > 0;

        ) {
          var o = r.text.slice(a[i - 1], a[i]),
            s = d.exec(o)
          if (!s) return !0
          if (s[3]) return !1
          i--
        }
      return !0
    }
    function R(t) {
      return P(function() {
        function r(t) {
          switch (u.kind) {
            case 146:
            case 149:
              if (u.questionToken === t)
                return void c.push(
                  s(t, e.Diagnostics._0_can_only_be_used_in_a_ts_file, '?')
                )
            case 151:
            case 150:
            case 152:
            case 153:
            case 154:
            case 186:
            case 228:
            case 187:
            case 228:
            case 226:
              if (u.type === t)
                return void c.push(
                  s(t, e.Diagnostics.types_can_only_be_used_in_a_ts_file)
                )
          }
          switch (t.kind) {
            case 237:
              return void c.push(
                s(t, e.Diagnostics.import_can_only_be_used_in_a_ts_file)
              )
            case 243:
              if (t.isExportEquals)
                return void c.push(
                  s(t, e.Diagnostics.export_can_only_be_used_in_a_ts_file)
                )
              break
            case 259:
              var a = t
              if (108 === a.token)
                return void c.push(
                  s(
                    t,
                    e.Diagnostics
                      .implements_clauses_can_only_be_used_in_a_ts_file
                  )
                )
              break
            case 230:
              return void c.push(
                s(
                  t,
                  e.Diagnostics
                    .interface_declarations_can_only_be_used_in_a_ts_file
                )
              )
            case 233:
              return void c.push(
                s(
                  t,
                  e.Diagnostics
                    .module_declarations_can_only_be_used_in_a_ts_file
                )
              )
            case 231:
              return void c.push(
                s(t, e.Diagnostics.type_aliases_can_only_be_used_in_a_ts_file)
              )
            case 232:
              return void c.push(
                s(
                  t,
                  e.Diagnostics.enum_declarations_can_only_be_used_in_a_ts_file
                )
              )
            case 184:
              var i = t
              return void c.push(
                s(
                  i.type,
                  e.Diagnostics
                    .type_assertion_expressions_can_only_be_used_in_a_ts_file
                )
              )
          }
          var o = u
          ;(u = t), e.forEachChild(t, r, n), (u = o)
        }
        function n(t) {
          switch (
            (u.decorators !== t ||
              i.experimentalDecorators ||
              c.push(
                s(
                  u,
                  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
                )
              ),
            u.kind)
          ) {
            case 229:
            case 151:
            case 150:
            case 152:
            case 153:
            case 154:
            case 186:
            case 228:
            case 187:
            case 228:
              if (t === u.typeParameters)
                return void c.push(
                  o(
                    t,
                    e.Diagnostics
                      .type_parameter_declarations_can_only_be_used_in_a_ts_file
                  )
                )
            case 208:
              if (t === u.modifiers) return a(t, 208 === u.kind)
              break
            case 149:
              if (t === u.modifiers) {
                for (var n = 0, _ = t; n < _.length; n++) {
                  var l = _[n]
                  115 !== l.kind &&
                    c.push(
                      s(
                        l,
                        e.Diagnostics._0_can_only_be_used_in_a_ts_file,
                        e.tokenToString(l.kind)
                      )
                    )
                }
                return
              }
              break
            case 146:
              if (t === u.modifiers)
                return void c.push(
                  o(
                    t,
                    e.Diagnostics
                      .parameter_modifiers_can_only_be_used_in_a_ts_file
                  )
                )
              break
            case 181:
            case 182:
            case 201:
              if (t === u.typeArguments)
                return void c.push(
                  o(
                    t,
                    e.Diagnostics.type_arguments_can_only_be_used_in_a_ts_file
                  )
                )
          }
          for (var d = 0, p = t; d < p.length; d++) {
            var f = p[d]
            r(f)
          }
        }
        function a(t, r) {
          for (var n = 0, a = t; n < a.length; n++) {
            var i = a[n]
            switch (i.kind) {
              case 76:
                if (r) continue
              case 114:
              case 112:
              case 113:
              case 131:
              case 124:
              case 117:
                c.push(
                  s(
                    i,
                    e.Diagnostics._0_can_only_be_used_in_a_ts_file,
                    e.tokenToString(i.kind)
                  )
                )
                break
              case 115:
              case 84:
              case 79:
            }
          }
        }
        function o(r, n, a, i, o) {
          var s = r.pos
          return e.createFileDiagnostic(t, s, r.end - s, n, a, i, o)
        }
        function s(r, n, a, i, o) {
          return e.createDiagnosticForNodeInSourceFile(t, r, n, a, i, o)
        }
        var c = [],
          u = t
        return r(t), c
      })
    }
    function M(e, t) {
      return B(e, t, pe, L)
    }
    function L(t, r) {
      return P(function() {
        var n = v().getEmitResolver(t, r)
        return e.getDeclarationDiagnostics(m(e.noop), n, t)
      })
    }
    function B(t, r, n, a) {
      var i = t ? n.perFile && n.perFile.get(t.path) : n.allDiagnostics
      if (i) return i
      var o = a(t, r) || l
      return (
        t
          ? (n.perFile || (n.perFile = e.createFileMap()),
            n.perFile.set(t.path, o))
          : (n.allDiagnostics = o),
        o
      )
    }
    function J(t, r) {
      return e.isDeclarationFile(t) ? [] : M(t, r)
    }
    function z() {
      var t = []
      return (
        e.addRange(t, ge.getGlobalDiagnostics()),
        e.addRange(t, Ce.getGlobalDiagnostics()),
        e.sortAndDeduplicateDiagnostics(t)
      )
    }
    function K() {
      var t = []
      return (
        e.addRange(t, v().getGlobalDiagnostics()),
        e.sortAndDeduplicateDiagnostics(t)
      )
    }
    function j(t, r) {
      H(e.normalizePath(t), r)
    }
    function V(e, t) {
      return e.fileName === t.fileName
    }
    function q(e, t) {
      return e.text === t.text
    }
    function U(e) {
      return e.text
    }
    function W(t) {
      function r(n, i) {
        switch (n.kind) {
          case 238:
          case 237:
          case 244:
            var c = e.getExternalModuleName(n)
            if (!c || 9 !== c.kind) break
            if (!c.text) break
            ;(i && e.isExternalModuleNameRelative(c.text)) ||
              (a || (a = [])).push(c)
            break
          case 233:
            if (
              e.isAmbientModule(n) &&
              (i || e.hasModifier(n, 2) || e.isDeclarationFile(t))
            ) {
              var l = n.name
              if (u || (i && !e.isExternalModuleNameRelative(l.text)))
                (o || (o = [])).push(l)
              else if (!i) {
                _ && (s || (s = [])).push(l.text)
                var d = n.body
                if (d)
                  for (var p = 0, f = d.statements; p < f.length; p++) {
                    var g = f[p]
                    r(g, !0)
                  }
              }
            }
        }
      }
      function n(t) {
        e.isRequireCall(t, !0)
          ? (a || (a = [])).push(t.arguments[0])
          : e.forEachChild(t, n)
      }
      if (!t.imports) {
        var a,
          o,
          s,
          c = e.isSourceFileJavaScript(t),
          u = e.isExternalModule(t),
          _ = e.isDeclarationFile(t)
        if (
          i.importHelpers &&
          (i.isolatedModules || u) &&
          !t.isDeclarationFile
        ) {
          var d = e.createLiteral(e.externalHelpersModuleNameText),
            p = e.createImportDeclaration(void 0, void 0, void 0)
          ;(d.parent = p), (p.parent = t), (a = [d])
        }
        for (var f = 0, g = t.statements; f < g.length; f++) {
          var m = g[f]
          r(m, !1), c && n(m)
        }
        ;(t.imports = a || l),
          (t.moduleAugmentations = o || l),
          (t.ambientModuleNames = s || l)
      }
    }
    function H(t, r, n, a, s) {
      var c, u
      if (e.hasExtension(t))
        i.allowNonTsExtensions ||
        e.forEach(De, function(r) {
          return e.fileExtensionIs(o.getCanonicalFileName(t), r)
        })
          ? X(t, e.toPath(t, Se, ee), r, n, a, s)
            ? n &&
              o.getCanonicalFileName(t) ===
                o.getCanonicalFileName(n.fileName) &&
              ((u = e.Diagnostics.A_file_cannot_have_a_reference_to_itself),
              (c = [t]))
            : ((u = e.Diagnostics.File_0_not_found), (c = [t]))
          : ((u =
              e.Diagnostics
                .File_0_has_unsupported_extension_The_only_supported_extensions_are_1),
            (c = [t, "'" + De.join("', '") + "'"]))
      else {
        var _ = i.allowNonTsExtensions && X(t, e.toPath(t, Se, ee), r, n, a, s)
        _ ||
          (i.allowNonTsExtensions
            ? ((u = e.Diagnostics.File_0_not_found), (c = [t]))
            : e.forEach(De, function(i) {
                return X(t + i, e.toPath(t + i, Se, ee), r, n, a, s)
              }) ||
              ((u = e.Diagnostics.File_0_not_found), (t += '.ts'), (c = [t])))
      }
      u &&
        (void 0 !== n && void 0 !== s && void 0 !== a
          ? ge.add(
              e.createFileDiagnostic.apply(void 0, [n, a, s - a, u].concat(c))
            )
          : ge.add(e.createCompilerDiagnostic.apply(void 0, [u].concat(c))))
    }
    function G(t, r, n, a, i) {
      void 0 !== n && void 0 !== a && void 0 !== i
        ? ge.add(
            e.createFileDiagnostic(
              n,
              a,
              i - a,
              e.Diagnostics
                .File_name_0_differs_from_already_included_file_name_1_only_in_casing,
              t,
              r
            )
          )
        : ge.add(
            e.createCompilerDiagnostic(
              e.Diagnostics
                .File_name_0_differs_from_already_included_file_name_1_only_in_casing,
              t,
              r
            )
          )
    }
    function X(t, r, n, a, s, c) {
      if (we.contains(r)) {
        var u = we.get(r)
        return (
          u &&
            i.forceConsistentCasingInFileNames &&
            e.getNormalizedAbsolutePath(u.fileName, Se) !==
              e.getNormalizedAbsolutePath(t, Se) &&
            G(t, u.fileName, a, s, c),
          u && he.get(u.path) && 0 === ye
            ? (he.set(u.path, !1),
              i.noResolve || (Q(u, n), Y(u)),
              ve.set(u.path, !1),
              te(u))
            : u && ve.get(u.path) && ye < me && (ve.set(u.path, !1), te(u)),
          u
        )
      }
      var _ = o.getSourceFile(t, i.target, function(r) {
        void 0 !== a && void 0 !== s && void 0 !== c
          ? ge.add(
              e.createFileDiagnostic(
                a,
                s,
                c - s,
                e.Diagnostics.Cannot_read_file_0_Colon_1,
                t,
                r
              )
            )
          : ge.add(
              e.createCompilerDiagnostic(
                e.Diagnostics.Cannot_read_file_0_Colon_1,
                t,
                r
              )
            )
      })
      if ((we.set(r, _), _)) {
        if ((he.set(r, ye > 0), (_.path = r), o.useCaseSensitiveFileNames())) {
          var l = Pe.get(r)
          l ? G(t, l.fileName, a, s, c) : Pe.set(r, _)
        }
        ;(xe = xe || _.hasNoDefaultLib),
          i.noResolve || (Q(_, n), Y(_)),
          te(_),
          n ? le.unshift(_) : le.push(_)
      }
      return _
    }
    function Q(t, n) {
      e.forEach(t.referencedFiles, function(e) {
        var a = r(e.fileName, t.fileName)
        H(a, n, t, e.pos, e.end)
      })
    }
    function Y(t) {
      for (
        var r = e.map(t.typeReferenceDirectives, function(e) {
            return e.fileName.toLocaleLowerCase()
          }),
          n = Ne(r, t.fileName),
          a = 0;
        a < r.length;
        a++
      ) {
        var i = t.typeReferenceDirectives[a],
          o = n[a],
          s = i.fileName.toLocaleLowerCase()
        e.setResolvedTypeReferenceDirective(t, s, o), Z(s, o, t, i.pos, i.end)
      }
    }
    function Z(t, r, n, a, i) {
      var s = fe.get(t)
      if (!s || !s.primary) {
        var c = !0
        if (r)
          if (r.primary) H(r.resolvedFileName, !1, n, a, i)
          else if (s) {
            if (r.resolvedFileName !== s.resolvedFileName) {
              var u = o.readFile(r.resolvedFileName)
              u !== S(s.resolvedFileName).text &&
                ge.add(
                  $(
                    n,
                    a,
                    i,
                    e.Diagnostics
                      .Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_library_to_resolve_the_conflict,
                    t,
                    r.resolvedFileName,
                    s.resolvedFileName
                  )
                )
            }
            c = !1
          } else H(r.resolvedFileName, !1, n, a, i)
        else
          ge.add(
            $(n, a, i, e.Diagnostics.Cannot_find_type_definition_file_for_0, t)
          )
        c && fe.set(t, r)
      }
    }
    function $(t, r, n, a) {
      for (var i = [], o = 4; o < arguments.length; o++) i[o - 4] = arguments[o]
      return void 0 === t || void 0 === r || void 0 === n
        ? e.createCompilerDiagnostic.apply(void 0, [a].concat(i))
        : e.createFileDiagnostic.apply(void 0, [t, r, n - r, a].concat(i))
    }
    function ee(e) {
      return o.getCanonicalFileName(e)
    }
    function te(t) {
      if ((W(t), t.imports.length || t.moduleAugmentations.length)) {
        t.resolvedModules = e.createMap()
        var r = e.filter(t.moduleAugmentations, function(e) {
            return 9 === e.kind
          }),
          n = e.map(e.concatenate(t.imports, r), U),
          a = f(n, e.getNormalizedAbsolutePath(t.fileName, Se), t)
        e.Debug.assert(a.length === n.length)
        for (var o = 0; o < n.length; o++) {
          var s = a[o]
          if ((e.setResolvedModule(t, n[o], s), s)) {
            var c = s.isExternalLibraryImport,
              u = c && !e.extensionIsTypeScript(s.extension),
              l = s.resolvedFileName
            c && ye++
            var d = u && ye > me,
              p = l && !_(i, s) && !i.noResolve && o < t.imports.length && !d
            if (d) ve.set(t.path, !0)
            else if (p) {
              var g = e.toPath(l, Se, ee),
                m = e.skipTrivia(t.text, t.imports[o].pos)
              X(l, g, !1, t, m, t.imports[o].end)
            }
            c && ye--
          }
        }
      } else t.resolvedModules = void 0
    }
    function re(e) {
      for (var t = [], r = 0, a = e; r < a.length; r++) {
        var i = a[r]
        i.isDeclarationFile || t.push(i.fileName)
      }
      return n(t, Se, ee)
    }
    function ne(t, r) {
      var n = !0
      if (t)
        for (
          var a = o.getCanonicalFileName(e.getNormalizedAbsolutePath(r, Se)),
            s = 0,
            c = t;
          s < c.length;
          s++
        ) {
          var u = c[s]
          if (!e.isDeclarationFile(u)) {
            var _ = o.getCanonicalFileName(
              e.getNormalizedAbsolutePath(u.fileName, Se)
            )
            0 !== _.indexOf(a) &&
              (Ce.add(
                e.createCompilerDiagnostic(
                  e.Diagnostics
                    .File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files,
                  u.fileName,
                  i.rootDir
                )
              ),
              (n = !1))
          }
        }
      return n
    }
    function ae() {
      function t(t, r) {
        if (t) {
          var n = e.toPath(t, Se, ee)
          if (we.contains(n)) {
            var a
            i.configFilePath ||
              (a = e.chainDiagnosticMessages(
                void 0,
                e.Diagnostics
                  .Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig
              )),
              (a = e.chainDiagnosticMessages(
                a,
                e.Diagnostics
                  .Cannot_write_file_0_because_it_would_overwrite_input_file,
                t
              )),
              ie(t, e.createCompilerDiagnosticFromMessageChain(a))
          }
          r.contains(n)
            ? ie(
                t,
                e.createCompilerDiagnostic(
                  e.Diagnostics
                    .Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files,
                  t
                )
              )
            : r.set(n, !0)
        }
      }
      if (
        (i.isolatedModules &&
          (i.declaration &&
            Ce.add(
              e.createCompilerDiagnostic(
                e.Diagnostics.Option_0_cannot_be_specified_with_option_1,
                'declaration',
                'isolatedModules'
              )
            ),
          i.noEmitOnError &&
            Ce.add(
              e.createCompilerDiagnostic(
                e.Diagnostics.Option_0_cannot_be_specified_with_option_1,
                'noEmitOnError',
                'isolatedModules'
              )
            ),
          i.out &&
            Ce.add(
              e.createCompilerDiagnostic(
                e.Diagnostics.Option_0_cannot_be_specified_with_option_1,
                'out',
                'isolatedModules'
              )
            ),
          i.outFile &&
            Ce.add(
              e.createCompilerDiagnostic(
                e.Diagnostics.Option_0_cannot_be_specified_with_option_1,
                'outFile',
                'isolatedModules'
              )
            )),
        i.inlineSourceMap &&
          (i.sourceMap &&
            Ce.add(
              e.createCompilerDiagnostic(
                e.Diagnostics.Option_0_cannot_be_specified_with_option_1,
                'sourceMap',
                'inlineSourceMap'
              )
            ),
          i.mapRoot &&
            Ce.add(
              e.createCompilerDiagnostic(
                e.Diagnostics.Option_0_cannot_be_specified_with_option_1,
                'mapRoot',
                'inlineSourceMap'
              )
            )),
        i.paths &&
          void 0 === i.baseUrl &&
          Ce.add(
            e.createCompilerDiagnostic(
              e.Diagnostics
                .Option_paths_cannot_be_used_without_specifying_baseUrl_option
            )
          ),
        i.paths)
      )
        for (var r in i.paths)
          if (e.hasProperty(i.paths, r))
            if (
              (e.hasZeroOrOneAsteriskCharacter(r) ||
                Ce.add(
                  e.createCompilerDiagnostic(
                    e.Diagnostics
                      .Pattern_0_can_have_at_most_one_Asterisk_character,
                    r
                  )
                ),
              e.isArray(i.paths[r]))
            ) {
              0 === i.paths[r].length &&
                Ce.add(
                  e.createCompilerDiagnostic(
                    e.Diagnostics
                      .Substitutions_for_pattern_0_shouldn_t_be_an_empty_array,
                    r
                  )
                )
              for (var n = 0, a = i.paths[r]; n < a.length; n++) {
                var s = a[n],
                  c = typeof s
                'string' === c
                  ? e.hasZeroOrOneAsteriskCharacter(s) ||
                    Ce.add(
                      e.createCompilerDiagnostic(
                        e.Diagnostics
                          .Substitution_0_in_pattern_1_in_can_have_at_most_one_Asterisk_character,
                        s,
                        r
                      )
                    )
                  : Ce.add(
                      e.createCompilerDiagnostic(
                        e.Diagnostics
                          .Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2,
                        s,
                        r,
                        c
                      )
                    )
              }
            } else
              Ce.add(
                e.createCompilerDiagnostic(
                  e.Diagnostics.Substitutions_for_pattern_0_should_be_an_array,
                  r
                )
              )
      i.sourceMap ||
        i.inlineSourceMap ||
        (i.inlineSources &&
          Ce.add(
            e.createCompilerDiagnostic(
              e.Diagnostics
                .Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided,
              'inlineSources'
            )
          ),
        i.sourceRoot &&
          Ce.add(
            e.createCompilerDiagnostic(
              e.Diagnostics
                .Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided,
              'sourceRoot'
            )
          )),
        i.out &&
          i.outFile &&
          Ce.add(
            e.createCompilerDiagnostic(
              e.Diagnostics.Option_0_cannot_be_specified_with_option_1,
              'out',
              'outFile'
            )
          ),
        i.mapRoot &&
          !i.sourceMap &&
          Ce.add(
            e.createCompilerDiagnostic(
              e.Diagnostics
                .Option_0_cannot_be_specified_without_specifying_option_1,
              'mapRoot',
              'sourceMap'
            )
          ),
        i.declarationDir &&
          (i.declaration ||
            Ce.add(
              e.createCompilerDiagnostic(
                e.Diagnostics
                  .Option_0_cannot_be_specified_without_specifying_option_1,
                'declarationDir',
                'declaration'
              )
            ),
          (i.out || i.outFile) &&
            Ce.add(
              e.createCompilerDiagnostic(
                e.Diagnostics.Option_0_cannot_be_specified_with_option_1,
                'declarationDir',
                i.out ? 'out' : 'outFile'
              )
            )),
        i.lib &&
          i.noLib &&
          Ce.add(
            e.createCompilerDiagnostic(
              e.Diagnostics.Option_0_cannot_be_specified_with_option_1,
              'lib',
              'noLib'
            )
          ),
        i.noImplicitUseStrict &&
          (void 0 === i.alwaysStrict ? i.strict : i.alwaysStrict) &&
          Ce.add(
            e.createCompilerDiagnostic(
              e.Diagnostics.Option_0_cannot_be_specified_with_option_1,
              'noImplicitUseStrict',
              'alwaysStrict'
            )
          )
      var _ = i.target || 0,
        l = i.outFile || i.out,
        d = e.forEach(le, function(t) {
          return e.isExternalModule(t) && !e.isDeclarationFile(t) ? t : void 0
        })
      if (i.isolatedModules) {
        i.module === e.ModuleKind.None &&
          _ < 2 &&
          Ce.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 p = e.forEach(le, function(t) {
          return e.isExternalModule(t) || e.isDeclarationFile(t) ? void 0 : t
        })
        if (p) {
          var f = e.getErrorSpanForNode(p, p)
          Ce.add(
            e.createFileDiagnostic(
              p,
              f.start,
              f.length,
              e.Diagnostics
                .Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided
            )
          )
        }
      } else if (d && _ < 2 && i.module === e.ModuleKind.None) {
        var g = e.getErrorSpanForNode(d, d.externalModuleIndicator)
        Ce.add(
          e.createFileDiagnostic(
            d,
            g.start,
            g.length,
            e.Diagnostics
              .Cannot_use_imports_exports_or_module_augmentations_when_module_is_none
          )
        )
      }
      if (l)
        if (
          i.module &&
          i.module !== e.ModuleKind.AMD &&
          i.module !== e.ModuleKind.System
        )
          Ce.add(
            e.createCompilerDiagnostic(
              e.Diagnostics
                .Only_amd_and_system_modules_are_supported_alongside_0,
              i.out ? 'out' : 'outFile'
            )
          )
        else if (void 0 === i.module && d) {
          var y = e.getErrorSpanForNode(d, d.externalModuleIndicator)
          Ce.add(
            e.createFileDiagnostic(
              d,
              y.start,
              y.length,
              e.Diagnostics
                .Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system,
              i.out ? 'out' : 'outFile'
            )
          )
        }
      if (i.outDir || i.sourceRoot || i.mapRoot) {
        var v = u()
        i.outDir &&
          '' === v &&
          e.forEach(le, function(t) {
            return e.getRootLength(t.fileName) > 1
          }) &&
          Ce.add(
            e.createCompilerDiagnostic(
              e.Diagnostics
                .Cannot_find_the_common_subdirectory_path_for_the_input_files
            )
          )
      }
      if (
        (!i.noEmit &&
          i.allowJs &&
          i.declaration &&
          Ce.add(
            e.createCompilerDiagnostic(
              e.Diagnostics.Option_0_cannot_be_specified_with_option_1,
              'allowJs',
              'declaration'
            )
          ),
        i.checkJs &&
          !i.allowJs &&
          Ce.add(
            e.createCompilerDiagnostic(
              e.Diagnostics
                .Option_0_cannot_be_specified_without_specifying_option_1,
              'checkJs',
              'allowJs'
            )
          ),
        i.emitDecoratorMetadata &&
          !i.experimentalDecorators &&
          Ce.add(
            e.createCompilerDiagnostic(
              e.Diagnostics
                .Option_0_cannot_be_specified_without_specifying_option_1,
              'emitDecoratorMetadata',
              'experimentalDecorators'
            )
          ),
        i.jsxFactory
          ? (i.reactNamespace &&
              Ce.add(
                e.createCompilerDiagnostic(
                  e.Diagnostics.Option_0_cannot_be_specified_with_option_1,
                  'reactNamespace',
                  'jsxFactory'
                )
              ),
            e.parseIsolatedEntityName(i.jsxFactory, _) ||
              Ce.add(
                e.createCompilerDiagnostic(
                  e.Diagnostics
                    .Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name,
                  i.jsxFactory
                )
              ))
          : i.reactNamespace &&
            !e.isIdentifierText(i.reactNamespace, _) &&
            Ce.add(
              e.createCompilerDiagnostic(
                e.Diagnostics
                  .Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier,
                i.reactNamespace
              )
            ),
        !i.noEmit && !i.suppressOutputPathCheck)
      ) {
        var h = m(),
          b = e.createFileMap(
            o.useCaseSensitiveFileNames()
              ? void 0
              : function(e) {
                  return e.toLocaleLowerCase()
                }
          )
        e.forEachEmittedFile(h, function(e) {
          t(e.jsFilePath, b), t(e.declarationFilePath, b)
        })
      }
    }
    function ie(t, r) {
      Te.set(e.toPath(t, Se, ee), !0), Ce.add(r)
    }
    var oe,
      se,
      ce,
      ue,
      _e,
      le = [],
      de = {},
      pe = {},
      fe = e.createMap(),
      ge = e.createDiagnosticCollection(),
      me =
        'number' == typeof i.maxNodeModuleJsDepth ? i.maxNodeModuleJsDepth : 0,
      ye = 0,
      ve = e.createMap(),
      he = e.createMap()
    e.performance.mark('beforeProgram'), (o = o || a(i))
    var be,
      ke,
      xe = i.noLib,
      Ce = e.createDiagnosticCollection(),
      Se = o.getCurrentDirectory(),
      De = e.getSupportedExtensions(i),
      Te = e.createFileMap(ee)
    if (o.resolveModuleNames)
      ke = function(t, r) {
        return o.resolveModuleNames(t, r).map(function(t) {
          if (!t || void 0 !== t.extension) return t
          var r = e.clone(t)
          return (r.extension = e.extensionFromPath(t.resolvedFileName)), r
        })
      }
    else {
      be = e.createModuleResolutionCache(Se, function(e) {
        return o.getCanonicalFileName(e)
      })
      var Ee = function(t, r) {
        return e.resolveModuleName(t, r, i, o, be).resolvedModule
      }
      ke = function(e, t) {
        return c(e, t, Ee)
      }
    }
    var Ne
    if (o.resolveTypeReferenceDirectives)
      Ne = function(e, t) {
        return o.resolveTypeReferenceDirectives(e, t)
      }
    else {
      var Ae = function(t, r) {
        return e.resolveTypeReferenceDirective(t, r, i, o)
          .resolvedTypeReferenceDirective
      }
      Ne = function(e, t) {
        return c(e, t, Ae)
      }
    }
    var we = e.createFileMap(),
      Pe = o.useCaseSensitiveFileNames()
        ? e.createFileMap(function(e) {
            return e.toLowerCase()
          })
        : void 0
    if (!g()) {
      e.forEach(t, function(e) {
        return j(e, !1)
      })
      var Oe = e.getAutomaticTypeDirectiveNames(i, o)
      if (Oe.length)
        for (
          var Fe = i.configFilePath
              ? e.getDirectoryPath(i.configFilePath)
              : o.getCurrentDirectory(),
            Ie = e.combinePaths(Fe, '__inferred type names__.ts'),
            Re = Ne(Oe, Ie),
            Me = 0;
          Me < Oe.length;
          Me++
        )
          Z(Oe[Me], Re[Me])
      if (!xe)
        if (i.lib) {
          var Le = o.getDefaultLibLocation
            ? o.getDefaultLibLocation()
            : e.getDirectoryPath(o.getDefaultLibFileName(i))
          e.forEach(i.lib, function(t) {
            j(e.combinePaths(Le, t), !0)
          })
        } else j(o.getDefaultLibFileName(i), !0)
    }
    return (
      (be = void 0),
      (s = void 0),
      (oe = {
        getRootFileNames: function() {
          return t
        },
        getSourceFile: S,
        getSourceFileByPath: D,
        getSourceFiles: function() {
          return le
        },
        getCompilerOptions: function() {
          return i
        },
        getSyntacticDiagnostics: E,
        getOptionsDiagnostics: z,
        getGlobalDiagnostics: K,
        getSemanticDiagnostics: N,
        getDeclarationDiagnostics: A,
        getTypeChecker: b,
        getClassifiableNames: p,
        getDiagnosticsProducingTypeChecker: v,
        getCommonSourceDirectory: u,
        emit: k,
        getCurrentDirectory: function() {
          return Se
        },
        getNodeCount: function() {
          return v().getNodeCount()
        },
        getIdentifierCount: function() {
          return v().getIdentifierCount()
        },
        getSymbolCount: function() {
          return v().getSymbolCount()
        },
        getTypeCount: function() {
          return v().getTypeCount()
        },
        getFileProcessingDiagnostics: function() {
          return ge
        },
        getResolvedTypeReferenceDirectives: function() {
          return fe
        },
        isSourceFileFromExternalLibrary: y,
        dropDiagnosticsProducingTypeChecker: h
      }),
      ae(),
      e.performance.mark('afterProgram'),
      e.performance.measure('Program', 'beforeProgram', 'afterProgram'),
      oe
    )
  }
  function _(t, r) {
    function n() {
      return t.jsx
        ? void 0
        : e.Diagnostics.Module_0_was_resolved_to_1_but_jsx_is_not_set
    }
    function a() {
      return t.allowJs
        ? void 0
        : e.Diagnostics.Module_0_was_resolved_to_1_but_allowJs_is_not_set
    }
    var i = r.extension
    switch (i) {
      case e.Extension.Ts:
      case e.Extension.Dts:
        return
      case e.Extension.Tsx:
        return n()
      case e.Extension.Jsx:
        return n() || a()
      case e.Extension.Js:
        return a()
    }
  }
  var l = [],
    d = /(^\s*$)|(^\s*\/\/\/?\s*(@ts-ignore)?)/
  ;(e.findConfigFile = t),
    (e.resolveTripleslashReference = r),
    (e.computeCommonSourceDirectoryOfFilenames = n),
    (e.createCompilerHost = a),
    (e.getPreEmitDiagnostics = i),
    (e.formatDiagnostics = o),
    (e.flattenDiagnosticMessageText = s),
    (e.createProgram = u),
    (e.getResolutionDiagnostic = _)
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(e) {
    if (e && void 0 !== e.enableAutoDiscovery && void 0 === e.enable) {
      var t = {
        enable: e.enableAutoDiscovery,
        include: e.include || [],
        exclude: e.exclude || []
      }
      return t
    }
    return e
  }
  function r() {
    if (F) return F
    var t = e.createMap(),
      r = e.createMap()
    return (
      e.forEach(e.optionDeclarations, function(e) {
        t.set(e.name.toLowerCase(), e),
          e.shortName && r.set(e.shortName, e.name)
      }),
      (F = { optionNameMap: t, shortOptionNames: r })
    )
  }
  function n(t) {
    var r = e
      .arrayFrom(t.type.keys())
      .map(function(e) {
        return "'" + e + "'"
      })
      .join(', ')
    return e.createCompilerDiagnostic(
      e.Diagnostics.Argument_for_0_option_must_be_Colon_1,
      '--' + t.name,
      r
    )
  }
  function a(e, t, r) {
    return b(e, x(t || ''), r)
  }
  function i(t, r, n) {
    if ((void 0 === r && (r = ''), (r = x(r)), !e.startsWith(r, '-'))) {
      if ('' === r) return []
      var i = r.split(',')
      switch (t.element.type) {
        case 'number':
          return e.map(i, parseInt)
        case 'string':
          return e.map(i, function(e) {
            return e || ''
          })
        default:
          return e.filter(
            e.map(i, function(e) {
              return a(t.element, e, n)
            }),
            function(e) {
              return !!e
            }
          )
      }
    }
  }
  function o(t, r) {
    function n(t) {
      for (var r = 0; r < t.length; ) {
        var n = t[r]
        if ((r++, 64 === n.charCodeAt(0))) o(n.slice(1))
        else if (45 === n.charCodeAt(0)) {
          var l = s(n.slice(45 === n.charCodeAt(1) ? 2 : 1), !0)
          if (l)
            if (l.isTSConfigOnly)
              _.push(
                e.createCompilerDiagnostic(
                  e.Diagnostics
                    .Option_0_can_only_be_specified_in_tsconfig_json_file,
                  l.name
                )
              )
            else
              switch (
                (t[r] ||
                  'boolean' === l.type ||
                  _.push(
                    e.createCompilerDiagnostic(
                      e.Diagnostics.Compiler_option_0_expects_an_argument,
                      l.name
                    )
                  ),
                l.type)
              ) {
                case 'number':
                  ;(c[l.name] = parseInt(t[r])), r++
                  break
                case 'boolean':
                  var d = t[r]
                  ;(c[l.name] = 'false' !== d),
                    ('false' !== d && 'true' !== d) || r++
                  break
                case 'string':
                  ;(c[l.name] = t[r] || ''), r++
                  break
                case 'list':
                  var p = i(l, t[r], _)
                  ;(c[l.name] = p || []), p && r++
                  break
                default:
                  ;(c[l.name] = a(l, t[r], _)), r++
              }
          else
            _.push(
              e.createCompilerDiagnostic(
                e.Diagnostics.Unknown_compiler_option_0,
                n
              )
            )
        } else u.push(n)
      }
    }
    function o(t) {
      var a = r ? r(t) : e.sys.readFile(t)
      if (!a)
        return void _.push(
          e.createCompilerDiagnostic(e.Diagnostics.File_0_not_found, t)
        )
      for (var i = [], o = 0; ; ) {
        for (; o < a.length && a.charCodeAt(o) <= 32; ) o++
        if (o >= a.length) break
        var s = o
        if (34 === a.charCodeAt(s)) {
          for (o++; o < a.length && 34 !== a.charCodeAt(o); ) o++
          o < a.length
            ? (i.push(a.substring(s + 1, o)), o++)
            : _.push(
                e.createCompilerDiagnostic(
                  e.Diagnostics.Unterminated_quoted_string_in_response_file_0,
                  t
                )
              )
        } else {
          for (; a.charCodeAt(o) > 32; ) o++
          i.push(a.substring(s, o))
        }
      }
      n(i)
    }
    var c = {},
      u = [],
      _ = []
    return n(t), { options: c, fileNames: u, errors: _ }
  }
  function s(e, t) {
    void 0 === t && (t = !1), (e = e.toLowerCase())
    var n = r(),
      a = n.optionNameMap,
      i = n.shortOptionNames
    if (t) {
      var o = i.get(e)
      void 0 !== o && (e = o)
    }
    return a.get(e)
  }
  function c(t, r) {
    var n = ''
    try {
      n = r(t)
    } catch (a) {
      return {
        error: e.createCompilerDiagnostic(
          e.Diagnostics.Cannot_read_file_0_Colon_1,
          t,
          a.message
        )
      }
    }
    return u(t, n)
  }
  function u(t, r, n) {
    void 0 === n && (n = !0)
    try {
      var a = n ? l(r) : r
      return { config: /\S/.test(a) ? JSON.parse(a) : {} }
    } catch (i) {
      return {
        error: e.createCompilerDiagnostic(
          e.Diagnostics.Failed_to_parse_file_0_Colon_1,
          t,
          i.message
        )
      }
    }
  }
  function _(t, n, a) {
    function i(e) {
      return 'string' === e.type || 'number' === e.type || 'boolean' === e.type
        ? void 0
        : 'list' === e.type
          ? i(e.element)
          : e.type
    }
    function o(t, r) {
      return e.forEachEntry(r, function(e, r) {
        if (e === t) return r
      })
    }
    function s(t) {
      var n = {},
        a = r().optionNameMap
      for (var s in t)
        if (e.hasProperty(t, s)) {
          if (
            a.has(s) &&
            a.get(s).category === e.Diagnostics.Command_line_Options
          )
            continue
          var c = t[s],
            u = a.get(s.toLowerCase())
          if (u) {
            var _ = i(u)
            if (_)
              if ('list' === u.type) {
                for (var l = [], d = 0, p = c; d < p.length; d++) {
                  var f = p[d]
                  l.push(o(f, _))
                }
                n[s] = l
              } else n[s] = o(c, _)
            else n[s] = c
          }
        }
      return n
    }
    function c(t) {
      switch (t.type) {
        case 'number':
          return 1
        case 'boolean':
          return !0
        case 'string':
          return t.isFilePath ? './' : ''
        case 'list':
          return []
        case 'object':
          return {}
        default:
          return e.arrayFrom(t.type.keys())[0]
      }
    }
    function u(e) {
      return Array(e + 1).join(' ')
    }
    function _() {
      var t = e.reduceLeft(
          e.filter(e.optionDeclarations, function(t) {
            return (
              t.category !== e.Diagnostics.Command_line_Options &&
              t.category !== e.Diagnostics.Advanced_Options
            )
          }),
          function(t, r) {
            if (r.category) {
              var n = e.getLocaleSpecificMessage(r.category)
              ;(t[n] || (t[n] = [])).push(r)
            }
            return t
          },
          {}
        ),
        r = 0,
        n = 0,
        i = [],
        o = [],
        s = e.getOwnKeys(d.compilerOptions).length
      for (var _ in t) {
        0 !== i.length && (i.push(''), o.push('')),
          i.push('/* ' + _ + ' */'),
          o.push('')
        for (var l = 0, p = t[_]; l < p.length; l++) {
          var f = p[l],
            g = void 0
          ;(g = e.hasProperty(d.compilerOptions, f.name)
            ? '"' +
              f.name +
              '": ' +
              JSON.stringify(d.compilerOptions[f.name]) +
              ((n += 1) === s ? '' : ',')
            : '// "' + f.name + '": ' + JSON.stringify(c(f)) + ','),
            i.push(g),
            o.push(
              '/* ' +
                ((f.description && e.getLocaleSpecificMessage(f.description)) ||
                  f.name) +
                ' */'
            ),
            (r = Math.max(g.length, r))
        }
      }
      var m = u(2),
        y = []
      y.push('{'), y.push(m + '"compilerOptions": {')
      for (var v = 0; v < i.length; v++) {
        var g = i[v],
          h = o[v]
        y.push(m + m + g + u(r - g.length + 2) + h)
      }
      if (d.files && d.files.length) {
        y.push(m + '},'), y.push(m + '"files": [')
        for (var v = 0; v < d.files.length; v++)
          y.push(
            '' +
              m +
              m +
              JSON.stringify(d.files[v]) +
              (v === d.files.length - 1 ? '' : ',')
          )
        y.push(m + ']')
      } else y.push(m + '}')
      return y.push('}'), y.join(a)
    }
    var l = e.extend(t, e.defaultInitCompilerOptions),
      d = { compilerOptions: s(l) }
    return n && n.length && (d.files = n), _()
  }
  function l(t) {
    for (
      var r, n = '', a = e.createScanner(1, !1, 0, t);
      1 !== (r = a.scan());

    )
      switch (r) {
        case 2:
        case 3:
          n += a.getTokenText().replace(/\S/g, ' ')
          break
        default:
          n += a.getTokenText()
      }
    return n
  }
  function d(t, r, n, a, i, o, s) {
    function u(a) {
      if (
        !(
          e.isRootedDiskPath(a) ||
          e.startsWith(e.normalizeSlashes(a), './') ||
          e.startsWith(e.normalizeSlashes(a), '../')
        )
      )
        return void l.push(
          e.createCompilerDiagnostic(
            e.Diagnostics
              .A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not,
            a
          )
        )
      var i = e.toPath(a, n, f)
      if (
        !r.fileExists(i) &&
        !e.endsWith(i, '.json') &&
        ((i += '.json'), !r.fileExists(i))
      )
        return void l.push(
          e.createCompilerDiagnostic(e.Diagnostics.File_0_does_not_exist, a)
        )
      var s = c(i, function(e) {
        return r.readFile(e)
      })
      if (s.error) return void l.push(s.error)
      var u = e.getDirectoryPath(i),
        _ = e.convertToRelativePath(u, n, f),
        p = function(t) {
          return e.isRootedDiskPath(t) ? t : e.combinePaths(_, t)
        },
        m = d(s.config, r, u, void 0, e.getBaseFileName(i), o.concat([g]))
      l.push.apply(l, m.errors)
      var y = e.map(['include', 'exclude', 'files'], function(r) {
          if (!t[r] && s.config[r]) return e.map(s.config[r], p)
        }),
        v = y[0],
        h = y[1],
        b = y[2]
      return [v, h, b, m.compileOnSave, m.options]
    }
    function _(a) {
      var c
      e.hasProperty(t, 'files') &&
        (e.isArray(t.files)
          ? ((c = t.files),
            0 === c.length &&
              a.push(
                e.createCompilerDiagnostic(
                  e.Diagnostics.The_files_list_in_config_file_0_is_empty,
                  i || 'tsconfig.json'
                )
              ))
          : a.push(
              e.createCompilerDiagnostic(
                e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,
                'files',
                'Array'
              )
            ))
      var u
      e.hasProperty(t, 'include') &&
        (e.isArray(t.include)
          ? (u = t.include)
          : a.push(
              e.createCompilerDiagnostic(
                e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,
                'include',
                'Array'
              )
            ))
      var _
      if (e.hasProperty(t, 'exclude'))
        e.isArray(t.exclude)
          ? (_ = t.exclude)
          : a.push(
              e.createCompilerDiagnostic(
                e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,
                'exclude',
                'Array'
              )
            )
      else if (e.hasProperty(t, 'excludes'))
        a.push(
          e.createCompilerDiagnostic(
            e.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude
          )
        )
      else {
        _ = u ? [] : ['node_modules', 'bower_components', 'jspm_packages']
        var l = t.compilerOptions && t.compilerOptions.outDir
        l && _.push(l)
      }
      void 0 === c && void 0 === u && (u = ['**/*'])
      var d = C(c, u, _, n, h, r, a, s)
      return (
        0 !== d.fileNames.length ||
          e.hasProperty(t, 'files') ||
          0 !== o.length ||
          a.push(
            e.createCompilerDiagnostic(
              e.Diagnostics
                .No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2,
              i || 'tsconfig.json',
              JSON.stringify(u || []),
              JSON.stringify(_ || [])
            )
          ),
        d
      )
    }
    void 0 === a && (a = {}), void 0 === o && (o = []), void 0 === s && (s = [])
    var l = []
    n = e.normalizeSlashes(n)
    var f = e.createGetCanonicalFileName(r.useCaseSensitiveFileNames),
      g = e.toPath(i || '', n, f)
    if (o.indexOf(g) >= 0)
      return {
        options: {},
        fileNames: [],
        typeAcquisition: {},
        raw: t,
        errors: [
          e.createCompilerDiagnostic(
            e.Diagnostics
              .Circularity_detected_while_resolving_configuration_Colon_0,
            o.concat([g]).join(' -> ')
          )
        ],
        wildcardDirectories: {}
      }
    var v,
      h = m(t.compilerOptions, n, l, i),
      b = t.typeAcquisition || t.typingOptions,
      k = y(b, n, l, i)
    if (t['extends']) {
      var x = [void 0, void 0, void 0, {}],
        S = x[0],
        D = x[1],
        T = x[2],
        E = x[3]
      'string' == typeof t['extends']
        ? ((O = u(t['extends']) || [S, D, T, v, E]),
          (S = O[0]),
          (D = O[1]),
          (T = O[2]),
          (v = O[3]),
          (E = O[4]))
        : l.push(
            e.createCompilerDiagnostic(
              e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,
              'extends',
              'string'
            )
          ),
        S && !t.include && (t.include = S),
        D && !t.exclude && (t.exclude = D),
        T && !t.files && (t.files = T),
        (h = e.assign({}, E, h))
    }
    ;(h = e.extend(a, h)), (h.configFilePath = i)
    var N = _(l),
      A = N.fileNames,
      w = N.wildcardDirectories,
      P = p(t, n, l)
    return (
      v && void 0 === t[e.compileOnSaveCommandLineOption.name] && (P = v),
      {
        options: h,
        fileNames: A,
        typeAcquisition: k,
        raw: t,
        errors: l,
        wildcardDirectories: w,
        compileOnSave: P
      }
    )
    var O
  }
  function p(t, r, n) {
    if (!e.hasProperty(t, e.compileOnSaveCommandLineOption.name)) return !1
    var a = h(e.compileOnSaveCommandLineOption, t.compileOnSave, r, n)
    return !('boolean' != typeof a || !a) && a
  }
  function f(e, t, r) {
    var n = [],
      a = m(e, t, n, r)
    return { options: a, errors: n }
  }
  function g(e, t, r) {
    var n = [],
      a = y(e, t, n, r)
    return { options: a, errors: n }
  }
  function m(t, r, n, a) {
    var i =
      'jsconfig.json' === e.getBaseFileName(a)
        ? {
            allowJs: !0,
            maxNodeModuleJsDepth: 2,
            allowSyntheticDefaultImports: !0,
            skipLibCheck: !0
          }
        : {}
    return (
      v(
        e.optionDeclarations,
        t,
        r,
        i,
        e.Diagnostics.Unknown_compiler_option_0,
        n
      ),
      i
    )
  }
  function y(r, n, a, i) {
    var o = {
        enable: 'jsconfig.json' === e.getBaseFileName(i),
        include: [],
        exclude: []
      },
      s = t(r)
    return (
      v(
        e.typeAcquisitionDeclarations,
        s,
        n,
        o,
        e.Diagnostics.Unknown_type_acquisition_option_0,
        a
      ),
      o
    )
  }
  function v(t, r, n, a, i, o) {
    if (r) {
      var s = e.arrayToMap(t, function(e) {
        return e.name
      })
      for (var c in r) {
        var u = s.get(c)
        u
          ? (a[u.name] = h(u, r[c], n, o))
          : o.push(e.createCompilerDiagnostic(i, c))
      }
    }
  }
  function h(t, r, n, a) {
    var i = t.type,
      o = 'string' == typeof i ? i : 'string'
    return 'list' === i && e.isArray(r)
      ? k(t, r, n, a)
      : typeof r === o
        ? 'string' != typeof i
          ? b(t, r, a)
          : (t.isFilePath &&
              ((r = e.normalizePath(e.combinePaths(n, r))),
              '' === r && (r = '.')),
            r)
        : void a.push(
            e.createCompilerDiagnostic(
              e.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,
              t.name,
              o
            )
          )
  }
  function b(e, t, r) {
    var a = t.toLowerCase(),
      i = e.type.get(a)
    return void 0 !== i ? i : void r.push(n(e))
  }
  function k(t, r, n, a) {
    return e.filter(
      e.map(r, function(e) {
        return h(t.element, e, n, a)
      }),
      function(e) {
        return !!e
      }
    )
  }
  function x(e) {
    return 'function' == typeof e.trim
      ? e.trim()
      : e.replace(/^[\s]+|[\s]+$/g, '')
  }
  function C(t, r, n, a, i, o, s, c) {
    a = e.normalizePath(a)
    var u = o.useCaseSensitiveFileNames ? A : w,
      _ = e.createMap(),
      l = e.createMap()
    r && (r = S(r, s, !1)), n && (n = S(n, s, !0))
    var d = D(r, n, a, o.useCaseSensitiveFileNames),
      p = e.getSupportedExtensions(i, c)
    if (t)
      for (var f = 0, g = t; f < g.length; f++) {
        var m = g[f],
          y = e.combinePaths(a, m)
        _.set(u(y), y)
      }
    if (r && r.length > 0)
      for (var v = 0, h = o.readDirectory(a, p, n, r); v < h.length; v++) {
        var y = h[v]
        if (!E(y, _, l, p, u)) {
          N(y, l, p, u)
          var b = u(y)
          _.has(b) || l.has(b) || l.set(b, y)
        }
      }
    var k = e.arrayFrom(_.values()),
      x = e.arrayFrom(l.values())
    return { fileNames: k.concat(x), wildcardDirectories: d }
  }
  function S(t, r, n) {
    for (var a = [], i = 0, o = t; i < o.length; i++) {
      var s = o[i]
      !n && I.test(s)
        ? r.push(
            e.createCompilerDiagnostic(
              e.Diagnostics
                .File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0,
              s
            )
          )
        : R.test(s)
          ? r.push(
              e.createCompilerDiagnostic(
                e.Diagnostics
                  .File_specification_cannot_contain_multiple_recursive_directory_wildcards_Asterisk_Asterisk_Colon_0,
                s
              )
            )
          : M.test(s)
            ? r.push(
                e.createCompilerDiagnostic(
                  e.Diagnostics
                    .File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0,
                  s
                )
              )
            : a.push(s)
    }
    return a
  }
  function D(t, r, n, a) {
    var i = e.getRegularExpressionForWildcard(r, n, 'exclude'),
      o = i && new RegExp(i, a ? '' : 'i'),
      s = {}
    if (void 0 !== t) {
      for (var c = [], u = 0, _ = t; u < _.length; u++) {
        var l = _[u],
          d = e.normalizePath(e.combinePaths(n, l))
        if (!o || !o.test(d)) {
          var p = T(d, a)
          if (p) {
            var f = p.key,
              g = p.flags,
              m = s[f]
            ;(void 0 === m || m < g) && ((s[f] = g), 1 === g && c.push(f))
          }
        }
      }
      for (var f in s)
        if (e.hasProperty(s, f))
          for (var y = 0, v = c; y < v.length; y++) {
            var h = v[y]
            f !== h && e.containsPath(h, f, n, !a) && delete s[f]
          }
    }
    return s
  }
  function T(t, r) {
    var n = B.exec(t)
    return n
      ? { key: r ? n[0] : n[0].toLowerCase(), flags: L.test(t) ? 1 : 0 }
      : e.isImplicitGlob(t)
        ? { key: t, flags: 1 }
        : void 0
  }
  function E(t, r, n, a, i) {
    for (
      var o = e.getExtensionPriority(t, a),
        s = e.adjustExtensionPriority(o, a),
        c = 0;
      c < s;
      c++
    ) {
      var u = a[c],
        _ = i(e.changeExtension(t, u))
      if (r.has(_) || n.has(_)) return !0
    }
    return !1
  }
  function N(t, r, n, a) {
    for (
      var i = e.getExtensionPriority(t, n),
        o = e.getNextLowestExtensionPriority(i, n),
        s = o;
      s < n.length;
      s++
    ) {
      var c = n[s],
        u = a(e.changeExtension(t, c))
      r['delete'](u)
    }
  }
  function A(e) {
    return e
  }
  function w(e) {
    return e.toLowerCase()
  }
  function P(e) {
    var t = {}
    for (var r in e)
      if (e.hasOwnProperty(r)) {
        var n = s(r)
        void 0 !== n && (t[r] = O(e[r], n))
      }
    return t
  }
  function O(t, r) {
    switch (r.type) {
      case 'object':
        return ''
      case 'string':
        return ''
      case 'number':
        return 'number' == typeof t ? t : ''
      case 'boolean':
        return 'boolean' == typeof t ? t : ''
      case 'list':
        var n = r.element
        return e.isArray(t)
          ? t.map(function(e) {
              return O(e, n)
            })
          : ''
      default:
        return e.forEachEntry(r.type, function(e, r) {
          if (e === t) return r
        })
    }
  }
  ;(e.compileOnSaveCommandLineOption = {
    name: 'compileOnSave',
    type: 'boolean'
  }),
    (e.optionDeclarations = [
      {
        name: 'help',
        shortName: 'h',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Command_line_Options,
        description: e.Diagnostics.Print_this_message
      },
      { name: 'help', shortName: '?', type: 'boolean' },
      {
        name: 'all',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Command_line_Options,
        description: e.Diagnostics.Show_all_compiler_options
      },
      {
        name: 'version',
        shortName: 'v',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Command_line_Options,
        description: e.Diagnostics.Print_the_compiler_s_version
      },
      {
        name: 'init',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Command_line_Options,
        description:
          e.Diagnostics
            .Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file
      },
      {
        name: 'project',
        shortName: 'p',
        type: 'string',
        isFilePath: !0,
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Command_line_Options,
        paramType: e.Diagnostics.FILE_OR_DIRECTORY,
        description:
          e.Diagnostics
            .Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json
      },
      {
        name: 'pretty',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Command_line_Options,
        description:
          e.Diagnostics
            .Stylize_errors_and_messages_using_color_and_context_experimental
      },
      {
        name: 'watch',
        shortName: 'w',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Command_line_Options,
        description: e.Diagnostics.Watch_input_files
      },
      {
        name: 'target',
        shortName: 't',
        type: e.createMapFromTemplate({
          es3: 0,
          es5: 1,
          es6: 2,
          es2015: 2,
          es2016: 3,
          es2017: 4,
          esnext: 5
        }),
        paramType: e.Diagnostics.VERSION,
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Basic_Options,
        description:
          e.Diagnostics
            .Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_or_ESNEXT
      },
      {
        name: 'module',
        shortName: 'm',
        type: e.createMapFromTemplate({
          none: e.ModuleKind.None,
          commonjs: e.ModuleKind.CommonJS,
          amd: e.ModuleKind.AMD,
          system: e.ModuleKind.System,
          umd: e.ModuleKind.UMD,
          es6: e.ModuleKind.ES2015,
          es2015: e.ModuleKind.ES2015
        }),
        paramType: e.Diagnostics.KIND,
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Basic_Options,
        description:
          e.Diagnostics
            .Specify_module_code_generation_Colon_commonjs_amd_system_umd_or_es2015
      },
      {
        name: 'lib',
        type: 'list',
        element: {
          name: 'lib',
          type: e.createMapFromTemplate({
            es5: 'lib.es5.d.ts',
            es6: 'lib.es2015.d.ts',
            es2015: 'lib.es2015.d.ts',
            es7: 'lib.es2016.d.ts',
            es2016: 'lib.es2016.d.ts',
            es2017: 'lib.es2017.d.ts',
            esnext: 'lib.esnext.d.ts',
            dom: 'lib.dom.d.ts',
            'dom.iterable': 'lib.dom.iterable.d.ts',
            webworker: 'lib.webworker.d.ts',
            scripthost: 'lib.scripthost.d.ts',
            'es2015.core': 'lib.es2015.core.d.ts',
            'es2015.collection': 'lib.es2015.collection.d.ts',
            'es2015.generator': 'lib.es2015.generator.d.ts',
            'es2015.iterable': 'lib.es2015.iterable.d.ts',
            'es2015.promise': 'lib.es2015.promise.d.ts',
            'es2015.proxy': 'lib.es2015.proxy.d.ts',
            'es2015.reflect': 'lib.es2015.reflect.d.ts',
            'es2015.symbol': 'lib.es2015.symbol.d.ts',
            'es2015.symbol.wellknown': 'lib.es2015.symbol.wellknown.d.ts',
            'es2016.array.include': 'lib.es2016.array.include.d.ts',
            'es2017.object': 'lib.es2017.object.d.ts',
            'es2017.sharedmemory': 'lib.es2017.sharedmemory.d.ts',
            'es2017.string': 'lib.es2017.string.d.ts',
            'esnext.asynciterable': 'lib.esnext.asynciterable.d.ts'
          })
        },
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Basic_Options,
        description:
          e.Diagnostics
            .Specify_library_files_to_be_included_in_the_compilation_Colon
      },
      {
        name: 'allowJs',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Basic_Options,
        description: e.Diagnostics.Allow_javascript_files_to_be_compiled
      },
      {
        name: 'checkJs',
        type: 'boolean',
        category: e.Diagnostics.Basic_Options,
        description: e.Diagnostics.Report_errors_in_js_files
      },
      {
        name: 'jsx',
        type: e.createMapFromTemplate({
          preserve: 1,
          'react-native': 3,
          react: 2
        }),
        paramType: e.Diagnostics.KIND,
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Basic_Options,
        description:
          e.Diagnostics
            .Specify_JSX_code_generation_Colon_preserve_react_native_or_react
      },
      {
        name: 'declaration',
        shortName: 'd',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Basic_Options,
        description: e.Diagnostics.Generates_corresponding_d_ts_file
      },
      {
        name: 'sourceMap',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Basic_Options,
        description: e.Diagnostics.Generates_corresponding_map_file
      },
      {
        name: 'outFile',
        type: 'string',
        isFilePath: !0,
        paramType: e.Diagnostics.FILE,
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Basic_Options,
        description: e.Diagnostics.Concatenate_and_emit_output_to_single_file
      },
      {
        name: 'outDir',
        type: 'string',
        isFilePath: !0,
        paramType: e.Diagnostics.DIRECTORY,
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Basic_Options,
        description: e.Diagnostics.Redirect_output_structure_to_the_directory
      },
      {
        name: 'rootDir',
        type: 'string',
        isFilePath: !0,
        paramType: e.Diagnostics.LOCATION,
        category: e.Diagnostics.Basic_Options,
        description:
          e.Diagnostics
            .Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir
      },
      {
        name: 'removeComments',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Basic_Options,
        description: e.Diagnostics.Do_not_emit_comments_to_output
      },
      {
        name: 'noEmit',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Basic_Options,
        description: e.Diagnostics.Do_not_emit_outputs
      },
      {
        name: 'importHelpers',
        type: 'boolean',
        category: e.Diagnostics.Basic_Options,
        description: e.Diagnostics.Import_emit_helpers_from_tslib
      },
      {
        name: 'downlevelIteration',
        type: 'boolean',
        category: e.Diagnostics.Basic_Options,
        description:
          e.Diagnostics
            .Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3
      },
      {
        name: 'isolatedModules',
        type: 'boolean',
        category: e.Diagnostics.Basic_Options,
        description:
          e.Diagnostics
            .Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule
      },
      {
        name: 'strict',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Strict_Type_Checking_Options,
        description: e.Diagnostics.Enable_all_strict_type_checking_options
      },
      {
        name: 'noImplicitAny',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Strict_Type_Checking_Options,
        description:
          e.Diagnostics
            .Raise_error_on_expressions_and_declarations_with_an_implied_any_type
      },
      {
        name: 'strictNullChecks',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Strict_Type_Checking_Options,
        description: e.Diagnostics.Enable_strict_null_checks
      },
      {
        name: 'noImplicitThis',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Strict_Type_Checking_Options,
        description:
          e.Diagnostics.Raise_error_on_this_expressions_with_an_implied_any_type
      },
      {
        name: 'alwaysStrict',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Strict_Type_Checking_Options,
        description:
          e.Diagnostics
            .Parse_in_strict_mode_and_emit_use_strict_for_each_source_file
      },
      {
        name: 'noUnusedLocals',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Additional_Checks,
        description: e.Diagnostics.Report_errors_on_unused_locals
      },
      {
        name: 'noUnusedParameters',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Additional_Checks,
        description: e.Diagnostics.Report_errors_on_unused_parameters
      },
      {
        name: 'noImplicitReturns',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Additional_Checks,
        description:
          e.Diagnostics
            .Report_error_when_not_all_code_paths_in_function_return_a_value
      },
      {
        name: 'noFallthroughCasesInSwitch',
        type: 'boolean',
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Additional_Checks,
        description:
          e.Diagnostics.Report_errors_for_fallthrough_cases_in_switch_statement
      },
      {
        name: 'moduleResolution',
        type: e.createMapFromTemplate({
          node: e.ModuleResolutionKind.NodeJs,
          classic: e.ModuleResolutionKind.Classic
        }),
        paramType: e.Diagnostics.STRATEGY,
        category: e.Diagnostics.Module_Resolution_Options,
        description:
          e.Diagnostics
            .Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6
      },
      {
        name: 'baseUrl',
        type: 'string',
        isFilePath: !0,
        category: e.Diagnostics.Module_Resolution_Options,
        description:
          e.Diagnostics.Base_directory_to_resolve_non_absolute_module_names
      },
      {
        name: 'paths',
        type: 'object',
        isTSConfigOnly: !0,
        category: e.Diagnostics.Module_Resolution_Options,
        description:
          e.Diagnostics
            .A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl
      },
      {
        name: 'rootDirs',
        type: 'list',
        isTSConfigOnly: !0,
        element: { name: 'rootDirs', type: 'string', isFilePath: !0 },
        category: e.Diagnostics.Module_Resolution_Options,
        description:
          e.Diagnostics
            .List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime
      },
      {
        name: 'typeRoots',
        type: 'list',
        element: { name: 'typeRoots', type: 'string', isFilePath: !0 },
        category: e.Diagnostics.Module_Resolution_Options,
        description:
          e.Diagnostics.List_of_folders_to_include_type_definitions_from
      },
      {
        name: 'types',
        type: 'list',
        element: { name: 'types', type: 'string' },
        showInSimplifiedHelpView: !0,
        category: e.Diagnostics.Module_Resolution_Options,
        description:
          e.Diagnostics.Type_declaration_files_to_be_included_in_compilation
      },
      {
        name: 'allowSyntheticDefaultImports',
        type: 'boolean',
        category: e.Diagnostics.Module_Resolution_Options,
        description:
          e.Diagnostics
            .Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking
      },
      {
        name: 'sourceRoot',
        type: 'string',
        isFilePath: !0,
        paramType: e.Diagnostics.LOCATION,
        category: e.Diagnostics.Source_Map_Options,
        description:
          e.Diagnostics
            .Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations
      },
      {
        name: 'mapRoot',
        type: 'string',
        isFilePath: !0,
        paramType: e.Diagnostics.LOCATION,
        category: e.Diagnostics.Source_Map_Options,
        description:
          e.Diagnostics
            .Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations
      },
      {
        name: 'inlineSourceMap',
        type: 'boolean',
        category: e.Diagnostics.Source_Map_Options,
        description:
          e.Diagnostics
            .Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file
      },
      {
        name: 'inlineSources',
        type: 'boolean',
        category: e.Diagnostics.Source_Map_Options,
        description:
          e.Diagnostics
            .Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set
      },
      {
        name: 'experimentalDecorators',
        type: 'boolean',
        category: e.Diagnostics.Experimental_Options,
        description:
          e.Diagnostics.Enables_experimental_support_for_ES7_decorators
      },
      {
        name: 'emitDecoratorMetadata',
        type: 'boolean',
        category: e.Diagnostics.Experimental_Options,
        description:
          e.Diagnostics
            .Enables_experimental_support_for_emitting_type_metadata_for_decorators
      },
      {
        name: 'jsxFactory',
        type: 'string',
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics
            .Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h
      },
      {
        name: 'diagnostics',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description: e.Diagnostics.Show_diagnostic_information
      },
      {
        name: 'extendedDiagnostics',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description: e.Diagnostics.Show_verbose_diagnostic_information
      },
      {
        name: 'traceResolution',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description: e.Diagnostics.Enable_tracing_of_the_name_resolution_process
      },
      {
        name: 'listFiles',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description: e.Diagnostics.Print_names_of_files_part_of_the_compilation
      },
      {
        name: 'listEmittedFiles',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics.Print_names_of_generated_files_part_of_the_compilation
      },
      {
        name: 'out',
        type: 'string',
        isFilePath: !1,
        category: e.Diagnostics.Advanced_Options,
        paramType: e.Diagnostics.FILE,
        description:
          e.Diagnostics
            .Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file
      },
      {
        name: 'reactNamespace',
        type: 'string',
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics
            .Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit
      },
      {
        name: 'skipDefaultLibCheck',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics
            .Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files
      },
      {
        name: 'charset',
        type: 'string',
        category: e.Diagnostics.Advanced_Options,
        description: e.Diagnostics.The_character_set_of_the_input_files
      },
      {
        name: 'emitBOM',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics
            .Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files
      },
      {
        name: 'locale',
        type: 'string',
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics
            .The_locale_used_when_displaying_messages_to_the_user_e_g_en_us
      },
      {
        name: 'newLine',
        type: e.createMapFromTemplate({ crlf: 0, lf: 1 }),
        paramType: e.Diagnostics.NEWLINE,
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics
            .Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix
      },
      {
        name: 'noErrorTruncation',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description: e.Diagnostics.Do_not_truncate_error_messages
      },
      {
        name: 'noLib',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics.Do_not_include_the_default_library_file_lib_d_ts
      },
      {
        name: 'noResolve',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics
            .Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files
      },
      {
        name: 'stripInternal',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics
            .Do_not_emit_declarations_for_code_that_has_an_internal_annotation
      },
      {
        name: 'disableSizeLimit',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics.Disable_size_limitations_on_JavaScript_projects
      },
      {
        name: 'noImplicitUseStrict',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics.Do_not_emit_use_strict_directives_in_module_output
      },
      {
        name: 'noEmitHelpers',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics
            .Do_not_generate_custom_helper_functions_like_extends_in_compiled_output
      },
      {
        name: 'noEmitOnError',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics.Do_not_emit_outputs_if_any_errors_were_reported
      },
      {
        name: 'preserveConstEnums',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics.Do_not_erase_const_enum_declarations_in_generated_code
      },
      {
        name: 'declarationDir',
        type: 'string',
        isFilePath: !0,
        paramType: e.Diagnostics.DIRECTORY,
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics.Output_directory_for_generated_declaration_files
      },
      {
        name: 'skipLibCheck',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description: e.Diagnostics.Skip_type_checking_of_declaration_files
      },
      {
        name: 'allowUnusedLabels',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description: e.Diagnostics.Do_not_report_errors_on_unused_labels
      },
      {
        name: 'allowUnreachableCode',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description: e.Diagnostics.Do_not_report_errors_on_unreachable_code
      },
      {
        name: 'suppressExcessPropertyErrors',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics.Suppress_excess_property_checks_for_object_literals
      },
      {
        name: 'suppressImplicitAnyIndexErrors',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics
            .Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures
      },
      {
        name: 'forceConsistentCasingInFileNames',
        type: 'boolean',
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics
            .Disallow_inconsistently_cased_references_to_the_same_file
      },
      {
        name: 'maxNodeModuleJsDepth',
        type: 'number',
        category: e.Diagnostics.Advanced_Options,
        description:
          e.Diagnostics
            .The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files
      },
      {
        name: 'plugins',
        type: 'list',
        isTSConfigOnly: !0,
        element: { name: 'plugin', type: 'object' },
        description: e.Diagnostics.List_of_language_service_plugins
      }
    ]),
    (e.typeAcquisitionDeclarations = [
      { name: 'enableAutoDiscovery', type: 'boolean' },
      { name: 'enable', type: 'boolean' },
      {
        name: 'include',
        type: 'list',
        element: { name: 'include', type: 'string' }
      },
      {
        name: 'exclude',
        type: 'list',
        element: { name: 'exclude', type: 'string' }
      }
    ]),
    (e.defaultInitCompilerOptions = {
      module: e.ModuleKind.CommonJS,
      target: 1,
      strict: !0
    })
  var F
  ;(e.convertEnableAutoDiscoveryToEnable = t),
    (e.createCompilerDiagnosticForInvalidCustomType = n),
    (e.parseCustomTypeOption = a),
    (e.parseListTypeOption = i),
    (e.parseCommandLine = o),
    (e.readConfigFile = c),
    (e.parseConfigFileTextToJson = u),
    (e.generateTSConfig = _),
    (e.parseJsonConfigFileContent = d),
    (e.convertCompileOnSaveOptionFromJson = p),
    (e.convertCompilerOptionsFromJson = f),
    (e.convertTypeAcquisitionFromJson = g)
  var I = /(^|\/)\*\*\/?$/,
    R = /(^|\/)\*\*\/(.*\/)?\*\*($|\/)/,
    M = /(^|\/)\*\*\/(.*\/)?\.\.($|\/)/,
    L = /\/[^\/]*?[*?][^\/]*\//,
    B = /^[^*?]*(?=\/[^\/]*[*?])/
  e.convertCompilerOptionsForTelemetry = P
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(e) {
    function t(e) {
      return new r(e)
    }
    var r = (function() {
      function e(e) {
        this.text = e
      }
      return (
        (e.prototype.getText = function(e, t) {
          return 0 === e && t === this.text.length
            ? this.text
            : this.text.substring(e, t)
        }),
        (e.prototype.getLength = function() {
          return this.text.length
        }),
        (e.prototype.getChangeRange = function() {}),
        e
      )
    })()
    e.fromString = t
  })((t = e.ScriptSnapshot || (e.ScriptSnapshot = {})))
  var r = (function() {
    function e() {}
    return e
  })()
  e.TextChange = r
  var n
  !(function(e) {
    ;(e.none = 'none'),
      (e.definition = 'definition'),
      (e.reference = 'reference'),
      (e.writtenReference = 'writtenReference')
  })((n = e.HighlightSpanKind || (e.HighlightSpanKind = {})))
  var a
  !(function(e) {
    ;(e[(e.None = 0)] = 'None'),
      (e[(e.Block = 1)] = 'Block'),
      (e[(e.Smart = 2)] = 'Smart')
  })((a = e.IndentStyle || (e.IndentStyle = {})))
  var i
  !(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')
  })((i = e.SymbolDisplayPartKind || (e.SymbolDisplayPartKind = {})))
  var o
  !(function(e) {
    ;(e[(e.JavaScript = 0)] = 'JavaScript'),
      (e[(e.SourceMap = 1)] = 'SourceMap'),
      (e[(e.Declaration = 2)] = 'Declaration')
  })((o = e.OutputFileType || (e.OutputFileType = {})))
  var s
  !(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')
  })((s = e.EndOfLineState || (e.EndOfLineState = {})))
  var c
  !(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')
  })((c = e.TokenClass || (e.TokenClass = {})))
  var u
  !(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.enumMemberElement = 'enum member'),
      (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'),
      (e.directory = 'directory'),
      (e.externalModuleName = 'external module name'),
      (e.jsxAttribute = 'JSX attribute')
  })((u = 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 l = (function() {
    function e() {}
    return e
  })()
  ;(l.comment = 'comment'),
    (l.identifier = 'identifier'),
    (l.keyword = 'keyword'),
    (l.numericLiteral = 'number'),
    (l.operator = 'operator'),
    (l.stringLiteral = 'string'),
    (l.whiteSpace = 'whitespace'),
    (l.text = 'text'),
    (l.punctuation = 'punctuation'),
    (l.className = 'class name'),
    (l.enumName = 'enum name'),
    (l.interfaceName = 'interface name'),
    (l.moduleName = 'module name'),
    (l.typeParameterName = 'type parameter name'),
    (l.typeAliasName = 'type alias name'),
    (l.parameterName = 'parameter name'),
    (l.docCommentTagName = 'doc comment tag name'),
    (l.jsxOpenTagName = 'jsx open tag name'),
    (l.jsxCloseTagName = 'jsx close tag name'),
    (l.jsxSelfClosingTagName = 'jsx self closing tag name'),
    (l.jsxAttribute = 'jsx attribute'),
    (l.jsxText = 'jsx text'),
    (l.jsxAttributeStringLiteralValue = 'jsx attribute string literal value'),
    (e.ClassificationTypeNames = l)
  var d
  !(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')
  })((d = e.ClassificationType || (e.ClassificationType = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t) {
    switch (t.kind) {
      case 146:
      case 226:
      case 176:
      case 149:
      case 148:
      case 261:
      case 262:
      case 264:
      case 151:
      case 150:
      case 152:
      case 153:
      case 154:
      case 228:
      case 186:
      case 187:
      case 260:
      case 253:
        return 1
      case 145:
      case 230:
      case 231:
      case 163:
        return 2
      case 229:
      case 232:
        return 3
      case 233:
        return e.isAmbientModule(t)
          ? 5
          : 1 === e.getModuleInstanceState(t)
            ? 5
            : 4
      case 241:
      case 242:
      case 237:
      case 238:
      case 243:
      case 244:
        return 7
      case 265:
        return 5
    }
    return 7
  }
  function r(r) {
    return 265 === r.kind
      ? 1
      : 243 === r.parent.kind
        ? 7
        : a(r)
          ? n(r)
          : e.isDeclarationName(r)
            ? t(r.parent)
            : c(r)
              ? 2
              : i(r)
                ? 4
                : 1
  }
  function n(t) {
    return (
      e.Debug.assert(71 === t.kind),
      143 === t.parent.kind &&
      t.parent.right === t &&
      237 === t.parent.parent.kind
        ? 7
        : 4
    )
  }
  function a(t) {
    for (; 143 === t.parent.kind; ) t = t.parent
    return (
      e.isInternalModuleImportEqualsDeclaration(t.parent) &&
      t.parent.moduleReference === t
    )
  }
  function i(e) {
    return o(e) || s(e)
  }
  function o(e) {
    var t = e,
      r = !0
    if (143 === t.parent.kind) {
      for (; t.parent && 143 === t.parent.kind; ) t = t.parent
      r = t.right === e
    }
    return 159 === t.parent.kind && !r
  }
  function s(e) {
    var t = e,
      r = !0
    if (179 === t.parent.kind) {
      for (; t.parent && 179 === t.parent.kind; ) t = t.parent
      r = t.name === e
    }
    if (!r && 201 === t.parent.kind && 259 === t.parent.parent.kind) {
      var n = t.parent.parent.parent
      return (
        (229 === n.kind && 108 === t.parent.parent.token) ||
        (230 === n.kind && 85 === t.parent.parent.token)
      )
    }
    return !1
  }
  function c(t) {
    return (
      e.isRightSideOfQualifiedNameOrPropertyAccess(t) && (t = t.parent),
      159 === t.parent.kind ||
        (201 === t.parent.kind &&
          !e.isExpressionWithTypeArgumentsInClassExtendsClause(t.parent)) ||
        (99 === t.kind && !e.isPartOfExpression(t)) ||
        169 === t.kind
    )
  }
  function u(e) {
    return l(e, 181)
  }
  function _(e) {
    return l(e, 182)
  }
  function l(e, t) {
    var r = d(e)
    return r && r.parent && r.parent.kind === t && r.parent.expression === r
  }
  function d(e) {
    return v(e) ? e.parent : e
  }
  function p(e, t) {
    for (; e; ) {
      if (222 === e.kind && e.label.text === t) return e.label
      e = e.parent
    }
  }
  function f(e) {
    return (
      71 === e.kind &&
      (218 === e.parent.kind || 217 === e.parent.kind) &&
      e.parent.label === e
    )
  }
  function g(e) {
    return 71 === e.kind && 222 === e.parent.kind && e.parent.label === e
  }
  function m(e) {
    return g(e) || f(e)
  }
  function y(e) {
    return 143 === e.parent.kind && e.parent.right === e
  }
  function v(e) {
    return e && e.parent && 179 === e.parent.kind && e.parent.name === e
  }
  function h(e) {
    return 233 === e.parent.kind && e.parent.name === e
  }
  function b(t) {
    return 71 === t.kind && e.isFunctionLike(t.parent) && t.parent.name === t
  }
  function k(t) {
    if (9 === t.kind || 8 === t.kind)
      switch (t.parent.kind) {
        case 149:
        case 148:
        case 261:
        case 264:
        case 151:
        case 150:
        case 153:
        case 154:
        case 233:
          return e.getNameOfDeclaration(t.parent) === t
        case 180:
          return t.parent.argumentExpression === t
        case 144:
          return !0
      }
    return !1
  }
  function x(t) {
    return (
      e.isExternalModuleImportEqualsDeclaration(t.parent.parent) &&
      e.getExternalModuleImportEqualsDeclarationExpression(t.parent.parent) ===
        t
    )
  }
  function C(t, r, n) {
    function a(r) {
      return e.forEach(r, function(e) {
        if (e.pos < n && n < e.end) return !0
        if (n === e.end) {
          var r = t.text,
            a = e.end - e.pos
          return (
            a <= 2 ||
            47 === r.charCodeAt(e.pos + 1) ||
            !(47 === r.charCodeAt(e.end - 1) && 42 === r.charCodeAt(e.end - 2))
          )
        }
        return !1
      })
    }
    return (
      n <= r.getStart(t) &&
      (a(e.getTrailingCommentRanges(t.text, r.getFullStart())) ||
        a(e.getLeadingCommentRanges(t.text, r.getFullStart())))
    )
  }
  function S(e) {
    for (;;) {
      if (((e = e.parent), !e)) return
      switch (e.kind) {
        case 265:
        case 151:
        case 150:
        case 228:
        case 186:
        case 153:
        case 154:
        case 229:
        case 230:
        case 232:
        case 233:
          return e
      }
    }
  }
  function D(t) {
    function r(t) {
      return e.isConst(t)
        ? e.ScriptElementKind.constElement
        : e.isLet(t)
          ? e.ScriptElementKind.letElement
          : e.ScriptElementKind.variableElement
    }
    switch (t.kind) {
      case 265:
        return e.isExternalModule(t)
          ? e.ScriptElementKind.moduleElement
          : e.ScriptElementKind.scriptElement
      case 233:
        return e.ScriptElementKind.moduleElement
      case 229:
      case 199:
        return e.ScriptElementKind.classElement
      case 230:
        return e.ScriptElementKind.interfaceElement
      case 231:
        return e.ScriptElementKind.typeElement
      case 232:
        return e.ScriptElementKind.enumElement
      case 226:
        return r(t)
      case 176:
        return r(e.getRootDeclaration(t))
      case 187:
      case 228:
      case 186:
        return e.ScriptElementKind.functionElement
      case 153:
        return e.ScriptElementKind.memberGetAccessorElement
      case 154:
        return e.ScriptElementKind.memberSetAccessorElement
      case 151:
      case 150:
        return e.ScriptElementKind.memberFunctionElement
      case 149:
      case 148:
        return e.ScriptElementKind.memberVariableElement
      case 157:
        return e.ScriptElementKind.indexSignatureElement
      case 156:
        return e.ScriptElementKind.constructSignatureElement
      case 155:
        return e.ScriptElementKind.callSignatureElement
      case 152:
        return e.ScriptElementKind.constructorImplementationElement
      case 145:
        return e.ScriptElementKind.typeParameterElement
      case 264:
        return e.ScriptElementKind.enumMemberElement
      case 146:
        return e.hasModifier(t, 92)
          ? e.ScriptElementKind.memberVariableElement
          : e.ScriptElementKind.parameterElement
      case 237:
      case 242:
      case 239:
      case 246:
      case 240:
        return e.ScriptElementKind.alias
      case 290:
        return e.ScriptElementKind.typeElement
      default:
        return e.ScriptElementKind.unknown
    }
  }
  function T(t) {
    switch (t.kind) {
      case 99:
        return !0
      case 71:
        return e.identifierIsThisKeyword(t) && 146 === t.parent.kind
      default:
        return !1
    }
  }
  function E(t, r) {
    var n = e.getLineStarts(r),
      a = r.getLineAndCharacterOfPosition(t).line
    return n[a]
  }
  function N(e, t) {
    return A(e.pos, e.end, t)
  }
  function A(e, t, r) {
    return e <= r.pos && t >= r.end
  }
  function w(e, t, r) {
    return e.pos <= t && e.end >= r
  }
  function P(e, t, r) {
    return O(e.pos, e.end, t, r)
  }
  function O(e, t, r, n) {
    var a = Math.max(e, r),
      i = Math.min(t, n)
    return a < i
  }
  function F(e, t, r) {
    return e.end > t || !I(e, r)
  }
  function I(t, r) {
    if (e.nodeIsMissing(t)) return !1
    switch (t.kind) {
      case 229:
      case 230:
      case 232:
      case 178:
      case 174:
      case 163:
      case 207:
      case 234:
      case 235:
      case 241:
      case 245:
        return R(t, 18, r)
      case 260:
        return I(t.block, r)
      case 182:
        if (!t.arguments) return !0
      case 181:
      case 185:
      case 168:
        return R(t, 20, r)
      case 160:
      case 161:
        return I(t.type, r)
      case 152:
      case 153:
      case 154:
      case 228:
      case 186:
      case 151:
      case 150:
      case 156:
      case 155:
      case 187:
        return t.body ? I(t.body, r) : t.type ? I(t.type, r) : L(t, 20, r)
      case 233:
        return t.body && I(t.body, r)
      case 211:
        return t.elseStatement ? I(t.elseStatement, r) : I(t.thenStatement, r)
      case 210:
        return I(t.expression, r) || L(t, 25)
      case 177:
      case 175:
      case 180:
      case 144:
      case 165:
        return R(t, 22, r)
      case 157:
        return t.type ? I(t.type, r) : L(t, 22, r)
      case 257:
      case 258:
        return !1
      case 214:
      case 215:
      case 216:
      case 213:
        return I(t.statement, r)
      case 212:
        var n = B(t, 106, r)
        return n ? R(t, 20, r) : I(t.statement, r)
      case 162:
        return I(t.exprName, r)
      case 189:
      case 188:
      case 190:
      case 197:
      case 198:
        var a = t
        return I(a.expression, r)
      case 183:
        return I(t.template, r)
      case 196:
        var i = e.lastOrUndefined(t.templateSpans)
        return I(i, r)
      case 205:
        return e.nodeIsPresent(t.literal)
      case 244:
      case 238:
        return e.nodeIsPresent(t.moduleSpecifier)
      case 192:
        return I(t.operand, r)
      case 194:
        return I(t.right, r)
      case 195:
        return I(t.whenFalse, r)
      default:
        return !0
    }
  }
  function R(t, r, n) {
    var a = t.getChildren(n)
    if (a.length) {
      var i = e.lastOrUndefined(a)
      if (i.kind === r) return !0
      if (25 === i.kind && 1 !== a.length) return a[a.length - 2].kind === r
    }
    return !1
  }
  function M(t) {
    var r = J(t)
    if (r) {
      var n = r.getChildren(),
        a = e.indexOf(n, t)
      return { listItemIndex: a, list: r }
    }
  }
  function L(e, t, r) {
    return !!B(e, t, r)
  }
  function B(t, r, n) {
    return e.forEach(t.getChildren(n), function(e) {
      return e.kind === r && e
    })
  }
  function J(t) {
    var r = e.forEach(t.parent.getChildren(), function(e) {
      if (294 === e.kind && e.pos <= t.pos && e.end >= t.end) return e
    })
    return e.Debug.assert(!r || e.contains(r.getChildren(), t)), r
  }
  function z(e, t, r) {
    return (
      void 0 === r && (r = !1),
      j(
        e,
        t,
        function(e) {
          return ae(e.kind)
        },
        r
      )
    )
  }
  function K(e, t, r) {
    return (
      void 0 === r && (r = !1),
      j(
        e,
        t,
        function(e) {
          return ie(e.kind)
        },
        r
      )
    )
  }
  function j(e, t, r, n) {
    return void 0 === n && (n = !1), q(e, t, !1, r, n)
  }
  function V(e, t, r) {
    return void 0 === r && (r = !1), q(e, t, !0, void 0, r)
  }
  function q(t, r, n, a, i) {
    void 0 === i && (i = !1)
    var o = t
    e: for (;;) {
      if (e.isToken(o)) return o
      if (i)
        for (
          var s = e.filter(o.getChildren(), e.isJSDocNode), c = 0, u = s;
          c < u.length;
          c++
        ) {
          var _ = u[c],
            l = n ? _.getFullStart() : _.getStart(t, i)
          if (l <= r) {
            var d = _.getEnd()
            if (r < d || (r === d && 1 === _.kind)) {
              o = _
              continue e
            }
            if (a && d === r) {
              var p = H(r, t, _)
              if (p && a(p)) return p
            }
          }
        }
      for (var f = 0, g = o.getChildren(); f < g.length; f++) {
        var m = g[f]
        if (!e.isJSDocNode(m)) {
          var l = n ? m.getFullStart() : m.getStart(t, i)
          if (l <= r) {
            var d = m.getEnd()
            if (r < d || (r === d && 1 === m.kind)) {
              o = m
              continue e
            }
            if (a && d === r) {
              var p = H(r, t, m)
              if (p && a(p)) return p
            }
          }
        }
      }
      return o
    }
  }
  function U(t, r) {
    var n = V(t, r)
    return e.isToken(n) && r > n.getStart(t) && r < n.getEnd() ? n : H(r, t)
  }
  function W(t, r) {
    function n(r) {
      if (e.isToken(r) && r.pos === t.end) return r
      for (var a = r.getChildren(), i = 0, o = a; i < o.length; i++) {
        var s = o[i],
          c = (s.pos <= t.pos && s.end > t.end) || s.pos === t.end
        if (c && te(s)) return n(s)
      }
    }
    return n(r)
  }
  function H(t, r, n) {
    function a(t) {
      if (e.isToken(t)) return t
      var r = t.getChildren(),
        n = o(r, r.length)
      return n && a(n)
    }
    function i(s) {
      if (e.isToken(s)) return s
      for (var c = s.getChildren(), u = 0; u < c.length; u++) {
        var _ = c[u]
        if (t < _.end && (te(_) || 10 === _.kind)) {
          var l = _.getStart(r),
            d = l >= t || (10 === _.kind && l === _.end)
          if (d) {
            var p = o(c, u)
            return p && a(p)
          }
          return i(_)
        }
      }
      if ((e.Debug.assert(void 0 !== n || 265 === s.kind), c.length)) {
        var p = o(c, c.length)
        return p && a(p)
      }
    }
    function o(e, t) {
      for (var r = t - 1; r >= 0; r--) if (te(e[r])) return e[r]
    }
    return i(n || r)
  }
  function G(e, t) {
    var r = H(t, e)
    if (r && 9 === r.kind) {
      var n = r.getStart(),
        a = r.getEnd()
      if (n < t && t < a) return !0
      if (t === a) return !!r.isUnterminated
    }
    return !1
  }
  function X(e, t) {
    return Z(e, t, void 0)
  }
  function Q(e, t) {
    var r = V(e, t)
    return (
      !!r &&
      (10 === r.kind ||
        ((27 === r.kind && 10 === r.parent.kind) ||
          ((27 === r.kind && 256 === r.parent.kind) ||
            (!(!r || 18 !== r.kind || 256 !== r.parent.kind) ||
              (27 === r.kind && 252 === r.parent.kind)))))
    )
  }
  function Y(t, r) {
    var n = V(t, r)
    return e.isTemplateLiteralKind(n.kind) && r > n.getStart(t)
  }
  function Z(t, r, n) {
    var a = V(t, r)
    if (a && r <= a.getStart(t)) {
      var i = e.getLeadingCommentRanges(t.text, a.pos)
      return n
        ? e.forEach(i, function(e) {
            return e.pos < r && (2 === e.kind ? r <= e.end : r < e.end) && n(e)
          })
        : e.forEach(i, function(e) {
            return e.pos < r && (2 === e.kind ? r <= e.end : r < e.end)
          })
    }
    return !1
  }
  function $(t, r) {
    function n(e) {
      var r = t.text
      return (
        r.length >= e.pos + 3 &&
        '/' === r[e.pos] &&
        '*' === r[e.pos + 1] &&
        '*' === r[e.pos + 2]
      )
    }
    var a = V(t, r),
      i = e.getLeadingCommentRanges(t.text, a.pos)
    return e.forEach(i, n)
  }
  function ee(t, r) {
    var n = e.getTokenAtPosition(t, r)
    if (e.isToken(n))
      switch (n.kind) {
        case 104:
        case 110:
        case 76:
          n = void 0 === n.parent ? void 0 : n.parent.parent
          break
        default:
          n = n.parent
      }
    if (n && n.jsDoc)
      for (var a = 0, i = n.jsDoc; a < i.length; a++) {
        var o = i[a]
        if (o.tags)
          for (var s = 0, c = o.tags; s < c.length; s++) {
            var u = c[s]
            if (u.pos <= r && r <= u.end) return u
          }
      }
  }
  function te(e) {
    return 0 !== e.getWidth()
  }
  function re(t) {
    var r = e.getCombinedModifierFlags(t),
      n = []
    return (
      8 & r && n.push(e.ScriptElementKindModifier.privateMemberModifier),
      16 & r && n.push(e.ScriptElementKindModifier.protectedMemberModifier),
      4 & r && n.push(e.ScriptElementKindModifier.publicMemberModifier),
      32 & r && n.push(e.ScriptElementKindModifier.staticModifier),
      128 & r && n.push(e.ScriptElementKindModifier.abstractModifier),
      1 & r && n.push(e.ScriptElementKindModifier.exportedModifier),
      e.isInAmbientContext(t) &&
        n.push(e.ScriptElementKindModifier.ambientModifier),
      n.length > 0 ? n.join(',') : e.ScriptElementKindModifier.none
    )
  }
  function ne(t) {
    return 159 === t.kind || 181 === t.kind
      ? t.typeArguments
      : e.isFunctionLike(t) || 229 === t.kind || 230 === t.kind
        ? t.typeParameters
        : void 0
  }
  function ae(t) {
    return 71 === t || e.isKeyword(t)
  }
  function ie(e) {
    return 9 === e || 8 === e || ae(e)
  }
  function oe(e) {
    return 2 === e || 3 === e
  }
  function se(t) {
    return !(9 !== t && 12 !== t && !e.isTemplateLiteralKind(t))
  }
  function ce(e) {
    return 17 <= e && e <= 70
  }
  function ue(t, r) {
    return (
      (e.isTemplateLiteralKind(t.kind) && t.getStart() < r && r < t.getEnd()) ||
      (!!t.isUnterminated && r === t.getEnd())
    )
  }
  function _e(e) {
    switch (e) {
      case 114:
      case 112:
      case 113:
        return !0
    }
    return !1
  }
  function le(e, t) {
    if (!e || !t || Object.keys(e).length !== Object.keys(t).length) return !1
    for (var r in e)
      if ('object' == typeof e[r]) {
        if (!le(e[r], t[r])) return !1
      } else if ('function' != typeof e[r] && e[r] !== t[r]) return !1
    return !0
  }
  function de(e) {
    if (177 === e.kind || 178 === e.kind) {
      if (
        194 === e.parent.kind &&
        e.parent.left === e &&
        58 === e.parent.operatorToken.kind
      )
        return !0
      if (216 === e.parent.kind && e.parent.initializer === e) return !0
      if (de(261 === e.parent.kind ? e.parent.parent : e.parent)) return !0
    }
    return !1
  }
  function pe(e) {
    var t = e.charAt(e.length - 1)
    return '/' === t || '\\' === t
  }
  function fe(e, t) {
    function r(t) {
      var r = e.text.substring(t.pos, t.end)
      return ke.test(r)
    }
    return Z(e, t, r)
  }
  function ge(e, t) {
    function r(t) {
      var r = e.text.substring(t.pos, t.end)
      return !ke.test(r)
    }
    return Z(e, t, r)
  }
  function me(t, r) {
    return e.createTextSpanFromBounds(t.getStart(r), t.getEnd())
  }
  function ye(e) {
    switch (e) {
      case 119:
      case 122:
      case 130:
      case 133:
      case 134:
      case 136:
      case 137:
      case 105:
        return !0
      default:
        return !1
    }
  }
  function ve(t) {
    return e.Debug.assert(!!(1536 & t.flags)), 34 === t.name.charCodeAt(0)
  }
  function he() {
    var t = []
    return function(r) {
      var n = e.getNodeId(r)
      return !t[n] && (t[n] = !0)
    }
  }
  ;(e.scanner = e.createScanner(5, !0)), (e.emptyArray = [])
  var be
  !(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')
  })((be = e.SemanticMeaning || (e.SemanticMeaning = {}))),
    (e.getMeaningFromDeclaration = t),
    (e.getMeaningFromLocation = r),
    (e.isCallExpressionTarget = u),
    (e.isNewExpressionTarget = _),
    (e.climbPastPropertyAccess = d),
    (e.getTargetLabel = p),
    (e.isJumpStatementTarget = f),
    (e.isLabelName = m),
    (e.isRightSideOfQualifiedName = y),
    (e.isRightSideOfPropertyAccess = v),
    (e.isNameOfModuleDeclaration = h),
    (e.isNameOfFunctionDeclaration = b),
    (e.isLiteralNameOfPropertyDeclarationOrIndexAccess = k),
    (e.isExpressionOfExternalModuleImportEqualsDeclaration = x),
    (e.isInsideComment = C),
    (e.getContainerNode = S),
    (e.getNodeKind = D),
    (e.isThis = T)
  var ke = /^\/\/\/\s*</
  ;(e.getLineStartPositionForPosition = E),
    (e.rangeContainsRange = N),
    (e.startEndContainsRange = A),
    (e.rangeContainsStartEnd = w),
    (e.rangeOverlapsWithStartEnd = P),
    (e.startEndOverlapsWithStartEnd = O),
    (e.positionBelongsToNode = F),
    (e.isCompletedNode = I),
    (e.findListItemInfo = M),
    (e.hasChildOfKind = L),
    (e.findChildOfKind = B),
    (e.findContainingList = J),
    (e.getTouchingWord = z),
    (e.getTouchingPropertyName = K),
    (e.getTouchingToken = j),
    (e.getTokenAtPosition = V),
    (e.findTokenOnLeftOfPosition = U),
    (e.findNextToken = W),
    (e.findPrecedingToken = H),
    (e.isInString = G),
    (e.isInComment = X),
    (e.isInsideJsxElementOrAttribute = Q),
    (e.isInTemplateString = Y),
    (e.isInCommentHelper = Z),
    (e.hasDocComment = $),
    (e.getJsDocTagAtPosition = ee),
    (e.getNodeModifiers = re),
    (e.getTypeArgumentOrTypeParameterList = ne),
    (e.isWord = ae),
    (e.isComment = oe),
    (e.isStringOrRegularExpressionOrTemplateLiteral = se),
    (e.isPunctuation = ce),
    (e.isInsideTemplateLiteral = ue),
    (e.isAccessibilityModifier = _e),
    (e.compareDataObjects = le),
    (e.isArrayLiteralOrObjectLiteralDestructuringPattern = de),
    (e.hasTrailingDirectorySeparator = pe),
    (e.isInReferenceComment = fe),
    (e.isInNonReferenceComment = ge),
    (e.createTextSpanFromNode = me),
    (e.isTypeKeyword = ye),
    (e.isExternalModuleSymbol = ve),
    (e.nodeSeenTracker = he)
})(ts || (ts = {})),
  (function(e) {
    function t(e) {
      return (
        e.declarations &&
        e.declarations.length > 0 &&
        146 === e.declarations[0].kind
      )
    }
    function r() {
      function t() {
        if (u) {
          var t = e.getIndentString(_)
          t && c.push(a(t, e.SymbolDisplayPartKind.space)), (u = !1)
        }
      }
      function r(e, r) {
        t(), c.push(a(e, r))
      }
      function i(e, r) {
        t(), c.push(n(e, r))
      }
      function o() {
        c.push(d()), (u = !0)
      }
      function s() {
        ;(c = []), (u = !0), (_ = 0)
      }
      var c, u, _
      return (
        s(),
        {
          displayParts: function() {
            return c
          },
          writeKeyword: function(t) {
            return r(t, e.SymbolDisplayPartKind.keyword)
          },
          writeOperator: function(t) {
            return r(t, e.SymbolDisplayPartKind.operator)
          },
          writePunctuation: function(t) {
            return r(t, e.SymbolDisplayPartKind.punctuation)
          },
          writeSpace: function(t) {
            return r(t, e.SymbolDisplayPartKind.space)
          },
          writeStringLiteral: function(t) {
            return r(t, e.SymbolDisplayPartKind.stringLiteral)
          },
          writeParameter: function(t) {
            return r(t, e.SymbolDisplayPartKind.parameterName)
          },
          writeProperty: function(t) {
            return r(t, e.SymbolDisplayPartKind.propertyName)
          },
          writeSymbol: i,
          writeLine: o,
          increaseIndent: function() {
            _++
          },
          decreaseIndent: function() {
            _--
          },
          clear: s,
          trackSymbol: e.noop,
          reportInaccessibleThisError: e.noop,
          reportIllegalExtends: e.noop
        }
      )
    }
    function n(r, n) {
      function i(r) {
        var n = r.flags
        return 3 & n
          ? t(r)
            ? e.SymbolDisplayPartKind.parameterName
            : e.SymbolDisplayPartKind.localName
          : 4 & n
            ? e.SymbolDisplayPartKind.propertyName
            : 32768 & n
              ? e.SymbolDisplayPartKind.propertyName
              : 65536 & n
                ? e.SymbolDisplayPartKind.propertyName
                : 8 & n
                  ? e.SymbolDisplayPartKind.enumMemberName
                  : 16 & n
                    ? e.SymbolDisplayPartKind.functionName
                    : 32 & n
                      ? e.SymbolDisplayPartKind.className
                      : 64 & n
                        ? e.SymbolDisplayPartKind.interfaceName
                        : 384 & n
                          ? e.SymbolDisplayPartKind.enumName
                          : 1536 & n
                            ? e.SymbolDisplayPartKind.moduleName
                            : 8192 & n
                              ? e.SymbolDisplayPartKind.methodName
                              : 262144 & n
                                ? e.SymbolDisplayPartKind.typeParameterName
                                : 524288 & n
                                  ? e.SymbolDisplayPartKind.aliasName
                                  : 8388608 & n
                                    ? e.SymbolDisplayPartKind.aliasName
                                    : e.SymbolDisplayPartKind.text
      }
      return a(r, i(n))
    }
    function a(t, r) {
      return { text: t, kind: e.SymbolDisplayPartKind[r] }
    }
    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 u(t) {
      var r = e.stringToToken(t)
      return void 0 === r ? _(t) : o(r)
    }
    function _(t) {
      return a(t, e.SymbolDisplayPartKind.text)
    }
    function l(e) {
      return e.getNewLine ? e.getNewLine() : E
    }
    function d() {
      return a('\n', e.SymbolDisplayPartKind.lineBreak)
    }
    function p(e) {
      e(T)
      var t = T.displayParts()
      return T.clear(), t
    }
    function f(e, t, r, n) {
      return p(function(a) {
        e.getSymbolDisplayBuilder().buildTypeDisplay(t, a, r, n)
      })
    }
    function g(e, t, r, n, a) {
      return p(function(i) {
        e.getSymbolDisplayBuilder().buildSymbolDisplay(t, i, r, n, a)
      })
    }
    function m(e, t, r, n) {
      return p(function(a) {
        e.getSymbolDisplayBuilder().buildSignatureDisplay(t, a, r, n)
      })
    }
    function y(t, r, n) {
      if (v(n) || (e.isStringOrNumericLiteral(n) && 144 === n.parent.kind))
        return n.text
      var a = e.getLocalSymbolForExportDefault(r)
      return t.symbolToString(a || r)
    }
    function v(e) {
      return (
        e.parent &&
        (242 === e.parent.kind || 246 === e.parent.kind) &&
        e.parent.propertyName === e
      )
    }
    function h(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 b(t, r) {
      for (var n = [], a = 2; a < arguments.length; a++) n[a - 2] = arguments[a]
      var i = k(t, r)
      return e.forEach(n, function(e) {
        return e === i
      })
    }
    function k(t, r) {
      var n
      return (
        r && r.getScriptKind && (n = r.getScriptKind(t)),
        n || (n = e.getScriptKindFromFileName(t)),
        e.ensureScriptKind(t, n)
      )
    }
    function x(t, r) {
      for (
        var n = {
            fileName: 'config.js',
            compilerOptions: { target: 2, removeComments: !0 },
            reportDiagnostics: !0
          },
          a = e.transpileModule('(' + r + ')', n),
          i = a.outputText,
          o = a.diagnostics,
          s = i.trim(),
          c = 0,
          u = o;
        c < u.length;
        c++
      ) {
        var _ = u[c]
        _.start = _.start - 1
      }
      var l = e.parseConfigFileTextToJson(t, s.substring(1, s.length - 2), !1),
        d = l.config,
        p = l.error
      return {
        configJsonObject: d || {},
        diagnostics: p ? e.concatenate(o, [p]) : o
      }
    }
    function C(t, r) {
      for (; e.isWhiteSpaceLike(t.charCodeAt(r)); ) r += 1
      return r
    }
    function S(e, t) {
      return e.body.getFirstToken(t)
    }
    function D(t, r) {
      return e.getTokenAtPosition(r, t.members.pos - 1)
    }
    e.isFirstDeclarationOfSymbolParameter = t
    var T = r()
    ;(e.symbolPart = n),
      (e.displayPart = a),
      (e.spacePart = i),
      (e.keywordPart = o),
      (e.punctuationPart = s),
      (e.operatorPart = c),
      (e.textOrKeywordPart = u),
      (e.textPart = _)
    var E = '\r\n'
    ;(e.getNewLineOrDefaultFromHost = l),
      (e.lineBreakPart = d),
      (e.mapToDisplayParts = p),
      (e.typeToDisplayParts = f),
      (e.symbolToDisplayParts = g),
      (e.signatureToDisplayParts = m),
      (e.getDeclaredName = y),
      (e.isImportOrExportSpecifierName = v),
      (e.stripQuotes = h),
      (e.scriptKindIs = b),
      (e.getScriptKind = k),
      (e.sanitizeConfigFile = x),
      (e.getFirstNonSpaceCharacterPosition = C),
      (e.getOpenBrace = S),
      (e.getOpenBraceOfClassLike = D)
  })(ts || (ts = {}))
var ts
!(function(e) {
  function t() {
    function t(t, r) {
      return (
        !e.isAccessibilityModifier(t) ||
        (125 === r || 135 === r || 123 === r || 115 === r)
      )
    }
    function r(t, r) {
      for (var a = [], i = t.spans, o = 0, s = 0; s < i.length; s += 3) {
        var c = i[s],
          u = i[s + 1],
          _ = i[s + 2]
        if (o >= 0) {
          var l = c - o
          l > 0 &&
            a.push({ length: l, classification: e.TokenClass.Whitespace })
        }
        a.push({ length: u, classification: n(_) }), (o = c + u)
      }
      var d = r.length - o
      return (
        d > 0 && a.push({ length: d, classification: e.TokenClass.Whitespace }),
        { entries: a, finalLexState: t.endOfLineState }
      )
    }
    function n(t) {
      switch (t) {
        case 1:
          return e.TokenClass.Comment
        case 3:
          return e.TokenClass.Keyword
        case 4:
          return e.TokenClass.NumberLiteral
        case 5:
          return e.TokenClass.Operator
        case 6:
          return e.TokenClass.StringLiteral
        case 8:
          return e.TokenClass.Whitespace
        case 10:
          return e.TokenClass.Punctuation
        case 2:
        case 11:
        case 12:
        case 13:
        case 14:
        case 15:
        case 16:
        case 9:
        case 17:
        default:
          return e.TokenClass.Identifier
      }
    }
    function a(e, t, n) {
      return r(i(e, t, n), e)
    }
    function i(r, n, a) {
      function i() {
        var t = _.getTokenPos(),
          n = _.getTextPos()
        if ((o(t, n, u(p)), n >= r.length))
          if (9 === p) {
            var a = _.getTokenText()
            if (_.isUnterminated()) {
              for (var i = a.length - 1, s = 0; 92 === a.charCodeAt(i - s); )
                s++
              if (1 & s) {
                var c = a.charCodeAt(0)
                g.endOfLineState = 34 === c ? 3 : 2
              }
            }
          } else
            3 === p
              ? _.isUnterminated() && (g.endOfLineState = 1)
              : e.isTemplateLiteralKind(p)
                ? _.isUnterminated() &&
                  (16 === p
                    ? (g.endOfLineState = 5)
                    : 13 === p
                      ? (g.endOfLineState = 4)
                      : e.Debug.fail(
                          "Only 'NoSubstitutionTemplateLiteral's and 'TemplateTail's can be unterminated; got SyntaxKind #" +
                            p
                        ))
                : d.length > 0 &&
                  14 === e.lastOrUndefined(d) &&
                  (g.endOfLineState = 6)
      }
      function o(e, t, r) {
        if (8 !== r) {
          0 === e && s > 0 && (e += s), (e -= s), (t -= s)
          var n = t - e
          n > 0 && (g.spans.push(e), g.spans.push(n), g.spans.push(r))
        }
      }
      for (var s = 0, p = 0, f = 0; d.length > 0; ) d.pop()
      switch (n) {
        case 3:
          ;(r = '"\\\n' + r), (s = 3)
          break
        case 2:
          ;(r = "'\\\n" + r), (s = 3)
          break
        case 1:
          ;(r = '/*\n' + r), (s = 3)
          break
        case 4:
          ;(r = '`\n' + r), (s = 2)
          break
        case 5:
          ;(r = '}\n' + r), (s = 2)
        case 6:
          d.push(14)
      }
      _.setText(r)
      var g = { endOfLineState: 0, spans: [] },
        m = 0
      do {
        if (((p = _.scan()), !e.isTrivia(p))) {
          if ((41 !== p && 63 !== p) || l[f]) {
            if (23 === f && c(p)) p = 71
            else if (c(f) && c(p) && !t(f, p)) p = 71
            else if (71 === f && 27 === p) m++
            else if (29 === p && m > 0) m--
            else if (
              119 === p ||
              136 === p ||
              133 === p ||
              122 === p ||
              137 === p
            )
              m > 0 && !a && (p = 71)
            else if (14 === p) d.push(p)
            else if (17 === p) d.length > 0 && d.push(p)
            else if (18 === p && d.length > 0) {
              var y = e.lastOrUndefined(d)
              14 === y
                ? ((p = _.reScanTemplateToken()),
                  16 === p
                    ? d.pop()
                    : e.Debug.assert(
                        15 === p,
                        'Should have been a template middle. Was ' + p
                      ))
                : (e.Debug.assert(
                    17 === y,
                    'Should have been an open brace. Was: ' + p
                  ),
                  d.pop())
            }
          } else 12 === _.reScanSlashToken() && (p = 12)
          f = p
        }
        i()
      } while (1 !== p)
      return g
    }
    function o(e) {
      switch (e) {
        case 39:
        case 41:
        case 42:
        case 37:
        case 38:
        case 45:
        case 46:
        case 47:
        case 27:
        case 29:
        case 30:
        case 31:
        case 93:
        case 92:
        case 118:
        case 32:
        case 33:
        case 34:
        case 35:
        case 48:
        case 50:
        case 49:
        case 53:
        case 54:
        case 69:
        case 68:
        case 70:
        case 65:
        case 66:
        case 67:
        case 59:
        case 60:
        case 61:
        case 63:
        case 64:
        case 58:
        case 26:
          return !0
        default:
          return !1
      }
    }
    function s(e) {
      switch (e) {
        case 37:
        case 38:
        case 52:
        case 51:
        case 43:
        case 44:
          return !0
        default:
          return !1
      }
    }
    function c(e) {
      return e >= 72 && e <= 142
    }
    function u(t) {
      if (c(t)) return 3
      if (o(t) || s(t)) return 5
      if (t >= 17 && t <= 70) return 10
      switch (t) {
        case 8:
          return 4
        case 9:
          return 6
        case 12:
          return 7
        case 7:
        case 3:
        case 2:
          return 1
        case 5:
        case 4:
          return 8
        case 71:
        default:
          return e.isTemplateLiteralKind(t) ? 6 : 2
      }
    }
    var _ = e.createScanner(5, !1),
      l = []
    ;(l[71] = !0),
      (l[9] = !0),
      (l[8] = !0),
      (l[12] = !0),
      (l[99] = !0),
      (l[43] = !0),
      (l[44] = !0),
      (l[20] = !0),
      (l[22] = !0),
      (l[18] = !0),
      (l[101] = !0),
      (l[86] = !0)
    var d = []
    return { getClassificationsForLine: a, getEncodedLexicalClassifications: i }
  }
  function r(e, t, r, n, i) {
    return o(a(e, t, r, n, i))
  }
  function n(e, t) {
    switch (t) {
      case 233:
      case 229:
      case 230:
      case 228:
        e.throwIfCancellationRequested()
    }
  }
  function a(t, r, a, i, o) {
    function s(e, t, r) {
      _.push(e), _.push(t), _.push(r)
    }
    function c(t, r) {
      function n(t) {
        return e.forEach(t.declarations, function(t) {
          return 233 === 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 & r) {
          if (64 & a) return 13
          if (262144 & a) return 15
        } else if (1536 & a && (4 & r || (1 & r && n(t)))) return 14
      }
    }
    function u(a) {
      if (
        a &&
        e.textSpanIntersectsWith(o, a.getFullStart(), a.getFullWidth())
      ) {
        var _ = a.kind
        if ((n(r, _), 71 === _ && !e.nodeIsMissing(a))) {
          var l = a
          if (i.get(l.text)) {
            var d = t.getSymbolAtLocation(a)
            if (d) {
              var p = c(d, e.getMeaningFromLocation(a))
              p && s(a.getStart(), a.getWidth(), p)
            }
          }
        }
        e.forEachChild(a, u)
      }
    }
    var _ = []
    return u(a), { spans: _, endOfLineState: 0 }
  }
  function i(t) {
    switch (t) {
      case 1:
        return e.ClassificationTypeNames.comment
      case 2:
        return e.ClassificationTypeNames.identifier
      case 3:
        return e.ClassificationTypeNames.keyword
      case 4:
        return e.ClassificationTypeNames.numericLiteral
      case 5:
        return e.ClassificationTypeNames.operator
      case 6:
        return e.ClassificationTypeNames.stringLiteral
      case 8:
        return e.ClassificationTypeNames.whiteSpace
      case 9:
        return e.ClassificationTypeNames.text
      case 10:
        return e.ClassificationTypeNames.punctuation
      case 11:
        return e.ClassificationTypeNames.className
      case 12:
        return e.ClassificationTypeNames.enumName
      case 13:
        return e.ClassificationTypeNames.interfaceName
      case 14:
        return e.ClassificationTypeNames.moduleName
      case 15:
        return e.ClassificationTypeNames.typeParameterName
      case 16:
        return e.ClassificationTypeNames.typeAliasName
      case 17:
        return e.ClassificationTypeNames.parameterName
      case 18:
        return e.ClassificationTypeNames.docCommentTagName
      case 19:
        return e.ClassificationTypeNames.jsxOpenTagName
      case 20:
        return e.ClassificationTypeNames.jsxCloseTagName
      case 21:
        return e.ClassificationTypeNames.jsxSelfClosingTagName
      case 22:
        return e.ClassificationTypeNames.jsxAttribute
      case 23:
        return e.ClassificationTypeNames.jsxText
      case 24:
        return e.ClassificationTypeNames.jsxAttributeStringLiteralValue
    }
  }
  function o(t) {
    e.Debug.assert(t.spans.length % 3 === 0)
    for (var r = t.spans, n = [], a = 0; a < r.length; a += 3)
      n.push({
        textSpan: e.createTextSpan(r[a], r[a + 1]),
        classificationType: i(r[a + 2])
      })
    return n
  }
  function s(e, t, r) {
    return o(c(e, t, r))
  }
  function c(t, r, a) {
    function i(e, t, r) {
      k.push(e), k.push(t), k.push(r)
    }
    function o(t) {
      for (h.setTextPos(t.pos); ; ) {
        var n = h.getTextPos()
        if (!e.couldStartTrivia(r.text, n)) return n
        var a = h.scan(),
          o = h.getTextPos(),
          c = o - n
        if (!e.isTrivia(a)) return n
        if (4 !== a && 5 !== a)
          if (e.isComment(a)) s(t, a, n, c), h.setTextPos(o)
          else if (7 === a) {
            var u = r.text,
              _ = u.charCodeAt(n)
            if (60 === _ || 62 === _) {
              i(n, c, 1)
              continue
            }
            e.Debug.assert(61 === _), l(u, n, o)
          }
      }
    }
    function s(t, n, a, i) {
      if (3 === n) {
        var o = e.parseIsolatedJSDocComment(r.text, a, i)
        if (o && o.jsDoc) return (o.jsDoc.parent = t), void u(o.jsDoc)
      }
      c(a, i)
    }
    function c(e, t) {
      i(e, t, 1)
    }
    function u(e) {
      function t(e) {
        e.preParameterName &&
          (c(r, e.preParameterName.pos - r),
          i(
            e.preParameterName.pos,
            e.preParameterName.end - e.preParameterName.pos,
            17
          ),
          (r = e.preParameterName.end)),
          e.typeExpression &&
            (c(r, e.typeExpression.pos - r),
            m(e.typeExpression),
            (r = e.typeExpression.end)),
          e.postParameterName &&
            (c(r, e.postParameterName.pos - r),
            i(
              e.postParameterName.pos,
              e.postParameterName.end - e.postParameterName.pos,
              17
            ),
            (r = e.postParameterName.end))
      }
      var r = e.pos
      if (e.tags)
        for (var n = 0, a = e.tags; n < a.length; n++) {
          var o = a[n]
          switch (
            (o.pos !== r && c(r, o.pos - r),
            i(o.atToken.pos, o.atToken.end - o.atToken.pos, 10),
            i(o.tagName.pos, o.tagName.end - o.tagName.pos, 18),
            (r = o.tagName.end),
            o.kind)
          ) {
            case 286:
              t(o)
              break
            case 289:
              _(o)
              break
            case 288:
              m(o.typeExpression)
              break
            case 287:
              m(o.typeExpression)
          }
          r = o.end
        }
      r !== e.end && c(r, e.end - r)
    }
    function _(e) {
      for (var t = 0, r = e.getChildren(); t < r.length; t++) {
        var n = r[t]
        m(n)
      }
    }
    function l(t, r, n) {
      var a
      for (a = r; a < n && !e.isLineBreak(t.charCodeAt(a)); a++);
      for (i(r, a - r, 1), b.setTextPos(a); b.getTextPos() < n; ) d()
    }
    function d() {
      var e = b.getTextPos(),
        t = b.scan(),
        r = b.getTextPos(),
        n = g(t)
      n && i(e, r - e, n)
    }
    function p(t) {
      if (e.isJSDocTag(t)) return !0
      if (e.nodeIsMissing(t)) return !0
      var r = f(t)
      if (!e.isToken(t) && 10 !== t.kind && void 0 === r) return !1
      var n = 10 === t.kind ? t.pos : o(t),
        a = t.end - n
      if ((e.Debug.assert(a >= 0), a > 0)) {
        var s = r || g(t.kind, t)
        s && i(n, a, s)
      }
      return !0
    }
    function f(e) {
      switch (e.parent && e.parent.kind) {
        case 251:
          if (e.parent.tagName === e) return 19
          break
        case 252:
          if (e.parent.tagName === e) return 20
          break
        case 250:
          if (e.parent.tagName === e) return 21
          break
        case 253:
          if (e.parent.name === e) return 22
      }
    }
    function g(t, r) {
      if (e.isKeyword(t)) return 3
      if (
        (27 === t || 29 === t) &&
        r &&
        e.getTypeArgumentOrTypeParameterList(r.parent)
      )
        return 10
      if (e.isPunctuation(t)) {
        if (r) {
          if (
            58 === t &&
            (226 === r.parent.kind ||
              149 === r.parent.kind ||
              146 === r.parent.kind ||
              253 === r.parent.kind)
          )
            return 5
          if (
            194 === r.parent.kind ||
            192 === r.parent.kind ||
            193 === r.parent.kind ||
            195 === r.parent.kind
          )
            return 5
        }
        return 10
      }
      if (8 === t) return 4
      if (9 === t) return 253 === r.parent.kind ? 24 : 6
      if (12 === t) return 6
      if (e.isTemplateLiteralKind(t)) return 6
      if (10 === t) return 23
      if (71 === t) {
        if (r)
          switch (r.parent.kind) {
            case 229:
              if (r.parent.name === r) return 11
              return
            case 145:
              if (r.parent.name === r) return 15
              return
            case 230:
              if (r.parent.name === r) return 13
              return
            case 232:
              if (r.parent.name === r) return 12
              return
            case 233:
              if (r.parent.name === r) return 14
              return
            case 146:
              if (r.parent.name === r) return e.isThisIdentifier(r) ? 3 : 17
              return
          }
        return 2
      }
    }
    function m(a) {
      if (a && e.decodedTextSpanIntersectsWith(y, v, a.pos, a.getFullWidth())) {
        n(t, a.kind)
        for (var i = 0, o = a.getChildren(r); i < o.length; i++) {
          var s = o[i]
          p(s) || m(s)
        }
      }
    }
    var y = a.start,
      v = a.length,
      h = e.createScanner(5, !1, r.languageVariant, r.text),
      b = e.createScanner(5, !1, r.languageVariant, r.text),
      k = []
    return m(r), { spans: k, endOfLineState: 0 }
  }
  ;(e.createClassifier = t),
    (e.getSemanticClassifications = r),
    (e.getEncodedSemanticClassifications = a),
    (e.getSyntacticClassifications = s),
    (e.getEncodedSyntacticClassifications = c)
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    var r
    !(function(t) {
      function r(t, r, n, s) {
        var c,
          u = e.normalizeSlashes(t.text),
          _ = t.getSourceFile().path,
          l = e.getDirectoryPath(_),
          d = g(t.text, t.getStart() + 1)
        if (m(u) || e.isRootedDiskPath(u)) {
          var p = e.getSupportedExtensions(r)
          c = r.rootDirs
            ? a(r.rootDirs, u, l, p, !1, d, r, n, _)
            : i(u, l, p, !1, d, n, _)
        } else c = o(u, l, d, r, n, s)
        return {
          isGlobalCompletion: !1,
          isMemberCompletion: !1,
          isNewIdentifierLocation: !0,
          entries: c
        }
      }
      function n(t, r, n, a) {
        t = e.map(t, function(t) {
          return e.normalizePath(
            e.isRootedDiskPath(t) ? t : e.combinePaths(r, t)
          )
        })
        for (var i, o = 0, s = t; o < s.length; o++) {
          var c = s[o]
          if (e.containsPath(c, n, r, a)) {
            i = n.substr(c.length)
            break
          }
        }
        return e.deduplicate(
          e.map(t, function(t) {
            return e.combinePaths(t, i)
          })
        )
      }
      function a(e, t, r, a, o, s, c, u, _) {
        for (
          var l = c.project || u.getCurrentDirectory(),
            d = !(u.useCaseSensitiveFileNames && u.useCaseSensitiveFileNames()),
            p = n(e, l, r, d),
            f = [],
            g = 0,
            m = p;
          g < m.length;
          g++
        ) {
          var y = m[g]
          i(t, y, a, o, s, u, _, f)
        }
        return f
      }
      function i(t, r, n, a, i, o, s, c) {
        void 0 === c && (c = []),
          void 0 === t && (t = ''),
          (t = e.normalizeSlashes(t)),
          (t = e.getDirectoryPath(t)),
          '' === t && (t = '.' + e.directorySeparator),
          (t = e.ensureTrailingDirectorySeparator(t))
        var u = y(e.isRootedDiskPath(t) ? t : e.combinePaths(r, t)),
          _ = e.getDirectoryPath(u),
          l = !(o.useCaseSensitiveFileNames && o.useCaseSensitiveFileNames())
        if (x(o, _)) {
          var d = h(o, _, n, void 0, ['./*'])
          if (d) {
            for (var p = e.createMap(), g = 0, m = d; g < m.length; g++) {
              var b = m[g]
              if (
                ((b = e.normalizePath(b)),
                !s || 0 !== e.comparePaths(b, s, r, l))
              ) {
                var k = a
                  ? e.getBaseFileName(b)
                  : e.removeFileExtension(e.getBaseFileName(b))
                p.get(k) || p.set(k, !0)
              }
            }
            e.forEachKey(p, function(t) {
              c.push(f(t, e.ScriptElementKind.scriptElement, i))
            })
          }
          var C = v(o, _)
          if (C)
            for (var S = 0, D = C; S < D.length; S++) {
              var T = D[S],
                E = e.getBaseFileName(e.normalizePath(T))
              c.push(f(E, e.ScriptElementKind.directory, i))
            }
        }
        return c
      }
      function o(t, r, n, a, o, u) {
        var l,
          d = a.baseUrl,
          p = a.paths
        if (d) {
          var g = e.getSupportedExtensions(a),
            m = a.project || o.getCurrentDirectory(),
            y = e.isRootedDiskPath(d) ? d : e.combinePaths(m, d)
          if (((l = i(t, e.normalizePath(y), g, !1, n, o)), p))
            for (var v in p)
              if (p.hasOwnProperty(v))
                if ('*' === v) {
                  if (p[v])
                    for (var h = 0, b = p[v]; h < b.length; h++)
                      for (
                        var k = b[h], x = 0, C = s(t, d, k, g, o);
                        x < C.length;
                        x++
                      ) {
                        var S = C[x]
                        l.push(f(S, e.ScriptElementKind.externalModuleName, n))
                      }
                } else if (e.startsWith(v, t)) {
                  var D = p[v] && 1 === p[v].length && p[v][0]
                  D && l.push(f(v, e.ScriptElementKind.externalModuleName, n))
                }
        } else l = []
        _(o, a, r, n, l)
        for (var T = 0, E = c(t, r, a, u, o); T < E.length; T++) {
          var N = E[T]
          l.push(f(N, e.ScriptElementKind.externalModuleName, n))
        }
        return l
      }
      function s(t, r, n, a, i) {
        if (i.readDirectory) {
          var o = e.hasZeroOrOneAsteriskCharacter(n)
            ? e.tryParsePattern(n)
            : void 0
          if (o) {
            var s = y(o.prefix),
              c = e.getDirectoryPath(s),
              u = e.getBaseFileName(s),
              _ = t.indexOf(e.directorySeparator) !== -1,
              l = _ ? e.combinePaths(c, u + e.getDirectoryPath(t)) : c,
              d = e.normalizePath(o.suffix),
              p = e.combinePaths(r, l),
              f = _ ? p : e.ensureTrailingDirectorySeparator(p) + u,
              g = d ? '**/*' : './*',
              m = h(i, p, a, void 0, [g])
            if (m) {
              for (var v = [], b = 0, k = m; b < k.length; b++) {
                var x = k[b],
                  C = e.normalizePath(x)
                if (e.endsWith(C, d) && e.startsWith(C, f)) {
                  var S = f.length,
                    D = C.length - S - d.length
                  v.push(e.removeFileExtension(C.substr(S, D)))
                }
              }
              return v
            }
          }
        }
      }
      function c(t, r, n, a, i) {
        var o = t.indexOf(e.directorySeparator) !== -1,
          s = o ? t.substr(0, t.lastIndexOf(e.directorySeparator)) : void 0,
          c = e.map(a.getAmbientModules(), function(t) {
            return e.stripQuotes(t.name)
          }),
          u = e.filter(c, function(r) {
            return e.startsWith(r, t)
          })
        if (o) {
          var _ = e.ensureTrailingDirectorySeparator(s)
          u = e.map(u, function(r) {
            return e.startsWith(t, _) ? r.substr(_.length) : r
          })
        }
        if (
          !n.moduleResolution ||
          n.moduleResolution === e.ModuleResolutionKind.NodeJs
        )
          for (var l = 0, d = p(i, r); l < d.length; l++) {
            var f = d[l]
            if (o) {
              if (e.startsWith(f.moduleName, s)) {
                var g = h(
                  i,
                  f.moduleDir,
                  e.supportedTypeScriptExtensions,
                  void 0,
                  ['./*']
                )
                if (g)
                  for (var m = 0, y = g; m < y.length; m++) {
                    var v = y[m]
                    v = e.normalizePath(v)
                    var b = e.removeFileExtension(e.getBaseFileName(v))
                    u.push(b)
                  }
              }
            } else u.push(f.moduleName)
          }
        return e.deduplicate(u)
      }
      function u(t, r, n, a) {
        var o = e.getTokenAtPosition(t, r)
        if (o) {
          var s = e.getLeadingCommentRanges(t.text, o.pos)
          if (s && s.length) {
            var c = e.forEach(s, function(e) {
              return r >= e.pos && r <= e.end && e
            })
            if (c) {
              var u = {
                  isGlobalCompletion: !1,
                  isMemberCompletion: !1,
                  isNewIdentifierLocation: !0,
                  entries: []
                },
                l = t.text.substr(c.pos, r - c.pos),
                d = S.exec(l)
              if (d) {
                var p = d[1],
                  f = d[2],
                  m = d[3],
                  y = e.getDirectoryPath(t.path)
                if ('path' === f) {
                  var v = g(m, c.pos + p.length)
                  u.entries = i(
                    m,
                    y,
                    e.getSupportedExtensions(n),
                    !0,
                    v,
                    a,
                    t.path
                  )
                } else {
                  var h = {
                    start: c.pos + p.length,
                    length: d[0].length - p.length
                  }
                  u.entries = _(a, n, y, h)
                }
              }
              return u
            }
          }
        }
      }
      function _(t, r, n, a, i) {
        if ((void 0 === i && (i = []), r.types))
          for (var o = 0, s = r.types; o < s.length; o++) {
            var c = s[o]
            i.push(f(c, e.ScriptElementKind.externalModuleName, a))
          }
        else if (t.getDirectories) {
          var u = void 0
          try {
            u = e.getEffectiveTypeRoots(r, t)
          } catch (_) {}
          if (u)
            for (var p = 0, g = u; p < g.length; p++) {
              var m = g[p]
              l(t, m, a, i)
            }
        }
        if (t.getDirectories)
          for (var y = 0, v = d(n, t); y < v.length; y++) {
            var h = v[y],
              b = e.combinePaths(e.getDirectoryPath(h), 'node_modules/@types')
            l(t, b, a, i)
          }
        return i
      }
      function l(t, r, n, a) {
        if (t.getDirectories && x(t, r)) {
          var i = v(t, r)
          if (i)
            for (var o = 0, s = i; o < s.length; o++) {
              var c = s[o]
              ;(c = e.normalizePath(c)),
                a.push(
                  f(
                    e.getBaseFileName(c),
                    e.ScriptElementKind.externalModuleName,
                    n
                  )
                )
            }
        }
      }
      function d(t, r) {
        for (var n, a = []; ; ) {
          if (
            ((n = e.findConfigFile(
              t,
              function(e) {
                return k(r, e)
              },
              'package.json'
            )),
            !n)
          )
            break
          a.push(n), (t = e.getDirectoryPath(n))
          var i = e.getDirectoryPath(t)
          if (t === i) break
          t = i
        }
        return a
      }
      function p(t, r) {
        function n(e) {
          try {
            var r = b(t, e)
            return r ? JSON.parse(r) : void 0
          } catch (n) {
            return
          }
        }
        function a(t, r) {
          if (t)
            for (var n in t)
              t.hasOwnProperty(n) && !e.startsWith(n, '@types/') && r.push(n)
        }
        var i = []
        if (t.readFile && t.fileExists)
          for (var o = 0, s = d(r, t); o < s.length; o++) {
            var c = s[o],
              u = n(c)
            if (!u) return
            for (
              var _ = e.combinePaths(e.getDirectoryPath(c), 'node_modules'),
                l = [],
                p = 0,
                f = D;
              p < f.length;
              p++
            ) {
              var g = f[p]
              a(u[g], l)
            }
            for (var m = 0, y = l; m < y.length; m++) {
              var v = y[m],
                h = e.combinePaths(_, v)
              i.push({ moduleName: v, moduleDir: h })
            }
          }
        return i
      }
      function f(t, r, n) {
        return {
          name: t,
          kind: r,
          kindModifiers: e.ScriptElementKindModifier.none,
          sortText: t,
          replacementSpan: n
        }
      }
      function g(t, r) {
        var n = t.lastIndexOf(e.directorySeparator),
          a = n !== -1 ? n + 1 : 0
        return { start: r + a, length: t.length - a }
      }
      function m(e) {
        if (e && e.length >= 2 && 46 === e.charCodeAt(0)) {
          var t = e.length >= 3 && 46 === e.charCodeAt(1) ? 2 : 1,
            r = e.charCodeAt(t)
          return 47 === r || 92 === r
        }
        return !1
      }
      function y(t) {
        return e.hasTrailingDirectorySeparator(t)
          ? e.ensureTrailingDirectorySeparator(e.normalizePath(t))
          : e.normalizePath(t)
      }
      function v(e, t) {
        return C(e, e.getDirectories, t)
      }
      function h(e, t, r, n, a) {
        return C(e, e.readDirectory, t, r, n, a)
      }
      function b(e, t) {
        return C(e, e.readFile, t)
      }
      function k(e, t) {
        return C(e, e.fileExists, t)
      }
      function x(t, r) {
        try {
          return e.directoryProbablyExists(r, t)
        } catch (n) {}
      }
      function C(e, t) {
        for (var r = [], n = 2; n < arguments.length; n++)
          r[n - 2] = arguments[n]
        try {
          return t && t.apply(e, r)
        } catch (a) {}
      }
      ;(t.getStringLiteralCompletionEntriesFromModuleNames = r),
        (t.getTripleSlashReferenceCompletion = u)
      var S = /^(\/\/\/\s*<reference\s+(path|types)\s*=\s*(?:'|"))([^\3"]*)$/,
        D = [
          'dependencies',
          'devDependencies',
          'peerDependencies',
          'optionalDependencies'
        ]
    })((r = t.PathCompletions || (t.PathCompletions = {})))
  })((t = e.Completions || (e.Completions = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(r, a, s, c, u, _) {
      if (e.isInReferenceComment(u, _))
        return t.PathCompletions.getTripleSlashReferenceCompletion(u, _, c, r)
      if (e.isInString(u, _)) return o(u, _, a, c, r, s)
      var l = f(a, s, u, _)
      if (l) {
        var d = l.symbols,
          p = l.isGlobalCompletion,
          g = l.isMemberCompletion,
          m = l.isNewIdentifierLocation,
          y = l.location,
          v = l.requestJsDocTagName,
          b = l.requestJsDocTag
        if (v)
          return {
            isGlobalCompletion: !1,
            isMemberCompletion: !1,
            isNewIdentifierLocation: !1,
            entries: e.JsDoc.getJSDocTagNameCompletions()
          }
        if (b)
          return {
            isGlobalCompletion: !1,
            isMemberCompletion: !1,
            isNewIdentifierLocation: !1,
            entries: e.JsDoc.getJSDocTagCompletions()
          }
        var k = []
        if (e.isSourceFileJavaScript(u)) {
          var x = i(d, k, y, !0, a, c.target, s)
          e.addRange(k, n(u, y.pos, x, c.target))
        } else {
          if (!d || 0 === d.length) {
            if (1 !== u.languageVariant || !y.parent || 252 !== y.parent.kind)
              return
            var C = y.parent.parent.openingElement.tagName
            k.push({
              name: C.text,
              kind: void 0,
              kindModifiers: void 0,
              sortText: '0'
            })
          }
          i(d, k, y, !0, a, c.target, s)
        }
        return (
          g || b || v || e.addRange(k, h),
          {
            isGlobalCompletion: p,
            isMemberCompletion: g,
            isNewIdentifierLocation: m,
            entries: k
          }
        )
      }
    }
    function n(t, r, n, a) {
      var i = [],
        o = e.getNameTable(t)
      return (
        o.forEach(function(t, o) {
          if (t !== r && !n.get(o)) {
            n.set(o, o)
            var s = m(e.unescapeIdentifier(o), a, !0)
            if (s) {
              var c = {
                name: s,
                kind: e.ScriptElementKind.warning,
                kindModifiers: '',
                sortText: '1'
              }
              i.push(c)
            }
          }
        }),
        i
      )
    }
    function a(t, r, n, a, i) {
      var o = g(a, t, i, n, r)
      if (o)
        return {
          name: o,
          kind: e.SymbolDisplay.getSymbolKind(a, t, r),
          kindModifiers: e.SymbolDisplay.getSymbolModifiers(t),
          sortText: '0'
        }
    }
    function i(t, r, n, i, o, s, c) {
      var u = e.timestamp(),
        _ = e.createMap()
      if (t)
        for (var l = 0, d = t; l < d.length; l++) {
          var p = d[l],
            f = a(p, n, i, o, s)
          if (f) {
            var g = e.escapeIdentifier(f.name)
            _.get(g) || (r.push(f), _.set(g, g))
          }
        }
      return (
        c(
          'getCompletionsAtPosition: getCompletionEntriesFromSymbols: ' +
            (e.timestamp() - u)
        ),
        _
      )
    }
    function o(r, n, a, i, o, l) {
      var d = e.findPrecedingToken(n, r)
      if (d && 9 === d.kind) {
        if (
          261 === d.parent.kind &&
          178 === d.parent.parent.kind &&
          d.parent.name === d
        )
          return s(d.parent, a, i.target, l)
        if (
          e.isElementAccessExpression(d.parent) &&
          d.parent.argumentExpression === d
        )
          return u(d.parent, a, i.target, l)
        if (
          238 === d.parent.kind ||
          e.isExpressionOfExternalModuleImportEqualsDeclaration(d) ||
          e.isRequireCall(d.parent, !1)
        )
          return t.PathCompletions.getStringLiteralCompletionEntriesFromModuleNames(
            d,
            i,
            o,
            a
          )
        if (y(d.parent))
          return _(
            a.getTypeAtLocation(
              d.parent.left === d ? d.parent.right : d.parent.left
            ),
            a
          )
        if (e.isCaseOrDefaultClause(d.parent))
          return _(a.getTypeAtLocation(d.parent.parent.parent.expression), a)
        var p = e.SignatureHelp.getImmediatelyContainingArgumentInfo(d, n, r)
        return p ? c(p, a) : _(a.getContextualType(d), a)
      }
    }
    function s(e, t, r, n) {
      var a = t.getContextualType(e.parent),
        o = []
      if (a && (i(a.getApparentProperties(), o, e, !1, t, r, n), o.length))
        return {
          isGlobalCompletion: !1,
          isMemberCompletion: !0,
          isNewIdentifierLocation: !0,
          entries: o
        }
    }
    function c(e, t) {
      var r = [],
        n = []
      t.getResolvedSignature(e.invocation, r)
      for (var a = 0, i = r; a < i.length; a++) {
        var o = i[a]
        l(t.getParameterType(o, e.argumentIndex), n, t)
      }
      if (n.length)
        return {
          isGlobalCompletion: !1,
          isMemberCompletion: !1,
          isNewIdentifierLocation: !0,
          entries: n
        }
    }
    function u(e, t, r, n) {
      var a = t.getTypeAtLocation(e.expression),
        o = []
      if (a && (i(a.getApparentProperties(), o, e, !1, t, r, n), o.length))
        return {
          isGlobalCompletion: !1,
          isMemberCompletion: !0,
          isNewIdentifierLocation: !0,
          entries: o
        }
    }
    function _(e, t) {
      if (e) {
        var r = []
        if ((l(e, r, t), r.length))
          return {
            isGlobalCompletion: !1,
            isMemberCompletion: !1,
            isNewIdentifierLocation: !1,
            entries: r
          }
      }
    }
    function l(t, r, n) {
      if ((t && 16384 & t.flags && (t = n.getApparentType(t)), t))
        if (65536 & t.flags)
          for (var a = 0, i = t.types; a < i.length; a++) {
            var o = i[a]
            l(o, r, n)
          }
        else
          32 & t.flags &&
            r.push({
              name: t.text,
              kindModifiers: e.ScriptElementKindModifier.none,
              kind: e.ScriptElementKind.variableElement,
              sortText: '0'
            })
    }
    function d(t, r, n, a, i, o) {
      var s = f(t, r, a, i)
      if (s) {
        var c = s.symbols,
          u = s.location,
          _ = e.forEach(c, function(e) {
            return g(t, e, n.target, !1, u) === o ? e : void 0
          })
        if (_) {
          var l = e.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(
              t,
              _,
              a,
              u,
              u,
              7
            ),
            d = l.displayParts,
            p = l.documentation,
            m = l.symbolKind,
            y = l.tags
          return {
            name: o,
            kindModifiers: e.SymbolDisplay.getSymbolModifiers(_),
            kind: m,
            displayParts: d,
            documentation: p,
            tags: y
          }
        }
      }
      var v = e.forEach(h, function(e) {
        return e.name === o
      })
      if (v)
        return {
          name: o,
          kind: e.ScriptElementKind.keyword,
          kindModifiers: e.ScriptElementKindModifier.none,
          displayParts: [e.displayPart(o, e.SymbolDisplayPartKind.keyword)],
          documentation: void 0,
          tags: void 0
        }
    }
    function p(t, r, n, a, i, o) {
      var s = f(t, r, a, i)
      if (s) {
        var c = s.symbols,
          u = s.location
        return e.forEach(c, function(e) {
          return g(t, e, n.target, !1, u) === o ? e : void 0
        })
      }
    }
    function f(t, r, n, a) {
      function i() {
        if (
          ((W = !1),
          (V = !0),
          (q = !1),
          71 === L.kind || 143 === L.kind || 179 === L.kind)
        ) {
          var r = t.getSymbolAtLocation(L)
          if (
            (r && 8388608 & r.flags && (r = t.getAliasedSymbol(r)),
            r && 1952 & r.flags)
          ) {
            var n = t.getExportsOfModule(r)
            e.forEach(n, function(e) {
              t.isValidPropertyAccess(L.parent, e.name) && H.push(e)
            })
          }
        }
        var a = t.getTypeAtLocation(L)
        o(a)
      }
      function o(e) {
        if (e) {
          for (var r = 0, n = e.getApparentProperties(); r < n.length; r++) {
            var a = n[r]
            t.isValidPropertyAccess(L.parent, a.name) && H.push(a)
          }
          if (S && 65536 & e.flags)
            for (var i = e, s = 0, c = i.types; s < c.length; s++) {
              var u = c[s]
              o(u)
            }
        }
      }
      function s() {
        var r, i, o
        if ((r = g(R))) return p(r)
        if ((i = m(R))) return f(i)
        if ((o = y(R))) {
          var s = void 0
          if (
            (250 === o.kind || 251 === o.kind) &&
            (s = t.getAllAttributesTypeFromJsxOpeningLikeElement(o))
          )
            return (
              (H = C(t.getPropertiesOfType(s), o.attributes.properties)),
              (V = !0),
              (q = !1),
              !0
            )
        }
        ;(V = !1),
          (q = l(R)),
          I !== R &&
            e.Debug.assert(
              !!I,
              "Expected 'contextToken' to be defined when different from 'previousToken'."
            )
        var u = I !== R ? I.getStart() : a,
          _ = c(R, u, n) || n
        _ &&
          (W =
            265 === _.kind ||
            196 === _.kind ||
            256 === _.kind ||
            e.isStatement(_))
        var d = 9289727
        return (H = t.getSymbolsInScope(_, d)), !0
      }
      function c(t, r, n) {
        for (var a = t; a && !e.positionBelongsToNode(a, r, n); ) a = a.parent
        return a
      }
      function u(t) {
        var n = e.timestamp(),
          a = d(t) || h(t) || b(t) || _(t)
        return (
          r(
            'getCompletionsAtPosition: isCompletionListBlocker: ' +
              (e.timestamp() - n)
          ),
          a
        )
      }
      function _(e) {
        if (10 === e.kind) return !0
        if (29 === e.kind && e.parent) {
          if (251 === e.parent.kind) return !0
          if (252 === e.parent.kind || 250 === e.parent.kind)
            return e.parent.parent && 249 === e.parent.parent.kind
        }
        return !1
      }
      function l(e) {
        if (e) {
          var t = e.parent.kind
          switch (e.kind) {
            case 26:
              return (
                181 === t ||
                152 === t ||
                182 === t ||
                177 === t ||
                194 === t ||
                160 === t
              )
            case 19:
              return (
                181 === t || 152 === t || 182 === t || 185 === t || 168 === t
              )
            case 21:
              return 177 === t || 157 === t || 144 === t
            case 128:
            case 129:
              return !0
            case 23:
              return 233 === t
            case 17:
              return 229 === t
            case 58:
              return 226 === t || 194 === t
            case 14:
              return 196 === t
            case 15:
              return 205 === t
            case 114:
            case 112:
            case 113:
              return 149 === t
          }
          switch (e.getText()) {
            case 'public':
            case 'protected':
            case 'private':
              return !0
          }
        }
        return !1
      }
      function d(t) {
        if (9 === t.kind || 12 === t.kind || e.isTemplateLiteralKind(t.kind)) {
          var r = t.getStart(),
            n = t.getEnd()
          if (r < a && a < n) return !0
          if (a === n) return !!t.isUnterminated || 12 === t.kind
        }
        return !1
      }
      function p(r) {
        V = !0
        var n, a
        if (178 === r.kind)
          (q = !0),
            (n = t.getContextualType(r)),
            (n = n && n.getNonNullableType()),
            (a = r.properties)
        else if (174 === r.kind) {
          q = !1
          var i = e.getRootDeclaration(r.parent)
          if (e.isVariableLike(i)) {
            var o = !(!i.initializer && !i.type)
            o ||
              146 !== i.kind ||
              (e.isExpression(i.parent)
                ? (o = !!t.getContextualType(i.parent))
                : (151 !== i.parent.kind && 154 !== i.parent.kind) ||
                  (o =
                    e.isExpression(i.parent.parent) &&
                    !!t.getContextualType(i.parent.parent))),
              o && ((n = t.getTypeAtLocation(r)), (a = r.elements))
          } else e.Debug.fail('Root declaration is not variable-like.')
        } else
          e.Debug.fail(
            'Expected object literal or binding pattern, got ' + r.kind
          )
        if (!n) return !1
        var s = t.getPropertiesOfType(n)
        return s && s.length > 0 && (H = x(s, a)), !0
      }
      function f(r) {
        var n = 241 === r.kind ? 238 : 244,
          a = e.getAncestor(r, n),
          i = a.moduleSpecifier
        if (!i) return !1
        ;(V = !0), (q = !1)
        var o = t.getSymbolAtLocation(i)
        if (!o) return (H = e.emptyArray), !0
        var s = t.getExportsAndPropertiesOfModule(o)
        return (H = k(s, r.elements)), !0
      }
      function g(e) {
        if (e)
          switch (e.kind) {
            case 17:
            case 26:
              var t = e.parent
              if (t && (178 === t.kind || 174 === t.kind)) return t
          }
      }
      function m(e) {
        if (e)
          switch (e.kind) {
            case 17:
            case 26:
              switch (e.parent.kind) {
                case 241:
                case 245:
                  return e.parent
              }
          }
      }
      function y(e) {
        if (e) {
          var t = e.parent
          switch (e.kind) {
            case 28:
            case 41:
            case 71:
            case 179:
            case 254:
            case 253:
            case 255:
              if (t && (250 === t.kind || 251 === t.kind)) return t
              if (253 === t.kind) return t.parent.parent
              break
            case 9:
              if (t && (253 === t.kind || 255 === t.kind))
                return t.parent.parent
              break
            case 18:
              if (t && 256 === t.kind && t.parent && 253 === t.parent.kind)
                return t.parent.parent.parent
              if (t && 255 === t.kind) return t.parent.parent
          }
        }
      }
      function v(t) {
        if (!e.isFunctionLikeKind(t)) return !1
        switch (t) {
          case 152:
          case 161:
          case 160:
            return !1
          default:
            return !0
        }
      }
      function h(e) {
        var t = e.parent.kind
        switch (e.kind) {
          case 26:
            return (
              226 === t ||
              227 === t ||
              208 === t ||
              232 === t ||
              v(t) ||
              229 === t ||
              199 === t ||
              230 === t ||
              175 === t ||
              231 === t
            )
          case 23:
            return 175 === t
          case 56:
            return 176 === t
          case 21:
            return 175 === t
          case 19:
            return 260 === t || v(t)
          case 17:
            return 232 === t || 230 === t || 163 === t
          case 25:
            return (
              148 === t &&
              e.parent &&
              e.parent.parent &&
              (230 === e.parent.parent.kind || 163 === e.parent.parent.kind)
            )
          case 27:
            return 229 === t || 199 === t || 230 === t || 231 === t || v(t)
          case 115:
            return 149 === t
          case 24:
            return (
              146 === t ||
              (e.parent && e.parent.parent && 175 === e.parent.parent.kind)
            )
          case 114:
          case 112:
          case 113:
            return 146 === t
          case 118:
            return 242 === t || 246 === t || 240 === t
          case 75:
          case 83:
          case 109:
          case 89:
          case 104:
          case 125:
          case 135:
          case 91:
          case 110:
          case 76:
          case 116:
          case 138:
            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 b(e) {
        if (8 === e.kind) {
          var t = e.getFullText()
          return '.' === t.charAt(t.length - 1)
        }
        return !1
      }
      function k(t, r) {
        for (var n = e.createMap(), i = 0, o = r; i < o.length; i++) {
          var s = o[i]
          if (!(s.getStart() <= a && a <= s.getEnd())) {
            var c = s.propertyName || s.name
            n.set(c.text, !0)
          }
        }
        return 0 === n.size
          ? e.filter(t, function(e) {
              return 'default' !== e.name
            })
          : e.filter(t, function(e) {
              return 'default' !== e.name && !n.get(e.name)
            })
      }
      function x(t, r) {
        if (!r || 0 === r.length) return t
        for (var n = e.createMap(), i = 0, o = r; i < o.length; i++) {
          var s = o[i]
          if (
            !(
              (261 !== s.kind &&
                262 !== s.kind &&
                176 !== s.kind &&
                151 !== s.kind &&
                153 !== s.kind &&
                154 !== s.kind) ||
              (s.getStart() <= a && a <= s.getEnd())
            )
          ) {
            var c = void 0
            176 === s.kind && s.propertyName
              ? 71 === s.propertyName.kind && (c = s.propertyName.text)
              : (c = e.getNameOfDeclaration(s).text),
              n.set(c, !0)
          }
        }
        return e.filter(t, function(e) {
          return !n.get(e.name)
        })
      }
      function C(t, r) {
        for (var n = e.createMap(), i = 0, o = r; i < o.length; i++) {
          var s = o[i]
          ;(s.getStart() <= a && a <= s.getEnd()) ||
            (253 === s.kind && n.set(s.name.text, !0))
        }
        return e.filter(t, function(e) {
          return !n.get(e.name)
        })
      }
      var S = e.isSourceFileJavaScript(n),
        D = !1,
        T = !1,
        E = e.timestamp(),
        N = e.getTokenAtPosition(n, a)
      r('getCompletionData: Get current token: ' + (e.timestamp() - E)),
        (E = e.timestamp())
      var A = e.isInsideComment(n, N, a)
      if (
        (r('getCompletionData: Is inside comment: ' + (e.timestamp() - E)), A)
      ) {
        if (e.hasDocComment(n, a))
          if (64 === n.text.charCodeAt(a - 1)) D = !0
          else {
            var w = e.getLineStartPositionForPosition(a, n)
            T = !n.text.substring(w, a).match(/[^\*|\s|(\/\*\*)]/)
          }
        var P = !1,
          O = e.getJsDocTagAtPosition(n, a)
        if (O)
          switch (
            (O.tagName.pos <= a && a <= O.tagName.end && (D = !0), O.kind)
          ) {
            case 288:
            case 286:
            case 287:
              var F = O
              F.typeExpression &&
                (P = F.typeExpression.pos < a && a < F.typeExpression.end)
          }
        if (D || T)
          return {
            symbols: void 0,
            isGlobalCompletion: !1,
            isMemberCompletion: !1,
            isNewIdentifierLocation: !1,
            location: void 0,
            isRightOfDot: !1,
            requestJsDocTagName: D,
            requestJsDocTag: T
          }
        if (!P)
          return void r(
            'Returning an empty list because completion was inside a regular comment or plain text part of a JsDoc comment.'
          )
      }
      E = e.timestamp()
      var I = e.findPrecedingToken(a, n)
      r('getCompletionData: Get previous token 1: ' + (e.timestamp() - E))
      var R = I
      if (R && a <= R.end && e.isWord(R.kind)) {
        var M = e.timestamp()
        ;(R = e.findPrecedingToken(R.getFullStart(), n)),
          r('getCompletionData: Get previous token 2: ' + (e.timestamp() - M))
      }
      var L = N,
        B = !1,
        J = !1,
        z = !1,
        K = e.getTouchingPropertyName(n, a)
      if (R) {
        if (u(R))
          return void r(
            'Returning an empty list because completion was requested in an invalid position.'
          )
        var j = R.parent
        if (23 === R.kind)
          if (179 === j.kind) (L = R.parent.expression), (B = !0)
          else {
            if (143 !== j.kind) return
            ;(L = R.parent.left), (B = !0)
          }
        else if (1 === n.languageVariant)
          switch ((j && 179 === j.kind && ((R = j), (j = j.parent)), j.kind)) {
            case 252:
              41 === R.kind && ((z = !0), (K = R))
              break
            case 194:
              if (!(32768 & j.left.flags)) break
            case 250:
            case 249:
            case 251:
              27 === R.kind && ((J = !0), (K = R))
          }
      }
      var V,
        q,
        U = e.timestamp(),
        W = !1,
        H = []
      if (B) i()
      else if (J) {
        var G = t.getJsxIntrinsicTagNames()
        ;(H = s()
          ? G.concat(
              H.filter(function(e) {
                return !!(8496063 & e.flags)
              })
            )
          : G),
          (V = !0),
          (q = !1)
      } else if (z) {
        var X = R.parent.parent.openingElement.tagName,
          Q = t.getSymbolAtLocation(X)
        t.isUnknownSymbol(Q) || (H = [Q]), (V = !0), (q = !1)
      } else if (!s()) return
      return (
        r('getCompletionData: Semantic work: ' + (e.timestamp() - U)),
        {
          symbols: H,
          isGlobalCompletion: W,
          isMemberCompletion: V,
          isNewIdentifierLocation: q,
          location: K,
          isRightOfDot: B || J,
          requestJsDocTagName: D,
          requestJsDocTag: T
        }
      )
    }
    function g(t, r, n, a, i) {
      var o = e.getDeclaredName(t, r, i)
      if (o) {
        var s = o.charCodeAt(0)
        if (1920 & r.flags && (39 === s || 34 === s)) return
      }
      return m(o, n, a)
    }
    function m(t, r, n) {
      if (t && ((t = e.stripQuotes(t)), t && (!n || e.isIdentifierText(t, r))))
        return t
    }
    function y(t) {
      return e.isBinaryExpression(t) && v(t.operatorToken.kind)
    }
    function v(e) {
      return 32 === e || 33 === e || 34 === e || 35 === e
    }
    ;(t.getCompletionsAtPosition = r),
      (t.getCompletionEntryDetails = d),
      (t.getCompletionEntrySymbol = p)
    for (var h = [], b = 72; b <= 142; b++)
      h.push({
        name: e.tokenToString(b),
        kind: e.ScriptElementKind.keyword,
        kindModifiers: e.ScriptElementKindModifier.none,
        sortText: '0'
      })
  })((t = e.Completions || (e.Completions = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(t, r, n, i, s) {
      var c = e.getTouchingWord(n, i)
      return c && (a(c, t, r, s) || o(c, n))
    }
    function n(t, r) {
      var n = t.getStart(r),
        a = t.getEnd()
      return {
        fileName: r.fileName,
        textSpan: e.createTextSpanFromBounds(n, a),
        kind: e.HighlightSpanKind.none
      }
    }
    function a(t, r, n, a) {
      var o = e.FindAllReferences.getReferenceEntriesForNode(t, a, r, n)
      return o && i(o)
    }
    function i(t) {
      for (var r = e.createMap(), n = 0, a = t; n < a.length; n++) {
        var i = a[n],
          o = e.FindAllReferences.toHighlightSpan(i),
          s = o.fileName,
          c = o.span,
          u = r.get(s)
        u || r.set(s, (u = [])), u.push(c)
      }
      return e.arrayFrom(r.entries(), function(e) {
        var t = e[0],
          r = e[1]
        return { fileName: t, highlightSpans: r }
      })
    }
    function o(e, t) {
      var r = u(e, t)
      if (r && 0 !== r.length)
        return [{ fileName: t.fileName, highlightSpans: r }]
    }
    function s(e, t) {
      return void 0 !== e && e.kind === t
    }
    function c(e) {
      return e && e.parent
    }
    function u(t, r) {
      function a(e) {
        return (
          e &&
          e.map(function(e) {
            return n(e, r)
          })
        )
      }
      if (t)
        switch (t.kind) {
          case 90:
          case 82:
            if (s(t.parent, 211)) return D(t.parent, r)
            break
          case 96:
            if (s(t.parent, 219)) return a(S(t.parent))
            break
          case 100:
            if (s(t.parent, 223)) return a(C(t.parent))
            break
          case 102:
          case 74:
          case 87:
            var i = c(74 === t.kind ? c(t) : t)
            if (s(i, 224)) return a(x(i, r))
            break
          case 98:
            if (s(t.parent, 221)) return a(k(t.parent))
            break
          case 73:
          case 79:
            if (s(c(c(c(t))), 221)) return a(k(t.parent.parent.parent))
            break
          case 72:
          case 77:
            if (s(t.parent, 218) || s(t.parent, 217)) return a(b(t.parent))
            break
          case 88:
            if (s(t.parent, 214) || s(t.parent, 215) || s(t.parent, 216))
              return a(h(t.parent))
            break
          case 106:
          case 81:
            if (s(t.parent, 213) || s(t.parent, 212)) return a(h(t.parent))
            break
          case 123:
            if (s(t.parent, 152)) return a(v(t.parent))
            break
          case 125:
          case 135:
            if (s(t.parent, 153) || s(t.parent, 154)) return a(y(t.parent))
            break
          default:
            if (
              e.isModifierKind(t.kind) &&
              t.parent &&
              (e.isDeclaration(t.parent) || 208 === t.parent.kind)
            )
              return a(g(t.kind, t.parent))
        }
    }
    function _(t) {
      function r(t) {
        if (223 === t.kind) n.push(t)
        else if (224 === t.kind) {
          var a = t
          r(a.catchClause ? a.catchClause : a.tryBlock),
            a.finallyBlock && r(a.finallyBlock)
        } else e.isFunctionLike(t) || e.forEachChild(t, r)
      }
      var n = []
      return r(t), n
    }
    function l(t) {
      for (var r = t; r.parent; ) {
        var n = r.parent
        if (e.isFunctionBlock(n) || 265 === n.kind) return n
        if (224 === n.kind) {
          var a = n
          if (a.tryBlock === r && a.catchClause) return r
        }
        r = n
      }
    }
    function d(t) {
      function r(t) {
        218 === t.kind || 217 === t.kind
          ? n.push(t)
          : e.isFunctionLike(t) || e.forEachChild(t, r)
      }
      var n = []
      return r(t), n
    }
    function p(e, t) {
      var r = f(t)
      return r && r === e
    }
    function f(t) {
      for (var r = t.parent; r; r = r.parent)
        switch (r.kind) {
          case 221:
            if (217 === t.kind) continue
          case 214:
          case 215:
          case 216:
          case 213:
          case 212:
            if (!t.label || T(r, t.label.text)) return r
            break
          default:
            if (e.isFunctionLike(r)) return
        }
    }
    function g(t, r) {
      function n(t) {
        switch (t) {
          case 114:
            return 4
          case 112:
            return 8
          case 113:
            return 16
          case 115:
            return 32
          case 84:
            return 1
          case 124:
            return 2
          case 117:
            return 128
          default:
            e.Debug.fail()
        }
      }
      var a = r.parent
      if (e.isAccessibilityModifier(t)) {
        if (
          !(229 === a.kind || 199 === a.kind || (146 === r.kind && s(a, 152)))
        )
          return
      } else if (115 === t) {
        if (229 !== a.kind && 199 !== a.kind) return
      } else if (84 === t || 124 === t) {
        if (234 !== a.kind && 265 !== a.kind) return
      } else {
        if (117 !== t) return
        if (229 !== a.kind && 229 !== r.kind) return
      }
      var i,
        o = [],
        c = n(t)
      switch (a.kind) {
        case 234:
        case 265:
          i = 128 & c ? r.members.concat(r) : a.statements
          break
        case 152:
          i = a.parameters.concat(a.parent.members)
          break
        case 229:
        case 199:
          if (((i = a.members), 28 & c)) {
            var u = e.forEach(a.members, function(e) {
              return 152 === e.kind && e
            })
            u && (i = i.concat(u.parameters))
          } else 128 & c && (i = i.concat(a))
          break
        default:
          e.Debug.fail('Invalid container kind.')
      }
      return (
        e.forEach(i, function(r) {
          e.getModifierFlags(r) & c &&
            e.forEach(r.modifiers, function(e) {
              return m(o, e, t)
            })
        }),
        o
      )
    }
    function m(t, r) {
      for (var n = [], a = 2; a < arguments.length; a++) n[a - 2] = arguments[a]
      return !(!r || !e.contains(n, r.kind)) && (t.push(r), !0)
    }
    function y(t) {
      function r(t, r) {
        var a = e.getDeclarationOfKind(t, r)
        a &&
          e.forEach(a.getChildren(), function(e) {
            return m(n, e, 125, 135)
          })
      }
      var n = []
      return r(t.symbol, 153), r(t.symbol, 154), n
    }
    function v(t) {
      var r = t.symbol.getDeclarations(),
        n = []
      return (
        e.forEach(r, function(t) {
          e.forEach(t.getChildren(), function(e) {
            return m(n, e, 123)
          })
        }),
        n
      )
    }
    function h(t) {
      var r = []
      if (m(r, t.getFirstToken(), 88, 106, 81) && 212 === t.kind)
        for (
          var n = t.getChildren(), a = n.length - 1;
          a >= 0 && !m(r, n[a], 106);
          a--
        );
      var i = d(t.statement)
      return (
        e.forEach(i, function(e) {
          p(t, e) && m(r, e.getFirstToken(), 72, 77)
        }),
        r
      )
    }
    function b(e) {
      var t = f(e)
      if (t)
        switch (t.kind) {
          case 214:
          case 215:
          case 216:
          case 212:
          case 213:
            return h(t)
          case 221:
            return k(t)
        }
    }
    function k(t) {
      var r = []
      return (
        m(r, t.getFirstToken(), 98),
        e.forEach(t.caseBlock.clauses, function(n) {
          m(r, n.getFirstToken(), 73, 79)
          var a = d(n)
          e.forEach(a, function(e) {
            p(t, e) && m(r, e.getFirstToken(), 72)
          })
        }),
        r
      )
    }
    function x(t, r) {
      var n = []
      if (
        (m(n, t.getFirstToken(), 102),
        t.catchClause && m(n, t.catchClause.getFirstToken(), 74),
        t.finallyBlock)
      ) {
        var a = e.findChildOfKind(t, 87, r)
        m(n, a, 87)
      }
      return n
    }
    function C(t) {
      var r = l(t)
      if (r) {
        var n = []
        return (
          e.forEach(_(r), function(e) {
            m(n, e.getFirstToken(), 100)
          }),
          e.isFunctionBlock(r) &&
            e.forEachReturnStatement(r, function(e) {
              m(n, e.getFirstToken(), 96)
            }),
          n
        )
      }
    }
    function S(t) {
      var r = e.getContainingFunction(t)
      if (r && s(r.body, 207)) {
        var n = []
        return (
          e.forEachReturnStatement(r.body, function(e) {
            m(n, e.getFirstToken(), 96)
          }),
          e.forEach(_(r.body), function(e) {
            m(n, e.getFirstToken(), 100)
          }),
          n
        )
      }
    }
    function D(t, r) {
      for (var a = []; s(t.parent, 211) && t.parent.elseStatement === t; )
        t = t.parent
      for (; t; ) {
        var i = t.getChildren()
        m(a, i[0], 90)
        for (var o = i.length - 1; o >= 0 && !m(a, i[o], 82); o--);
        if (!s(t.elseStatement, 211)) break
        t = t.elseStatement
      }
      for (var c = [], o = 0; o < a.length; o++) {
        if (82 === a[o].kind && o < a.length - 1) {
          for (
            var u = a[o], _ = a[o + 1], l = !0, d = _.getStart() - 1;
            d >= u.end;
            d--
          )
            if (!e.isWhiteSpaceSingleLine(r.text.charCodeAt(d))) {
              l = !1
              break
            }
          if (l) {
            c.push({
              fileName: r.fileName,
              textSpan: e.createTextSpanFromBounds(u.getStart(), _.end),
              kind: e.HighlightSpanKind.reference
            }),
              o++
            continue
          }
        }
        c.push(n(a[o], r))
      }
      return c
    }
    function T(e, t) {
      for (var r = e.parent; 222 === r.kind; r = r.parent)
        if (r.label.text === t) return !0
      return !1
    }
    t.getDocumentHighlights = r
  })((t = e.DocumentHighlights || (e.DocumentHighlights = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t, r) {
    function n(e) {
      return (
        '_' +
        e.target +
        '|' +
        e.module +
        '|' +
        e.noResolve +
        '|' +
        e.jsx +
        '|' +
        e.allowJs +
        '|' +
        e.baseUrl +
        '|' +
        JSON.stringify(e.typeRoots) +
        '|' +
        JSON.stringify(e.rootDirs) +
        '|' +
        JSON.stringify(e.paths)
      )
    }
    function a(t, r) {
      var n = p.get(t)
      return !n && r && p.set(t, (n = e.createFileMap())), n
    }
    function i() {
      var t = e
        .arrayFrom(p.keys())
        .filter(function(e) {
          return e && '_' === e.charAt(0)
        })
        .map(function(e) {
          var t = p.get(e),
            r = []
          return (
            t.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: e, sourceFiles: r }
          )
        })
      return JSON.stringify(t, void 0, 2)
    }
    function o(t, a, i, o, c) {
      var u = e.toPath(t, r, f),
        _ = n(a)
      return s(t, u, a, _, i, o, c)
    }
    function s(e, t, r, n, a, i, o) {
      return _(e, t, r, n, a, i, !0, o)
    }
    function c(t, a, i, o, s) {
      var c = e.toPath(t, r, f),
        _ = n(a)
      return u(t, c, a, _, i, o, s)
    }
    function u(e, t, r, n, a, i, o) {
      return _(e, t, r, n, a, i, !1, o)
    }
    function _(t, r, n, i, o, s, c, u) {
      var _ = a(i, !0),
        l = _.get(r)
      if (l)
        l.sourceFile.version !== s &&
          (l.sourceFile = e.updateLanguageServiceSourceFile(
            l.sourceFile,
            o,
            s,
            o.getChangeRange(l.sourceFile.scriptSnapshot)
          ))
      else {
        e.Debug.assert(
          c,
          "How could we be trying to update a document that the registry doesn't have?"
        )
        var d = e.createLanguageServiceSourceFile(t, o, n.target, s, !1, u)
        ;(l = { sourceFile: d, languageServiceRefCount: 0, owners: [] }),
          _.set(r, l)
      }
      return c && l.languageServiceRefCount++, l.sourceFile
    }
    function l(t, a) {
      var i = e.toPath(t, r, f),
        o = n(a)
      return d(i, o)
    }
    function d(t, r) {
      var n = a(r, !1)
      e.Debug.assert(void 0 !== n)
      var i = n.get(t)
      i.languageServiceRefCount--,
        e.Debug.assert(i.languageServiceRefCount >= 0),
        0 === i.languageServiceRefCount && n.remove(t)
    }
    void 0 === r && (r = '')
    var p = e.createMap(),
      f = e.createGetCanonicalFileName(!!t)
    return {
      acquireDocument: o,
      acquireDocumentWithKey: s,
      updateDocument: c,
      updateDocumentWithKey: u,
      releaseDocument: l,
      releaseDocumentWithKey: d,
      reportStats: i,
      getKeyForCompilationSettings: n
    }
  }
  e.createDocumentRegistry = t
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(e, t, r) {
      var i = o(e, t, r)
      return function(o, s, c) {
        var u = n(e, i, s, t, r),
          _ = u.directImports,
          l = u.indirectUsers
        return __assign({ indirectUsers: l }, a(_, o, s.exportKind, t, c))
      }
    }
    function n(t, r, n, a, o) {
      function s() {
        if (b) return t
        for (var r = 0, n = p.declarations; r < n.length; r++) {
          var a = n[r]
          e.isExternalModuleAugmentation(a) && _(a)
        }
        return k.map(e.getSourceFileOfNode)
      }
      function c(t) {
        var r = d(t)
        if (r)
          for (var n = 0, i = r; n < i.length; n++) {
            var s = i[n]
            if (g(s))
              switch ((o.throwIfCancellationRequested(), s.kind)) {
                case 181:
                  if (!b) {
                    var l = s.parent
                    if (2 === f && 226 === l.kind) {
                      var p = l.name
                      if (71 === p.kind) {
                        h.push(p)
                        break
                      }
                    }
                    _(s.getSourceFile())
                  }
                  break
                case 237:
                  u(s, s.name, e.hasModifier(s, 1))
                  break
                case 238:
                  var y = s.importClause && s.importClause.namedBindings
                  y && 240 === y.kind ? u(s, y.name) : h.push(s)
                  break
                case 244:
                  s.exportClause ? h.push(s) : c(m(s, a))
              }
          }
      }
      function u(t, r, n) {
        if (2 === f) h.push(t)
        else if (!b) {
          var o = y(t)
          e.Debug.assert(265 === o.kind || 233 === o.kind),
            n || i(o, r, a) ? l(o) : _(o)
        }
      }
      function _(t) {
        e.Debug.assert(!b)
        var r = v(t)
        return r && k.push(t), r
      }
      function l(t) {
        if (_(t)) {
          var r = a.getMergedSymbol(t.symbol)
          e.Debug.assert(!!(1536 & r.flags))
          var n = d(r)
          if (n)
            for (var i = 0, o = n; i < o.length; i++) {
              var s = o[i]
              l(y(s))
            }
        }
      }
      function d(t) {
        return r.get(e.getSymbolId(t).toString())
      }
      var p = n.exportingModuleSymbol,
        f = n.exportKind,
        g = e.nodeSeenTracker(),
        v = e.nodeSeenTracker(),
        h = [],
        b = !!p.globalExports,
        k = b ? void 0 : []
      return c(p), { directImports: h, indirectUsers: s() }
    }
    function a(t, r, n, a, i) {
      function o(e, t) {
        l.push([e, t])
      }
      function s(t) {
        if (237 === t.kind) return void (h(t) && c(t.name))
        if (71 === t.kind) return void c(t)
        if (9 === t.moduleSpecifier.kind) {
          if (244 === t.kind) return void u(t.exportClause)
          if (t.importClause) {
            var s = t.importClause,
              l = s.namedBindings
            if (l && 240 === l.kind) return void c(l.name)
            if (0 === n) u(l)
            else {
              var d = s.name
              if (d && (!i || d.text === f(r))) {
                var p = a.getSymbolAtLocation(d)
                o(d, p)
              }
              i || 1 !== n || (e.Debug.assert('default' === _), u(l))
            }
          }
        }
      }
      function c(e) {
        2 !== n || (i && e.text !== _) || o(e, a.getSymbolAtLocation(e))
      }
      function u(e) {
        if (e)
          for (var t = 0, r = e.elements; t < r.length; t++) {
            var n = r[t],
              s = n.name,
              c = n.propertyName
            if ((c || s).text === _)
              if (c) d.push(c), i || o(s, a.getSymbolAtLocation(s))
              else {
                var u =
                  246 === n.kind && n.propertyName
                    ? a.getExportSpecifierLocalTargetSymbol(n)
                    : a.getSymbolAtLocation(s)
                o(s, u)
              }
          }
      }
      var _ = r.name,
        l = [],
        d = []
      if (t)
        for (var p = 0, g = t; p < g.length; p++) {
          var m = g[p]
          s(m)
        }
      return { importSearches: l, singleReferences: d }
    }
    function i(e, t, r) {
      var n = r.getSymbolAtLocation(t)
      return s(e, function(e) {
        if (244 === e.kind) {
          var t = e,
            a = t.exportClause,
            i = t.moduleSpecifier
          if (!i && a)
            for (var o = 0, s = a.elements; o < s.length; o++) {
              var c = s[o]
              if (r.getExportSpecifierLocalTargetSymbol(c) === n) return !0
            }
        }
      })
    }
    function o(t, r, n) {
      for (var a = e.createMap(), i = 0, o = t; i < o.length; i++) {
        var s = o[i]
        n.throwIfCancellationRequested(),
          c(s, function(t, n) {
            var i = r.getSymbolAtLocation(n)
            if (i) {
              var o = e.getSymbolId(i).toString(),
                s = a.get(o)
              s || a.set(o, (s = [])), s.push(t)
            }
          })
      }
      return a
    }
    function s(t, r) {
      return e.forEach(
        265 === t.kind ? t.statements : t.body.statements,
        function(t) {
          return r(t) || (v(t) && e.forEach(t.body && t.body.statements, r))
        }
      )
    }
    function c(t, r) {
      if (t.externalModuleIndicator)
        for (var n = 0, a = t.imports; n < a.length; n++) {
          var i = a[n]
          r(u(i), i)
        }
      else
        s(t, function(e) {
          switch (e.kind) {
            case 244:
            case 238:
              var t = e
              t.moduleSpecifier &&
                9 === t.moduleSpecifier.kind &&
                r(t, t.moduleSpecifier)
              break
            case 237:
              var t = e,
                n = t.moduleReference
              248 === n.kind && 9 === n.expression.kind && r(t, n.expression)
          }
        }),
          65536 & t.flags &&
            t.forEachChild(function o(t) {
              e.isRequireCall(t, !0) ? r(t, t.arguments[0]) : t.forEachChild(o)
            })
    }
    function u(t) {
      var r = t.parent
      return 238 === r.kind || 244 === r.kind
        ? r
        : (e.Debug.assert(248 === r.kind), r.parent)
    }
    function _(t, r, n, a) {
      function i() {
        function i(t, a) {
          var i
          switch (e.getSpecialPropertyAssignmentKind(t)) {
            case 1:
              i = 0
              break
            case 2:
              i = 2
              break
            default:
              return
          }
          var o = a ? n.getSymbolAtLocation(t.left.name) : r
          return o && s(o, i)
        }
        var o = t.parent
        if (7340032 & r.flags) {
          if (179 === o.kind)
            return r.declarations.some(function(e) {
              return e === o
            }) && 194 === o.parent.kind
              ? i(o.parent, !1)
              : void 0
          var u = r.exportSymbol
          return e.Debug.assert(!!u), s(u, c(o))
        }
        var _ = l(o)
        if (_ && e.hasModifier(_, 1)) {
          if (237 === _.kind && _.moduleReference === t) {
            if (a) return
            var d = n.getSymbolAtLocation(_.name)
            return { kind: 0, symbol: d, isNamedImport: !1 }
          }
          return s(r, c(_))
        }
        if (243 === o.kind) {
          var p = o.symbol.parent
          return (
            e.Debug.assert(!!p),
            {
              kind: 1,
              symbol: r,
              exportInfo: { exportingModuleSymbol: p, exportKind: 2 }
            }
          )
        }
        return 194 === o.kind
          ? i(o, !0)
          : 194 === o.parent.kind
            ? i(o.parent, !0)
            : void 0
      }
      function o() {
        var e = d(t)
        if (e) {
          var a = n.getImmediateAliasedSymbol(r)
          return a &&
            ((a = g(a, n)),
            'export=' === a.name && (a = n.getImmediateAliasedSymbol(a)),
            f(a) === r.name)
            ? __assign({ kind: 0, symbol: a }, e)
            : void 0
        }
      }
      function s(e, t) {
        var r = p(e, t, n)
        return r && { kind: 1, symbol: e, exportInfo: r }
      }
      function c(t) {
        return e.hasModifier(t, 512) ? 1 : 0
      }
      return a ? i() : i() || o()
    }
    function l(e) {
      if (226 === e.kind) {
        var t = e
        return 260 === t.parent.kind
          ? void 0
          : 208 === t.parent.parent.kind
            ? t.parent.parent
            : void 0
      }
      return e
    }
    function d(t) {
      var r = t.parent
      switch (r.kind) {
        case 237:
          return r.name === t && h(r) ? { isNamedImport: !1 } : void 0
        case 242:
          return r.propertyName ? void 0 : { isNamedImport: !0 }
        case 239:
        case 240:
          return e.Debug.assert(r.name === t), { isNamedImport: !1 }
        default:
          return
      }
    }
    function p(t, r, n) {
      var a = n.getMergedSymbol(t.parent)
      return e.isExternalModuleSymbol(a)
        ? { exportingModuleSymbol: a, exportKind: r }
        : void 0
    }
    function f(t) {
      if ('default' !== t.name) return t.name
      var r = e.forEach(t.declarations, function(t) {
        var r = e.getNameOfDeclaration(t)
        return r && 71 === r.kind && r.text
      })
      return e.Debug.assert(!!r), r
    }
    function g(t, r) {
      if (t.declarations)
        for (var n = 0, a = t.declarations; n < a.length; n++) {
          var i = a[n]
          if (
            e.isExportSpecifier(i) &&
            !i.propertyName &&
            !i.parent.parent.moduleSpecifier
          )
            return r.getExportSpecifierLocalTargetSymbol(i)
        }
      return t
    }
    function m(e, t) {
      return t.getMergedSymbol(y(e).symbol)
    }
    function y(t) {
      if (181 === t.kind) return t.getSourceFile()
      var r = t.parent
      return 265 === r.kind
        ? r
        : (e.Debug.assert(234 === r.kind && v(r.parent)), r.parent)
    }
    function v(e) {
      return 233 === e.kind && 9 === e.name.kind
    }
    function h(e) {
      var t = e.moduleReference
      return 248 === t.kind && 9 === t.expression.kind
    }
    t.createImportTracker = r
    var b
    !(function(e) {
      ;(e[(e.Named = 0)] = 'Named'),
        (e[(e.Default = 1)] = 'Default'),
        (e[(e.ExportEquals = 2)] = 'ExportEquals')
    })((b = t.ExportKind || (t.ExportKind = {})))
    var k
    !(function(e) {
      ;(e[(e.Import = 0)] = 'Import'), (e[(e.Export = 1)] = 'Export')
    })((k = t.ImportExport || (t.ImportExport = {}))),
      (t.getImportOrExportSymbol = _),
      (t.getExportInfo = p)
  })((t = e.FindAllReferences || (e.FindAllReferences = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(e, t) {
      return { type: 'node', node: e, isInString: t }
    }
    function n(e, t, r, n, a) {
      var i = c(e, t, r, n, a)
      if (i && i.length) {
        for (var o = [], s = 0, u = i; s < u.length; s++) {
          var l = u[s],
            p = l.definition,
            f = l.references
          p && o.push({ definition: _(p, e), references: f.map(d) })
        }
        return o
      }
    }
    function a(t, r, n, a, o) {
      var s = e.getTouchingPropertyName(a, o),
        c = i(t, r, n, s)
      return e.map(c, function(e) {
        return p(e, t)
      })
    }
    function i(n, a, i, o) {
      if (262 === o.parent.kind) {
        var c = []
        return (
          t.Core.getReferenceEntriesForShorthandPropertyAssignment(
            o,
            n,
            function(e) {
              return c.push(r(e))
            }
          ),
          c
        )
      }
      if (97 === o.kind || e.isSuperProperty(o.parent)) {
        var u = n.getSymbolAtLocation(o)
        return u.valueDeclaration && [r(u.valueDeclaration)]
      }
      return s(o, i, n, a, { implementations: !0 })
    }
    function o(t, r, n, a, i, o) {
      var s = u(c(t, r, n, a, i, o))
      return e.map(s, d)
    }
    function s(e, r, n, a, i) {
      return (
        void 0 === i && (i = {}),
        u(t.Core.getReferencedSymbolsForNode(e, r, n, a, i))
      )
    }
    function c(r, n, a, i, o, s) {
      var c = e.getTouchingPropertyName(i, o, !0)
      return t.Core.getReferencedSymbolsForNode(c, a, r, n, s)
    }
    function u(t) {
      return (
        t &&
        e.flatMap(t, function(e) {
          return e.references
        })
      )
    }
    function _(t, r) {
      var n = (function() {
        switch (t.type) {
          case 'symbol':
            var n = t.symbol,
              a = t.node,
              i = n.declarations
            if (!i || 0 === i.length) return
            var o = l(n, a, r),
              s = o.displayParts,
              c = o.kind,
              u = s
                .map(function(e) {
                  return e.text
                })
                .join('')
            return { node: a, name: u, kind: c, displayParts: s }
          case 'label':
            var _ = t.node
            return {
              node: _,
              name: _.text,
              kind: e.ScriptElementKind.label,
              displayParts: [
                e.displayPart(_.text, e.SymbolDisplayPartKind.text)
              ]
            }
          case 'keyword':
            var d = t.node,
              p = e.tokenToString(d.kind)
            return {
              node: d,
              name: p,
              kind: e.ScriptElementKind.keyword,
              displayParts: [{ text: p, kind: e.ScriptElementKind.keyword }]
            }
          case 'this':
            var f = t.node,
              n = r.getSymbolAtLocation(f),
              g =
                n &&
                e.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(
                  r,
                  n,
                  f.getSourceFile(),
                  e.getContainerNode(f),
                  f
                ).displayParts
            return {
              node: f,
              name: 'this',
              kind: e.ScriptElementKind.variableElement,
              displayParts: g
            }
          case 'string':
            var m = t.node
            return {
              node: m,
              name: m.text,
              kind: e.ScriptElementKind.variableElement,
              displayParts: [
                e.displayPart(
                  e.getTextOfNode(m),
                  e.SymbolDisplayPartKind.stringLiteral
                )
              ]
            }
        }
      })()
      if (n) {
        var a = n.node,
          i = n.name,
          o = n.kind,
          s = n.displayParts,
          c = a.getSourceFile()
        return {
          containerKind: '',
          containerName: '',
          fileName: c.fileName,
          kind: o,
          name: i,
          textSpan: e.createTextSpanFromNode(a, c),
          displayParts: s
        }
      }
    }
    function l(t, r, n) {
      var a = e.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(
          n,
          t,
          r.getSourceFile(),
          e.getContainerNode(r),
          r
        ),
        i = a.displayParts,
        o = a.symbolKind
      return { displayParts: i, kind: o }
    }
    function d(t) {
      if ('span' === t.type)
        return {
          textSpan: t.textSpan,
          fileName: t.fileName,
          isWriteAccess: !1,
          isDefinition: !1
        }
      var r = t.node,
        n = t.isInString
      return {
        fileName: r.getSourceFile().fileName,
        textSpan: m(r),
        isWriteAccess: y(r),
        isDefinition:
          e.isDeclarationName(r) ||
          e.isLiteralComputedPropertyDeclarationName(r),
        isInString: n
      }
    }
    function p(t, r) {
      if ('node' === t.type) {
        var n = t.node
        return __assign(
          { textSpan: m(n), fileName: n.getSourceFile().fileName },
          f(n, r)
        )
      }
      var a = t.textSpan,
        i = t.fileName
      return {
        textSpan: a,
        fileName: i,
        kind: e.ScriptElementKind.unknown,
        displayParts: []
      }
    }
    function f(t, r) {
      var n = r.getSymbolAtLocation(e.isDeclaration(t) && t.name ? t.name : t)
      return n
        ? l(n, t, r)
        : 178 === t.kind
          ? {
              kind: e.ScriptElementKind.interfaceElement,
              displayParts: [
                e.punctuationPart(19),
                e.textPart('object literal'),
                e.punctuationPart(20)
              ]
            }
          : 199 === t.kind
            ? {
                kind: e.ScriptElementKind.localClassElement,
                displayParts: [
                  e.punctuationPart(19),
                  e.textPart('anonymous local class'),
                  e.punctuationPart(20)
                ]
              }
            : { kind: e.getNodeKind(t), displayParts: [] }
    }
    function g(t) {
      if ('span' === t.type) {
        var r = t.fileName,
          n = t.textSpan
        return {
          fileName: r,
          span: { textSpan: n, kind: e.HighlightSpanKind.reference }
        }
      }
      var a = t.node,
        i = t.isInString,
        o = t.node.getSourceFile().fileName,
        s = y(a),
        c = {
          textSpan: m(a),
          kind: s
            ? e.HighlightSpanKind.writtenReference
            : e.HighlightSpanKind.reference,
          isInString: i
        }
      return { fileName: o, span: c }
    }
    function m(t) {
      var r = t.getStart(),
        n = t.getEnd()
      return (
        9 === t.kind && ((r += 1), (n -= 1)), e.createTextSpanFromBounds(r, n)
      )
    }
    function y(t) {
      if (71 === t.kind && e.isDeclarationName(t)) return !0
      var r = t.parent
      if (r) {
        if (193 === r.kind || 192 === r.kind) return !0
        if (194 === r.kind && r.left === t) {
          var n = r.operatorToken.kind
          return 58 <= n && n <= 70
        }
      }
      return !1
    }
    ;(t.nodeEntry = r),
      (t.findReferencedSymbols = n),
      (t.getImplementationsAtPosition = a),
      (t.findReferencedEntries = o),
      (t.getReferenceEntriesForNode = s),
      (t.toHighlightSpan = g)
  })((t = e.FindAllReferences || (e.FindAllReferences = {})))
})(ts || (ts = {})),
  (function(e) {
    var t
    !(function(t) {
      var r
      !(function(r) {
        function n(e, t, r, n, o) {
          if ((void 0 === o && (o = {}), 265 !== e.kind)) {
            if (!o.implementations) {
              var s = a(e, t, n)
              if (s) return s
            }
            var c = r.getSymbolAtLocation(e)
            if (c) {
              if (c.declarations && c.declarations.length)
                return i(c, e, t, r, n, o)
            } else if (!o.implementations && 9 === e.kind) return K(e, t, n)
          }
        }
        function a(t, r, n) {
          if (e.isTypeKeyword(t.kind)) return v(r, t.kind, n)
          if (e.isLabelName(t)) {
            if (e.isJumpStatementTarget(t)) {
              var a = e.getTargetLabel(t.parent, t.text)
              return a && m(a.parent, a)
            }
            return m(t.parent, t)
          }
          return e.isThis(t) ? z(t, r, n) : 97 === t.kind ? J(t) : void 0
        }
        function i(t, r, n, a, i, c) {
          t = o(t, r, a)
          var u = H(e.getMeaningFromLocation(r), t.declarations),
            l = [],
            d = s(n, r, a, i, u, c, l),
            p = d.createSearch(r, t, void 0, {
              allSearchSymbols: j(t, r, a, c.implementations)
            }),
            g = f(t)
          if (g) k(g, g.getSourceFile(), p, d)
          else
            for (var m = 0, y = d.sourceFiles; m < y.length; m++) {
              var v = y[m]
              d.cancellationToken.throwIfCancellationRequested(), _(v, p, d)
            }
          return l
        }
        function o(t, r, n) {
          var a = r.parent
          return e.isExportSpecifier(a)
            ? S(r, t, a, n)
            : e.isImportSpecifier(a) && a.propertyName === r
              ? n.getImmediateAliasedSymbol(t)
              : t
        }
        function s(r, n, a, i, o, s, c) {
          function u(e, n) {
            return (
              f || (f = t.createImportTracker(r, a, i)), f(e, n, s.isForRename)
            )
          }
          function _(t, r, n, i) {
            function o(t) {
              return l ? e.contains(l, t) : t === r
            }
            void 0 === i && (i = {})
            var c = i.text,
              u = void 0 === c ? e.stripQuotes(e.getDeclaredName(a, r, t)) : c,
              _ = i.allSearchSymbols,
              l = void 0 === _ ? void 0 : _,
              d = e.escapeIdentifier(u),
              p = s.implementations && ee(t, r, a)
            return {
              location: t,
              symbol: r,
              comingFrom: n,
              text: u,
              escapedText: d,
              parents: p,
              includes: o
            }
          }
          function l(r, n) {
            var a = e.getSymbolId(r),
              i = g[a]
            return (
              i ||
                ((i = g[a] = []),
                c.push({
                  definition: { type: 'symbol', symbol: r, node: n },
                  references: i
                })),
              function(e) {
                return i.push(t.nodeEntry(e))
              }
            )
          }
          function d(e, t) {
            c.push({
              definition: void 0,
              references: [{ type: 'span', fileName: e, textSpan: t }]
            })
          }
          function p(t, r) {
            var n = e.getNodeId(t),
              a = e.getSymbolId(r),
              i = y[n] || (y[n] = [])
            return !i[a] && (i[a] = !0)
          }
          var f,
            g = [],
            m = e.createMap(),
            y = [],
            v = 123 === n.kind
          return __assign({}, s, {
            sourceFiles: r,
            isForConstructor: v,
            checker: a,
            cancellationToken: i,
            searchMeaning: o,
            inheritsFromCache: m,
            getImportSearches: u,
            createSearch: _,
            referenceAdder: l,
            addStringOrCommentReference: d,
            markSearchedSymbol: p,
            markSeenContainingTypeReference: e.nodeSeenTracker(),
            markSeenReExportRHS: e.nodeSeenTracker()
          })
        }
        function c(e, t, r, n) {
          var a = n.getImportSearches(t, r),
            i = a.importSearches,
            o = a.singleReferences,
            s = a.indirectUsers
          if (o.length)
            for (
              var c = n.referenceAdder(t, e), u = 0, l = o;
              u < l.length;
              u++
            ) {
              var d = l[u]
              c(d)
            }
          for (var p = 0, f = i; p < f.length; p++) {
            var g = f[p],
              m = g[0],
              y = g[1]
            b(m.getSourceFile(), n.createSearch(m, y, 1), n)
          }
          if (s.length) {
            var v = void 0
            switch (r.exportKind) {
              case 0:
                v = n.createSearch(e, t, 1)
                break
              case 1:
                v = n.isForRename
                  ? void 0
                  : n.createSearch(e, t, 1, { text: 'default' })
                break
              case 2:
            }
            if (v)
              for (var h = 0, k = s; h < k.length; h++) {
                var x = k[h]
                _(x, v, n)
              }
          }
        }
        function u(e, t) {
          for (var r = 0, n = e.declarations; r < n.length; r++) {
            var a = n[r]
            b(a.getSourceFile(), t.createSearch(a, e, 0), t)
          }
        }
        function _(t, r, n) {
          void 0 !== e.getNameTable(t).get(r.escapedText) && b(t, r, n)
        }
        function l(t, r) {
          return (
            e.isArrayLiteralOrObjectLiteralDestructuringPattern(
              t.parent.parent
            ) && r.getPropertySymbolOfDestructuringAssignment(t)
          )
        }
        function d(t) {
          var r = e.getDeclarationOfKind(t, 176)
          return r && 174 === r.parent.kind && !r.propertyName
        }
        function p(t, r) {
          if (d(t)) {
            var n = e.getDeclarationOfKind(t, 176),
              a = r.getTypeAtLocation(n.parent)
            return a && r.getPropertyOfType(a, n.name.text)
          }
        }
        function f(t) {
          var r = t.declarations,
            n = t.flags,
            a = t.parent,
            i = t.valueDeclaration
          if (i && (186 === i.kind || 199 === i.kind)) return i
          if (r) {
            if (8196 & n) {
              var o = e.find(r, function(t) {
                return !!(8 & e.getModifierFlags(t))
              })
              if (o) return e.getAncestor(o, 229)
            }
            if (
              !d(t) &&
              (!a ||
                (1536 & a.flags &&
                  e.isExternalModuleSymbol(a) &&
                  !a.globalExports)) &&
              !(134217728 & n && 6 & t.checkFlags)
            ) {
              for (var s, c = 0, u = r; c < u.length; c++) {
                var _ = u[c],
                  l = e.getContainerNode(_)
                if (s && s !== l) return
                if (!l || (265 === l.kind && !e.isExternalOrCommonJsModule(l)))
                  return
                s = l
              }
              return a ? s.getSourceFile() : s
            }
          }
        }
        function g(t, r, n, a) {
          var i = []
          if (!r || !r.length) return i
          for (
            var o = t.text, s = o.length, c = r.length, u = o.indexOf(r, n);
            u >= 0 && !(u > a);

          ) {
            var _ = u + c
            ;(0 !== u && e.isIdentifierPart(o.charCodeAt(u - 1), 5)) ||
              (_ !== s && e.isIdentifierPart(o.charCodeAt(_), 5)) ||
              i.push(u),
              (u = o.indexOf(r, u + c + 1))
          }
          return i
        }
        function m(r, n) {
          for (
            var a = [],
              i = r.getSourceFile(),
              o = n.text,
              s = g(i, o, r.getStart(), r.getEnd()),
              c = 0,
              u = s;
            c < u.length;
            c++
          ) {
            var _ = u[c],
              l = e.getTouchingWord(i, _)
            l &&
              l.getWidth() === o.length &&
              (l === n ||
                (e.isJumpStatementTarget(l) && e.getTargetLabel(l, o) === n)) &&
              a.push(t.nodeEntry(l))
          }
          return [{ definition: { type: 'label', node: n }, references: a }]
        }
        function y(t, r) {
          switch (t && t.kind) {
            case 71:
              return t.getWidth() === r.length
            case 9:
              return (
                (e.isLiteralNameOfPropertyDeclarationOrIndexAccess(t) ||
                  $(t)) &&
                t.getWidth() === r.length + 2
              )
            case 8:
              return (
                e.isLiteralNameOfPropertyDeclarationOrIndexAccess(t) &&
                t.getWidth() === r.length
              )
            default:
              return !1
          }
        }
        function v(t, r, n) {
          for (var a = [], i = 0, o = t; i < o.length; i++) {
            var s = o[i]
            n.throwIfCancellationRequested(), h(s, r, e.tokenToString(r), a)
          }
          return a.length
            ? [
                {
                  definition: { type: 'keyword', node: a[0].node },
                  references: a
                }
              ]
            : void 0
        }
        function h(r, n, a, i) {
          for (
            var o = g(r, a, r.getStart(), r.getEnd()), s = 0, c = o;
            s < c.length;
            s++
          ) {
            var u = c[s],
              _ = e.getTouchingPropertyName(r, u)
            _.kind === n && i.push(t.nodeEntry(_))
          }
        }
        function b(e, t, r) {
          return (
            r.cancellationToken.throwIfCancellationRequested(), k(e, e, t, r)
          )
        }
        function k(e, t, r, n) {
          if (n.markSearchedSymbol(t, r.symbol))
            for (
              var a = n.findInComments ? e.getFullStart() : e.getStart(),
                i = g(t, r.text, a, e.getEnd()),
                o = 0,
                s = i;
              o < s.length;
              o++
            ) {
              var c = s[o]
              x(t, c, r, n)
            }
        }
        function x(t, r, n, a) {
          var i = e.getTouchingPropertyName(t, r)
          if (!y(i, n.text))
            return void (
              !a.implementations &&
              ((a.findInStrings && e.isInString(t, r)) ||
                (a.findInComments && e.isInNonReferenceComment(t, r))) &&
              a.addStringOrCommentReference(
                t.fileName,
                e.createTextSpan(r, n.text.length)
              )
            )
          if (e.getMeaningFromLocation(i) & a.searchMeaning) {
            var o = a.checker.getSymbolAtLocation(i)
            if (o) {
              var s = i.parent
              if (!e.isImportSpecifier(s) || s.propertyName !== i) {
                if (e.isExportSpecifier(s))
                  return e.Debug.assert(71 === i.kind), void C(i, o, s, n, a)
                var c = q(n, o, i, a)
                if (!c) return void E(o, n, a)
                a.isForConstructor ? A(i, t, n, a) : N(i, c, n.location, a),
                  T(i, o, n, a)
              }
            }
          }
        }
        function C(r, n, a, i, o) {
          function s() {
            N(r, f, i.location, o)
          }
          var _ = a.parent,
            l = a.propertyName,
            d = a.name,
            p = _.parent,
            f = S(r, n, a, o.checker)
          if (i.includes(f)) {
            if (
              (l
                ? r === l
                  ? (p.moduleSpecifier || s(),
                    !o.isForRename && o.markSeenReExportRHS(d) && N(d, n, d, o))
                  : o.markSeenReExportRHS(r) && s()
                : s(),
              r !== l || !o.isForRename)
            ) {
              var g = 79 === r.originalKeywordKind ? 1 : 0,
                m = t.getExportInfo(n, g, o.checker)
              e.Debug.assert(!!m), c(r, n, m, o)
            }
            1 !== i.comingFrom &&
              p.moduleSpecifier &&
              !l &&
              u(o.checker.getExportSpecifierLocalTargetSymbol(a), o)
          }
        }
        function S(e, t, r, n) {
          return D(e, r) ? n.getExportSpecifierLocalTargetSymbol(r) : t
        }
        function D(t, r) {
          var n = r.parent,
            a = r.propertyName,
            i = r.name
          return (
            e.Debug.assert(a === t || i === t),
            a ? a === t : !n.parent.moduleSpecifier
          )
        }
        function T(e, r, n, a) {
          var i = t.getImportOrExportSymbol(e, r, a.checker, 1 === n.comingFrom)
          if (i) {
            var o = i.symbol
            0 === i.kind
              ? (a.isForRename && !i.isNamedImport) || u(o, a)
              : c(e, o, i.exportInfo, a)
          }
        }
        function E(t, r, n) {
          var a = t.flags,
            i = t.valueDeclaration,
            o = n.checker.getShorthandAssignmentValueSymbol(i)
          134217728 & a ||
            !r.includes(o) ||
            N(e.getNameOfDeclaration(i), o, r.location, n)
        }
        function N(e, t, r, n) {
          var a = n.referenceAdder(t, r)
          n.implementations ? F(e, a, n) : a(e)
        }
        function A(t, r, n, a) {
          e.isNewExpressionTarget(t) && N(t, n.symbol, n.location, a)
          var i = a.referenceAdder(n.symbol, n.location)
          if (e.isClassLike(t.parent))
            e.Debug.assert(t.parent.name === t), P(n.symbol, r, i)
          else {
            var o = Z(t)
            o && e.isClassLike(o) && O(o, i)
          }
        }
        function w(t) {
          return e.isRightSideOfPropertyAccess(t) && t.parent
        }
        function P(t, r, n) {
          for (
            var a = 0, i = t.members.get('__constructor').declarations;
            a < i.length;
            a++
          ) {
            var o = i[a],
              s = e.findChildOfKind(o, 123, r)
            e.Debug.assert(152 === o.kind && !!s), n(s)
          }
          t.exports.forEach(function(t) {
            var r = t.valueDeclaration
            if (r && 151 === r.kind) {
              var a = r.body
              a &&
                Y(a, 99, function(t) {
                  e.isNewExpressionTarget(t) && n(t)
                })
            }
          })
        }
        function O(t, r) {
          var n = t.symbol,
            a = n.members.get('__constructor')
          if (a)
            for (var i = 0, o = a.declarations; i < o.length; i++) {
              var s = o[i]
              e.Debug.assert(152 === s.kind)
              var c = s.body
              c &&
                Y(c, 97, function(t) {
                  e.isCallExpressionTarget(t) && r(t)
                })
            }
        }
        function F(t, r, n) {
          if (e.isDeclarationName(t) && G(t.parent)) return void r(t.parent)
          if (71 === t.kind) {
            262 === t.parent.kind && Q(t, n.checker, r)
            var a = M(t)
            if (a) return void r(a)
            var i = R(t)
            if (i && n.markSeenContainingTypeReference(i)) {
              var o = i.parent
              e.isVariableLike(o) &&
              o.type === i &&
              o.initializer &&
              L(o.initializer)
                ? r(o.initializer)
                : e.isFunctionLike(o) && o.type === i && o.body
                  ? 207 === o.body.kind
                    ? e.forEachReturnStatement(o.body, function(e) {
                        e.expression && L(e.expression) && r(e.expression)
                      })
                    : L(o.body) && r(o.body)
                  : e.isAssertionExpression(o) &&
                    L(o.expression) &&
                    r(o.expression)
            }
          }
        }
        function I(e, t) {
          void 0 === t && (t = [])
          for (var r = 0, n = e.types; r < n.length; r++) {
            var a = n[r]
            a.symbol && 96 & a.symbol.getFlags() && t.push(a.symbol),
              196608 & a.getFlags() && I(a, t)
          }
          return t
        }
        function R(t) {
          for (var r = void 0; t; ) e.isTypeNode(t) && (r = t), (t = t.parent)
          return r
        }
        function M(t) {
          if (t && t.parent) {
            if (
              201 === t.kind &&
              259 === t.parent.kind &&
              e.isClassLike(t.parent.parent)
            )
              return t.parent.parent
            if (71 === t.kind || 179 === t.kind) return M(t.parent)
          }
        }
        function L(e) {
          switch (e.kind) {
            case 185:
              return L(e.expression)
            case 187:
            case 186:
            case 178:
            case 199:
            case 177:
              return !0
            default:
              return !1
          }
        }
        function B(t, r, n, a) {
          function i(t) {
            if (t === r) return !0
            var a = e.getSymbolId(t) + ',' + e.getSymbolId(r),
              i = n.get(a)
            if (void 0 !== i) return i
            n.set(a, !1)
            var c = e.forEach(t.getDeclarations(), function(t) {
              if (e.isClassLike(t)) {
                if (s) {
                  var r = e.getClassImplementsHeritageClauseElements(t)
                  if (r)
                    for (var n = 0, a = r; n < a.length; n++) {
                      var i = a[n]
                      if (o(i)) return !0
                    }
                }
                return o(e.getClassExtendsHeritageClauseElement(t))
              }
              return (
                !(230 !== t.kind || !s) &&
                e.forEach(e.getInterfaceBaseTypeNodes(t), o)
              )
            })
            return n.set(a, c), c
          }
          function o(e) {
            if (e) {
              var t = a.getTypeAtLocation(e)
              if (t && t.symbol) return i(t.symbol)
            }
            return !1
          }
          var s = 64 & r.getFlags()
          return i(t)
        }
        function J(r) {
          var n = e.getSuperContainer(r, !1)
          if (n) {
            var a = 32
            switch (n.kind) {
              case 149:
              case 148:
              case 151:
              case 150:
              case 152:
              case 153:
              case 154:
                ;(a &= e.getModifierFlags(n)), (n = n.parent)
                break
              default:
                return
            }
            for (
              var i = [],
                o = n.getSourceFile(),
                s = g(o, 'super', n.getStart(), n.getEnd()),
                c = 0,
                u = s;
              c < u.length;
              c++
            ) {
              var _ = u[c],
                l = e.getTouchingWord(o, _)
              if (l && 97 === l.kind) {
                var d = e.getSuperContainer(l, !1)
                d &&
                  (32 & e.getModifierFlags(d)) === a &&
                  d.parent.symbol === n.symbol &&
                  i.push(t.nodeEntry(l))
              }
            }
            return [
              {
                definition: { type: 'symbol', symbol: n.symbol, node: r },
                references: i
              }
            ]
          }
        }
        function z(r, n, a) {
          function i(r, n, a, i) {
            e.forEach(a, function(a) {
              var o = e.getTouchingWord(r, a)
              if (o && e.isThis(o)) {
                var c = e.getThisContainer(o, !1)
                switch (n.kind) {
                  case 186:
                  case 228:
                    n.symbol === c.symbol && i.push(t.nodeEntry(o))
                    break
                  case 151:
                  case 150:
                    e.isObjectLiteralMethod(n) &&
                      n.symbol === c.symbol &&
                      i.push(t.nodeEntry(o))
                    break
                  case 199:
                  case 229:
                    c.parent &&
                      n.symbol === c.parent.symbol &&
                      (32 & e.getModifierFlags(c)) === s &&
                      i.push(t.nodeEntry(o))
                    break
                  case 265:
                    265 !== c.kind ||
                      e.isExternalModule(c) ||
                      i.push(t.nodeEntry(o))
                }
              }
            })
          }
          var o = e.getThisContainer(r, !1),
            s = 32
          switch (o.kind) {
            case 151:
            case 150:
              if (e.isObjectLiteralMethod(o)) break
            case 149:
            case 148:
            case 152:
            case 153:
            case 154:
              ;(s &= e.getModifierFlags(o)), (o = o.parent)
              break
            case 265:
              if (e.isExternalModule(o)) return
            case 228:
            case 186:
              break
            default:
              return
          }
          var c,
            u = []
          if (265 === o.kind)
            e.forEach(n, function(e) {
              a.throwIfCancellationRequested(),
                (c = g(e, 'this', e.getStart(), e.getEnd())),
                i(e, e, c, u)
            })
          else {
            var _ = o.getSourceFile()
            ;(c = g(_, 'this', o.getStart(), o.getEnd())), i(_, o, c, u)
          }
          return [{ definition: { type: 'this', node: r }, references: u }]
        }
        function K(r, n, a) {
          function i(r, n, a, i) {
            for (var o = 0, s = a; o < s.length; o++) {
              var c = s[o],
                u = e.getTouchingWord(r, c)
              u && 9 === u.kind && u.text === n && i.push(t.nodeEntry(u, !0))
            }
          }
          for (var o = [], s = 0, c = n; s < c.length; s++) {
            var u = c[s]
            a.throwIfCancellationRequested()
            var _ = g(u, r.text, u.getStart(), u.getEnd())
            i(u, r.text, _, o)
          }
          return [{ definition: { type: 'string', node: r }, references: o }]
        }
        function j(t, r, n, a) {
          var i = [t],
            o = e.getContainingObjectLiteralElement(r)
          if (o) {
            if (262 !== o.kind) {
              var s = l(r, n)
              s && i.push(s)
            }
            e.forEach(W(o, n), function(t) {
              e.addRange(i, n.getRootSymbols(t))
            })
            var c = n.getShorthandAssignmentValueSymbol(r.parent)
            c && i.push(c)
          }
          t.valueDeclaration &&
            146 === t.valueDeclaration.kind &&
            e.isParameterPropertyDeclaration(t.valueDeclaration) &&
            e.addRange(
              i,
              n.getSymbolsOfParameterPropertyDeclaration(
                t.valueDeclaration,
                t.name
              )
            )
          var u = p(t, n)
          u && i.push(u)
          for (var _ = 0, d = n.getRootSymbols(t); _ < d.length; _++) {
            var f = d[_]
            f !== t && i.push(f),
              !a &&
                f.parent &&
                96 & f.parent.flags &&
                V(f.parent, f.getName(), i, e.createMap(), n)
          }
          return i
        }
        function V(t, r, n, a, i) {
          function o(e) {
            if (e) {
              var o = i.getTypeAtLocation(e)
              if (o) {
                var s = i.getPropertyOfType(o, r)
                s && n.push.apply(n, i.getRootSymbols(s)),
                  a.set(t.name, t),
                  V(o.symbol, r, n, a, i)
              }
            }
          }
          t &&
            (a.has(t.name) ||
              (96 & t.flags &&
                e.forEach(t.getDeclarations(), function(t) {
                  e.isClassLike(t)
                    ? (o(e.getClassExtendsHeritageClauseElement(t)),
                      e.forEach(
                        e.getClassImplementsHeritageClauseElements(t),
                        o
                      ))
                    : 230 === t.kind &&
                      e.forEach(e.getInterfaceBaseTypeNodes(t), o)
                })))
        }
        function q(t, r, n, a) {
          if (t.includes(r)) return r
          var i = e.getContainingObjectLiteralElement(n)
          if (i) {
            var o = e.forEach(W(i, a.checker), function(r) {
              return e.find(a.checker.getRootSymbols(r), t.includes)
            })
            if (o) return o
            var s = l(n, a.checker)
            if (s && t.includes(s)) return s
          }
          var c = p(r, a.checker)
          return c && t.includes(c)
            ? c
            : e.forEach(a.checker.getRootSymbols(r), function(r) {
                if (t.includes(r)) return r
                if (r.parent && 96 & r.parent.flags) {
                  if (
                    t.parents &&
                    !e.some(t.parents, function(e) {
                      return B(r.parent, e, a.inheritsFromCache, a.checker)
                    })
                  )
                    return
                  var n = []
                  return (
                    V(r.parent, r.getName(), n, e.createMap(), a.checker),
                    e.find(n, t.includes)
                  )
                }
              })
        }
        function U(t) {
          if (144 !== t.name.kind) return t.name.text
          var r = t.name.expression
          return e.isStringOrNumericLiteral(r) ? r.text : void 0
        }
        function W(t, r) {
          var n = t.parent,
            a = r.getContextualType(n),
            i = U(t)
          if (i && a) {
            var o = [],
              s = a.getProperty(i)
            return (
              s && o.push(s),
              65536 & a.flags &&
                e.forEach(a.types, function(e) {
                  var t = e.getProperty(i)
                  t && o.push(t)
                }),
              o
            )
          }
        }
        function H(t, r) {
          if (r) {
            var n = void 0
            do {
              n = t
              for (var a = 0, i = r; a < i.length; a++) {
                var o = i[a],
                  s = e.getMeaningFromDeclaration(o)
                s & t && (t |= s)
              }
            } while (t !== n)
          }
          return t
        }
        function G(t) {
          if (!t) return !1
          if (e.isVariableLike(t)) {
            if (t.initializer) return !0
            if (226 === t.kind) {
              var r = X(t)
              return r && e.hasModifier(r, 2)
            }
          } else {
            if (e.isFunctionLike(t)) return !!t.body || e.hasModifier(t, 2)
            switch (t.kind) {
              case 229:
              case 199:
              case 232:
              case 233:
                return !0
            }
          }
          return !1
        }
        function X(t) {
          if (t.parent && t.parent.parent && 208 === t.parent.parent.kind)
            return e.Debug.assert(227 === t.parent.kind), t.parent.parent
        }
        function Q(t, r, n) {
          var a = r.getSymbolAtLocation(t),
            i = r.getShorthandAssignmentValueSymbol(a.valueDeclaration)
          if (i)
            for (var o = 0, s = i.getDeclarations(); o < s.length; o++) {
              var c = s[o]
              1 & e.getMeaningFromDeclaration(c) && n(c)
            }
        }
        function Y(t, r, n) {
          e.forEachChild(t, function(e) {
            e.kind === r && n(e), Y(e, r, n)
          })
        }
        function Z(t) {
          return e.tryGetClassExtendingExpressionWithTypeArguments(
            e.climbPastPropertyAccess(t).parent
          )
        }
        function $(t) {
          return (
            9 === t.kind &&
            (e.isNameOfModuleDeclaration(t) ||
              e.isExpressionOfExternalModuleImportEqualsDeclaration(t))
          )
        }
        function ee(e, t, r) {
          var n = w(e)
          if (n) {
            var a = r.getTypeAtLocation(n.expression)
            if (a)
              return a.symbol && 96 & a.symbol.flags && a.symbol !== t.parent
                ? [a.symbol]
                : 196608 & a.flags
                  ? I(a)
                  : void 0
          }
        }
        ;(r.getReferencedSymbolsForNode = n),
          (r.getReferenceEntriesForShorthandPropertyAssignment = Q)
      })((r = t.Core || (t.Core = {})))
    })((t = e.FindAllReferences || (e.FindAllReferences = {})))
  })(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(t, r, n) {
      var i = _(r.referencedFiles, n)
      if (i) {
        var d = e.tryResolveScriptReference(t, r, i)
        if (d) return [l(i.fileName, d.fileName)]
      } else {
        var p = _(r.typeReferenceDirectives, n)
        if (p) {
          var d = t.getResolvedTypeReferenceDirectives().get(p.fileName)
          return d && d.resolvedFileName && [l(p.fileName, d.resolvedFileName)]
        }
        var g = e.getTouchingPropertyName(r, n)
        if (g !== r) {
          if (e.isJumpStatementTarget(g)) {
            var m = g.text,
              y = e.getTargetLabel(g.parent, g.text)
            return y ? [s(y, e.ScriptElementKind.label, m, void 0)] : void 0
          }
          var v = t.getTypeChecker(),
            h = f(v, g)
          if (h) return [u(v, h)]
          var b = v.getSymbolAtLocation(g)
          if (b) {
            if (8388608 & b.flags) {
              var k = b.declarations[0]
              71 === g.kind &&
                (g.parent === k ||
                  (242 === k.kind && k.parent && 241 === k.parent.kind)) &&
                (b = v.getAliasedSymbol(b))
            }
            if (262 === g.parent.kind) {
              var x = v.getShorthandAssignmentValueSymbol(b.valueDeclaration)
              if (!x) return []
              var C = x.getDeclarations(),
                S = e.SymbolDisplay.getSymbolKind(v, x, g),
                D = v.symbolToString(x),
                T = v.symbolToString(b.parent, g)
              return e.map(C, function(e) {
                return o(e, S, D, T)
              })
            }
            if (e.isJsxOpeningLikeElement(g.parent)) {
              var E = c(v, b, g),
                N = E.symbolName,
                A = E.symbolKind,
                w = E.containerName
              return [o(b.valueDeclaration, A, N, w)]
            }
            var P = e.getContainingObjectLiteralElement(g)
            if (P && v.getContextualType(P.parent)) {
              for (
                var O = [],
                  F = e.getPropertySymbolsFromContextualType(v, P),
                  I = 0,
                  R = F;
                I < R.length;
                I++
              ) {
                var M = R[I]
                O.push.apply(O, a(v, M, g))
              }
              return O
            }
            return a(v, b, g)
          }
        }
      }
    }
    function n(t, r, n) {
      var i = e.getTouchingPropertyName(r, n)
      if (i !== r) {
        var o = t.getSymbolAtLocation(i)
        if (o) {
          var s = t.getTypeOfSymbolAtLocation(o, i)
          if (s) {
            if (65536 & s.flags && !(16 & s.flags)) {
              var c = []
              return (
                e.forEach(s.types, function(r) {
                  r.symbol && e.addRange(c, a(t, r.symbol, i))
                }),
                c
              )
            }
            if (s.symbol) return a(t, s.symbol, i)
          }
        }
      }
    }
    function a(t, r, n) {
      function a(t, r, n, a, i, o) {
        if ((e.isNewExpressionTarget(r) || 123 === r.kind) && 32 & t.flags) {
          for (var s = 0, c = t.getDeclarations(); s < c.length; s++) {
            var _ = c[s]
            if (e.isClassLike(_)) return u(_.members, !0, n, a, i, o)
          }
          e.Debug.fail(
            'Expected declaration to have at least one class-like declaration'
          )
        }
        return !1
      }
      function s(t, r, n, a, i, o) {
        return (
          !!(
            e.isCallExpressionTarget(r) ||
            e.isNewExpressionTarget(r) ||
            e.isNameOfFunctionDeclaration(r)
          ) && u(t.declarations, !1, n, a, i, o)
        )
      }
      function u(t, r, n, a, s, c) {
        if (!t) return !1
        for (var u, _ = [], l = 0, d = t; l < d.length; l++) {
          var p = d[l]
          ;(r ? 152 === p.kind : i(p)) && (_.push(p), p.body && (u = p))
        }
        return !!_.length && (c.push(o(u || e.lastOrUndefined(_), n, a, s)), !0)
      }
      var _ = [],
        l = r.getDeclarations(),
        d = c(t, r, n),
        p = d.symbolName,
        f = d.symbolKind,
        g = d.containerName
      return (
        a(r, n, f, p, g, _) ||
          s(r, n, f, p, g, _) ||
          e.forEach(l, function(e) {
            _.push(o(e, f, p, g))
          }),
        _
      )
    }
    function i(e) {
      switch (e.kind) {
        case 152:
        case 228:
        case 151:
        case 150:
          return !0
        default:
          return !1
      }
    }
    function o(t, r, n, a) {
      return s(e.getNameOfDeclaration(t) || t, r, n, a)
    }
    function s(t, r, n, a) {
      var i = t.getSourceFile()
      return {
        fileName: i.fileName,
        textSpan: e.createTextSpanFromNode(t, i),
        kind: r,
        name: n,
        containerKind: void 0,
        containerName: a
      }
    }
    function c(t, r, n) {
      return {
        symbolName: t.symbolToString(r),
        symbolKind: e.SymbolDisplay.getSymbolKind(t, r, n),
        containerName: r.parent ? t.symbolToString(r.parent, n) : ''
      }
    }
    function u(e, t) {
      var r = c(e, t.symbol, t),
        n = r.symbolName,
        a = r.symbolKind,
        i = r.containerName
      return o(t, a, n, i)
    }
    function _(e, t) {
      for (var r = 0, n = e; r < n.length; r++) {
        var a = n[r]
        if (a.pos <= t && t < a.end) return a
      }
    }
    function l(t, r) {
      return {
        fileName: r,
        textSpan: e.createTextSpanFromBounds(0, 0),
        kind: e.ScriptElementKind.scriptElement,
        name: t,
        containerName: void 0,
        containerKind: void 0
      }
    }
    function d(t) {
      var r = p(t),
        n = r.parent
      return (
        n && e.isCallLikeExpression(n) && e.getInvokedExpression(n) === r && n
      )
    }
    function p(t) {
      return e.isRightSideOfPropertyAccess(t) ? p(t.parent) : t
    }
    function f(e, t) {
      var r = d(t),
        n = r && e.getResolvedSignature(r)
      if (n) {
        var a = n.declaration
        if (a && i(a)) return a
      }
    }
    ;(t.getDefinitionAtPosition = r), (t.getTypeDefinitionAtPosition = n)
  })((t = e.GoToDefinition || (e.GoToDefinition = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(t) {
      var r = []
      return (
        a(t, function(t) {
          var n = e.getCommentsFromJSDoc(t)
          if (n)
            for (var a = 0, i = n; a < i.length; a++) {
              var o = i[a]
              o &&
                (r.length && r.push(e.lineBreakPart()), r.push(e.textPart(o)))
            }
        }),
        r
      )
    }
    function n(t) {
      var r = []
      return (
        a(t, function(t) {
          var n = e.getJSDocs(t)
          if (n)
            for (var a = 0, i = n; a < i.length; a++) {
              var o = i[a],
                s = o.tags
              s &&
                r.push.apply(
                  r,
                  s
                    .filter(function(e) {
                      return 284 === e.kind
                    })
                    .map(function(e) {
                      return { name: e.tagName.text, text: e.comment }
                    })
                )
            }
        }),
        r
      )
    }
    function a(t, r) {
      if (t)
        for (var n = 0; n < t.length; n++)
          if (e.indexOf(t, t[n]) === n) {
            var a = r(t[n], n)
            if (a) return a
          }
    }
    function i() {
      return (
        _ ||
        (_ = e.map(d, function(t) {
          return {
            name: t,
            kind: e.ScriptElementKind.keyword,
            kindModifiers: '',
            sortText: '0'
          }
        }))
      )
    }
    function o() {
      return (
        l ||
        (l = e.map(d, function(t) {
          return {
            name: '@' + t,
            kind: e.ScriptElementKind.keyword,
            kindModifiers: '',
            sortText: '0'
          }
        }))
      )
    }
    function s(t, r, n) {
      if (
        !(e.isInString(r, n) || e.isInComment(r, n) || e.hasDocComment(r, n))
      ) {
        var a = e.getTokenAtPosition(r, n),
          i = a.getStart()
        if (a && !(i < n)) {
          var o
          e: for (o = a; o; o = o.parent)
            switch (o.kind) {
              case 228:
              case 151:
              case 152:
              case 229:
              case 208:
                break e
              case 265:
                return
              case 233:
                if (233 === o.parent.kind) return
                break e
            }
          if (o && !(o.getStart() < n)) {
            for (
              var s = c(o),
                u = r.getLineAndCharacterOfPosition(n),
                _ = r.getLineStarts()[u.line],
                l = r.text.substr(_, u.character).replace(/\S/i, function() {
                  return ' '
                }),
                d = e.hasJavaScriptFileExtension(r.fileName),
                p = '',
                f = 0;
              f < s.length;
              f++
            ) {
              var g = s[f].name,
                m = 71 === g.kind ? g.text : 'param' + f
              p += d ? l + ' * @param {any} ' + m + t : l + ' * @param ' + m + t
            }
            var y = '/**' + t + l + ' * ',
              v = y + t + p + l + ' */' + (i === n ? t + l : '')
            return { newText: v, caretOffset: y.length }
          }
        }
      }
    }
    function c(t) {
      if (e.isFunctionLike(t)) return t.parameters
      if (208 === t.kind) {
        var r = t,
          n = r.declarationList.declarations
        if (1 === n.length && n[0].initializer) return u(n[0].initializer)
      }
      return e.emptyArray
    }
    function u(t) {
      for (; 185 === t.kind; ) t = t.expression
      switch (t.kind) {
        case 186:
        case 187:
          return t.parameters
        case 199:
          for (var r = 0, n = t.members; r < n.length; r++) {
            var a = n[r]
            if (152 === a.kind) return a.parameters
          }
      }
      return e.emptyArray
    }
    var _,
      l,
      d = [
        'augments',
        'author',
        'argument',
        'borrows',
        'class',
        'constant',
        'constructor',
        'constructs',
        'default',
        'deprecated',
        'description',
        'event',
        'example',
        'extends',
        'field',
        'fileOverview',
        'function',
        'ignore',
        'inner',
        'lends',
        'link',
        'memberOf',
        'method',
        'name',
        'namespace',
        'param',
        'private',
        'property',
        'public',
        'requires',
        'returns',
        'see',
        'since',
        'static',
        'throws',
        'type',
        'typedef',
        'property',
        'prop',
        'version'
      ]
    ;(t.getJsDocCommentsFromDeclarations = r),
      (t.getJsDocTagsFromDeclarations = n),
      (t.getJSDocTagNameCompletions = i),
      (t.getJSDocTagCompletions = o),
      (t.getDocCommentTemplateAtPosition = s)
  })((t = e.JsDoc || (e.JsDoc = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(t, r, o, s, c, u, _) {
      function l(e) {
        if (e)
          for (var t = 0, r = e; t < r.length; t++) {
            var n = r[t]
            g.has(n) || g.set(n, void 0)
          }
      }
      function d(r, n) {
        t.fileExists(r) && n.push(r)
        var a = e.readConfigFile(r, function(e) {
          return t.readFile(e)
        })
        if (a.config) {
          var i = a.config
          i.dependencies && l(e.getOwnKeys(i.dependencies)),
            i.devDependencies && l(e.getOwnKeys(i.devDependencies)),
            i.optionalDependencies && l(e.getOwnKeys(i.optionalDependencies)),
            i.peerDependencies && l(e.getOwnKeys(i.peerDependencies))
        }
      }
      function p(t) {
        var r = e.filter(t, e.hasJavaScriptFileExtension),
          i = e.map(r, function(t) {
            return e.removeFileExtension(e.getBaseFileName(t.toLowerCase()))
          }),
          o = e.map(i, function(e) {
            return e.replace(/((?:\.|-)min(?=\.|$))|((?:-|\.)\d+)/g, '')
          })
        n !== a &&
          l(
            e.filter(o, function(e) {
              return n.has(e)
            })
          )
        var s = e.forEach(t, function(t) {
          return 2 === e.ensureScriptKind(t, e.getScriptKindFromFileName(t))
        })
        s && l(['react'])
      }
      function f(r) {
        if ((y.push(r), t.directoryExists(r))) {
          for (
            var n = [],
              a = t.readDirectory(r, ['.json'], void 0, void 0, 2),
              i = 0,
              o = a;
            i < o.length;
            i++
          ) {
            var s = o[i],
              c = e.normalizePath(s),
              u = e.getBaseFileName(c)
            if ('package.json' === u || 'bower.json' === u) {
              var _ = e.readConfigFile(c, function(e) {
                return t.readFile(e)
              })
              if (_.config) {
                var d = _.config
                if (
                  ('package.json' !== u ||
                    !d._requiredBy ||
                    0 !==
                      e.filter(d._requiredBy, function(e) {
                        return '#' === e[0] || '/' === e
                      }).length) &&
                  d.name
                )
                  if (d.typings) {
                    var p = e.getNormalizedAbsolutePath(
                      d.typings,
                      e.getDirectoryPath(c)
                    )
                    g.set(d.name, p)
                  } else n.push(d.name)
              }
            }
          }
          l(n)
        }
      }
      var g = e.createMap()
      if (!u || !u.enable)
        return { cachedTypingPaths: [], newTypingNames: [], filesToWatch: [] }
      if (
        ((r = e.filter(e.map(r, e.normalizePath), function(t) {
          var r = e.ensureScriptKind(t, e.getScriptKindFromFileName(t))
          return 1 === r || 2 === r
        })),
        !n)
      ) {
        var m = e.readConfigFile(s, function(e) {
          return t.readFile(e)
        })
        n = m.config ? e.createMapFromTemplate(m.config) : a
      }
      var y = [],
        v = [],
        h = []
      l(u.include), (h = u.exclude || [])
      var b = e.map(r, e.getDirectoryPath)
      o && b.push(o), (v = e.deduplicate(b))
      for (var k = 0, x = v; k < x.length; k++) {
        var C = x[k],
          S = e.combinePaths(C, 'package.json')
        d(S, y)
        var D = e.combinePaths(C, 'bower.json')
        d(D, y)
        var T = e.combinePaths(C, 'bower_components')
        f(T)
        var E = e.combinePaths(C, 'node_modules')
        f(E)
      }
      if ((p(r), _))
        for (var N = 0, A = _; N < A.length; N++) {
          var w = A[N],
            P = i.has(w) ? 'node' : w
          g.has(P) || g.set(P, void 0)
        }
      c.forEach(function(e, t) {
        g.has(t) && void 0 === g.get(t) && g.set(t, e)
      })
      for (var O = 0, F = h; O < F.length; O++) {
        var I = F[O]
        g['delete'](I)
      }
      var R = [],
        M = []
      return (
        g.forEach(function(e, t) {
          void 0 !== e ? M.push(e) : R.push(t)
        }),
        { cachedTypingPaths: M, newTypingNames: R, filesToWatch: y }
      )
    }
    var n,
      a = e.createMap()
    t.nodeCoreModuleList = [
      'buffer',
      'querystring',
      'events',
      'http',
      'cluster',
      'zlib',
      'os',
      'https',
      'punycode',
      'repl',
      'readline',
      'vm',
      'child_process',
      'url',
      'dns',
      'net',
      'dgram',
      'fs',
      'path',
      'string_decoder',
      'tls',
      'crypto',
      'stream',
      'util',
      'assert',
      'tty',
      'domain',
      'constants',
      'process',
      'v8',
      'timers',
      'console'
    ]
    var i = e.arrayToMap(t.nodeCoreModuleList, function(e) {
      return e
    })
    t.discoverTypings = r
  })((t = e.JsTyping || (e.JsTyping = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(t, r, n, a, i, o) {
      function s(t) {
        e.Debug.assert(t.length > 0)
        for (var r = 0, n = t; r < n.length; r++) {
          var a = n[r]
          if (!a.isCaseSensitive) return !1
        }
        return !0
      }
      function c(e) {
        if (e && (71 === e.kind || 9 === e.kind || 8 === e.kind)) return e.text
      }
      function u(t, r) {
        if (t) {
          var n = e.getNameOfDeclaration(t)
          if (n) {
            var a = c(n)
            if (void 0 === a) return 144 === n.kind && _(n.expression, r, !0)
            r.unshift(a)
          }
        }
        return !0
      }
      function _(e, t, r) {
        var n = c(e)
        if (void 0 !== n) return r && t.unshift(n), !0
        if (179 === e.kind) {
          var a = e
          return r && t.unshift(a.name.text), _(a.expression, t, !0)
        }
        return !1
      }
      function l(t) {
        var r = [],
          n = e.getNameOfDeclaration(t)
        if (144 !== n.kind || _(n.expression, r, !1)) {
          for (t = e.getContainerNode(t); t; ) {
            if (!u(t, r)) return
            t = e.getContainerNode(t)
          }
          return r
        }
      }
      function d(t) {
        e.Debug.assert(t.length > 0)
        for (
          var r = e.PatternMatchKind.camelCase, n = 0, a = t;
          n < a.length;
          n++
        ) {
          var i = a[n],
            o = i.kind
          o < r && (r = o)
        }
        return r
      }
      function p(t, r) {
        return (
          t.matchKind - r.matchKind ||
          e.compareStringsCaseInsensitive(t.name, r.name) ||
          e.compareStrings(t.name, r.name)
        )
      }
      function f(t) {
        var r = t.declaration,
          n = e.getContainerNode(r),
          a = n && e.getNameOfDeclaration(n)
        return {
          name: t.name,
          kind: e.getNodeKind(r),
          kindModifiers: e.getNodeModifiers(r),
          matchKind: e.PatternMatchKind[t.matchKind],
          isCaseSensitive: t.isCaseSensitive,
          fileName: t.fileName,
          textSpan: e.createTextSpanFromNode(r),
          containerName: a ? a.text : '',
          containerKind: a ? e.getNodeKind(n) : ''
        }
      }
      for (
        var g = e.createPatternMatcher(a),
          m = [],
          y = function(t) {
            return (
              n.throwIfCancellationRequested(),
              o && e.fileExtensionIs(t.fileName, '.d.ts')
                ? 'continue'
                : void e.forEachEntry(t.getNamedDeclarations(), function(e, r) {
                    if (e) {
                      var n = g.getMatchesForLastSegmentOfPattern(r)
                      if (!n) return
                      for (var a = 0, i = e; a < i.length; a++) {
                        var o = i[a]
                        if (g.patternContainsDots) {
                          var c = l(o)
                          if (!c) return !0
                          if (((n = g.getMatches(c, r)), !n)) return
                        }
                        var u = t.fileName,
                          _ = d(n)
                        m.push({
                          name: r,
                          fileName: u,
                          matchKind: _,
                          isCaseSensitive: s(n),
                          declaration: o
                        })
                      }
                    }
                  })
            )
          },
          v = 0,
          h = t;
        v < h.length;
        v++
      ) {
        var b = h[v]
        y(b)
      }
      ;(m = e.filter(m, function(e) {
        var t = e.declaration
        if (239 === t.kind || 242 === t.kind || 237 === t.kind) {
          var n = r.getSymbolAtLocation(t.name),
            a = r.getAliasedSymbol(n)
          return n.name !== a.name
        }
        return !0
      })),
        m.sort(p),
        void 0 !== i && (m = m.slice(0, i))
      var k = e.map(m, f)
      return k
    }
    t.getNavigateToItems = r
  })((t = e.NavigateTo || (e.NavigateTo = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(t, r) {
      ;(O = r), (F = t)
      try {
        return e.map(k(c(t)), C)
      } finally {
        a()
      }
    }
    function n(e, t) {
      ;(O = t), (F = e)
      try {
        return x(c(e))
      } finally {
        a()
      }
    }
    function a() {
      ;(F = void 0), (O = void 0), (M = []), (I = void 0), (L = [])
    }
    function i(e) {
      return e.getText(F)
    }
    function o(e) {
      return e.node.kind
    }
    function s(e, t) {
      e.children ? e.children.push(t) : (e.children = [t])
    }
    function c(t) {
      e.Debug.assert(!M.length)
      var r = {
        node: t,
        additionalNodes: void 0,
        parent: void 0,
        children: void 0,
        indent: 0
      }
      I = r
      for (var n = 0, a = t.statements; n < a.length; n++) {
        var i = a[n]
        f(i)
      }
      return d(), e.Debug.assert(!I && !M.length), r
    }
    function u(e) {
      s(I, _(e))
    }
    function _(e) {
      return {
        node: e,
        additionalNodes: void 0,
        parent: I,
        children: void 0,
        indent: I.indent + 1
      }
    }
    function l(e) {
      var t = _(e)
      s(I, t), M.push(I), (I = t)
    }
    function d() {
      I.children && (g(I.children), m(I.children)), (I = M.pop())
    }
    function p(e, t) {
      l(e), f(t), d()
    }
    function f(t) {
      if ((O.throwIfCancellationRequested(), t && !e.isToken(t)))
        switch (t.kind) {
          case 152:
            var r = t
            p(r, r.body)
            for (var n = 0, a = r.parameters; n < a.length; n++) {
              var i = a[n]
              e.isParameterPropertyDeclaration(i) && u(i)
            }
            break
          case 151:
          case 153:
          case 154:
          case 150:
            e.hasDynamicName(t) || p(t, t.body)
            break
          case 149:
          case 148:
            e.hasDynamicName(t) || u(t)
            break
          case 239:
            var o = t
            o.name && u(o)
            var s = o.namedBindings
            if (s)
              if (240 === s.kind) u(s)
              else
                for (var c = 0, _ = s.elements; c < _.length; c++) {
                  var g = _[c]
                  u(g)
                }
            break
          case 176:
          case 226:
            var m = t,
              y = m.name
            e.isBindingPattern(y)
              ? f(y)
              : m.initializer && P(m.initializer)
                ? f(m.initializer)
                : p(m, m.initializer)
            break
          case 187:
          case 228:
          case 186:
            p(t, t.body)
            break
          case 232:
            l(t)
            for (var v = 0, h = t.members; v < h.length; v++) {
              var b = h[v]
              E(b) || u(b)
            }
            d()
            break
          case 229:
          case 199:
          case 230:
            l(t)
            for (var k = 0, x = t.members; k < x.length; k++) {
              var b = x[k]
              f(b)
            }
            d()
            break
          case 233:
            p(t, T(t).body)
            break
          case 246:
          case 237:
          case 157:
          case 155:
          case 156:
          case 231:
            u(t)
            break
          default:
            e.forEach(t.jsDoc, function(t) {
              e.forEach(t.tags, function(e) {
                290 === e.kind && u(e)
              })
            }),
              e.forEachChild(t, f)
        }
    }
    function g(t) {
      function r(e, t) {
        function r(e, t) {
          return (
            e.body.kind === t.body.kind &&
            (233 !== e.body.kind || r(e.body, t.body))
          )
        }
        return e.kind === t.kind && (233 !== e.kind || r(e, t))
      }
      function n(t, r) {
        ;(t.additionalNodes = t.additionalNodes || []),
          t.additionalNodes.push(r.node),
          r.additionalNodes &&
            (n = t.additionalNodes).push.apply(n, r.additionalNodes),
          (t.children = e.concatenate(t.children, r.children)),
          t.children && (g(t.children), m(t.children))
        var n
      }
      var a = e.createMap()
      e.filterMutate(t, function(t) {
        function o(e, t) {
          return !!r(e.node, t.node) && (n(e, t), !0)
        }
        var s = e.getNameOfDeclaration(t.node),
          c = s && i(s)
        if (!c) return !0
        var u = a.get(c)
        if (!u) return a.set(c, t), !0
        if (u instanceof Array) {
          for (var _ = 0, l = u; _ < l.length; _++) {
            var d = l[_]
            if (o(d, t)) return !1
          }
          return u.push(t), !0
        }
        var d = u
        return !o(d, t) && (a.set(c, [d, t]), !0)
      })
    }
    function m(e) {
      e.sort(y)
    }
    function y(t, r) {
      var n = v(t.node),
        a = v(r.node)
      if (n && a) {
        var i = e.compareStringsCaseInsensitive(n, a)
        return 0 !== i ? i : o(t) - o(r)
      }
      return n ? 1 : a ? -1 : o(t) - o(r)
    }
    function v(t) {
      if (233 === t.kind) return D(t)
      var r = e.getNameOfDeclaration(t)
      if (r) return e.getPropertyNameForPropertyNameNode(r)
      switch (t.kind) {
        case 186:
        case 187:
        case 199:
          return w(t)
        case 290:
          return b(t)
        default:
          return
      }
    }
    function h(t) {
      if (233 === t.kind) return D(t)
      var r = e.getNameOfDeclaration(t)
      if (r) {
        var n = i(r)
        if (n.length > 0) return n
      }
      switch (t.kind) {
        case 265:
          var a = t
          return e.isExternalModule(a)
            ? '"' +
                e.escapeString(
                  e.getBaseFileName(
                    e.removeFileExtension(e.normalizePath(a.fileName))
                  )
                ) +
                '"'
            : '<global>'
        case 187:
        case 228:
        case 186:
        case 229:
        case 199:
          return 512 & e.getModifierFlags(t) ? 'default' : w(t)
        case 152:
          return 'constructor'
        case 156:
          return 'new()'
        case 155:
          return '()'
        case 157:
          return '[]'
        case 290:
          return b(t)
        default:
          return '<unknown>'
      }
    }
    function b(e) {
      if (e.name) return e.name.text
      var t = e.parent && e.parent.parent
      if (t && 208 === t.kind && t.declarationList.declarations.length > 0) {
        var r = t.declarationList.declarations[0].name
        if (71 === r.kind) return r.text
      }
      return '<typedef>'
    }
    function k(t) {
      function r(e) {
        if (n(e) && (a.push(e), e.children))
          for (var t = 0, i = e.children; t < i.length; t++) {
            var o = i[t]
            r(o)
          }
      }
      function n(t) {
        function r(e) {
          if (!e.node.body) return !1
          switch (o(e.parent)) {
            case 234:
            case 265:
            case 151:
            case 152:
              return !0
            default:
              return n(e)
          }
        }
        function n(t) {
          return e.forEach(t.children, function(e) {
            var t = o(e)
            return 226 !== t && 176 !== t
          })
        }
        switch (o(t)) {
          case 229:
          case 199:
          case 232:
          case 230:
          case 233:
          case 265:
          case 231:
          case 290:
            return !0
          case 152:
          case 151:
          case 153:
          case 154:
          case 226:
            return n(t)
          case 187:
          case 228:
          case 186:
            return r(t)
          default:
            return !1
        }
      }
      var a = []
      return r(t), a
    }
    function x(t) {
      return {
        text: h(t.node),
        kind: e.getNodeKind(t.node),
        kindModifiers: A(t.node),
        spans: S(t),
        childItems: e.map(t.children, x)
      }
    }
    function C(t) {
      function r(t) {
        return {
          text: h(t.node),
          kind: e.getNodeKind(t.node),
          kindModifiers: e.getNodeModifiers(t.node),
          spans: S(t),
          childItems: L,
          indent: 0,
          bolded: !1,
          grayed: !1
        }
      }
      return {
        text: h(t.node),
        kind: e.getNodeKind(t.node),
        kindModifiers: A(t.node),
        spans: S(t),
        childItems: e.map(t.children, r) || L,
        indent: t.indent,
        bolded: !1,
        grayed: !1
      }
    }
    function S(e) {
      var t = [N(e.node)]
      if (e.additionalNodes)
        for (var r = 0, n = e.additionalNodes; r < n.length; r++) {
          var a = n[r]
          t.push(N(a))
        }
      return t
    }
    function D(t) {
      if (e.isAmbientModule(t)) return e.getTextOfNode(t.name)
      var r = []
      for (r.push(t.name.text); t.body && 233 === t.body.kind; )
        (t = t.body), r.push(t.name.text)
      return r.join('.')
    }
    function T(e) {
      return 233 === e.body.kind ? T(e.body) : e
    }
    function E(e) {
      return !e.name || 144 === e.name.kind
    }
    function N(t) {
      return 265 === t.kind
        ? e.createTextSpanFromBounds(t.getFullStart(), t.getEnd())
        : e.createTextSpanFromNode(t, F)
    }
    function A(t) {
      return (
        t.parent && 226 === t.parent.kind && (t = t.parent),
        e.getNodeModifiers(t)
      )
    }
    function w(t) {
      return t.name && e.getFullWidth(t.name) > 0
        ? e.declarationNameToString(t.name)
        : 226 === t.parent.kind
          ? e.declarationNameToString(t.parent.name)
          : 194 === t.parent.kind && 58 === t.parent.operatorToken.kind
            ? i(t.parent.left).replace(R, '')
            : 261 === t.parent.kind && t.parent.name
              ? i(t.parent.name)
              : 512 & e.getModifierFlags(t)
                ? 'default'
                : e.isClassLike(t)
                  ? '<class>'
                  : '<function>'
    }
    function P(e) {
      return 186 === e.kind || 187 === e.kind || 199 === e.kind
    }
    var O,
      F,
      I,
      R = /\s+/g,
      M = [],
      L = []
    ;(t.getNavigationBarItems = r), (t.getNavigationTree = n)
  })((t = e.NavigationBar || (e.NavigationBar = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(t, r) {
      function n(r, n, a, i) {
        if (r && n && a) {
          var o = {
            textSpan: e.createTextSpanFromBounds(n.pos, a.end),
            hintSpan: e.createTextSpanFromNode(r, t),
            bannerText: _,
            autoCollapse: i
          }
          u.push(o)
        }
      }
      function a(t, r) {
        if (t) {
          var n = {
            textSpan: e.createTextSpanFromBounds(t.pos, t.end),
            hintSpan: e.createTextSpanFromBounds(t.pos, t.end),
            bannerText: _,
            autoCollapse: r
          }
          u.push(n)
        }
      }
      function i(n) {
        var i = e.getLeadingCommentRangesOfNode(n, t)
        if (i) {
          for (
            var s = -1, c = -1, u = !0, _ = 0, l = 0, d = i;
            l < d.length;
            l++
          ) {
            var p = d[l]
            r.throwIfCancellationRequested(),
              2 === p.kind
                ? (u && (s = p.pos), (u = !1), (c = p.end), _++)
                : 3 === p.kind &&
                  (o(_, s, c), a(p, !1), (_ = 0), (c = -1), (u = !0))
          }
          o(_, s, c)
        }
      }
      function o(e, t, r) {
        if (e > 1) {
          var n = { kind: 2, pos: t, end: r }
          a(n, !1)
        }
      }
      function s(t) {
        return e.isFunctionBlock(t) && 187 !== t.parent.kind
      }
      function c(a) {
        if ((r.throwIfCancellationRequested(), !(l > d))) {
          switch ((e.isDeclaration(a) && i(a), a.kind)) {
            case 207:
              if (!e.isFunctionBlock(a)) {
                var o = a.parent,
                  p = e.findChildOfKind(a, 17, t),
                  f = e.findChildOfKind(a, 18, t)
                if (
                  212 === o.kind ||
                  215 === o.kind ||
                  216 === o.kind ||
                  214 === o.kind ||
                  211 === o.kind ||
                  213 === o.kind ||
                  220 === o.kind ||
                  260 === o.kind
                ) {
                  n(o, p, f, s(a))
                  break
                }
                if (224 === o.kind) {
                  var g = o
                  if (g.tryBlock === a) {
                    n(o, p, f, s(a))
                    break
                  }
                  if (g.finallyBlock === a) {
                    var m = e.findChildOfKind(g, 87, t)
                    if (m) {
                      n(m, p, f, s(a))
                      break
                    }
                  }
                }
                var y = e.createTextSpanFromNode(a)
                u.push({
                  textSpan: y,
                  hintSpan: y,
                  bannerText: _,
                  autoCollapse: s(a)
                })
                break
              }
            case 234:
              var p = e.findChildOfKind(a, 17, t),
                f = e.findChildOfKind(a, 18, t)
              n(a.parent, p, f, s(a))
              break
            case 229:
            case 230:
            case 232:
            case 178:
            case 235:
              var p = e.findChildOfKind(a, 17, t),
                f = e.findChildOfKind(a, 18, t)
              n(a, p, f, s(a))
              break
            case 177:
              var v = e.findChildOfKind(a, 21, t),
                h = e.findChildOfKind(a, 22, t)
              n(a, v, h, s(a))
          }
          l++, e.forEachChild(a, c), l--
        }
      }
      var u = [],
        _ = '...',
        l = 0,
        d = 20
      return c(t), u
    }
    t.collectElements = r
  })((t = e.OutliningElementsCollector || (e.OutliningElementsCollector = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(e, t, r, n) {
    return {
      kind: e,
      punctuationStripped: t,
      isCaseSensitive: r,
      camelCaseWeight: n
    }
  }
  function r(r) {
    function o(e) {
      return b || !e
    }
    function c(t) {
      if (!o(t)) return f(t, e.lastOrUndefined(h))
    }
    function _(t, r) {
      if (!o(r)) {
        var n = f(r, e.lastOrUndefined(h))
        if (n && ((t = t || []), !(h.length - 1 > t.length))) {
          for (
            var a = n, i = h.length - 2, s = t.length - 1;
            i >= 0;
            i -= 1, s -= 1
          ) {
            var c = h[i],
              u = t[s],
              _ = f(u, c)
            if (!_) return
            e.addRange(a, _)
          }
          return a
        }
      }
    }
    function l(e) {
      var t = v.get(e)
      return t || v.set(e, (t = g(e))), t
    }
    function d(r, n, a) {
      var o = s(r, n.textLowerCase)
      if (0 === o)
        return n.text.length === r.length
          ? t(k.exact, a, r === n.text)
          : t(k.prefix, a, e.startsWith(r, n.text))
      var c = n.isLowerCase
      if (c) {
        if (o > 0)
          for (var u = l(r), _ = 0, d = u; _ < d.length; _++) {
            var p = d[_]
            if (m(r, p, n.text, !0))
              return t(k.substring, a, m(r, p, n.text, !1))
          }
      } else if (r.indexOf(n.text) > 0) return t(k.substring, a, !0)
      if (!c && n.characterSpans.length > 0) {
        var f = l(r),
          g = y(r, f, n, !1)
        if (void 0 !== g) return t(k.camelCase, a, !0, g)
        if (((g = y(r, f, n, !0)), void 0 !== g))
          return t(k.camelCase, a, !1, g)
      }
      return c && n.text.length < r.length && o > 0 && i(r.charCodeAt(o))
        ? t(k.substring, a, !1)
        : void 0
    }
    function p(e) {
      for (var t = 0; t < e.length; t++) {
        var r = e.charCodeAt(t)
        if (32 === r || 42 === r) return !0
      }
      return !1
    }
    function f(e, t) {
      if (!p(t.totalTextChunk.text)) {
        var r = d(e, t.totalTextChunk, !1)
        if (r) return [r]
      }
      for (
        var n = t.subWordTextChunks, a = void 0, i = 0, o = n;
        i < o.length;
        i++
      ) {
        var s = o[i],
          c = d(e, s, !0)
        if (!c) return
        ;(a = a || []), a.push(c)
      }
      return a
    }
    function m(e, t, r, n, a) {
      var i = a ? a.start : 0,
        o = a ? a.length : r.length
      if (o > t.length) return !1
      if (n)
        for (var s = 0; s < o; s++) {
          var c = r.charCodeAt(i + s),
            _ = e.charCodeAt(t.start + s)
          if (u(c) !== u(_)) return !1
        }
      else
        for (var s = 0; s < o; s++) {
          var c = r.charCodeAt(i + s),
            _ = e.charCodeAt(t.start + s)
          if (c !== _) return !1
        }
      return !0
    }
    function y(t, r, n, a) {
      for (var o = n.characterSpans, s = 0, c = 0, u = void 0, _ = void 0; ; ) {
        if (c === o.length) {
          var l = 0
          return _ && (l += 1), 0 === u && (l += 2), l
        }
        if (s === r.length) return
        for (var d = r[s], p = !1; c < o.length; c++) {
          var f = o[c]
          if (
            p &&
            (!i(n.text.charCodeAt(o[c - 1].start)) ||
              !i(n.text.charCodeAt(o[c].start)))
          )
            break
          if (!m(t, d, n.text, a, f)) break
          ;(p = !0),
            (u = void 0 === u ? s : u),
            (_ = void 0 === _ || _),
            (d = e.createTextSpan(d.start + f.length, d.length - f.length))
        }
        p || void 0 === _ || (_ = !1), s++
      }
    }
    var v = e.createMap()
    r = r.trim()
    var h = r.split('.').map(function(e) {
        return n(e.trim())
      }),
      b = 0 === h.length || e.forEach(h, a)
    return {
      getMatches: _,
      getMatchesForLastSegmentOfPattern: c,
      patternContainsDots: h.length > 1
    }
  }
  function n(e) {
    return { totalTextChunk: p(e), subWordTextChunks: d(e) }
  }
  function a(e) {
    return 0 === e.subWordTextChunks.length
  }
  function i(t) {
    if (t >= 65 && t <= 90) return !0
    if (t < 127 || !e.isUnicodeIdentifierStart(t, 5)) return !1
    var r = String.fromCharCode(t)
    return r === r.toUpperCase()
  }
  function o(t) {
    if (t >= 97 && t <= 122) return !0
    if (t < 127 || !e.isUnicodeIdentifierStart(t, 5)) return !1
    var r = String.fromCharCode(t)
    return r === r.toLowerCase()
  }
  function s(e, t) {
    for (var r = e.length - t.length, n = 0; n <= r; n++)
      if (c(e, t, n)) return n
    return -1
  }
  function c(e, t, r) {
    for (var n = 0; n < t.length; n++) {
      var a = u(e.charCodeAt(n + r)),
        i = t.charCodeAt(n)
      if (a !== i) return !1
    }
    return !0
  }
  function u(e) {
    return e >= 65 && e <= 90
      ? 97 + (e - 65)
      : e < 127
        ? e
        : String.fromCharCode(e)
            .toLowerCase()
            .charCodeAt(0)
  }
  function _(e) {
    return e >= 48 && e <= 57
  }
  function l(e) {
    return i(e) || o(e) || _(e) || 95 === e || 36 === e
  }
  function d(e) {
    for (var t = [], r = 0, n = 0, a = 0; a < e.length; a++) {
      var i = e.charCodeAt(a)
      l(i)
        ? (0 === n && (r = a), n++)
        : n > 0 && (t.push(p(e.substr(r, n))), (n = 0))
    }
    return n > 0 && t.push(p(e.substr(r, n))), t
  }
  function p(e) {
    var t = e.toLowerCase()
    return {
      text: e,
      textLowerCase: t,
      isLowerCase: e === t,
      characterSpans: f(e)
    }
  }
  function f(e) {
    return m(e, !1)
  }
  function g(e) {
    return m(e, !0)
  }
  function m(t, r) {
    for (var n = [], a = 0, i = 1; i < t.length; i++) {
      var o = _(t.charCodeAt(i - 1)),
        s = _(t.charCodeAt(i)),
        c = b(t, r, i),
        u = h(t, r, i, a)
      ;(y(t.charCodeAt(i - 1)) || y(t.charCodeAt(i)) || o !== s || c || u) &&
        (v(t, a, i) || n.push(e.createTextSpan(a, i - a)), (a = i))
    }
    return v(t, a, t.length) || n.push(e.createTextSpan(a, t.length - a)), n
  }
  function y(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, r) {
    for (var n = t; n < r; n++) {
      var a = e.charCodeAt(n)
      if (!y(a) || 95 === a || 36 === a) return !1
    }
    return !0
  }
  function h(e, t, r, n) {
    if (t && r !== n && r + 1 < e.length) {
      var a = i(e.charCodeAt(r)),
        s = o(e.charCodeAt(r + 1))
      if (a && s) {
        for (var c = n; c < r; c++) if (!i(e.charCodeAt(c))) return !1
        return !0
      }
    }
    return !1
  }
  function b(e, t, r) {
    var n = i(e.charCodeAt(r - 1)),
      a = i(e.charCodeAt(r)),
      o = t ? a && !n : a
    return o
  }
  var k
  !(function(e) {
    ;(e[(e.exact = 0)] = 'exact'),
      (e[(e.prefix = 1)] = 'prefix'),
      (e[(e.substring = 2)] = 'substring'),
      (e[(e.camelCase = 3)] = 'camelCase')
  })((k = e.PatternMatchKind || (e.PatternMatchKind = {}))),
    (e.createPatternMatcher = r),
    (e.breakIntoCharacterSpans = f),
    (e.breakIntoWordSpans = g)
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t, r, n) {
    function a() {
      var t = e.scanner.scan()
      return 17 === t ? k++ : 18 === t && k--, t
    }
    function i() {
      var r = e.getLeadingCommentRanges(t, 0)
      e.forEach(r, function(r) {
        var n = t.substring(r.pos, r.end),
          a = e.getFileReferenceFromReferencePath(n, r)
        if (a) {
          b = a.isNoDefaultLib
          var i = a.fileReference
          if (i) {
            var o = a.isTypeReferenceDirective ? v : y
            o.push(i)
          }
        }
      })
    }
    function o() {
      var t = e.scanner.getTokenValue(),
        r = e.scanner.getTokenPos()
      return { fileName: t, pos: r, end: r + t.length }
    }
    function s() {
      m || (m = []), m.push({ ref: o(), depth: k })
    }
    function c() {
      h.push(o()), u()
    }
    function u() {
      0 === k && (x = !0)
    }
    function _() {
      var t = e.scanner.getToken()
      return (
        124 === t && ((t = a()), 128 === t && ((t = a()), 9 === t && s()), !0)
      )
    }
    function l() {
      var t = e.scanner.getToken()
      if (91 === t) {
        if (((t = a()), 9 === t)) return c(), !0
        if (71 === t || e.isKeyword(t))
          if (((t = a()), 140 === t)) {
            if (((t = a()), 9 === t)) return c(), !0
          } else if (58 === t) {
            if (p(!0)) return !0
          } else {
            if (26 !== t) return !0
            t = a()
          }
        if (17 === t) {
          for (t = a(); 18 !== t && 1 !== t; ) t = a()
          18 === t && ((t = a()), 140 === t && ((t = a()), 9 === t && c()))
        } else
          39 === t &&
            ((t = a()),
            118 === t &&
              ((t = a()),
              (71 === t || e.isKeyword(t)) &&
                ((t = a()), 140 === t && ((t = a()), 9 === t && c()))))
        return !0
      }
      return !1
    }
    function d() {
      var t = e.scanner.getToken()
      if (84 === t) {
        if ((u(), (t = a()), 17 === t)) {
          for (t = a(); 18 !== t && 1 !== t; ) t = a()
          18 === t && ((t = a()), 140 === t && ((t = a()), 9 === t && c()))
        } else if (39 === t) (t = a()), 140 === t && ((t = a()), 9 === t && c())
        else if (
          91 === t &&
          ((t = a()),
          (71 === t || e.isKeyword(t)) && ((t = a()), 58 === t && p(!0)))
        )
          return !0
        return !0
      }
      return !1
    }
    function p(t) {
      var r = t ? a() : e.scanner.getToken()
      return (
        132 === r && ((r = a()), 19 === r && ((r = a()), 9 === r && c()), !0)
      )
    }
    function f() {
      var t = e.scanner.getToken()
      if (71 === t && 'define' === e.scanner.getTokenValue()) {
        if (((t = a()), 19 !== t)) return !0
        if (((t = a()), 9 === t)) {
          if (((t = a()), 26 !== t)) return !0
          t = a()
        }
        if (21 !== t) return !0
        t = a()
        for (var r = 0; 22 !== t && 1 !== t; ) 9 === t && (c(), r++), (t = a())
        return !0
      }
      return !1
    }
    function g() {
      for (e.scanner.setText(t), a(); ; ) {
        if (1 === e.scanner.getToken()) break
        _() || l() || d() || (n && (p(!1) || f())) || a()
      }
      e.scanner.setText(void 0)
    }
    void 0 === r && (r = !0), void 0 === n && (n = !1)
    var m,
      y = [],
      v = [],
      h = [],
      b = !1,
      k = 0,
      x = !1
    if ((r && g(), i(), x)) {
      if (m)
        for (var C = 0, S = m; C < S.length; C++) {
          var D = S[C]
          h.push(D.ref)
        }
      return {
        referencedFiles: y,
        typeReferenceDirectives: v,
        importedFiles: h,
        isLibFile: b,
        ambientExternalModules: void 0
      }
    }
    var T = void 0
    if (m)
      for (var E = 0, N = m; E < N.length; E++) {
        var D = N[E]
        0 === D.depth ? (T || (T = []), T.push(D.ref.fileName)) : h.push(D.ref)
      }
    return {
      referencedFiles: y,
      typeReferenceDirectives: v,
      importedFiles: h,
      isLibFile: b,
      ambientExternalModules: T
    }
  }
  e.preProcessFile = t
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(t, r, a, o, c) {
      function u(t) {
        if (!r) return !1
        var n = t.getSourceFile(),
          i = a(e.normalizePath(n.fileName))
        return i === _()
      }
      var _ = e.memoize(function() {
          return a(e.normalizePath(r))
        }),
        l = e.getTouchingWord(o, c, !0),
        d = l && s(l) ? n(l, t, o, u) : void 0
      return d || i(e.Diagnostics.You_cannot_rename_this_element)
    }
    function n(t, r, n, o) {
      var s = r.getSymbolAtLocation(t)
      if (s) {
        var c = s.getDeclarations()
        if (c && c.length > 0) {
          if (e.some(c, o))
            return i(
              e.Diagnostics
                .You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library
            )
          if (
            71 === t.kind &&
            79 === t.originalKeywordKind &&
            1536 & s.parent.flags
          )
            return
          var u = e.stripQuotes(e.getDeclaredName(r, s, t)),
            _ = e.SymbolDisplay.getSymbolKind(r, s, t)
          return _
            ? a(
                u,
                r.getFullyQualifiedName(s),
                _,
                e.SymbolDisplay.getSymbolModifiers(s),
                t,
                n
              )
            : void 0
        }
      } else if (9 === t.kind) {
        if (o(t))
          return i(
            e.Diagnostics
              .You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library
          )
        var u = e.stripQuotes(t.text)
        return a(
          u,
          u,
          e.ScriptElementKind.variableElement,
          e.ScriptElementKindModifier.none,
          t,
          n
        )
      }
    }
    function a(e, t, r, n, a, i) {
      return {
        canRename: !0,
        kind: r,
        displayName: e,
        localizedErrorMessage: void 0,
        fullDisplayName: t,
        kindModifiers: n,
        triggerSpan: o(a, i)
      }
    }
    function i(t) {
      return {
        canRename: !1,
        localizedErrorMessage: e.getLocaleSpecificMessage(t),
        displayName: void 0,
        fullDisplayName: void 0,
        kind: void 0,
        kindModifiers: void 0,
        triggerSpan: void 0
      }
    }
    function o(t, r) {
      var n = t.getStart(r),
        a = t.getWidth(r)
      return 9 === t.kind && ((n += 1), (a -= 2)), e.createTextSpan(n, a)
    }
    function s(t) {
      return (
        71 === t.kind ||
        9 === t.kind ||
        e.isLiteralNameOfPropertyDeclarationOrIndexAccess(t) ||
        e.isThis(t)
      )
    }
    t.getRenameInfo = r
  })((t = e.Rename || (e.Rename = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(t, r, a, i) {
      var o = t.getTypeChecker(),
        s = e.findTokenOnLeftOfPosition(r, a)
      if (s) {
        var c = l(s, a, r)
        if ((i.throwIfCancellationRequested(), c)) {
          var u = c.invocation,
            _ = [],
            d = o.getResolvedSignature(u, _)
          if ((i.throwIfCancellationRequested(), _.length)) return f(_, d, c, o)
          if (e.isSourceFileJavaScript(r)) return n(c, t)
        }
      }
    }
    function n(e, t) {
      if (181 === e.invocation.kind) {
        var r = e.invocation,
          n = r.expression,
          a = 71 === n.kind ? n : 179 === n.kind ? n.name : void 0
        if (a && a.text)
          for (
            var i = t.getTypeChecker(), o = 0, s = t.getSourceFiles();
            o < s.length;
            o++
          ) {
            var c = s[o],
              u = c.getNamedDeclarations(),
              _ = u.get(a.text)
            if (_)
              for (var l = 0, d = _; l < d.length; l++) {
                var p = d[l],
                  g = p.symbol
                if (g) {
                  var m = i.getTypeOfSymbolAtLocation(g, p)
                  if (m) {
                    var y = m.getCallSignatures()
                    if (y && y.length) return f(y, y[0], e, i)
                  }
                }
              }
          }
      }
    }
    function a(t, r, n) {
      if (181 !== t.parent.kind && 182 !== t.parent.kind)
        if (13 === t.kind && 183 === t.parent.kind) {
          if (e.isInsideTemplateLiteral(t, r)) return c(t.parent, 0, n)
        } else {
          if (14 === t.kind && 183 === t.parent.parent.kind) {
            var a = t.parent,
              _ = a.parent
            e.Debug.assert(196 === a.kind)
            var l = e.isInsideTemplateLiteral(t, r) ? 0 : 1
            return c(_, l, n)
          }
          if (205 === t.parent.kind && 183 === t.parent.parent.parent.kind) {
            var p = t.parent,
              a = p.parent,
              _ = a.parent
            if (
              (e.Debug.assert(196 === a.kind),
              16 === t.kind && !e.isInsideTemplateLiteral(t, r))
            )
              return
            var f = a.templateSpans.indexOf(p),
              l = s(f, t, r)
            return c(_, l, n)
          }
          if (t.parent && e.isJsxOpeningLikeElement(t.parent)) {
            var g = t.parent.attributes.getFullStart(),
              m = e.skipTrivia(n.text, t.parent.attributes.getEnd(), !1)
            return {
              kind: 3,
              invocation: t.parent,
              argumentsSpan: e.createTextSpan(g, m - g),
              argumentIndex: 0,
              argumentCount: 1
            }
          }
        }
      else {
        var y = t.parent
        if (27 === t.kind || 19 === t.kind) {
          var v = d(y, t, n),
            h = y.typeArguments && y.typeArguments.pos === v.pos
          return (
            e.Debug.assert(void 0 !== v),
            {
              kind: h ? 0 : 1,
              invocation: y,
              argumentsSpan: u(v, n),
              argumentIndex: 0,
              argumentCount: o(v)
            }
          )
        }
        var b = e.findListItemInfo(t)
        if (b) {
          var v = b.list,
            h = y.typeArguments && y.typeArguments.pos === v.pos,
            l = i(v, t),
            k = o(v)
          return (
            e.Debug.assert(
              0 === l || l < k,
              'argumentCount < argumentIndex, ' + k + ' < ' + l
            ),
            {
              kind: h ? 0 : 1,
              invocation: y,
              argumentsSpan: u(v, n),
              argumentIndex: l,
              argumentCount: k
            }
          )
        }
      }
    }
    function i(e, t) {
      for (var r = 0, n = e.getChildren(), a = 0, i = n; a < i.length; a++) {
        var o = i[a]
        if (o === t) break
        26 !== o.kind && r++
      }
      return r
    }
    function o(t) {
      var r = t.getChildren(),
        n = e.countWhere(r, function(e) {
          return 26 !== e.kind
        })
      return r.length > 0 && 26 === e.lastOrUndefined(r).kind && n++, n
    }
    function s(t, r, n) {
      return (
        e.Debug.assert(
          n >= r.getStart(),
          "Assumed 'position' could not occur before node."
        ),
        e.isTemplateLiteralKind(r.kind)
          ? e.isInsideTemplateLiteral(r, n)
            ? 0
            : t + 2
          : t + 1
      )
    }
    function c(t, r, n) {
      var a = 13 === t.template.kind ? 1 : t.template.templateSpans.length + 1
      return (
        e.Debug.assert(
          0 === r || r < a,
          'argumentCount < argumentIndex, ' + a + ' < ' + r
        ),
        {
          kind: 2,
          invocation: t,
          argumentsSpan: _(t, n),
          argumentIndex: r,
          argumentCount: a
        }
      )
    }
    function u(t, r) {
      var n = t.getFullStart(),
        a = e.skipTrivia(r.text, t.getEnd(), !1)
      return e.createTextSpan(n, a - n)
    }
    function _(t, r) {
      var n = t.template,
        a = n.getStart(),
        i = n.getEnd()
      if (196 === n.kind) {
        var o = e.lastOrUndefined(n.templateSpans)
        0 === o.literal.getFullWidth() && (i = e.skipTrivia(r.text, i, !1))
      }
      return e.createTextSpan(a, i - a)
    }
    function l(t, r, n) {
      for (var i = t; 265 !== i.kind; i = i.parent) {
        if (e.isFunctionBlock(i)) return
        ;(i.pos < i.parent.pos || i.end > i.parent.end) &&
          e.Debug.fail(
            'Node of kind ' +
              i.kind +
              ' is not a subspan of its parent of kind ' +
              i.parent.kind
          )
        var o = a(i, r, n)
        if (o) return o
      }
    }
    function d(t, r, n) {
      var a = t.getChildren(n),
        i = a.indexOf(r)
      return e.Debug.assert(i >= 0 && a.length > i + 1), a[i + 1]
    }
    function p(e, t) {
      for (var r = -1, n = -1, a = 0; a < e.length; a++) {
        var i = e[a]
        if (i.hasRestParameter || i.parameters.length >= t) return a
        i.parameters.length > n && ((n = i.parameters.length), (r = a))
      }
      return r
    }
    function f(t, r, n, a) {
      function i(t) {
        var r = e.mapToDisplayParts(function(e) {
          return a.getSymbolDisplayBuilder().buildParameterDisplay(t, e, u)
        })
        return {
          name: t.name,
          documentation: t.getDocumentationComment(),
          displayParts: r,
          isOptional: a.isOptionalParameter(t.valueDeclaration)
        }
      }
      function o(t) {
        var r = e.mapToDisplayParts(function(e) {
          return a.getSymbolDisplayBuilder().buildTypeParameterDisplay(t, e, u)
        })
        return {
          name: t.symbol.name,
          documentation: m,
          displayParts: r,
          isOptional: !1
        }
      }
      var s = n.argumentsSpan,
        c = 0 === n.kind,
        u = n.invocation,
        _ = e.getInvokedExpression(u),
        l = a.getSymbolAtLocation(_),
        d = l && e.symbolToDisplayParts(a, l, void 0, void 0),
        f = e.map(t, function(t) {
          var r,
            n = [],
            s = []
          d && e.addRange(n, d)
          var _
          if (c) {
            ;(_ = !1), n.push(e.punctuationPart(27))
            var l = t.typeParameters
            ;(r = l && l.length > 0 ? e.map(l, o) : m),
              s.push(e.punctuationPart(29))
            var p = e.mapToDisplayParts(function(e) {
              return a
                .getSymbolDisplayBuilder()
                .buildDisplayForParametersAndDelimiters(
                  t.thisParameter,
                  t.parameters,
                  e,
                  u
                )
            })
            e.addRange(s, p)
          } else {
            _ = t.hasRestParameter
            var f = e.mapToDisplayParts(function(e) {
              return a
                .getSymbolDisplayBuilder()
                .buildDisplayForTypeParametersAndDelimiters(
                  t.typeParameters,
                  e,
                  u
                )
            })
            e.addRange(n, f), n.push(e.punctuationPart(19))
            var g = t.parameters
            ;(r = g.length > 0 ? e.map(g, i) : m), s.push(e.punctuationPart(20))
          }
          var y = e.mapToDisplayParts(function(e) {
            return a.getSymbolDisplayBuilder().buildReturnTypeDisplay(t, e, u)
          })
          return (
            e.addRange(s, y),
            {
              isVariadic: _,
              prefixDisplayParts: n,
              suffixDisplayParts: s,
              separatorDisplayParts: [e.punctuationPart(26), e.spacePart()],
              parameters: r,
              documentation: t.getDocumentationComment(),
              tags: t.getJsDocTags()
            }
          )
        }),
        g = n.argumentIndex,
        y = n.argumentCount,
        v = t.indexOf(r)
      return (
        v < 0 && (v = p(t, y)),
        e.Debug.assert(
          0 === g || g < y,
          'argumentCount < argumentIndex, ' + y + ' < ' + g
        ),
        {
          items: f,
          applicableSpan: s,
          selectedItemIndex: v,
          argumentIndex: g,
          argumentCount: y
        }
      )
    }
    var g,
      m = []
    !(function(e) {
      ;(e[(e.TypeArguments = 0)] = 'TypeArguments'),
        (e[(e.CallArguments = 1)] = 'CallArguments'),
        (e[(e.TaggedTemplateArguments = 2)] = 'TaggedTemplateArguments'),
        (e[(e.JSXAttributesArguments = 3)] = 'JSXAttributesArguments')
    })((g = t.ArgumentListKind || (t.ArgumentListKind = {}))),
      (t.getSignatureHelpItems = r),
      (t.getImmediatelyContainingArgumentInfo = a),
      (t.getContainingArgumentInfo = l)
  })((t = e.SignatureHelp || (e.SignatureHelp = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(t, r, a) {
      var i = r.flags
      if (32 & i)
        return e.getDeclarationOfKind(r, 199)
          ? e.ScriptElementKind.localClassElement
          : e.ScriptElementKind.classElement
      if (384 & i) return e.ScriptElementKind.enumElement
      if (524288 & i) return e.ScriptElementKind.typeElement
      if (64 & i) return e.ScriptElementKind.interfaceElement
      if (262144 & i) return e.ScriptElementKind.typeParameterElement
      var o = n(t, r, a)
      if (o === e.ScriptElementKind.unknown) {
        if (262144 & i) return e.ScriptElementKind.typeParameterElement
        if (8 & i) return e.ScriptElementKind.enumMemberElement
        if (8388608 & i) return e.ScriptElementKind.alias
        if (1536 & i) return e.ScriptElementKind.moduleElement
      }
      return o
    }
    function n(t, r, n) {
      if (t.isUndefinedSymbol(r)) return e.ScriptElementKind.variableElement
      if (t.isArgumentsSymbol(r))
        return e.ScriptElementKind.localVariableElement
      if (99 === n.kind && e.isExpression(n))
        return e.ScriptElementKind.parameterElement
      var a = r.flags
      if (3 & a)
        return e.isFirstDeclarationOfSymbolParameter(r)
          ? e.ScriptElementKind.parameterElement
          : r.valueDeclaration && e.isConst(r.valueDeclaration)
            ? e.ScriptElementKind.constElement
            : e.forEach(r.declarations, e.isLet)
              ? e.ScriptElementKind.letElement
              : o(r)
                ? e.ScriptElementKind.localVariableElement
                : e.ScriptElementKind.variableElement
      if (16 & a)
        return o(r)
          ? e.ScriptElementKind.localFunctionElement
          : e.ScriptElementKind.functionElement
      if (32768 & a) return e.ScriptElementKind.memberGetAccessorElement
      if (65536 & a) return e.ScriptElementKind.memberSetAccessorElement
      if (8192 & a) return e.ScriptElementKind.memberFunctionElement
      if (16384 & a) return e.ScriptElementKind.constructorImplementationElement
      if (4 & a) {
        if (134217728 & a && 6 & r.checkFlags) {
          var i = e.forEach(t.getRootSymbols(r), function(t) {
            var r = t.getFlags()
            return 98311 & r
              ? e.ScriptElementKind.memberVariableElement
              : void e.Debug.assert(!!(8192 & r))
          })
          if (!i) {
            var s = t.getTypeOfSymbolAtLocation(r, n)
            return s.getCallSignatures().length
              ? e.ScriptElementKind.memberFunctionElement
              : e.ScriptElementKind.memberVariableElement
          }
          return i
        }
        return n.parent && e.isJsxAttribute(n.parent)
          ? e.ScriptElementKind.jsxAttribute
          : e.ScriptElementKind.memberVariableElement
      }
      return e.ScriptElementKind.unknown
    }
    function a(t) {
      return t && t.declarations && t.declarations.length > 0
        ? e.getNodeModifiers(t.declarations[0])
        : e.ScriptElementKindModifier.none
    }
    function i(t, a, i, o, s, c) {
      function u() {
        b.length && b.push(e.lineBreakPart())
      }
      function _() {
        b.push(e.spacePart()), b.push(e.keywordPart(92)), b.push(e.spacePart())
      }
      function l(r, n) {
        var a = e.symbolToDisplayParts(t, r, n || i, void 0, 3)
        e.addRange(b, a)
      }
      function d(t, r) {
        u(), r && (p(r), b.push(e.spacePart()), l(t))
      }
      function p(t) {
        switch (t) {
          case e.ScriptElementKind.variableElement:
          case e.ScriptElementKind.functionElement:
          case e.ScriptElementKind.letElement:
          case e.ScriptElementKind.constElement:
          case e.ScriptElementKind.constructorImplementationElement:
            return void b.push(e.textOrKeywordPart(t))
          default:
            return (
              b.push(e.punctuationPart(19)),
              b.push(e.textOrKeywordPart(t)),
              void b.push(e.punctuationPart(20))
            )
        }
      }
      function f(r, n, a) {
        e.addRange(b, e.signatureToDisplayParts(t, r, o, 32 | a)),
          n.length > 1 &&
            (b.push(e.spacePart()),
            b.push(e.punctuationPart(19)),
            b.push(e.operatorPart(37)),
            b.push(
              e.displayPart(
                (n.length - 1).toString(),
                e.SymbolDisplayPartKind.numericLiteral
              )
            ),
            b.push(e.spacePart()),
            b.push(e.textPart(2 === n.length ? 'overload' : 'overloads')),
            b.push(e.punctuationPart(20))),
          (m = r.getDocumentationComment()),
          (y = r.getJsDocTags())
      }
      function g(r, n) {
        var a = e.mapToDisplayParts(function(e) {
          t.getSymbolDisplayBuilder().buildTypeParameterDisplayFromSymbol(
            r,
            e,
            n
          )
        })
        e.addRange(b, a)
      }
      void 0 === c && (c = e.getMeaningFromLocation(s))
      var m,
        y,
        v,
        h,
        b = [],
        k = a.flags,
        x = n(t, a, s),
        C = 99 === s.kind && e.isExpression(s)
      if (x !== e.ScriptElementKind.unknown || 32 & k || 8388608 & k) {
        ;(x !== e.ScriptElementKind.memberGetAccessorElement &&
          x !== e.ScriptElementKind.memberSetAccessorElement) ||
          (x = e.ScriptElementKind.memberVariableElement)
        var S = void 0
        if (
          (h = C ? t.getTypeAtLocation(s) : t.getTypeOfSymbolAtLocation(a, s))
        ) {
          if (s.parent && 179 === s.parent.kind) {
            var D = s.parent.name
            ;(D === s || (D && 0 === D.getFullWidth())) && (s = s.parent)
          }
          var T = void 0
          if (
            (181 === s.kind || 182 === s.kind
              ? (T = s)
              : e.isCallExpressionTarget(s) || e.isNewExpressionTarget(s)
                ? (T = s.parent)
                : s.parent &&
                  e.isJsxOpeningLikeElement(s.parent) &&
                  e.isFunctionLike(a.valueDeclaration) &&
                  (T = s.parent),
            T)
          ) {
            var E = []
            ;(S = t.getResolvedSignature(T, E)), !S && E.length && (S = E[0])
            var N =
                182 === T.kind ||
                (e.isCallExpression(T) && 97 === T.expression.kind),
              A = N ? h.getConstructSignatures() : h.getCallSignatures()
            if (
              (e.contains(A, S.target) ||
                e.contains(A, S) ||
                (S = A.length ? A[0] : void 0),
              S)
            ) {
              switch (
                (N && 32 & k
                  ? ((x = e.ScriptElementKind.constructorImplementationElement),
                    d(h.symbol, x))
                  : 8388608 & k
                    ? ((x = e.ScriptElementKind.alias),
                      p(x),
                      b.push(e.spacePart()),
                      N && (b.push(e.keywordPart(94)), b.push(e.spacePart())),
                      l(a))
                    : d(a, x),
                x)
              ) {
                case e.ScriptElementKind.jsxAttribute:
                case e.ScriptElementKind.memberVariableElement:
                case e.ScriptElementKind.variableElement:
                case e.ScriptElementKind.constElement:
                case e.ScriptElementKind.letElement:
                case e.ScriptElementKind.parameterElement:
                case e.ScriptElementKind.localVariableElement:
                  b.push(e.punctuationPart(56)),
                    b.push(e.spacePart()),
                    N && (b.push(e.keywordPart(94)), b.push(e.spacePart())),
                    (32768 & h.flags && 16 & h.objectFlags) ||
                      !h.symbol ||
                      e.addRange(
                        b,
                        e.symbolToDisplayParts(t, h.symbol, o, void 0, 1)
                      ),
                    f(S, A, 8)
                  break
                default:
                  f(S, A)
              }
              v = !0
            }
          } else if (
            (e.isNameOfFunctionDeclaration(s) && !(98304 & a.flags)) ||
            (123 === s.kind && 152 === s.parent.kind)
          ) {
            var w = s.parent,
              A =
                152 === w.kind
                  ? h.getNonNullableType().getConstructSignatures()
                  : h.getNonNullableType().getCallSignatures()
            ;(S = t.isImplementationOfOverload(w)
              ? A[0]
              : t.getSignatureFromDeclaration(w)),
              152 === w.kind
                ? ((x = e.ScriptElementKind.constructorImplementationElement),
                  d(h.symbol, x))
                : d(
                    155 !== w.kind ||
                    2048 & h.symbol.flags ||
                    4096 & h.symbol.flags
                      ? a
                      : h.symbol,
                    x
                  ),
              f(S, A),
              (v = !0)
          }
        }
      }
      if (
        (32 & k &&
          !v &&
          !C &&
          (e.getDeclarationOfKind(a, 199)
            ? p(e.ScriptElementKind.localClassElement)
            : b.push(e.keywordPart(75)),
          b.push(e.spacePart()),
          l(a),
          g(a, i)),
        64 & k &&
          2 & c &&
          (u(),
          b.push(e.keywordPart(109)),
          b.push(e.spacePart()),
          l(a),
          g(a, i)),
        524288 & k &&
          (u(),
          b.push(e.keywordPart(138)),
          b.push(e.spacePart()),
          l(a),
          g(a, i),
          b.push(e.spacePart()),
          b.push(e.operatorPart(58)),
          b.push(e.spacePart()),
          e.addRange(
            b,
            e.typeToDisplayParts(t, t.getDeclaredTypeOfSymbol(a), o, 512)
          )),
        384 & k &&
          (u(),
          e.forEach(a.declarations, e.isConstEnumDeclaration) &&
            (b.push(e.keywordPart(76)), b.push(e.spacePart())),
          b.push(e.keywordPart(83)),
          b.push(e.spacePart()),
          l(a)),
        1536 & k)
      ) {
        u()
        var P = e.getDeclarationOfKind(a, 233),
          O = P && P.name && 71 === P.name.kind
        b.push(e.keywordPart(O ? 129 : 128)), b.push(e.spacePart()), l(a)
      }
      if (262144 & k && 2 & c)
        if (
          (u(),
          b.push(e.punctuationPart(19)),
          b.push(e.textPart('type parameter')),
          b.push(e.punctuationPart(20)),
          b.push(e.spacePart()),
          l(a),
          a.parent)
        )
          _(), l(a.parent, o), g(a.parent, o)
        else {
          var P = e.getDeclarationOfKind(a, 145)
          if ((e.Debug.assert(void 0 !== P), (P = P.parent)))
            if (e.isFunctionLikeKind(P.kind)) {
              _()
              var S = t.getSignatureFromDeclaration(P)
              156 === P.kind
                ? (b.push(e.keywordPart(94)), b.push(e.spacePart()))
                : 155 !== P.kind && P.name && l(P.symbol),
                e.addRange(b, e.signatureToDisplayParts(t, S, i, 32))
            } else
              231 === P.kind &&
                (_(),
                b.push(e.keywordPart(138)),
                b.push(e.spacePart()),
                l(P.symbol),
                g(P.symbol, i))
        }
      if (8 & k) {
        ;(x = e.ScriptElementKind.enumMemberElement), d(a, 'enum member')
        var P = a.declarations[0]
        if (264 === P.kind) {
          var F = t.getConstantValue(P)
          void 0 !== F &&
            (b.push(e.spacePart()),
            b.push(e.operatorPart(58)),
            b.push(e.spacePart()),
            b.push(
              e.displayPart(
                F.toString(),
                e.SymbolDisplayPartKind.numericLiteral
              )
            ))
        }
      }
      if (
        (8388608 & k &&
          (u(),
          236 === a.declarations[0].kind
            ? (b.push(e.keywordPart(84)),
              b.push(e.spacePart()),
              b.push(e.keywordPart(129)))
            : b.push(e.keywordPart(91)),
          b.push(e.spacePart()),
          l(a),
          e.forEach(a.declarations, function(r) {
            if (237 === r.kind) {
              var n = r
              if (e.isExternalModuleImportEqualsDeclaration(n))
                b.push(e.spacePart()),
                  b.push(e.operatorPart(58)),
                  b.push(e.spacePart()),
                  b.push(e.keywordPart(132)),
                  b.push(e.punctuationPart(19)),
                  b.push(
                    e.displayPart(
                      e.getTextOfNode(
                        e.getExternalModuleImportEqualsDeclarationExpression(n)
                      ),
                      e.SymbolDisplayPartKind.stringLiteral
                    )
                  ),
                  b.push(e.punctuationPart(20))
              else {
                var a = t.getSymbolAtLocation(n.moduleReference)
                a &&
                  (b.push(e.spacePart()),
                  b.push(e.operatorPart(58)),
                  b.push(e.spacePart()),
                  l(a, o))
              }
              return !0
            }
          })),
        !v)
      )
        if (x !== e.ScriptElementKind.unknown) {
          if (h)
            if (
              (C ? (u(), b.push(e.keywordPart(99))) : d(a, x),
              x === e.ScriptElementKind.memberVariableElement ||
                x === e.ScriptElementKind.jsxAttribute ||
                3 & k ||
                x === e.ScriptElementKind.localVariableElement ||
                C)
            )
              if (
                (b.push(e.punctuationPart(56)),
                b.push(e.spacePart()),
                h.symbol && 262144 & h.symbol.flags)
              ) {
                var I = e.mapToDisplayParts(function(e) {
                  t.getSymbolDisplayBuilder().buildTypeParameterDisplay(h, e, o)
                })
                e.addRange(b, I)
              } else e.addRange(b, e.typeToDisplayParts(t, h, o))
            else if (
              16 & k ||
              8192 & k ||
              16384 & k ||
              131072 & k ||
              98304 & k ||
              x === e.ScriptElementKind.memberFunctionElement
            ) {
              var A = h.getNonNullableType().getCallSignatures()
              f(A[0], A)
            }
        } else x = r(t, a, s)
      if (
        !m &&
        ((m = a.getDocumentationComment()),
        (y = a.getJsDocTags()),
        0 === m.length &&
          4 & a.flags &&
          a.parent &&
          e.forEach(a.parent.declarations, function(e) {
            return 265 === e.kind
          }))
      )
        for (var R = 0, M = a.declarations; R < M.length; R++) {
          var P = M[R]
          if (P.parent && 194 === P.parent.kind) {
            var L = t.getSymbolAtLocation(P.parent.right)
            if (
              L &&
              ((m = L.getDocumentationComment()),
              (y = L.getJsDocTags()),
              m.length > 0)
            )
              break
          }
        }
      return { displayParts: b, documentation: m, symbolKind: x, tags: y }
    }
    function o(t) {
      return (
        !t.parent &&
        e.forEach(t.declarations, function(t) {
          if (186 === t.kind) return !0
          if (226 !== t.kind && 228 !== t.kind) return !1
          for (var r = t.parent; !e.isFunctionBlock(r); r = r.parent)
            if (265 === r.kind || 234 === r.kind) return !1
          return !0
        })
      )
    }
    ;(t.getSymbolKind = r),
      (t.getSymbolModifiers = a),
      (t.getSymbolDisplayPartsDocumentationAndSymbolKind = i)
  })((t = e.SymbolDisplay || (e.SymbolDisplay = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t, r) {
    var a = [],
      i = r.compilerOptions
        ? n(r.compilerOptions, a)
        : e.getDefaultCompilerOptions()
    ;(i.isolatedModules = !0),
      (i.suppressOutputPathCheck = !0),
      (i.allowNonTsExtensions = !0),
      (i.noLib = !0),
      (i.lib = void 0),
      (i.types = void 0),
      (i.noEmit = void 0),
      (i.noEmitOnError = void 0),
      (i.paths = void 0),
      (i.rootDirs = void 0),
      (i.declaration = void 0),
      (i.declarationDir = void 0),
      (i.out = void 0),
      (i.outFile = void 0),
      (i.noResolve = !0)
    var o = r.fileName || (i.jsx ? 'module.tsx' : 'module.ts'),
      s = e.createSourceFile(o, t, i.target)
    r.moduleName && (s.moduleName = r.moduleName),
      r.renamedDependencies &&
        (s.renamedDependencies = e.createMapFromTemplate(r.renamedDependencies))
    var c,
      u,
      _ = e.getNewLineCharacter(i),
      l = {
        getSourceFile: function(t) {
          return t === e.normalizePath(o) ? s : void 0
        },
        writeFile: function(t, r) {
          e.fileExtensionIs(t, '.map')
            ? (e.Debug.assert(
                void 0 === u,
                "Unexpected multiple source map outputs for the file '" +
                  t +
                  "'"
              ),
              (u = r))
            : (e.Debug.assert(
                void 0 === c,
                "Unexpected multiple outputs for the file: '" + t + "'"
              ),
              (c = r))
        },
        getDefaultLibFileName: function() {
          return 'lib.d.ts'
        },
        useCaseSensitiveFileNames: function() {
          return !1
        },
        getCanonicalFileName: function(e) {
          return e
        },
        getCurrentDirectory: function() {
          return ''
        },
        getNewLine: function() {
          return _
        },
        fileExists: function(e) {
          return e === o
        },
        readFile: function() {
          return ''
        },
        directoryExists: function() {
          return !0
        },
        getDirectories: function() {
          return []
        }
      },
      d = e.createProgram([o], i, l)
    return (
      r.reportDiagnostics &&
        (e.addRange(a, d.getSyntacticDiagnostics(s)),
        e.addRange(a, d.getOptionsDiagnostics())),
      d.emit(),
      e.Debug.assert(void 0 !== c, 'Output generation failed'),
      { outputText: c, diagnostics: a, sourceMapText: u }
    )
  }
  function r(r, n, a, i, o) {
    var s = t(r, {
      compilerOptions: n,
      fileName: a,
      reportDiagnostics: !!i,
      moduleName: o
    })
    return e.addRange(i, s.diagnostics), s.outputText
  }
  function n(t, r) {
    ;(a =
      a ||
      e.filter(e.optionDeclarations, function(t) {
        return (
          'object' == typeof t.type &&
          !e.forEachEntry(t.type, function(e) {
            return 'number' != typeof e
          })
        )
      })),
      (t = e.clone(t))
    for (
      var n = function(n) {
          if (!e.hasProperty(t, n.name)) return 'continue'
          var a = t[n.name]
          'string' == typeof a
            ? (t[n.name] = e.parseCustomTypeOption(n, a, r))
            : e.forEachEntry(n.type, function(e) {
                return e === a
              }) || r.push(e.createCompilerDiagnosticForInvalidCustomType(n))
        },
        i = 0,
        o = a;
      i < o.length;
      i++
    ) {
      var s = o[i]
      n(s)
    }
    return t
  }
  ;(e.transpileModule = t), (e.transpile = r)
  var a
  e.fixupCompilerOptions = n
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(t, r, a, s) {
      function c() {
        e.Debug.assert(void 0 !== n, 'Scanner should be present'), (C = void 0)
        var t = n.getStartPos() !== a
        t &&
          (b
            ? (e.Debug.assert(0 !== b.length),
              (S = 4 === e.lastOrUndefined(b).kind))
            : (S = !1)),
          (h = void 0),
          (b = void 0),
          t || n.scan()
        for (var r = n.getStartPos(); r < s; ) {
          var i = n.getToken()
          if (!e.isTrivia(i)) break
          n.scan()
          var o = { pos: r, end: n.getStartPos(), kind: i }
          ;(r = n.getStartPos()), h || (h = []), h.push(o)
        }
        k = n.getStartPos()
      }
      function u(e) {
        if (e)
          switch (e.kind) {
            case 31:
            case 66:
            case 67:
            case 47:
            case 46:
              return !0
          }
        return !1
      }
      function _(e) {
        if (e.parent)
          switch (e.parent.kind) {
            case 253:
            case 251:
            case 252:
            case 250:
              return 71 === e.kind
          }
        return !1
      }
      function l(e) {
        return e && 10 === e.kind
      }
      function d(e) {
        return 12 === e.kind
      }
      function p(e) {
        return 15 === e.kind || 16 === e.kind
      }
      function f(e) {
        return 41 === e || 63 === e
      }
      function g(t) {
        if ((e.Debug.assert(void 0 !== n), !m()))
          return { leadingTrivia: h, trailingTrivia: void 0, token: void 0 }
        var r = u(t) ? 1 : d(t) ? 2 : p(t) ? 3 : _(t) ? 4 : l(t) ? 5 : 0
        if (C && r === x) return y(C, t)
        n.getStartPos() !== k &&
          (e.Debug.assert(void 0 !== C), n.setTextPos(k), n.scan())
        var a = n.getToken()
        1 === r && 29 === a
          ? ((a = n.reScanGreaterToken()),
            e.Debug.assert(t.kind === a),
            (x = 1))
          : 2 === r && f(a)
            ? ((a = n.reScanSlashToken()),
              e.Debug.assert(t.kind === a),
              (x = 2))
            : 3 === r && 18 === a
              ? ((a = n.reScanTemplateToken()), (x = 3))
              : 4 === r && 71 === a
                ? ((a = n.scanJsxIdentifier()), (x = 4))
                : 5 === r
                  ? ((a = n.reScanJsxToken()), (x = 5))
                  : (x = 0)
        var i = { pos: n.getStartPos(), end: n.getTextPos(), kind: a }
        for (
          b && (b = void 0);
          n.getStartPos() < s && ((a = n.scan()), e.isTrivia(a));

        ) {
          var o = { pos: n.getStartPos(), end: n.getTextPos(), kind: a }
          if ((b || (b = []), b.push(o), 4 === a)) {
            n.scan()
            break
          }
        }
        return (C = { leadingTrivia: h, trailingTrivia: b, token: i }), y(C, t)
      }
      function m() {
        e.Debug.assert(void 0 !== n)
        var t = C ? C.token.kind : n.getToken(),
          r = C ? C.token.pos : n.getStartPos()
        return r < s && 1 !== t && !e.isTrivia(t)
      }
      function y(t, r) {
        return (
          e.isToken(r) && t.token.kind !== r.kind && (t.token.kind = r.kind), t
        )
      }
      function v(e) {
        n.setTextPos(e.end),
          (k = n.getStartPos()),
          (x = void 0),
          (C = void 0),
          (S = !1),
          (h = void 0),
          (b = void 0)
      }
      e.Debug.assert(void 0 === n, 'Scanner should be undefined'),
        (n = 1 === r ? o : i),
        n.setText(t),
        n.setTextPos(a)
      var h,
        b,
        k,
        x,
        C,
        S = !0
      return {
        advance: c,
        readTokenInfo: g,
        isOnToken: m,
        getCurrentLeadingTrivia: function() {
          return h
        },
        lastTrailingTriviaWasNewLine: function() {
          return S
        },
        skipToEndOf: v,
        close: function() {
          e.Debug.assert(void 0 !== n),
            (C = void 0),
            n.setText(void 0),
            (n = void 0)
        }
      }
    }
    var n,
      a,
      i = e.createScanner(5, !1, 0),
      o = e.createScanner(5, !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'),
        (e[(e.RescanJsxText = 5)] = 'RescanJsxText')
    })(a || (a = {})),
      (t.getFormattingScanner = r)
  })((t = e.formatting || (e.formatting = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    var r = (function() {
      function t(e, t, r) {
        ;(this.sourceFile = e),
          (this.formattingRequestKind = t),
          (this.options = r)
      }
      return (
        (t.prototype.updateContext = function(t, r, n, a, i) {
          e.Debug.assert(void 0 !== t, 'currentTokenSpan is null'),
            e.Debug.assert(void 0 !== r, 'currentTokenParent is null'),
            e.Debug.assert(void 0 !== n, '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 = r),
            (this.nextTokenSpan = n),
            (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,
            r = this.sourceFile.getLineAndCharacterOfPosition(e.getEnd()).line
          return t === r
        }),
        (t.prototype.BlockIsOnOneLine = function(t) {
          var r = e.findChildOfKind(t, 17, this.sourceFile),
            n = e.findChildOfKind(t, 18, this.sourceFile)
          if (r && n) {
            var a = this.sourceFile.getLineAndCharacterOfPosition(r.getEnd())
                .line,
              i = this.sourceFile.getLineAndCharacterOfPosition(
                n.getStart(this.sourceFile)
              ).line
            return a === i
          }
          return !1
        }),
        t
      )
    })()
    t.FormattingContext = r
  })((t = e.formatting || (e.formatting = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(e) {
    var t
    !(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')
    })((t = 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, r) {
        void 0 === r && (r = 0),
          (this.Descriptor = e),
          (this.Operation = t),
          (this.Flag = r)
      }
      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) {
    var t
    !(function(e) {
      ;(e[(e.Ignore = 1)] = 'Ignore'),
        (e[(e.Space = 2)] = 'Space'),
        (e[(e.NewLine = 4)] = 'NewLine'),
        (e[(e.Delete = 8)] = 'Delete')
    })((t = 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(r, n) {
          return t.create4(
            e.Shared.TokenRange.FromToken(r),
            e.Shared.TokenRange.FromToken(n)
          )
        }),
        (t.create2 = function(r, n) {
          return t.create4(r, e.Shared.TokenRange.FromToken(n))
        }),
        (t.create3 = function(r, n) {
          return t.create4(e.Shared.TokenRange.FromToken(r), n)
        }),
        (t.create4 = function(e, r) {
          return new t(e, r)
        }),
        t
      )
    })()
    e.RuleDescriptor = t
  })((t = e.formatting || (e.formatting = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(e) {
    var t
    !(function(e) {
      ;(e[(e.None = 0)] = 'None'),
        (e[(e.CanDeleteNewLines = 1)] = 'CanDeleteNewLines')
    })((t = e.RuleFlags || (e.RuleFlags = {})))
  })((t = e.formatting || (e.formatting = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(e) {
    var t = (function() {
      function t(e, t) {
        ;(this.Context = e), (this.Action = t)
      }
      return (
        (t.prototype.toString = function() {
          return '[context=' + this.Context + ',action=' + this.Action + ']'
        }),
        (t.create1 = function(r) {
          return t.create2(e.RuleOperationContext.Any, r)
        }),
        (t.create2 = function(e, r) {
          return new t(e, 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] = 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, r = this.customContextChecks; t < r.length; t++) {
            var n = r[t]
            if (!n(e)) return !1
          }
          return !0
        }),
        e
      )
    })()
    ;(t.Any = new t()), (e.RuleOperationContext = t)
  })((t = e.formatting || (e.formatting = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    var r = (function() {
      function r() {
        ;(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, 25),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              8
            )
          )),
          (this.NoSpaceBeforeColon = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 56),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsNotBinaryOpContext
              ),
              8
            )
          )),
          (this.NoSpaceBeforeQuestionMark = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 55),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsNotBinaryOpContext
              ),
              8
            )
          )),
          (this.SpaceAfterColon = new t.Rule(
            t.RuleDescriptor.create3(56, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsNotBinaryOpContext
              ),
              2
            )
          )),
          (this.SpaceAfterQuestionMarkInConditionalOperator = new t.Rule(
            t.RuleDescriptor.create3(55, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsConditionalOperatorContext
              ),
              2
            )
          )),
          (this.NoSpaceAfterQuestionMark = new t.Rule(
            t.RuleDescriptor.create3(55, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              8
            )
          )),
          (this.SpaceAfterSemicolon = new t.Rule(
            t.RuleDescriptor.create3(25, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              2
            )
          )),
          (this.SpaceAfterCloseBrace = new t.Rule(
            t.RuleDescriptor.create3(
              18,
              t.Shared.TokenRange.FromRange(0, 142, [20])
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsAfterCodeBlockContext
              ),
              2
            )
          )),
          (this.SpaceBetweenCloseBraceAndElse = new t.Rule(
            t.RuleDescriptor.create1(18, 82),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              2
            )
          )),
          (this.SpaceBetweenCloseBraceAndWhile = new t.Rule(
            t.RuleDescriptor.create1(18, 106),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              2
            )
          )),
          (this.NoSpaceAfterCloseBrace = new t.Rule(
            t.RuleDescriptor.create3(
              18,
              t.Shared.TokenRange.FromTokens([22, 26, 25])
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              8
            )
          )),
          (this.NoSpaceBeforeDot = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 23),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              8
            )
          )),
          (this.NoSpaceAfterDot = new t.Rule(
            t.RuleDescriptor.create3(23, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              8
            )
          )),
          (this.NoSpaceBeforeOpenBracket = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 21),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              8
            )
          )),
          (this.NoSpaceAfterCloseBracket = new t.Rule(
            t.RuleDescriptor.create3(22, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsNotBeforeBlockInFunctionDeclarationContext
              ),
              8
            )
          )),
          (this.FunctionOpenBraceLeftTokenRange =
            t.Shared.TokenRange.AnyIncludingMultilineComments),
          (this.SpaceBeforeOpenBraceInFunction = new t.Rule(
            t.RuleDescriptor.create2(this.FunctionOpenBraceLeftTokenRange, 17),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsFunctionDeclContext,
                r.IsBeforeBlockContext,
                r.IsNotFormatOnEnter,
                r.IsSameLineTokenOrBeforeMultilineBlockContext
              ),
              2
            ),
            1
          )),
          (this.TypeScriptOpenBraceLeftTokenRange = t.Shared.TokenRange.FromTokens(
            [71, 3, 75, 84, 91]
          )),
          (this.SpaceBeforeOpenBraceInTypeScriptDeclWithBlock = new t.Rule(
            t.RuleDescriptor.create2(
              this.TypeScriptOpenBraceLeftTokenRange,
              17
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsTypeScriptDeclWithBlockContext,
                r.IsNotFormatOnEnter,
                r.IsSameLineTokenOrBeforeMultilineBlockContext
              ),
              2
            ),
            1
          )),
          (this.ControlOpenBraceLeftTokenRange = t.Shared.TokenRange.FromTokens(
            [20, 3, 81, 102, 87, 82]
          )),
          (this.SpaceBeforeOpenBraceInControl = new t.Rule(
            t.RuleDescriptor.create2(this.ControlOpenBraceLeftTokenRange, 17),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsControlDeclContext,
                r.IsNotFormatOnEnter,
                r.IsSameLineTokenOrBeforeMultilineBlockContext
              ),
              2
            ),
            1
          )),
          (this.SpaceAfterOpenBrace = new t.Rule(
            t.RuleDescriptor.create3(17, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabledOrUndefined(
                  'insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces'
                ),
                r.IsBraceWrappedContext
              ),
              2
            )
          )),
          (this.SpaceBeforeCloseBrace = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 18),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabledOrUndefined(
                  'insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces'
                ),
                r.IsBraceWrappedContext
              ),
              2
            )
          )),
          (this.NoSpaceAfterOpenBrace = new t.Rule(
            t.RuleDescriptor.create3(17, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabled(
                  'insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces'
                ),
                r.IsNonJsxSameLineTokenContext
              ),
              8
            )
          )),
          (this.NoSpaceBeforeCloseBrace = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 18),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabled(
                  'insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces'
                ),
                r.IsNonJsxSameLineTokenContext
              ),
              8
            )
          )),
          (this.NoSpaceBetweenEmptyBraceBrackets = new t.Rule(
            t.RuleDescriptor.create1(17, 18),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsObjectContext
              ),
              8
            )
          )),
          (this.NewLineAfterOpenBraceInBlockContext = new t.Rule(
            t.RuleDescriptor.create3(17, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsMultilineBlockContext),
              4
            )
          )),
          (this.NewLineBeforeCloseBraceInBlockContext = new t.Rule(
            t.RuleDescriptor.create2(
              t.Shared.TokenRange.AnyIncludingMultilineComments,
              18
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsMultilineBlockContext),
              4
            )
          )),
          (this.NoSpaceAfterUnaryPrefixOperator = new t.Rule(
            t.RuleDescriptor.create4(
              t.Shared.TokenRange.UnaryPrefixOperators,
              t.Shared.TokenRange.UnaryPrefixExpressions
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsNotBinaryOpContext
              ),
              8
            )
          )),
          (this.NoSpaceAfterUnaryPreincrementOperator = new t.Rule(
            t.RuleDescriptor.create3(
              43,
              t.Shared.TokenRange.UnaryPreincrementExpressions
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              8
            )
          )),
          (this.NoSpaceAfterUnaryPredecrementOperator = new t.Rule(
            t.RuleDescriptor.create3(
              44,
              t.Shared.TokenRange.UnaryPredecrementExpressions
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              8
            )
          )),
          (this.NoSpaceBeforeUnaryPostincrementOperator = new t.Rule(
            t.RuleDescriptor.create2(
              t.Shared.TokenRange.UnaryPostincrementExpressions,
              43
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              8
            )
          )),
          (this.NoSpaceBeforeUnaryPostdecrementOperator = new t.Rule(
            t.RuleDescriptor.create2(
              t.Shared.TokenRange.UnaryPostdecrementExpressions,
              44
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              8
            )
          )),
          (this.SpaceAfterPostincrementWhenFollowedByAdd = new t.Rule(
            t.RuleDescriptor.create1(43, 37),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsBinaryOpContext
              ),
              2
            )
          )),
          (this.SpaceAfterAddWhenFollowedByUnaryPlus = new t.Rule(
            t.RuleDescriptor.create1(37, 37),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsBinaryOpContext
              ),
              2
            )
          )),
          (this.SpaceAfterAddWhenFollowedByPreincrement = new t.Rule(
            t.RuleDescriptor.create1(37, 43),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsBinaryOpContext
              ),
              2
            )
          )),
          (this.SpaceAfterPostdecrementWhenFollowedBySubtract = new t.Rule(
            t.RuleDescriptor.create1(44, 38),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsBinaryOpContext
              ),
              2
            )
          )),
          (this.SpaceAfterSubtractWhenFollowedByUnaryMinus = new t.Rule(
            t.RuleDescriptor.create1(38, 38),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsBinaryOpContext
              ),
              2
            )
          )),
          (this.SpaceAfterSubtractWhenFollowedByPredecrement = new t.Rule(
            t.RuleDescriptor.create1(38, 44),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsBinaryOpContext
              ),
              2
            )
          )),
          (this.NoSpaceBeforeComma = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 26),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              8
            )
          )),
          (this.SpaceAfterCertainKeywords = new t.Rule(
            t.RuleDescriptor.create4(
              t.Shared.TokenRange.FromTokens([104, 100, 94, 80, 96, 103, 121]),
              t.Shared.TokenRange.Any
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              2
            )
          )),
          (this.SpaceAfterLetConstInVariableDeclaration = new t.Rule(
            t.RuleDescriptor.create4(
              t.Shared.TokenRange.FromTokens([110, 76]),
              t.Shared.TokenRange.Any
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsStartOfVariableDeclarationList
              ),
              2
            )
          )),
          (this.NoSpaceBeforeOpenParenInFuncCall = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 19),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsFunctionCallOrNewContext,
                r.IsPreviousTokenNotComma
              ),
              8
            )
          )),
          (this.SpaceAfterFunctionInFuncDecl = new t.Rule(
            t.RuleDescriptor.create3(89, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsFunctionDeclContext),
              2
            )
          )),
          (this.SpaceBeforeOpenParenInFuncDecl = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 19),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled('insertSpaceBeforeFunctionParenthesis'),
                r.IsNonJsxSameLineTokenContext,
                r.IsFunctionDeclContext
              ),
              2
            )
          )),
          (this.NoSpaceBeforeOpenParenInFuncDecl = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 19),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabledOrUndefined(
                  'insertSpaceBeforeFunctionParenthesis'
                ),
                r.IsNonJsxSameLineTokenContext,
                r.IsFunctionDeclContext
              ),
              8
            )
          )),
          (this.SpaceAfterVoidOperator = new t.Rule(
            t.RuleDescriptor.create3(105, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsVoidOpContext
              ),
              2
            )
          )),
          (this.NoSpaceBetweenReturnAndSemicolon = new t.Rule(
            t.RuleDescriptor.create1(96, 25),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              8
            )
          )),
          (this.SpaceBetweenStatements = new t.Rule(
            t.RuleDescriptor.create4(
              t.Shared.TokenRange.FromTokens([20, 81, 82, 73]),
              t.Shared.TokenRange.Any
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsNonJsxElementContext,
                r.IsNotForContext
              ),
              2
            )
          )),
          (this.SpaceAfterTryFinally = new t.Rule(
            t.RuleDescriptor.create2(
              t.Shared.TokenRange.FromTokens([102, 87]),
              17
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              2
            )
          )),
          (this.SpaceAfterGetSetInMember = new t.Rule(
            t.RuleDescriptor.create2(
              t.Shared.TokenRange.FromTokens([125, 135]),
              71
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsFunctionDeclContext),
              2
            )
          )),
          (this.SpaceBeforeBinaryKeywordOperator = new t.Rule(
            t.RuleDescriptor.create4(
              t.Shared.TokenRange.Any,
              t.Shared.TokenRange.BinaryKeywordOperators
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsBinaryOpContext
              ),
              2
            )
          )),
          (this.SpaceAfterBinaryKeywordOperator = new t.Rule(
            t.RuleDescriptor.create4(
              t.Shared.TokenRange.BinaryKeywordOperators,
              t.Shared.TokenRange.Any
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsBinaryOpContext
              ),
              2
            )
          )),
          (this.SpaceAfterConstructor = new t.Rule(
            t.RuleDescriptor.create1(123, 19),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled('insertSpaceAfterConstructor'),
                r.IsNonJsxSameLineTokenContext
              ),
              2
            )
          )),
          (this.NoSpaceAfterConstructor = new t.Rule(
            t.RuleDescriptor.create1(123, 19),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabledOrUndefined('insertSpaceAfterConstructor'),
                r.IsNonJsxSameLineTokenContext
              ),
              8
            )
          )),
          (this.NoSpaceAfterModuleImport = new t.Rule(
            t.RuleDescriptor.create2(
              t.Shared.TokenRange.FromTokens([128, 132]),
              19
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              8
            )
          )),
          (this.SpaceAfterCertainTypeScriptKeywords = new t.Rule(
            t.RuleDescriptor.create4(
              t.Shared.TokenRange.FromTokens([
                117,
                75,
                124,
                79,
                83,
                84,
                85,
                125,
                108,
                91,
                109,
                128,
                129,
                112,
                114,
                113,
                131,
                135,
                115,
                138,
                140,
                127
              ]),
              t.Shared.TokenRange.Any
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              2
            )
          )),
          (this.SpaceBeforeCertainTypeScriptKeywords = new t.Rule(
            t.RuleDescriptor.create4(
              t.Shared.TokenRange.Any,
              t.Shared.TokenRange.FromTokens([85, 108, 140])
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              2
            )
          )),
          (this.SpaceAfterModuleName = new t.Rule(
            t.RuleDescriptor.create1(9, 17),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsModuleDeclContext),
              2
            )
          )),
          (this.SpaceBeforeArrow = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 36),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              2
            )
          )),
          (this.SpaceAfterArrow = new t.Rule(
            t.RuleDescriptor.create3(36, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              2
            )
          )),
          (this.NoSpaceAfterEllipsis = new t.Rule(
            t.RuleDescriptor.create1(24, 71),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              8
            )
          )),
          (this.NoSpaceAfterOptionalParameters = new t.Rule(
            t.RuleDescriptor.create3(
              55,
              t.Shared.TokenRange.FromTokens([20, 26])
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsNotBinaryOpContext
              ),
              8
            )
          )),
          (this.NoSpaceBeforeOpenAngularBracket = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.TypeNames, 27),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsTypeArgumentOrParameterOrAssertionContext
              ),
              8
            )
          )),
          (this.NoSpaceBetweenCloseParenAndAngularBracket = new t.Rule(
            t.RuleDescriptor.create1(20, 27),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsTypeArgumentOrParameterOrAssertionContext
              ),
              8
            )
          )),
          (this.NoSpaceAfterOpenAngularBracket = new t.Rule(
            t.RuleDescriptor.create3(27, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsTypeArgumentOrParameterOrAssertionContext
              ),
              8
            )
          )),
          (this.NoSpaceBeforeCloseAngularBracket = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 29),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsTypeArgumentOrParameterOrAssertionContext
              ),
              8
            )
          )),
          (this.NoSpaceAfterCloseAngularBracket = new t.Rule(
            t.RuleDescriptor.create3(
              29,
              t.Shared.TokenRange.FromTokens([19, 21, 29, 26])
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsTypeArgumentOrParameterOrAssertionContext
              ),
              8
            )
          )),
          (this.NoSpaceBetweenEmptyInterfaceBraceBrackets = new t.Rule(
            t.RuleDescriptor.create1(17, 18),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsObjectTypeContext
              ),
              8
            )
          )),
          (this.SpaceBeforeAt = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 57),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              2
            )
          )),
          (this.NoSpaceAfterAt = new t.Rule(
            t.RuleDescriptor.create3(57, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              8
            )
          )),
          (this.SpaceAfterDecorator = new t.Rule(
            t.RuleDescriptor.create4(
              t.Shared.TokenRange.Any,
              t.Shared.TokenRange.FromTokens([
                117,
                71,
                84,
                79,
                75,
                115,
                114,
                112,
                113,
                125,
                135,
                21,
                39
              ])
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsEndOfDecoratorContextOnSameLine),
              2
            )
          )),
          (this.NoSpaceBetweenFunctionKeywordAndStar = new t.Rule(
            t.RuleDescriptor.create1(89, 39),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsFunctionDeclarationOrFunctionExpressionContext
              ),
              8
            )
          )),
          (this.SpaceAfterStarInGeneratorDeclaration = new t.Rule(
            t.RuleDescriptor.create3(
              39,
              t.Shared.TokenRange.FromTokens([71, 19])
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsFunctionDeclarationOrFunctionExpressionContext
              ),
              2
            )
          )),
          (this.NoSpaceBetweenYieldKeywordAndStar = new t.Rule(
            t.RuleDescriptor.create1(116, 39),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsYieldOrYieldStarWithOperand
              ),
              8
            )
          )),
          (this.SpaceBetweenYieldOrYieldStarAndOperand = new t.Rule(
            t.RuleDescriptor.create4(
              t.Shared.TokenRange.FromTokens([116, 39]),
              t.Shared.TokenRange.Any
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsYieldOrYieldStarWithOperand
              ),
              2
            )
          )),
          (this.SpaceBetweenAsyncAndOpenParen = new t.Rule(
            t.RuleDescriptor.create1(120, 19),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsArrowFunctionContext,
                r.IsNonJsxSameLineTokenContext
              ),
              2
            )
          )),
          (this.SpaceBetweenAsyncAndFunctionKeyword = new t.Rule(
            t.RuleDescriptor.create1(120, 89),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              2
            )
          )),
          (this.NoSpaceBetweenTagAndTemplateString = new t.Rule(
            t.RuleDescriptor.create3(
              71,
              t.Shared.TokenRange.FromTokens([13, 14])
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              8
            )
          )),
          (this.SpaceBeforeJsxAttribute = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 71),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNextTokenParentJsxAttribute,
                r.IsNonJsxSameLineTokenContext
              ),
              2
            )
          )),
          (this.SpaceBeforeSlashInJsxOpeningElement = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 41),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsJsxSelfClosingElementContext,
                r.IsNonJsxSameLineTokenContext
              ),
              2
            )
          )),
          (this.NoSpaceBeforeGreaterThanTokenInJsxOpeningElement = new t.Rule(
            t.RuleDescriptor.create1(41, 29),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsJsxSelfClosingElementContext,
                r.IsNonJsxSameLineTokenContext
              ),
              8
            )
          )),
          (this.NoSpaceBeforeEqualInJsxAttribute = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 58),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsJsxAttributeContext,
                r.IsNonJsxSameLineTokenContext
              ),
              8
            )
          )),
          (this.NoSpaceAfterEqualInJsxAttribute = new t.Rule(
            t.RuleDescriptor.create3(58, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsJsxAttributeContext,
                r.IsNonJsxSameLineTokenContext
              ),
              8
            )
          )),
          (this.NoSpaceBeforeNonNullAssertionOperator = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 51),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsNonJsxSameLineTokenContext,
                r.IsNonNullAssertionContext
              ),
              8
            )
          )),
          (this.SpaceAfterComma = new t.Rule(
            t.RuleDescriptor.create3(26, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled('insertSpaceAfterCommaDelimiter'),
                r.IsNonJsxSameLineTokenContext,
                r.IsNonJsxElementContext,
                r.IsNextTokenNotCloseBracket
              ),
              2
            )
          )),
          (this.NoSpaceAfterComma = new t.Rule(
            t.RuleDescriptor.create3(26, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabledOrUndefined('insertSpaceAfterCommaDelimiter'),
                r.IsNonJsxSameLineTokenContext,
                r.IsNonJsxElementContext
              ),
              8
            )
          )),
          (this.SpaceBeforeBinaryOperator = new t.Rule(
            t.RuleDescriptor.create4(
              t.Shared.TokenRange.Any,
              t.Shared.TokenRange.BinaryOperators
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled('insertSpaceBeforeAndAfterBinaryOperators'),
                r.IsNonJsxSameLineTokenContext,
                r.IsBinaryOpContext
              ),
              2
            )
          )),
          (this.SpaceAfterBinaryOperator = new t.Rule(
            t.RuleDescriptor.create4(
              t.Shared.TokenRange.BinaryOperators,
              t.Shared.TokenRange.Any
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled('insertSpaceBeforeAndAfterBinaryOperators'),
                r.IsNonJsxSameLineTokenContext,
                r.IsBinaryOpContext
              ),
              2
            )
          )),
          (this.NoSpaceBeforeBinaryOperator = new t.Rule(
            t.RuleDescriptor.create4(
              t.Shared.TokenRange.Any,
              t.Shared.TokenRange.BinaryOperators
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabledOrUndefined(
                  'insertSpaceBeforeAndAfterBinaryOperators'
                ),
                r.IsNonJsxSameLineTokenContext,
                r.IsBinaryOpContext
              ),
              8
            )
          )),
          (this.NoSpaceAfterBinaryOperator = new t.Rule(
            t.RuleDescriptor.create4(
              t.Shared.TokenRange.BinaryOperators,
              t.Shared.TokenRange.Any
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabledOrUndefined(
                  'insertSpaceBeforeAndAfterBinaryOperators'
                ),
                r.IsNonJsxSameLineTokenContext,
                r.IsBinaryOpContext
              ),
              8
            )
          )),
          (this.SpaceAfterKeywordInControl = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Keywords, 19),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled(
                  'insertSpaceAfterKeywordsInControlFlowStatements'
                ),
                r.IsControlDeclContext
              ),
              2
            )
          )),
          (this.NoSpaceAfterKeywordInControl = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Keywords, 19),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabledOrUndefined(
                  'insertSpaceAfterKeywordsInControlFlowStatements'
                ),
                r.IsControlDeclContext
              ),
              8
            )
          )),
          (this.NewLineBeforeOpenBraceInFunction = new t.Rule(
            t.RuleDescriptor.create2(this.FunctionOpenBraceLeftTokenRange, 17),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled('placeOpenBraceOnNewLineForFunctions'),
                r.IsFunctionDeclContext,
                r.IsBeforeMultilineBlockContext
              ),
              4
            ),
            1
          )),
          (this.NewLineBeforeOpenBraceInTypeScriptDeclWithBlock = new t.Rule(
            t.RuleDescriptor.create2(
              this.TypeScriptOpenBraceLeftTokenRange,
              17
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled('placeOpenBraceOnNewLineForFunctions'),
                r.IsTypeScriptDeclWithBlockContext,
                r.IsBeforeMultilineBlockContext
              ),
              4
            ),
            1
          )),
          (this.NewLineBeforeOpenBraceInControl = new t.Rule(
            t.RuleDescriptor.create2(this.ControlOpenBraceLeftTokenRange, 17),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled('placeOpenBraceOnNewLineForControlBlocks'),
                r.IsControlDeclContext,
                r.IsBeforeMultilineBlockContext
              ),
              4
            ),
            1
          )),
          (this.SpaceAfterSemicolonInFor = new t.Rule(
            t.RuleDescriptor.create3(25, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled('insertSpaceAfterSemicolonInForStatements'),
                r.IsNonJsxSameLineTokenContext,
                r.IsForContext
              ),
              2
            )
          )),
          (this.NoSpaceAfterSemicolonInFor = new t.Rule(
            t.RuleDescriptor.create3(25, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabledOrUndefined(
                  'insertSpaceAfterSemicolonInForStatements'
                ),
                r.IsNonJsxSameLineTokenContext,
                r.IsForContext
              ),
              8
            )
          )),
          (this.SpaceAfterOpenParen = new t.Rule(
            t.RuleDescriptor.create3(19, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled(
                  'insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis'
                ),
                r.IsNonJsxSameLineTokenContext
              ),
              2
            )
          )),
          (this.SpaceBeforeCloseParen = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 20),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled(
                  'insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis'
                ),
                r.IsNonJsxSameLineTokenContext
              ),
              2
            )
          )),
          (this.NoSpaceBetweenParens = new t.Rule(
            t.RuleDescriptor.create1(19, 20),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              8
            )
          )),
          (this.NoSpaceAfterOpenParen = new t.Rule(
            t.RuleDescriptor.create3(19, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabledOrUndefined(
                  'insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis'
                ),
                r.IsNonJsxSameLineTokenContext
              ),
              8
            )
          )),
          (this.NoSpaceBeforeCloseParen = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 20),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabledOrUndefined(
                  'insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis'
                ),
                r.IsNonJsxSameLineTokenContext
              ),
              8
            )
          )),
          (this.SpaceAfterOpenBracket = new t.Rule(
            t.RuleDescriptor.create3(21, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled(
                  'insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets'
                ),
                r.IsNonJsxSameLineTokenContext
              ),
              2
            )
          )),
          (this.SpaceBeforeCloseBracket = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 22),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled(
                  'insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets'
                ),
                r.IsNonJsxSameLineTokenContext
              ),
              2
            )
          )),
          (this.NoSpaceBetweenBrackets = new t.Rule(
            t.RuleDescriptor.create1(21, 22),
            t.RuleOperation.create2(
              new t.RuleOperationContext(r.IsNonJsxSameLineTokenContext),
              8
            )
          )),
          (this.NoSpaceAfterOpenBracket = new t.Rule(
            t.RuleDescriptor.create3(21, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabledOrUndefined(
                  'insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets'
                ),
                r.IsNonJsxSameLineTokenContext
              ),
              8
            )
          )),
          (this.NoSpaceBeforeCloseBracket = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 22),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabledOrUndefined(
                  'insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets'
                ),
                r.IsNonJsxSameLineTokenContext
              ),
              8
            )
          )),
          (this.NoSpaceAfterTemplateHeadAndMiddle = new t.Rule(
            t.RuleDescriptor.create4(
              t.Shared.TokenRange.FromTokens([14, 15]),
              t.Shared.TokenRange.Any
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabledOrUndefined(
                  'insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces'
                ),
                r.IsNonJsxSameLineTokenContext
              ),
              8
            )
          )),
          (this.SpaceAfterTemplateHeadAndMiddle = new t.Rule(
            t.RuleDescriptor.create4(
              t.Shared.TokenRange.FromTokens([14, 15]),
              t.Shared.TokenRange.Any
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled(
                  'insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces'
                ),
                r.IsNonJsxSameLineTokenContext
              ),
              2
            )
          )),
          (this.NoSpaceBeforeTemplateMiddleAndTail = new t.Rule(
            t.RuleDescriptor.create4(
              t.Shared.TokenRange.Any,
              t.Shared.TokenRange.FromTokens([15, 16])
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabledOrUndefined(
                  'insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces'
                ),
                r.IsNonJsxSameLineTokenContext
              ),
              8
            )
          )),
          (this.SpaceBeforeTemplateMiddleAndTail = new t.Rule(
            t.RuleDescriptor.create4(
              t.Shared.TokenRange.Any,
              t.Shared.TokenRange.FromTokens([15, 16])
            ),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled(
                  'insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces'
                ),
                r.IsNonJsxSameLineTokenContext
              ),
              2
            )
          )),
          (this.NoSpaceAfterOpenBraceInJsxExpression = new t.Rule(
            t.RuleDescriptor.create3(17, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabledOrUndefined(
                  'insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces'
                ),
                r.IsNonJsxSameLineTokenContext,
                r.IsJsxExpressionContext
              ),
              8
            )
          )),
          (this.SpaceAfterOpenBraceInJsxExpression = new t.Rule(
            t.RuleDescriptor.create3(17, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled(
                  'insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces'
                ),
                r.IsNonJsxSameLineTokenContext,
                r.IsJsxExpressionContext
              ),
              2
            )
          )),
          (this.NoSpaceBeforeCloseBraceInJsxExpression = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 18),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabledOrUndefined(
                  'insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces'
                ),
                r.IsNonJsxSameLineTokenContext,
                r.IsJsxExpressionContext
              ),
              8
            )
          )),
          (this.SpaceBeforeCloseBraceInJsxExpression = new t.Rule(
            t.RuleDescriptor.create2(t.Shared.TokenRange.Any, 18),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled(
                  'insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces'
                ),
                r.IsNonJsxSameLineTokenContext,
                r.IsJsxExpressionContext
              ),
              2
            )
          )),
          (this.SpaceAfterAnonymousFunctionKeyword = new t.Rule(
            t.RuleDescriptor.create1(89, 19),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled(
                  'insertSpaceAfterFunctionKeywordForAnonymousFunctions'
                ),
                r.IsFunctionDeclContext
              ),
              2
            )
          )),
          (this.NoSpaceAfterAnonymousFunctionKeyword = new t.Rule(
            t.RuleDescriptor.create1(89, 19),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabledOrUndefined(
                  'insertSpaceAfterFunctionKeywordForAnonymousFunctions'
                ),
                r.IsFunctionDeclContext
              ),
              8
            )
          )),
          (this.NoSpaceAfterTypeAssertion = new t.Rule(
            t.RuleDescriptor.create3(29, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionDisabledOrUndefined('insertSpaceAfterTypeAssertion'),
                r.IsNonJsxSameLineTokenContext,
                r.IsTypeAssertionContext
              ),
              8
            )
          )),
          (this.SpaceAfterTypeAssertion = new t.Rule(
            t.RuleDescriptor.create3(29, t.Shared.TokenRange.Any),
            t.RuleOperation.create2(
              new t.RuleOperationContext(
                r.IsOptionEnabled('insertSpaceAfterTypeAssertion'),
                r.IsNonJsxSameLineTokenContext,
                r.IsTypeAssertionContext
              ),
              2
            )
          )),
          (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.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.SpaceBeforeJsxAttribute,
            this.SpaceBeforeSlashInJsxOpeningElement,
            this.NoSpaceBeforeGreaterThanTokenInJsxOpeningElement,
            this.NoSpaceBeforeEqualInJsxAttribute,
            this.NoSpaceAfterEqualInJsxAttribute,
            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.SpaceBeforeAt,
            this.NoSpaceAfterAt,
            this.SpaceAfterDecorator,
            this.NoSpaceBeforeNonNullAssertionOperator
          ]),
          (this.UserConfigurableRules = [
            this.SpaceAfterConstructor,
            this.NoSpaceAfterConstructor,
            this.SpaceAfterComma,
            this.NoSpaceAfterComma,
            this.SpaceAfterAnonymousFunctionKeyword,
            this.NoSpaceAfterAnonymousFunctionKeyword,
            this.SpaceAfterKeywordInControl,
            this.NoSpaceAfterKeywordInControl,
            this.SpaceAfterOpenParen,
            this.SpaceBeforeCloseParen,
            this.NoSpaceBetweenParens,
            this.NoSpaceAfterOpenParen,
            this.NoSpaceBeforeCloseParen,
            this.SpaceAfterOpenBracket,
            this.SpaceBeforeCloseBracket,
            this.NoSpaceBetweenBrackets,
            this.NoSpaceAfterOpenBracket,
            this.NoSpaceBeforeCloseBracket,
            this.SpaceAfterOpenBrace,
            this.SpaceBeforeCloseBrace,
            this.NoSpaceBetweenEmptyBraceBrackets,
            this.NoSpaceAfterOpenBrace,
            this.NoSpaceBeforeCloseBrace,
            this.SpaceAfterTemplateHeadAndMiddle,
            this.SpaceBeforeTemplateMiddleAndTail,
            this.NoSpaceAfterTemplateHeadAndMiddle,
            this.NoSpaceBeforeTemplateMiddleAndTail,
            this.SpaceAfterOpenBraceInJsxExpression,
            this.SpaceBeforeCloseBraceInJsxExpression,
            this.NoSpaceAfterOpenBraceInJsxExpression,
            this.NoSpaceBeforeCloseBraceInJsxExpression,
            this.SpaceAfterSemicolonInFor,
            this.NoSpaceAfterSemicolonInFor,
            this.SpaceBeforeBinaryOperator,
            this.SpaceAfterBinaryOperator,
            this.NoSpaceBeforeBinaryOperator,
            this.NoSpaceAfterBinaryOperator,
            this.SpaceBeforeOpenParenInFuncDecl,
            this.NoSpaceBeforeOpenParenInFuncDecl,
            this.NewLineBeforeOpenBraceInControl,
            this.NewLineBeforeOpenBraceInFunction,
            this.NewLineBeforeOpenBraceInTypeScriptDeclWithBlock,
            this.SpaceAfterTypeAssertion,
            this.NoSpaceAfterTypeAssertion
          ]),
          (this.LowPriorityCommonRules = [
            this.NoSpaceBeforeSemicolon,
            this.SpaceBeforeOpenBraceInControl,
            this.SpaceBeforeOpenBraceInFunction,
            this.SpaceBeforeOpenBraceInTypeScriptDeclWithBlock,
            this.NoSpaceBeforeComma,
            this.NoSpaceBeforeOpenBracket,
            this.NoSpaceAfterCloseBracket,
            this.SpaceAfterSemicolon,
            this.SpaceBetweenStatements,
            this.SpaceAfterTryFinally
          ])
      }
      return (
        (r.prototype.getRuleName = function(e) {
          var t = this
          for (var r in t) if (t[r] === e) return r
          throw new Error('Unknown rule')
        }),
        (r.IsOptionEnabled = function(e) {
          return function(t) {
            return t.options && t.options.hasOwnProperty(e) && !!t.options[e]
          }
        }),
        (r.IsOptionDisabled = function(e) {
          return function(t) {
            return t.options && t.options.hasOwnProperty(e) && !t.options[e]
          }
        }),
        (r.IsOptionDisabledOrUndefined = function(e) {
          return function(t) {
            return !t.options || !t.options.hasOwnProperty(e) || !t.options[e]
          }
        }),
        (r.IsOptionEnabledOrUndefined = function(e) {
          return function(t) {
            return !t.options || !t.options.hasOwnProperty(e) || !!t.options[e]
          }
        }),
        (r.IsForContext = function(e) {
          return 214 === e.contextNode.kind
        }),
        (r.IsNotForContext = function(e) {
          return !r.IsForContext(e)
        }),
        (r.IsBinaryOpContext = function(e) {
          switch (e.contextNode.kind) {
            case 194:
            case 195:
            case 202:
            case 246:
            case 242:
            case 158:
            case 166:
            case 167:
              return !0
            case 176:
            case 231:
            case 237:
            case 226:
            case 146:
            case 264:
            case 149:
            case 148:
              return (
                58 === e.currentTokenSpan.kind || 58 === e.nextTokenSpan.kind
              )
            case 215:
            case 145:
              return (
                92 === e.currentTokenSpan.kind || 92 === e.nextTokenSpan.kind
              )
            case 216:
              return (
                142 === e.currentTokenSpan.kind || 142 === e.nextTokenSpan.kind
              )
          }
          return !1
        }),
        (r.IsNotBinaryOpContext = function(e) {
          return !r.IsBinaryOpContext(e)
        }),
        (r.IsConditionalOperatorContext = function(e) {
          return 195 === e.contextNode.kind
        }),
        (r.IsSameLineTokenOrBeforeMultilineBlockContext = function(e) {
          return e.TokensAreOnSameLine() || r.IsBeforeMultilineBlockContext(e)
        }),
        (r.IsBraceWrappedContext = function(e) {
          return 174 === e.contextNode.kind || r.IsSingleLineBlockContext(e)
        }),
        (r.IsBeforeMultilineBlockContext = function(e) {
          return (
            r.IsBeforeBlockContext(e) &&
            !(e.NextNodeAllOnSameLine() || e.NextNodeBlockIsOnOneLine())
          )
        }),
        (r.IsMultilineBlockContext = function(e) {
          return (
            r.IsBlockContext(e) &&
            !(e.ContextNodeAllOnSameLine() || e.ContextNodeBlockIsOnOneLine())
          )
        }),
        (r.IsSingleLineBlockContext = function(e) {
          return (
            r.IsBlockContext(e) &&
            (e.ContextNodeAllOnSameLine() || e.ContextNodeBlockIsOnOneLine())
          )
        }),
        (r.IsBlockContext = function(e) {
          return r.NodeIsBlockContext(e.contextNode)
        }),
        (r.IsBeforeBlockContext = function(e) {
          return r.NodeIsBlockContext(e.nextTokenParent)
        }),
        (r.NodeIsBlockContext = function(e) {
          if (r.NodeIsTypeScriptDeclWithBlockContext(e)) return !0
          switch (e.kind) {
            case 207:
            case 235:
            case 178:
            case 234:
              return !0
          }
          return !1
        }),
        (r.IsFunctionDeclContext = function(e) {
          switch (e.contextNode.kind) {
            case 228:
            case 151:
            case 150:
            case 153:
            case 154:
            case 155:
            case 186:
            case 152:
            case 187:
            case 230:
              return !0
          }
          return !1
        }),
        (r.IsFunctionDeclarationOrFunctionExpressionContext = function(e) {
          return 228 === e.contextNode.kind || 186 === e.contextNode.kind
        }),
        (r.IsTypeScriptDeclWithBlockContext = function(e) {
          return r.NodeIsTypeScriptDeclWithBlockContext(e.contextNode)
        }),
        (r.NodeIsTypeScriptDeclWithBlockContext = function(e) {
          switch (e.kind) {
            case 229:
            case 199:
            case 230:
            case 232:
            case 163:
            case 233:
            case 244:
            case 245:
            case 238:
            case 241:
              return !0
          }
          return !1
        }),
        (r.IsAfterCodeBlockContext = function(e) {
          switch (e.currentTokenParent.kind) {
            case 229:
            case 233:
            case 232:
            case 260:
            case 234:
            case 221:
              return !0
            case 207:
              var t = e.currentTokenParent.parent
              if (187 !== t.kind && 186 !== t.kind) return !0
          }
          return !1
        }),
        (r.IsControlDeclContext = function(e) {
          switch (e.contextNode.kind) {
            case 211:
            case 221:
            case 214:
            case 215:
            case 216:
            case 213:
            case 224:
            case 212:
            case 220:
            case 260:
              return !0
            default:
              return !1
          }
        }),
        (r.IsObjectContext = function(e) {
          return 178 === e.contextNode.kind
        }),
        (r.IsFunctionCallContext = function(e) {
          return 181 === e.contextNode.kind
        }),
        (r.IsNewContext = function(e) {
          return 182 === e.contextNode.kind
        }),
        (r.IsFunctionCallOrNewContext = function(e) {
          return r.IsFunctionCallContext(e) || r.IsNewContext(e)
        }),
        (r.IsPreviousTokenNotComma = function(e) {
          return 26 !== e.currentTokenSpan.kind
        }),
        (r.IsNextTokenNotCloseBracket = function(e) {
          return 22 !== e.nextTokenSpan.kind
        }),
        (r.IsArrowFunctionContext = function(e) {
          return 187 === e.contextNode.kind
        }),
        (r.IsNonJsxSameLineTokenContext = function(e) {
          return e.TokensAreOnSameLine() && 10 !== e.contextNode.kind
        }),
        (r.IsNonJsxElementContext = function(e) {
          return 249 !== e.contextNode.kind
        }),
        (r.IsJsxExpressionContext = function(e) {
          return 256 === e.contextNode.kind
        }),
        (r.IsNextTokenParentJsxAttribute = function(e) {
          return 253 === e.nextTokenParent.kind
        }),
        (r.IsJsxAttributeContext = function(e) {
          return 253 === e.contextNode.kind
        }),
        (r.IsJsxSelfClosingElementContext = function(e) {
          return 250 === e.contextNode.kind
        }),
        (r.IsNotBeforeBlockInFunctionDeclarationContext = function(e) {
          return !r.IsFunctionDeclContext(e) && !r.IsBeforeBlockContext(e)
        }),
        (r.IsEndOfDecoratorContextOnSameLine = function(e) {
          return (
            e.TokensAreOnSameLine() &&
            e.contextNode.decorators &&
            r.NodeIsInDecoratorContext(e.currentTokenParent) &&
            !r.NodeIsInDecoratorContext(e.nextTokenParent)
          )
        }),
        (r.NodeIsInDecoratorContext = function(t) {
          for (; e.isPartOfExpression(t); ) t = t.parent
          return 147 === t.kind
        }),
        (r.IsStartOfVariableDeclarationList = function(e) {
          return (
            227 === e.currentTokenParent.kind &&
            e.currentTokenParent.getStart(e.sourceFile) ===
              e.currentTokenSpan.pos
          )
        }),
        (r.IsNotFormatOnEnter = function(e) {
          return 2 !== e.formattingRequestKind
        }),
        (r.IsModuleDeclContext = function(e) {
          return 233 === e.contextNode.kind
        }),
        (r.IsObjectTypeContext = function(e) {
          return 163 === e.contextNode.kind
        }),
        (r.IsTypeArgumentOrParameterOrAssertion = function(e, t) {
          if (27 !== e.kind && 29 !== e.kind) return !1
          switch (t.kind) {
            case 159:
            case 184:
            case 231:
            case 229:
            case 199:
            case 230:
            case 228:
            case 186:
            case 187:
            case 151:
            case 150:
            case 155:
            case 156:
            case 181:
            case 182:
            case 201:
              return !0
            default:
              return !1
          }
        }),
        (r.IsTypeArgumentOrParameterOrAssertionContext = function(e) {
          return (
            r.IsTypeArgumentOrParameterOrAssertion(
              e.currentTokenSpan,
              e.currentTokenParent
            ) ||
            r.IsTypeArgumentOrParameterOrAssertion(
              e.nextTokenSpan,
              e.nextTokenParent
            )
          )
        }),
        (r.IsTypeAssertionContext = function(e) {
          return 184 === e.contextNode.kind
        }),
        (r.IsVoidOpContext = function(e) {
          return (
            105 === e.currentTokenSpan.kind && 190 === e.currentTokenParent.kind
          )
        }),
        (r.IsYieldOrYieldStarWithOperand = function(e) {
          return (
            197 === e.contextNode.kind && void 0 !== e.contextNode.expression
          )
        }),
        (r.IsNonNullAssertionContext = function(e) {
          return 203 === e.contextNode.kind
        }),
        r
      )
    })()
    t.Rules = r
  })((t = e.formatting || (e.formatting = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    var r = (function() {
      function r() {
        ;(this.map = []), (this.mapRowLength = 0)
      }
      return (
        (r.create = function(e) {
          var t = new r()
          return t.Initialize(e), t
        }),
        (r.prototype.Initialize = function(e) {
          ;(this.mapRowLength = 143),
            (this.map = new Array(this.mapRowLength * this.mapRowLength))
          var t = new Array(this.map.length)
          return this.FillRules(e, t), this.map
        }),
        (r.prototype.FillRules = function(e, t) {
          var r = this
          e.forEach(function(e) {
            r.FillRule(e, t)
          })
        }),
        (r.prototype.GetRuleBucketIndex = function(t, r) {
          e.Debug.assert(
            t <= 142 && r <= 142,
            'Must compute formatting context from tokens'
          )
          var n = t * this.mapRowLength + r
          return n
        }),
        (r.prototype.FillRule = function(e, r) {
          var n = 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 = n.GetRuleBucketIndex(t, i),
                c = n.map[o]
              void 0 === c && (c = n.map[o] = new s()), c.AddRule(e, a, r, o)
            })
          })
        }),
        (r.prototype.GetRule = function(e) {
          var t = this.GetRuleBucketIndex(
              e.currentTokenSpan.kind,
              e.nextTokenSpan.kind
            ),
            r = this.map[t]
          if (r)
            for (var n = 0, a = r.Rules(); n < a.length; n++) {
              var i = a[n]
              if (i.Operation.Context.InContext(e)) return i
            }
        }),
        r
      )
    })()
    t.RulesMap = r
    var n,
      a = 5,
      i = 31
    !(function(e) {
      ;(e[(e.IgnoreRulesSpecific = 0)] = 'IgnoreRulesSpecific'),
        (e[(e.IgnoreRulesAny = 1 * a)] = 'IgnoreRulesAny'),
        (e[(e.ContextRulesSpecific = 2 * a)] = 'ContextRulesSpecific'),
        (e[(e.ContextRulesAny = 3 * a)] = 'ContextRulesAny'),
        (e[(e.NoContextRulesSpecific = 4 * a)] = 'NoContextRulesSpecific'),
        (e[(e.NoContextRulesAny = 5 * a)] = 'NoContextRulesAny')
    })((n = t.RulesPosition || (t.RulesPosition = {})))
    var o = (function() {
      function t() {
        this.rulesInsertionIndexBitmap = 0
      }
      return (
        (t.prototype.GetInsertionIndex = function(e) {
          for (var t = 0, r = 0, n = this.rulesInsertionIndexBitmap; r <= e; )
            (t += n & i), (n >>= a), (r += a)
          return t
        }),
        (t.prototype.IncreaseInsertionIndex = function(t) {
          var r = (this.rulesInsertionIndexBitmap >> t) & i
          r++,
            e.Debug.assert(
              (r & i) === r,
              'Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules.'
            )
          var n = this.rulesInsertionIndexBitmap & ~(i << t)
          ;(n |= r << t), (this.rulesInsertionIndexBitmap = n)
        }),
        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, r, a) {
          var i
          i =
            1 === e.Operation.Action
              ? t
                ? n.IgnoreRulesSpecific
                : n.IgnoreRulesAny
              : e.Operation.Context.IsAny()
                ? t
                  ? n.NoContextRulesSpecific
                  : n.NoContextRulesAny
                : t
                  ? n.ContextRulesSpecific
                  : n.ContextRulesAny
          var s = r[a]
          void 0 === s && (s = r[a] = new o())
          var c = s.GetInsertionIndex(i)
          this.rules.splice(c, 0, e), s.IncreaseInsertionIndex(i)
        }),
        e
      )
    })()
    t.RulesBucket = s
  })((t = e.formatting || (e.formatting = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    var r
    !(function(t) {
      var r = (function() {
        function t(t, r, n) {
          this.tokens = []
          for (var a = t; a <= r; a++)
            e.indexOf(n, 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 = r
      var n = (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 = n
      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; t <= 142; t++) e.push(t)
            return e
          }),
          (e.prototype.Contains = function() {
            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 n(t))
          }),
          (e.FromRange = function(t, n, a) {
            return void 0 === a && (a = []), new e(new r(t, n, 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
        )
      })()
      ;(o.Any = o.AllTokens()),
        (o.AnyIncludingMultilineComments = o.FromTokens(
          o.Any.GetTokens().concat([3])
        )),
        (o.Keywords = o.FromRange(72, 142)),
        (o.BinaryOperators = o.FromRange(27, 70)),
        (o.BinaryKeywordOperators = o.FromTokens([92, 93, 142, 118, 126])),
        (o.UnaryPrefixOperators = o.FromTokens([43, 44, 52, 51])),
        (o.UnaryPrefixExpressions = o.FromTokens([8, 71, 19, 21, 17, 99, 94])),
        (o.UnaryPreincrementExpressions = o.FromTokens([71, 19, 99, 94])),
        (o.UnaryPostincrementExpressions = o.FromTokens([71, 20, 22, 94])),
        (o.UnaryPredecrementExpressions = o.FromTokens([71, 19, 99, 94])),
        (o.UnaryPostdecrementExpressions = o.FromTokens([71, 20, 22, 94])),
        (o.Comments = o.FromTokens([2, 3])),
        (o.TypeNames = o.FromTokens([71, 133, 136, 122, 137, 105, 119])),
        (t.TokenRange = o)
    })((r = t.Shared || (t.Shared = {})))
  })((t = e.formatting || (e.formatting = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    var r = (function() {
      function r() {
        this.globalRules = new t.Rules()
        var e = this.globalRules.HighPriorityCommonRules.slice(0)
          .concat(this.globalRules.UserConfigurableRules)
          .concat(this.globalRules.LowPriorityCommonRules)
        this.rulesMap = t.RulesMap.create(e)
      }
      return (
        (r.prototype.getRuleName = function(e) {
          return this.globalRules.getRuleName(e)
        }),
        (r.prototype.getRuleByName = function(e) {
          return this.globalRules[e]
        }),
        (r.prototype.getRulesMap = function() {
          return this.rulesMap
        }),
        (r.prototype.getFormatOptions = function() {
          return this.options
        }),
        (r.prototype.ensureUpToDate = function(t) {
          ;(this.options && e.compareDataObjects(this.options, t)) ||
            (this.options = e.clone(t))
        }),
        r
      )
    })()
    t.RulesProvider = r
  })((t = e.formatting || (e.formatting = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(t, r, n, a) {
      var i = r.getLineAndCharacterOfPosition(t).line
      if (0 === i) return []
      for (
        var o = e.getEndLinePosition(i, r);
        e.isWhiteSpaceSingleLine(r.text.charCodeAt(o));

      )
        o--
      e.isLineBreak(r.text.charCodeAt(o)) && o--
      var s = { pos: e.getStartPositionOfLine(i - 1, r), end: o + 1 }
      return g(s, r, a, n, 2)
    }
    function n(e, t, r, n) {
      return s(e, 25, t, n, r, 3)
    }
    function a(e, t, r, n) {
      return s(e, 18, t, n, r, 4)
    }
    function i(e, t, r) {
      var n = { pos: 0, end: e.text.length }
      return g(n, e, r, t, 0)
    }
    function o(t, r, n, a, i) {
      var o = { pos: e.getLineStartPositionForPosition(t, n), end: r }
      return g(o, n, i, a, 1)
    }
    function s(t, r, n, a, i, o) {
      var s = c(t, r, n)
      if (!s) return []
      var u = {
        pos: e.getLineStartPositionForPosition(s.getStart(n), n),
        end: s.end
      }
      return g(u, n, a, i, o)
    }
    function c(t, r, n) {
      var a = e.findPrecedingToken(t, n)
      if (a && a.kind === r && t === a.getEnd()) {
        for (
          var i = a;
          i && i.parent && i.parent.end === a.end && !u(i.parent, i);

        )
          i = i.parent
        return i
      }
    }
    function u(t, r) {
      switch (t.kind) {
        case 229:
        case 230:
          return e.rangeContainsRange(t.members, r)
        case 233:
          var n = t.body
          return n && 234 === n.kind && e.rangeContainsRange(n.statements, r)
        case 265:
        case 207:
        case 234:
          return e.rangeContainsRange(t.statements, r)
        case 260:
          return e.rangeContainsRange(t.block.statements, r)
      }
      return !1
    }
    function _(t, r) {
      function n(a) {
        var i = e.forEachChild(a, function(n) {
          return e.startEndContainsRange(n.getStart(r), n.end, t) && n
        })
        if (i) {
          var o = n(i)
          if (o) return o
        }
        return a
      }
      return n(r)
    }
    function l(t, r) {
      function n() {
        return !1
      }
      if (!t.length) return n
      var a = t
        .filter(function(t) {
          return e.rangeOverlapsWithStartEnd(r, t.start, t.start + t.length)
        })
        .sort(function(e, t) {
          return e.start - t.start
        })
      if (!a.length) return n
      var i = 0
      return function(t) {
        for (;;) {
          if (i >= a.length) return !1
          var r = a[i]
          if (t.end <= r.start) return !1
          if (
            e.startEndOverlapsWithStartEnd(
              t.pos,
              t.end,
              r.start,
              r.start + r.length
            )
          )
            return !0
          i++
        }
      }
    }
    function d(t, r, n) {
      var a = t.getStart(n)
      if (a === r.pos && t.end === r.end) return a
      var i = e.findPrecedingToken(r.pos, n)
      return i ? (i.end >= r.pos ? t.pos : i.end) : t.pos
    }
    function p(e, r, n) {
      for (var a, i = -1; e; ) {
        var o = n.getLineAndCharacterOfPosition(e.getStart(n)).line
        if (i !== -1 && o !== i) break
        if (t.SmartIndenter.shouldIndentChildNode(e, a)) return r.indentSize
        ;(i = o), (a = e), (e = e.parent)
      }
      return 0
    }
    function f(e, r, n, a, i, o) {
      var s = { pos: 0, end: r.text.length }
      return m(
        s,
        e,
        a,
        i,
        t.getFormattingScanner(r.text, n, s.pos, s.end),
        o.getFormatOptions(),
        o,
        1,
        function(e) {
          return !1
        },
        r
      )
    }
    function g(e, r, n, a, i) {
      var o = _(e, r)
      return m(
        e,
        o,
        t.SmartIndenter.getIndentationForNode(o, e, r, n),
        p(o, n, r),
        t.getFormattingScanner(r.text, r.languageVariant, d(o, e, r), e.end),
        n,
        a,
        i,
        l(r.parseDiagnostics, e),
        r
      )
    }
    function m(r, n, a, i, o, s, c, u, _, l) {
      function d(r, n, a, i, o) {
        if (
          e.rangeOverlapsWithStartEnd(i, r, n) ||
          e.rangeContainsStartEnd(i, r, n)
        ) {
          if (o !== -1) return o
        } else {
          var c = l.getLineAndCharacterOfPosition(r).line,
            u = e.getLineStartPositionForPosition(r, l),
            _ = t.SmartIndenter.findFirstNonWhitespaceColumn(u, r, l, s)
          if (c !== a || r === _) {
            var d = t.SmartIndenter.getBaseIndentation(s)
            return d > _ ? d : _
          }
        }
        return -1
      }
      function p(e, r, n, a, i, o) {
        var c = n,
          u = t.SmartIndenter.shouldIndentChildNode(e) ? s.indentSize : 0
        return (
          o === r
            ? ((c = r === B ? J : i.getIndentation()),
              (u = Math.min(s.indentSize, i.getDelta(e) + u)))
            : c === -1 &&
              (c = t.SmartIndenter.childStartsOnTheSameLineWithElseInIfStatement(
                a,
                e,
                r,
                l
              )
                ? i.getIndentation()
                : i.getIndentation() + i.getDelta(e)),
          { indentation: c, delta: u }
        )
      }
      function f(t) {
        if (t.modifiers && t.modifiers.length) return t.modifiers[0].kind
        switch (t.kind) {
          case 229:
            return 75
          case 230:
            return 109
          case 228:
            return 89
          case 232:
            return 232
          case 153:
            return 125
          case 154:
            return 135
          case 151:
            if (t.asteriskToken) return 39
          case 149:
          case 146:
            return e.getNameOfDeclaration(t).kind
        }
      }
      function g(e, r, n, a) {
        function i(r, n) {
          return t.SmartIndenter.nodeWillIndentChild(e, n, !0) ? r : 0
        }
        return {
          getIndentationForComment: function(e, t, r) {
            switch (e) {
              case 18:
              case 22:
              case 20:
                return n + i(a, r)
            }
            return t !== -1 ? t : n
          },
          getIndentationForToken: function(t, o, s) {
            if (r !== t && e.decorators && o === f(e)) return n
            switch (o) {
              case 17:
              case 18:
              case 19:
              case 20:
              case 82:
              case 106:
              case 57:
                return n
              case 41:
              case 29:
                if (251 === s.kind || 252 === s.kind || 250 === s.kind) return n
                break
              case 21:
              case 22:
                if (172 !== s.kind) return n
            }
            return r !== t ? n + i(a, s) : n
          },
          getIndentation: function() {
            return n
          },
          getDelta: function(e) {
            return i(a, e)
          },
          recomputeIndentation: function(r) {
            e.parent &&
              t.SmartIndenter.shouldIndentChildNode(e.parent, e) &&
              (r ? (n += s.indentSize) : (n -= s.indentSize),
              (a = t.SmartIndenter.shouldIndentChildNode(e) ? s.indentSize : 0))
          }
        }
      }
      function m(t, n, a, i, s, c) {
        function u(n, a, i, s, c, u, _, f) {
          var g = n.getStart(l),
            y = l.getLineAndCharacterOfPosition(g).line,
            v = y
          n.decorators &&
            (v = l.getLineAndCharacterOfPosition(
              e.getNonDecoratorTokenPosOfNode(n, l)
            ).line)
          var b = -1
          if (
            (_ && ((b = d(g, n.end, c, r, a)), b !== -1 && (a = b)),
            !e.rangeOverlapsWithStartEnd(r, n.pos, n.end))
          )
            return n.end < r.pos && o.skipToEndOf(n), a
          if (0 === n.getFullWidth()) return a
          for (; o.isOnToken(); ) {
            var k = o.readTokenInfo(t)
            if (k.token.end > g) break
            h(k, t, s, t)
          }
          if (!o.isOnToken()) return a
          if (e.isToken(n) && 10 !== n.kind) {
            var k = o.readTokenInfo(n)
            return (
              e.Debug.assert(k.token.end === n.end, 'Token end is child end'),
              h(k, t, s, n),
              a
            )
          }
          var x = 147 === n.kind ? y : u,
            C = p(n, y, b, t, s, x)
          return (
            m(n, S, y, v, C.indentation, C.delta),
            (S = t),
            f && 177 === i.kind && a === -1 && (a = C.indentation),
            a
          )
        }
        function f(r, n, a, i) {
          var s = y(n, r),
            c = v(s),
            _ = i,
            d = a
          if (0 !== s)
            for (; o.isOnToken(); ) {
              var f = o.readTokenInfo(n)
              if (f.token.end > r.pos) break
              if (f.token.kind === s) {
                d = l.getLineAndCharacterOfPosition(f.token.pos).line
                var m = p(f.token, d, -1, n, i, a)
                ;(_ = g(n, a, m.indentation, m.delta)), h(f, n, _, n)
              } else h(f, n, i, n)
            }
          for (var b = -1, k = 0; k < r.length; k++) {
            var x = r[k]
            b = u(x, b, t, _, d, d, !0, 0 === k)
          }
          if (0 !== c && o.isOnToken()) {
            var f = o.readTokenInfo(n)
            f.token.kind === c &&
              e.rangeContainsRange(n, f.token) &&
              h(f, n, _, n)
          }
        }
        function h(t, n, a, i) {
          e.Debug.assert(e.rangeContainsRange(n, t.token))
          var s = o.lastTrailingTriviaWasNewLine(),
            c = !1
          t.leadingTrivia && b(t.leadingTrivia, n, S, a)
          var u,
            d = e.rangeContainsRange(r, t.token),
            p = l.getLineAndCharacterOfPosition(t.token.pos)
          if (d) {
            var f = _(t.token),
              g = R
            if (((u = k(t.token, p, n, S, a)), f)) c = !1
            else if (void 0 !== u) c = u
            else {
              var m = g && l.getLineAndCharacterOfPosition(g.end).line
              c = s && p.line !== m
            }
          }
          if ((t.trailingTrivia && b(t.trailingTrivia, n, S, a), c)) {
            var y =
                d && !_(t.token)
                  ? a.getIndentationForToken(p.line, t.token.kind, i)
                  : -1,
              v = !0
            if (t.leadingTrivia)
              for (
                var h = a.getIndentationForComment(t.token.kind, y, i),
                  x = 0,
                  D = t.leadingTrivia;
                x < D.length;
                x++
              ) {
                var E = D[x],
                  N = e.rangeContainsRange(r, E)
                switch (E.kind) {
                  case 3:
                    N && T(E, h, !v), (v = !1)
                    break
                  case 2:
                    v && N && C(E.pos, h, !1), (v = !1)
                    break
                  case 4:
                    v = !0
                }
              }
            y !== -1 && v && (C(t.token.pos, y, u), (B = p.line), (J = y))
          }
          o.advance(), (S = n)
        }
        if (e.rangeOverlapsWithStartEnd(r, t.getStart(l), t.getEnd())) {
          var x = g(t, a, s, c),
            S = n
          for (
            e.forEachChild(
              t,
              function(e) {
                u(e, -1, t, x, a, i, !1)
              },
              function(e) {
                f(e, t, a, x)
              }
            );
            o.isOnToken();

          ) {
            var D = o.readTokenInfo(t)
            if (D.token.end > t.end) break
            h(D, t, x, t)
          }
        }
      }
      function b(t, n, a, i) {
        for (var o = 0, s = t; o < s.length; o++) {
          var c = s[o]
          if (e.isComment(c.kind) && e.rangeContainsRange(r, c)) {
            var u = l.getLineAndCharacterOfPosition(c.pos)
            k(c, u, n, a, i)
          }
        }
      }
      function k(e, t, n, a, i) {
        var o,
          s = _(e)
        if (!s && !I)
          if (R) o = x(e, t.line, n, R, L, M, a, i)
          else {
            var c = l.getLineAndCharacterOfPosition(r.pos)
            E(c.line, t.line)
          }
        return (R = e), (M = n), (L = t.line), (I = s), o
      }
      function x(e, t, r, n, a, i, o, s) {
        z.updateContext(n, i, e, r, o)
        var u,
          _,
          d = c.getRulesMap().GetRule(z)
        return (
          d
            ? (F(d, n, a, e, t),
              10 & d.Operation.Action && t !== a
                ? ((_ = !1),
                  r.getStart(l) === e.pos && s.recomputeIndentation(!1))
                : 4 & d.Operation.Action &&
                  t === a &&
                  ((_ = !0),
                  r.getStart(l) === e.pos && s.recomputeIndentation(!0)),
              (u = !(8 & d.Operation.Action) && 1 !== d.Flag))
            : (u = !0),
          t !== a && u && E(a, t, n),
          _
        )
      }
      function C(t, r, n) {
        var a = h(r, s)
        if (n) O(t, 0, a)
        else {
          var i = l.getLineAndCharacterOfPosition(t),
            o = e.getStartPositionOfLine(i.line, l)
          ;(r !== S(o, i.character) || D(a, o)) && O(o, i.character, a)
        }
      }
      function S(e, t) {
        for (var r = 0, n = 0; n < t; n++)
          9 === l.text.charCodeAt(e + n)
            ? (r += s.tabSize - (r % s.tabSize))
            : r++
        return r
      }
      function D(e, t) {
        return e !== l.text.substr(t, e.length)
      }
      function T(r, n, a) {
        var i,
          o = l.getLineAndCharacterOfPosition(r.pos).line,
          c = l.getLineAndCharacterOfPosition(r.end).line
        if (o === c) return void (a || C(r.pos, n, !1))
        i = []
        for (var u = r.pos, _ = o; _ < c; _++) {
          var d = e.getEndLinePosition(_, l)
          i.push({ pos: u, end: d }), (u = e.getStartPositionOfLine(_ + 1, l))
        }
        i.push({ pos: u, end: r.end })
        var p = e.getStartPositionOfLine(o, l),
          f = t.SmartIndenter.findFirstNonWhitespaceCharacterAndColumn(
            p,
            i[0].pos,
            l,
            s
          )
        if (n !== f.column) {
          var g = 0
          a && ((g = 1), o++)
          for (var m = n - f.column, y = g; y < i.length; y++, o++) {
            var v = e.getStartPositionOfLine(o, l),
              b =
                0 === y
                  ? f
                  : t.SmartIndenter.findFirstNonWhitespaceCharacterAndColumn(
                      i[y].pos,
                      i[y].end,
                      l,
                      s
                    ),
              k = b.column + m
            if (k > 0) {
              var x = h(k, s)
              O(v, b.character, x)
            } else P(v, b.character)
          }
        }
      }
      function E(t, r, n) {
        for (var a = t; a < r; a++) {
          var i = e.getStartPositionOfLine(a, l),
            o = e.getEndLinePosition(a, l)
          if (
            !(
              n &&
              (e.isComment(n.kind) ||
                e.isStringOrRegularExpressionOrTemplateLiteral(n.kind)) &&
              n.pos <= o &&
              n.end > o
            )
          ) {
            var s = N(i, o)
            s !== -1 &&
              (e.Debug.assert(
                s === i || !e.isWhiteSpaceSingleLine(l.text.charCodeAt(s - 1))
              ),
              P(s, o + 1 - s))
          }
        }
      }
      function N(t, r) {
        for (
          var n = r;
          n >= t && e.isWhiteSpaceSingleLine(l.text.charCodeAt(n));

        )
          n--
        return n !== r ? n + 1 : -1
      }
      function A() {
        var e = R ? R.end : r.pos,
          t = l.getLineAndCharacterOfPosition(e).line,
          n = l.getLineAndCharacterOfPosition(r.end).line
        E(t, n + 1, R)
      }
      function w(t, r, n) {
        return { span: e.createTextSpan(t, r), newText: n }
      }
      function P(e, t) {
        t && K.push(w(e, t, ''))
      }
      function O(e, t, r) {
        ;(t || r) && K.push(w(e, t, r))
      }
      function F(e, t, r, n, a) {
        switch (e.Operation.Action) {
          case 1:
            return
          case 8:
            t.end !== n.pos && P(t.end, n.pos - t.end)
            break
          case 4:
            if (1 !== e.Flag && r !== a) return
            var i = a - r
            1 !== i && O(t.end, n.pos - t.end, s.newLineCharacter)
            break
          case 2:
            if (1 !== e.Flag && r !== a) return
            var o = n.pos - t.end
            ;(1 === o && 32 === l.text.charCodeAt(t.end)) ||
              O(t.end, n.pos - t.end, ' ')
        }
      }
      var I,
        R,
        M,
        L,
        B,
        J,
        z = new t.FormattingContext(l, u, s),
        K = []
      if ((o.advance(), o.isOnToken())) {
        var j = l.getLineAndCharacterOfPosition(n.getStart(l)).line,
          V = j
        n.decorators &&
          (V = l.getLineAndCharacterOfPosition(
            e.getNonDecoratorTokenPosOfNode(n, l)
          ).line),
          m(n, n, j, V, a, i)
      }
      if (!o.isOnToken()) {
        var q = o.getCurrentLeadingTrivia()
        q && (b(q, n, n, void 0), A())
      }
      return o.close(), K
    }
    function y(e, t) {
      switch (e.kind) {
        case 152:
        case 228:
        case 186:
        case 151:
        case 150:
        case 187:
          if (e.typeParameters === t) return 27
          if (e.parameters === t) return 19
          break
        case 181:
        case 182:
          if (e.typeArguments === t) return 27
          if (e.arguments === t) return 19
          break
        case 159:
          if (e.typeArguments === t) return 27
      }
      return 0
    }
    function v(e) {
      switch (e) {
        case 19:
          return 20
        case 27:
          return 29
      }
      return 0
    }
    function h(e, t) {
      function r(e, t) {
        for (var r = '', n = 0; n < t; n++) r += e
        return r
      }
      var n = !k || k.tabSize !== t.tabSize || k.indentSize !== t.indentSize
      if (
        (n &&
          ((k = { tabSize: t.tabSize, indentSize: t.indentSize }),
          (x = C = void 0)),
        t.convertTabsToSpaces)
      ) {
        var a = void 0,
          i = Math.floor(e / t.indentSize),
          o = e % t.indentSize
        return (
          C || (C = []),
          void 0 === C[i]
            ? ((a = r(' ', t.indentSize * i)), (C[i] = a))
            : (a = C[i]),
          o ? a + r(' ', o) : a
        )
      }
      var s = Math.floor(e / t.tabSize),
        c = e - s * t.tabSize,
        u = void 0
      return (
        x || (x = []),
        void 0 === x[s] ? (x[s] = u = r('\t', s)) : (u = x[s]),
        c ? u + r(' ', c) : u
      )
    }
    var b
    !(function(e) {
      e[(e.Unknown = -1)] = 'Unknown'
    })(b || (b = {})),
      (t.formatOnEnter = r),
      (t.formatOnSemicolon = n),
      (t.formatOnClosingCurly = a),
      (t.formatDocument = i),
      (t.formatSelection = o),
      (t.formatNode = f)
    var k, x, C
    t.getIndentationString = h
  })((t = e.formatting || (e.formatting = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    var r
    !(function(t) {
      function r(r, n, o, c) {
        if ((void 0 === c && (c = !1), r > n.text.length)) return a(o)
        if (o.indentStyle === e.IndentStyle.None) return 0
        var l = e.findPrecedingToken(r, n)
        if (!l) return a(o)
        var d = e.isStringOrRegularExpressionOrTemplateLiteral(l.kind)
        if (d && l.getStart(n) <= r && l.end > r) return 0
        var p = n.getLineAndCharacterOfPosition(r).line
        if (o.indentStyle === e.IndentStyle.Block) {
          for (var m = r; m > 0; ) {
            var y = n.text.charCodeAt(m)
            if (!e.isWhiteSpaceLike(y)) break
            m--
          }
          var v = e.getLineStartPositionForPosition(m, n)
          return t.findFirstNonWhitespaceColumn(v, m, n, o)
        }
        if (26 === l.kind && 194 !== l.parent.kind) {
          var h = s(l, n, o)
          if (h !== -1) return h
        }
        for (var b, k, C, S = l; S; ) {
          if (e.positionBelongsToNode(S, r, n) && x(S, b)) {
            k = _(S, n)
            var D = u(l, S, p, n)
            C =
              0 !== D
                ? c && 2 === D
                  ? o.indentSize
                  : 0
                : p !== k.line
                  ? o.indentSize
                  : 0
            break
          }
          var h = f(S, n, o)
          if (h !== -1) return h
          if (((h = g(S, n, o)), h !== -1)) return h + o.indentSize
          ;(b = S), (S = S.parent)
        }
        return S ? i(S, k, void 0, C, n, o) : a(o)
      }
      function n(e, t, r, n) {
        var a = r.getLineAndCharacterOfPosition(e.getStart(r))
        return i(e, a, t, 0, r, n)
      }
      function a(e) {
        return e.baseIndentSize || 0
      }
      function i(e, t, r, n, i, s) {
        for (var u, _ = e.parent; _; ) {
          var d = !0
          if (r) {
            var p = e.getStart(i)
            d = p < r.pos || p > r.end
          }
          if (d) {
            var m = f(e, i, s)
            if (m !== -1) return m + n
          }
          u = o(_, e, i)
          var y = u.line === t.line || l(_, e, t.line, i)
          if (d) {
            var m = c(e, _, t, y, i, s)
            if (m !== -1) return m + n
            if (((m = g(e, i, s)), m !== -1)) return m + n
          }
          x(_, e) && !y && (n += s.indentSize), (e = _), (t = u), (_ = e.parent)
        }
        return n + a(s)
      }
      function o(e, t, r) {
        var n = p(t, r)
        return n
          ? r.getLineAndCharacterOfPosition(n.pos)
          : r.getLineAndCharacterOfPosition(e.getStart(r))
      }
      function s(t, r, n) {
        var a = e.findListItemInfo(t)
        return a && a.listItemIndex > 0
          ? m(a.list.getChildren(), a.listItemIndex - 1, r, n)
          : -1
      }
      function c(t, r, n, a, i, o) {
        var s =
          (e.isDeclaration(t) || e.isStatementButNotDeclaration(t)) &&
          (265 === r.kind || !a)
        return s ? y(n, i, o) : -1
      }
      function u(t, r, n, a) {
        var i = e.findNextToken(t, r)
        if (!i) return 0
        if (17 === i.kind) return 1
        if (18 === i.kind) {
          var o = _(i, a).line
          return n === o ? 2 : 0
        }
        return 0
      }
      function _(e, t) {
        return t.getLineAndCharacterOfPosition(e.getStart(t))
      }
      function l(t, r, n, a) {
        if (211 === t.kind && t.elseStatement === r) {
          var i = e.findChildOfKind(t, 82, a)
          e.Debug.assert(void 0 !== i)
          var o = _(i, a).line
          return o === n
        }
        return !1
      }
      function d(t, r, n) {
        return t && e.rangeContainsStartEnd(t, r, n) ? t : void 0
      }
      function p(e, t) {
        if (e.parent)
          switch (e.parent.kind) {
            case 159:
              return d(e.parent.typeArguments, e.getStart(t), e.getEnd())
            case 178:
              return e.parent.properties
            case 177:
              return e.parent.elements
            case 228:
            case 186:
            case 187:
            case 151:
            case 150:
            case 155:
            case 152:
            case 161:
            case 156:
              var r = e.getStart(t)
              return (
                d(e.parent.typeParameters, r, e.getEnd()) ||
                d(e.parent.parameters, r, e.getEnd())
              )
            case 229:
              return d(e.parent.typeParameters, e.getStart(t), e.getEnd())
            case 182:
            case 181:
              var r = e.getStart(t)
              return (
                d(e.parent.typeArguments, r, e.getEnd()) ||
                d(e.parent.arguments, r, e.getEnd())
              )
            case 227:
              return d(e.parent.declarations, e.getStart(t), e.getEnd())
            case 241:
            case 245:
              return d(e.parent.elements, e.getStart(t), e.getEnd())
          }
      }
      function f(t, r, n) {
        function a(a) {
          var i = e.indexOf(a, t)
          return i !== -1 ? m(a, i, r, n) : -1
        }
        var i = p(t, r)
        return i ? a(i) : -1
      }
      function g(e, t, r) {
        function n(e) {
          for (;;)
            switch (e.kind) {
              case 181:
              case 182:
              case 179:
              case 180:
                e = e.expression
                break
              default:
                return e
            }
        }
        if (20 === e.kind) return -1
        if (
          e.parent &&
          (181 === e.parent.kind || 182 === e.parent.kind) &&
          e.parent.expression !== e
        ) {
          var a = e.parent.expression,
            i = n(a)
          if (a === i) return -1
          var o = t.getLineAndCharacterOfPosition(a.end),
            s = t.getLineAndCharacterOfPosition(i.end)
          return o.line === s.line ? -1 : y(o, t, r)
        }
        return -1
      }
      function m(t, r, n, a) {
        e.Debug.assert(r >= 0 && r < t.length)
        for (var i = t[r], o = _(i, n), s = r - 1; s >= 0; s--)
          if (26 !== t[s].kind) {
            var c = n.getLineAndCharacterOfPosition(t[s].end).line
            if (c !== o.line) return y(o, n, a)
            o = _(t[s], n)
          }
        return -1
      }
      function y(e, t, r) {
        var n = t.getPositionOfLineAndCharacter(e.line, 0)
        return h(n, n + e.character, t, r)
      }
      function v(t, r, n, a) {
        for (var i = 0, o = 0, s = t; s < r; s++) {
          var c = n.text.charCodeAt(s)
          if (!e.isWhiteSpaceSingleLine(c)) break
          9 === c ? (o += a.tabSize + (o % a.tabSize)) : o++, i++
        }
        return { column: o, character: i }
      }
      function h(e, t, r, n) {
        return v(e, t, r, n).column
      }
      function b(e) {
        switch (e) {
          case 210:
          case 229:
          case 199:
          case 230:
          case 232:
          case 231:
          case 177:
          case 207:
          case 234:
          case 178:
          case 163:
          case 172:
          case 165:
          case 235:
          case 258:
          case 257:
          case 185:
          case 179:
          case 181:
          case 182:
          case 208:
          case 226:
          case 243:
          case 219:
          case 195:
          case 175:
          case 174:
          case 251:
          case 250:
          case 256:
          case 150:
          case 155:
          case 156:
          case 146:
          case 160:
          case 161:
          case 168:
          case 183:
          case 191:
          case 245:
          case 241:
          case 246:
          case 242:
            return !0
        }
        return !1
      }
      function k(e, t, r) {
        var n = t ? t.kind : 0
        switch (e.kind) {
          case 212:
          case 213:
          case 215:
          case 216:
          case 214:
          case 211:
          case 228:
          case 186:
          case 151:
          case 187:
          case 152:
          case 153:
          case 154:
            return 207 !== n
          case 244:
            return 245 !== n
          case 238:
            return (
              239 !== n || (t.namedBindings && 241 !== t.namedBindings.kind)
            )
          case 249:
            return 252 !== n
        }
        return r
      }
      function x(e, t) {
        return b(e.kind) || k(e, t, !1)
      }
      var C
      !(function(e) {
        e[(e.Unknown = -1)] = 'Unknown'
      })(C || (C = {})),
        (t.getIndentation = r),
        (t.getIndentationForNode = n),
        (t.getBaseIndentation = a)
      var S
      !(function(e) {
        ;(e[(e.Unknown = 0)] = 'Unknown'),
          (e[(e.OpenBrace = 1)] = 'OpenBrace'),
          (e[(e.CloseBrace = 2)] = 'CloseBrace')
      })(S || (S = {})),
        (t.childStartsOnTheSameLineWithElseInIfStatement = l),
        (t.getContainingList = p),
        (t.findFirstNonWhitespaceCharacterAndColumn = v),
        (t.findFirstNonWhitespaceColumn = h),
        (t.nodeWillIndentChild = k),
        (t.shouldIndentChildNode = x)
    })((r = t.SmartIndenter || (t.SmartIndenter = {})))
  })((t = e.formatting || (e.formatting = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(e) {
      return e.__pos
    }
    function n(e, t) {
      e.__pos = t
    }
    function a(e) {
      return e.__end
    }
    function i(e, t) {
      e.__end = t
    }
    function o(t, r) {
      return e.skipTrivia(t, r, !1, !0)
    }
    function s(t, r) {
      for (var n = r; n < t.length; ) {
        var a = t.charCodeAt(n)
        {
          if (!e.isWhiteSpaceSingleLine(a)) return 47 === a
          n++
        }
      }
      return !1
    }
    function c(t) {
      return e.tokenToString(t.kind)
    }
    function u(t, r, n, a) {
      if (n.useNonAdjustedStartPosition) return r.getFullStart()
      var i = r.getFullStart(),
        s = r.getStart(t)
      if (i === s) return s
      var c = e.getLineStartPositionForPosition(i, t),
        u = e.getLineStartPositionForPosition(s, t)
      if (u === c) return a === h.Start ? s : i
      var _ = e.getStartPositionOfLine(e.getLineOfLocalPosition(t, c) + 1, t)
      return (
        (_ = o(t.text, _)),
        e.getStartPositionOfLine(e.getLineOfLocalPosition(t, _), t)
      )
    }
    function _(t, r, n) {
      if (n.useNonAdjustedEndPosition) return r.getEnd()
      var a = r.getEnd(),
        i = e.skipTrivia(t.text, a, !0)
      return i !== a && e.isLineBreak(t.text.charCodeAt(i - 1)) ? i : a
    }
    function l(e, t) {
      return (
        t &&
        e.parent &&
        (26 === t.kind || (25 === t.kind && 178 === e.parent.kind))
      )
    }
    function d(e) {
      for (var t = '', r = 0; r < e; r++) t += ' '
      return t
    }
    function p(t, r, n) {
      var a = { newLine: n, target: r.languageVersion },
        i = new x(e.getNewLineCharacter(a)),
        o = e.createPrinter(a, i)
      return o.writeNode(3, t, r, i), { text: i.getText(), node: y(t) }
    }
    function f(t, r, n, a, i) {
      var o = e.computeLineStarts(t.text),
        s = {
          text: t.text,
          lineMap: o,
          getLineAndCharacterOfPosition: function(t) {
            return e.computeLineAndCharacterOfPosition(o, t)
          }
        },
        c = e.formatting.formatNode(t.node, s, r.languageVariant, n, a, i)
      return g(t.text, c)
    }
    function g(t, r) {
      for (var n = r.length - 1; n >= 0; n--) {
        var a = r[n]
        t =
          '' +
          t.substring(0, a.span.start) +
          a.newText +
          t.substring(e.textSpanEnd(a.span))
      }
      return t
    }
    function m(t) {
      return e.skipTrivia(t, 0) === t.length
    }
    function y(t) {
      function n() {}
      var i = e.visitEachChild(t, y, k, v, y),
        o = e.nodeIsSynthesized(i) ? i : ((n.prototype = i), new n())
      return (o.pos = r(t)), (o.end = a(t)), o
    }
    function v(t, n, i, o, s) {
      var c = e.visitNodes(t, n, i, o, s)
      if (!c) return c
      var u = c === t ? e.createNodeArray(c.slice(0)) : c
      return (u.pos = r(t)), (u.end = a(t)), u
    }
    var h
    !(function(e) {
      ;(e[(e.FullStart = 0)] = 'FullStart'), (e[(e.Start = 1)] = 'Start')
    })((h = t.Position || (t.Position = {}))),
      (t.getSeparatorCharacter = c),
      (t.getAdjustedStartPosition = u),
      (t.getAdjustedEndPosition = _)
    var b = (function() {
      function t(t, r, n) {
        ;(this.newLine = t),
          (this.rulesProvider = r),
          (this.validator = n),
          (this.changes = []),
          (this.newLineCharacter = e.getNewLineCharacter({ newLine: t }))
      }
      return (
        (t.fromCodeFixContext = function(e) {
          return new t('\n' === e.newLineCharacter ? 1 : 0, e.rulesProvider)
        }),
        (t.prototype.deleteNode = function(e, t, r) {
          void 0 === r && (r = {})
          var n = u(e, t, r, h.FullStart),
            a = _(e, t, r)
          return (
            this.changes.push({
              sourceFile: e,
              options: r,
              range: { pos: n, end: a }
            }),
            this
          )
        }),
        (t.prototype.deleteRange = function(e, t) {
          return this.changes.push({ sourceFile: e, range: t }), this
        }),
        (t.prototype.deleteNodeRange = function(e, t, r, n) {
          void 0 === n && (n = {})
          var a = u(e, t, n, h.FullStart),
            i = _(e, r, n)
          return (
            this.changes.push({
              sourceFile: e,
              options: n,
              range: { pos: a, end: i }
            }),
            this
          )
        }),
        (t.prototype.deleteNodeInList = function(t, r) {
          var n = e.formatting.SmartIndenter.getContainingList(r, t)
          if (!n) return e.Debug.fail('node is not a list element'), this
          var a = n.indexOf(r)
          if (a < 0) return this
          if (1 === n.length) return this.deleteNode(t, r), this
          if (a !== n.length - 1) {
            var i = e.getTokenAtPosition(t, r.end)
            if (i && l(r, i)) {
              var o = e.skipTrivia(t.text, u(t, r, {}, h.FullStart), !1, !0),
                s = n[a + 1],
                c = e.skipTrivia(t.text, u(t, s, {}, h.FullStart), !1, !0)
              this.deleteRange(t, { pos: o, end: c })
            }
          } else {
            var _ = e.getTokenAtPosition(t, n[a - 1].end)
            _ && l(r, _) && this.deleteNodeRange(t, _, r)
          }
          return this
        }),
        (t.prototype.replaceRange = function(e, t, r, n) {
          return (
            void 0 === n && (n = {}),
            this.changes.push({ sourceFile: e, range: t, options: n, node: r }),
            this
          )
        }),
        (t.prototype.replaceNode = function(e, t, r, n) {
          void 0 === n && (n = {})
          var a = u(e, t, n, h.Start),
            i = _(e, t, n)
          return (
            this.changes.push({
              sourceFile: e,
              options: n,
              useIndentationFromFile: !0,
              node: r,
              range: { pos: a, end: i }
            }),
            this
          )
        }),
        (t.prototype.replaceNodeRange = function(e, t, r, n, a) {
          void 0 === a && (a = {})
          var i = u(e, t, a, h.Start),
            o = _(e, r, a)
          return (
            this.changes.push({
              sourceFile: e,
              options: a,
              useIndentationFromFile: !0,
              node: n,
              range: { pos: i, end: o }
            }),
            this
          )
        }),
        (t.prototype.insertNodeAt = function(e, t, r, n) {
          return (
            void 0 === n && (n = {}),
            this.changes.push({
              sourceFile: e,
              options: n,
              node: r,
              range: { pos: t, end: t }
            }),
            this
          )
        }),
        (t.prototype.insertNodeBefore = function(e, t, r, n) {
          void 0 === n && (n = {})
          var a = u(e, t, n, h.Start)
          return (
            this.changes.push({
              sourceFile: e,
              options: n,
              useIndentationFromFile: !0,
              node: r,
              range: { pos: a, end: a }
            }),
            this
          )
        }),
        (t.prototype.insertNodeAfter = function(t, r, n, a) {
          void 0 === a && (a = {}),
            (e.isStatementButNotDeclaration(r) ||
              149 === r.kind ||
              148 === r.kind ||
              150 === r.kind) &&
              59 !== t.text.charCodeAt(r.end - 1) &&
              this.changes.push({
                sourceFile: t,
                options: {},
                range: { pos: r.end, end: r.end },
                node: e.createToken(25)
              })
          var i = _(t, r, a)
          return (
            this.changes.push({
              sourceFile: t,
              options: a,
              useIndentationFromFile: !0,
              node: n,
              range: { pos: i, end: i }
            }),
            this
          )
        }),
        (t.prototype.insertNodeInListAfter = function(t, r, n) {
          var a = e.formatting.SmartIndenter.getContainingList(r, t)
          if (!a) return e.Debug.fail('node is not a list element'), this
          var i = a.indexOf(r)
          if (i < 0) return this
          var c = r.getEnd()
          if (i !== a.length - 1) {
            var u = e.getTokenAtPosition(t, r.end)
            if (u && l(r, u)) {
              var _ = e.getLineAndCharacterOfPosition(
                  t,
                  o(t.text, a[i + 1].getFullStart())
                ),
                p = e.getLineAndCharacterOfPosition(t, u.end),
                f = void 0,
                g = void 0
              p.line === _.line
                ? ((g = u.end), (f = d(_.character - p.character)))
                : (g = e.getStartPositionOfLine(_.line, t)),
                this.changes.push({
                  sourceFile: t,
                  range: { pos: g, end: a[i + 1].getStart(t) },
                  node: n,
                  useIndentationFromFile: !0,
                  options: {
                    prefix: f,
                    suffix:
                      '' +
                      e.tokenToString(u.kind) +
                      t.text.substring(u.end, a[i + 1].getStart(t))
                  }
                })
            }
          } else {
            var m = r.getStart(t),
              y = e.getLineStartPositionForPosition(m, t),
              v = void 0,
              h = !1
            if (1 === a.length) v = 26
            else {
              var b = e.findPrecedingToken(r.pos, t)
              v = l(r, b) ? b.kind : 26
              var k = e.getLineStartPositionForPosition(a[i - 1].getStart(t), t)
              h = k !== y
            }
            if ((s(t.text, r.end) && (h = !0), h)) {
              this.changes.push({
                sourceFile: t,
                range: { pos: c, end: c },
                node: e.createToken(v),
                options: {}
              })
              var x = e.formatting.SmartIndenter.findFirstNonWhitespaceColumn(
                  y,
                  m,
                  t,
                  this.rulesProvider.getFormatOptions()
                ),
                C = e.skipTrivia(t.text, c, !0, !1)
              C !== c && e.isLineBreak(t.text.charCodeAt(C - 1)) && C--,
                this.changes.push({
                  sourceFile: t,
                  range: { pos: C, end: C },
                  node: n,
                  options: { indentation: x, prefix: this.newLineCharacter }
                })
            } else
              this.changes.push({
                sourceFile: t,
                range: { pos: c, end: c },
                node: n,
                options: { prefix: e.tokenToString(v) + ' ' }
              })
          }
          return this
        }),
        (t.prototype.getChanges = function() {
          for (
            var r = this, n = e.createFileMap(), a = 0, i = this.changes;
            a < i.length;
            a++
          ) {
            var o = i[a],
              s = n.get(o.sourceFile.path)
            s || n.set(o.sourceFile.path, (s = [])), s.push(o)
          }
          var c = []
          return (
            n.forEachValue(function(e) {
              for (
                var a = n.get(e),
                  i = a[0].sourceFile,
                  o = { fileName: i.fileName, textChanges: [] },
                  s = 0,
                  u = t.normalize(a);
                s < u.length;
                s++
              ) {
                var _ = u[s]
                o.textChanges.push({
                  span: r.computeSpan(_, i),
                  newText: r.computeNewText(_, i)
                })
              }
              c.push(o)
            }),
            c
          )
        }),
        (t.prototype.computeSpan = function(t, r) {
          return e.createTextSpanFromBounds(t.range.pos, t.range.end)
        }),
        (t.prototype.computeNewText = function(t, r) {
          if (!t.node) return ''
          var n = t.options || {},
            a = p(t.node, r, this.newLine)
          this.validator && this.validator(a)
          var i = this.rulesProvider.getFormatOptions(),
            o = t.range.pos,
            s = e.getLineStartPositionForPosition(o, r) === o,
            c =
              void 0 !== t.options.indentation
                ? t.options.indentation
                : t.useIndentationFromFile
                  ? e.formatting.SmartIndenter.getIndentation(
                      t.range.pos,
                      r,
                      i,
                      s || t.options.prefix === this.newLineCharacter
                    )
                  : 0,
            u =
              void 0 !== t.options.delta
                ? t.options.delta
                : e.formatting.SmartIndenter.shouldIndentChildNode(t.node)
                  ? i.indentSize
                  : 0,
            _ = f(a, r, c, u, this.rulesProvider)
          return (
            (_ =
              s || void 0 !== t.options.indentation
                ? _
                : _.replace(/^\s+/, '')),
            (n.prefix || '') + _ + (n.suffix || '')
          )
        }),
        (t.normalize = function(t) {
          for (
            var r = e.stableSort(t, function(e, t) {
                return e.range.pos - t.range.pos
              }),
              n = 0;
            n < r.length - 2;
            n++
          )
            e.Debug.assert(r[n].range.end <= r[n + 1].range.pos)
          return r
        }),
        t
      )
    })()
    ;(t.ChangeTracker = b),
      (t.getNonformattedText = p),
      (t.applyFormatting = f),
      (t.applyChanges = g)
    var k = {
        enableEmitNotification: e.noop,
        enableSubstitution: e.noop,
        endLexicalEnvironment: function() {},
        getCompilerOptions: e.notImplemented,
        getEmitHost: e.notImplemented,
        getEmitResolver: e.notImplemented,
        hoistFunctionDeclaration: e.noop,
        hoistVariableDeclaration: e.noop,
        isEmitNotificationEnabled: e.notImplemented,
        isSubstitutionEnabled: e.notImplemented,
        onEmitNode: e.noop,
        onSubstituteNode: e.notImplemented,
        readEmitHelpers: e.notImplemented,
        requestEmitHelper: e.noop,
        resumeLexicalEnvironment: e.noop,
        startLexicalEnvironment: e.noop,
        suspendLexicalEnvironment: e.noop
      },
      x = (function() {
        function t(t) {
          var r = this
          ;(this.lastNonTriviaPosition = 0),
            (this.writer = e.createTextWriter(t)),
            (this.onEmitNode = function(e, t, a) {
              t && n(t, r.lastNonTriviaPosition),
                a(e, t),
                t && i(t, r.lastNonTriviaPosition)
            }),
            (this.onBeforeEmitNodeArray = function(e) {
              e && n(e, r.lastNonTriviaPosition)
            }),
            (this.onAfterEmitNodeArray = function(e) {
              e && i(e, r.lastNonTriviaPosition)
            })
        }
        return (
          (t.prototype.setLastNonTriviaPosition = function(t, r) {
            if (r || !m(t)) {
              this.lastNonTriviaPosition = this.writer.getTextPos()
              for (
                var n = 0;
                e.isWhiteSpaceLike(t.charCodeAt(t.length - n - 1));

              )
                n++
              this.lastNonTriviaPosition -= n
            }
          }),
          (t.prototype.write = function(e) {
            this.writer.write(e), this.setLastNonTriviaPosition(e, !1)
          }),
          (t.prototype.writeTextOfNode = function(e, t) {
            this.writer.writeTextOfNode(e, t)
          }),
          (t.prototype.writeLine = function() {
            this.writer.writeLine()
          }),
          (t.prototype.increaseIndent = function() {
            this.writer.increaseIndent()
          }),
          (t.prototype.decreaseIndent = function() {
            this.writer.decreaseIndent()
          }),
          (t.prototype.getText = function() {
            return this.writer.getText()
          }),
          (t.prototype.rawWrite = function(e) {
            this.writer.rawWrite(e), this.setLastNonTriviaPosition(e, !1)
          }),
          (t.prototype.writeLiteral = function(e) {
            this.writer.writeLiteral(e), this.setLastNonTriviaPosition(e, !0)
          }),
          (t.prototype.getTextPos = function() {
            return this.writer.getTextPos()
          }),
          (t.prototype.getLine = function() {
            return this.writer.getLine()
          }),
          (t.prototype.getColumn = function() {
            return this.writer.getColumn()
          }),
          (t.prototype.getIndent = function() {
            return this.writer.getIndent()
          }),
          (t.prototype.isAtStartOfLine = function() {
            return this.writer.isAtStartOfLine()
          }),
          (t.prototype.reset = function() {
            this.writer.reset(), (this.lastNonTriviaPosition = 0)
          }),
          t
        )
      })()
  })((t = e.textChanges || (e.textChanges = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(t) {
      e.forEach(t.errorCodes, function(e) {
        var r = i[e]
        r || ((r = []), (i[e] = r)), r.push(t)
      })
    }
    function n() {
      return Object.keys(i)
    }
    function a(t) {
      var r = i[t.errorCode],
        n = []
      return (
        e.forEach(r, function(e) {
          var r = e.getCodeActions(t)
          r && r.length > 0 && (n = n.concat(r))
        }),
        n
      )
    }
    var i = []
    ;(t.registerCodeFix = r), (t.getSupportedErrorCodes = n), (t.getFixes = a)
  })((t = e.codefix || (e.codefix = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(r) {
      function n(e, t, r, n) {
        if (!r) {
          var a = c.getIndexInfoOfType(e, t)
          if (a) {
            var i = c.indexInfoToIndexSignatureDeclaration(a, t, u)
            n.push(i)
          }
        }
      }
      function a(e, n, a) {
        var i = { description: a, changes: t.newNodesToChanges(n, _, r) }
        e.push(i)
      }
      var i = r.sourceFile,
        o = r.span.start,
        s = e.getTokenAtPosition(i, o),
        c = r.program.getTypeChecker(),
        u = e.getContainingClass(s)
      if (u) {
        for (
          var _ = e.getOpenBraceOfClassLike(u, i),
            l = c.getTypeAtLocation(u),
            d = e.getClassImplementsHeritageClauseElements(u),
            p = !!c.getIndexTypeOfType(l, 1),
            f = !!c.getIndexTypeOfType(l, 0),
            g = [],
            m = 0,
            y = d;
          m < y.length;
          m++
        ) {
          var v = y[m],
            h = c.getTypeAtLocation(v),
            b = c.getPropertiesOfType(h),
            k = b.filter(function(t) {
              return !(8 & e.getModifierFlags(t.valueDeclaration))
            }),
            x = []
          n(h, 1, p, x),
            n(h, 0, f, x),
            (x = x.concat(t.createMissingMemberNodes(u, k, c)))
          var C = e.formatStringFromArgs(
            e.getLocaleSpecificMessage(e.Diagnostics.Implement_interface_0),
            [v.getText()]
          )
          x.length > 0 && a(g, x, C)
        }
        return g
      }
    }
    t.registerCodeFix({
      errorCodes: [
        e.Diagnostics.Class_0_incorrectly_implements_interface_1.code
      ],
      getCodeActions: r
    })
  })((t = e.codefix || (e.codefix = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(t) {
      function r() {
        var r = o.getText()
        if (u) {
          if (199 === c.kind) return
          var n = c.name.getText()
          return [
            {
              description: e.formatStringFromArgs(
                e.getLocaleSpecificMessage(
                  e.Diagnostics.Initialize_static_property_0
                ),
                [r]
              ),
              changes: [
                {
                  fileName: a.fileName,
                  textChanges: [
                    {
                      span: { start: c.getEnd(), length: 0 },
                      newText:
                        '' +
                        t.newLineCharacter +
                        n +
                        '.' +
                        r +
                        ' = undefined;' +
                        t.newLineCharacter
                    }
                  ]
                }
              ]
            }
          ]
        }
        var i = e.getFirstConstructorWithBody(c)
        if (i)
          return [
            {
              description: e.formatStringFromArgs(
                e.getLocaleSpecificMessage(
                  e.Diagnostics.Initialize_property_0_in_the_constructor
                ),
                [r]
              ),
              changes: [
                {
                  fileName: a.fileName,
                  textChanges: [
                    {
                      span: { start: i.body.getEnd() - 1, length: 0 },
                      newText:
                        'this.' + r + ' = undefined;' + t.newLineCharacter
                    }
                  ]
                }
              ]
            }
          ]
      }
      function n() {
        var r
        if (194 === o.parent.parent.kind) {
          var n = o.parent.parent,
            i = t.program.getTypeChecker(),
            s = i.getWidenedType(
              i.getBaseTypeOfLiteralType(i.getTypeAtLocation(n.right))
            )
          r = i.typeToTypeNode(s, c)
        }
        r = r || e.createKeywordTypeNode(119)
        var _ = e.getOpenBraceOfClassLike(c, a),
          l = e.createProperty(
            void 0,
            u ? [e.createToken(115)] : void 0,
            o.getText(a),
            void 0,
            r,
            void 0
          ),
          d = e.textChanges.ChangeTracker.fromCodeFixContext(t)
        d.insertNodeAfter(a, _, l, { suffix: t.newLineCharacter })
        var p = [
          {
            description: e.formatStringFromArgs(
              e.getLocaleSpecificMessage(
                e.Diagnostics.Add_declaration_for_missing_property_0
              ),
              [o.getText()]
            ),
            changes: d.getChanges()
          }
        ]
        if (!u) {
          var f = e.createKeywordTypeNode(136),
            g = e.createParameter(
              void 0,
              void 0,
              void 0,
              'x',
              void 0,
              f,
              void 0
            ),
            m = e.createIndexSignatureDeclaration(void 0, void 0, [g], r),
            y = e.textChanges.ChangeTracker.fromCodeFixContext(t)
          y.insertNodeAfter(a, _, m, { suffix: t.newLineCharacter }),
            p.push({
              description: e.formatStringFromArgs(
                e.getLocaleSpecificMessage(
                  e.Diagnostics.Add_index_signature_for_missing_property_0
                ),
                [o.getText()]
              ),
              changes: y.getChanges()
            })
        }
        return p
      }
      var a = t.sourceFile,
        i = t.span.start,
        o = e.getTokenAtPosition(a, i)
      if (
        71 === o.kind &&
        e.isPropertyAccessExpression(o.parent) &&
        99 === o.parent.expression.kind
      ) {
        var s = e.getThisContainer(o, !1)
        if (e.isClassElement(s)) {
          var c = s.parent
          if (c && e.isClassLike(c)) {
            var u = e.hasModifier(s, 32)
            return e.isInJavaScriptFile(a) ? r() : n()
          }
        }
      }
    }
    t.registerCodeFix({
      errorCodes: [e.Diagnostics.Property_0_does_not_exist_on_type_1.code],
      getCodeActions: r
    })
  })((t = e.codefix || (e.codefix = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(r) {
      var a = r.sourceFile,
        i = r.span.start,
        o = e.getTokenAtPosition(a, i),
        s = r.program.getTypeChecker()
      if (e.isClassLike(o.parent)) {
        var c = o.parent,
          u = e.getClassExtendsHeritageClauseElement(c),
          _ = s.getTypeAtLocation(u),
          l = s.getPropertiesOfType(_),
          d = l.filter(n),
          p = t.createMissingMemberNodes(c, d, s),
          f = t.newNodesToChanges(p, e.getOpenBraceOfClassLike(c, a), r)
        if (f && f.length > 0)
          return [
            {
              description: e.getLocaleSpecificMessage(
                e.Diagnostics.Implement_inherited_abstract_class
              ),
              changes: f
            }
          ]
      }
    }
    function n(t) {
      var r = t.getDeclarations()
      e.Debug.assert(!!(r && r.length > 0))
      var n = e.getModifierFlags(r[0])
      return !(8 & n || !(128 & n))
    }
    t.registerCodeFix({
      errorCodes: [
        e.Diagnostics
          .Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2
          .code
      ],
      getCodeActions: r
    }),
      t.registerCodeFix({
        errorCodes: [
          e.Diagnostics
            .Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1
            .code
        ],
        getCodeActions: r
      })
  })((t = e.codefix || (e.codefix = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    t.registerCodeFix({
      errorCodes: [
        e.Diagnostics
          .super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class
          .code
      ],
      getCodeActions: function(t) {
        function r(t) {
          if (210 === t.kind && e.isSuperCall(t.expression)) return t
          if (!e.isFunctionLike(t)) return e.forEachChild(t, r)
        }
        var n = t.sourceFile,
          a = e.getTokenAtPosition(n, t.span.start)
        if (99 === a.kind) {
          var i = e.getContainingFunction(a),
            o = r(i.body)
          if (o) {
            if (o.expression && 181 === o.expression.kind)
              for (var s = o.expression.arguments, c = 0; c < s.length; c++)
                if (s[c].expression === a) return
            var u = e.textChanges.ChangeTracker.fromCodeFixContext(t)
            return (
              u.insertNodeAfter(n, e.getOpenBrace(i, n), o, {
                suffix: t.newLineCharacter
              }),
              u.deleteNode(n, o),
              [
                {
                  description: e.getLocaleSpecificMessage(
                    e.Diagnostics
                      .Make_super_call_the_first_statement_in_the_constructor
                  ),
                  changes: u.getChanges()
                }
              ]
            )
          }
        }
      }
    })
  })((t = e.codefix || (e.codefix = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    t.registerCodeFix({
      errorCodes: [
        e.Diagnostics.Constructors_for_derived_classes_must_contain_a_super_call
          .code
      ],
      getCodeActions: function(t) {
        var r = t.sourceFile,
          n = e.getTokenAtPosition(r, t.span.start)
        if (123 === n.kind) {
          var a = e.textChanges.ChangeTracker.fromCodeFixContext(t),
            i = e.createStatement(
              e.createCall(e.createSuper(), void 0, e.emptyArray)
            )
          return (
            a.insertNodeAfter(r, e.getOpenBrace(n.parent, r), i, {
              suffix: t.newLineCharacter
            }),
            [
              {
                description: e.getLocaleSpecificMessage(
                  e.Diagnostics.Add_missing_super_call
                ),
                changes: a.getChanges()
              }
            ]
          )
        }
      }
    })
  })((t = e.codefix || (e.codefix = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    t.registerCodeFix({
      errorCodes: [
        e.Diagnostics.Cannot_extend_an_interface_0_Did_you_mean_implements.code
      ],
      getCodeActions: function(t) {
        var r = t.sourceFile,
          n = t.span.start,
          a = e.getTokenAtPosition(r, n),
          i = e.getContainingClass(a)
        if (71 === a.kind && e.isClassLike(i)) {
          var o = i.heritageClauses
          if (o && o.length > 0) {
            var s = o[0].getFirstToken()
            if (s && 85 === s.kind) {
              var c = e.textChanges.ChangeTracker.fromCodeFixContext(t)
              c.replaceNode(r, s, e.createToken(108))
              for (var u = 1; u < o.length; u++) {
                var _ = o[u].getFirstToken()
                _ && c.replaceNode(r, _, e.createToken(26))
              }
              var l = [
                {
                  description: e.getLocaleSpecificMessage(
                    e.Diagnostics.Change_extends_to_implements
                  ),
                  changes: c.getChanges()
                }
              ]
              return l
            }
          }
        }
      }
    })
  })((t = e.codefix || (e.codefix = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    t.registerCodeFix({
      errorCodes: [
        e.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0
          .code
      ],
      getCodeActions: function(t) {
        var r = t.sourceFile,
          n = e.getTokenAtPosition(r, t.span.start)
        if (71 === n.kind) {
          var a = e.textChanges.ChangeTracker.fromCodeFixContext(t)
          return (
            a.replaceNode(r, n, e.createPropertyAccess(e.createThis(), n)),
            [
              {
                description: e.getLocaleSpecificMessage(
                  e.Diagnostics.Add_this_to_unresolved_variable
                ),
                changes: a.getChanges()
              }
            ]
          )
        }
      }
    })
  })((t = e.codefix || (e.codefix = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    t.registerCodeFix({
      errorCodes: [
        e.Diagnostics._0_is_declared_but_never_used.code,
        e.Diagnostics.Property_0_is_declared_but_never_used.code
      ],
      getCodeActions: function(t) {
        function r(r) {
          return s(
            e.textChanges.ChangeTracker.fromCodeFixContext(t).deleteNode(c, r)
          )
        }
        function n(r) {
          return s(
            e.textChanges.ChangeTracker.fromCodeFixContext(t).deleteRange(c, r)
          )
        }
        function a(r) {
          return s(
            e.textChanges.ChangeTracker.fromCodeFixContext(t).deleteNodeInList(
              c,
              r
            )
          )
        }
        function i(r, n) {
          return s(
            e.textChanges.ChangeTracker.fromCodeFixContext(t).deleteNodeRange(
              c,
              r,
              n
            )
          )
        }
        function o(r, n) {
          return s(
            e.textChanges.ChangeTracker.fromCodeFixContext(t).replaceNode(
              c,
              r,
              n
            )
          )
        }
        function s(t) {
          return [
            {
              description: e.formatStringFromArgs(
                e.getLocaleSpecificMessage(
                  e.Diagnostics.Remove_declaration_for_Colon_0
                ),
                { 0: _.getText() }
              ),
              changes: t.getChanges()
            }
          ]
        }
        var c = t.sourceFile,
          u = t.span.start,
          _ = e.getTokenAtPosition(c, u)
        switch (
          (21 === _.kind && (_ = e.getTokenAtPosition(c, u + 1)), _.kind)
        ) {
          case 71:
            switch (_.parent.kind) {
              case 226:
                switch (_.parent.parent.parent.kind) {
                  case 214:
                    var l = _.parent.parent.parent,
                      d = l.initializer
                    return 1 === d.declarations.length ? r(d) : a(_.parent)
                  case 216:
                    var p = _.parent.parent.parent
                    if (227 === p.initializer.kind) {
                      var f = p.initializer
                      return o(f.declarations[0], e.createObjectLiteral())
                    }
                    break
                  case 215:
                    return
                  case 260:
                    var g = _.parent.parent,
                      m = g.variableDeclaration.getChildren()[0]
                    return r(m)
                  default:
                    var y = _.parent.parent.parent
                    return 1 === y.declarationList.declarations.length
                      ? r(y)
                      : a(_.parent)
                }
              case 145:
                var v = _.parent.parent.typeParameters
                if (1 === v.length) {
                  var h = e.getTokenAtPosition(c, v.pos - 1)
                  if (!h || 27 !== h.kind) return n(v)
                  var b = e.getTokenAtPosition(c, v.end)
                  return b && 29 === b.kind ? i(h, b) : n(v)
                }
                return a(_.parent)
              case 146:
                var k = _.parent.parent
                return 1 === k.parameters.length ? r(_.parent) : a(_.parent)
              case 237:
                var x = e.getAncestor(_, 237)
                return r(x)
              case 242:
                var C = _.parent.parent
                if (1 === C.elements.length) {
                  var S = e.getAncestor(_, 238)
                  return r(S)
                }
                return a(_.parent)
              case 239:
                var D = _.parent
                if (D.namedBindings) {
                  var T = D.name.getStart(c),
                    b = e.getTokenAtPosition(c, D.name.end)
                  return b && 26 === b.kind
                    ? n({ pos: T, end: e.skipTrivia(c.text, b.end, !1, !0) })
                    : r(D.name)
                }
                var E = e.getAncestor(D, 238)
                return r(E)
              case 240:
                var N = _.parent
                if (N.name !== _ || N.parent.name) {
                  var h = e.getTokenAtPosition(c, N.pos - 1)
                  if (h && 26 === h.kind) {
                    var A = e.textChanges.getAdjustedStartPosition(
                      c,
                      h,
                      {},
                      e.textChanges.Position.FullStart
                    )
                    return n({ pos: A, end: N.end })
                  }
                  return n(N)
                }
                var E = e.getAncestor(N, 238)
                return r(E)
            }
            break
          case 149:
          case 240:
            return r(_.parent)
        }
        return e.isDeclarationName(_)
          ? r(_.parent)
          : e.isLiteralComputedPropertyDeclarationName(_)
            ? r(_.parent.parent)
            : void 0
      }
    })
  })((t = e.codefix || (e.codefix = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    var r
    !(function(e) {
      ;(e[(e.Better = 0)] = 'Better'),
        (e[(e.Equal = 1)] = 'Equal'),
        (e[(e.Worse = 2)] = 'Worse')
    })(r || (r = {}))
    var n = (function() {
      function t() {
        this.symbolIdToActionMap = []
      }
      return (
        (t.prototype.addAction = function(e, t) {
          if (t) {
            var n = this.symbolIdToActionMap[e]
            if (!n) return void (this.symbolIdToActionMap[e] = [t])
            if ('CodeChange' === t.kind) return void n.push(t)
            for (
              var a = [], i = 0, o = this.symbolIdToActionMap[e];
              i < o.length;
              i++
            ) {
              var s = o[i]
              if ('CodeChange' !== s.kind)
                switch (
                  this.compareModuleSpecifiers(
                    s.moduleSpecifier,
                    t.moduleSpecifier
                  )
                ) {
                  case r.Better:
                    if ('NewImport' === t.kind) return
                  case r.Equal:
                    a.push(s)
                    break
                  case r.Worse:
                    continue
                }
              else a.push(s)
            }
            a.push(t), (this.symbolIdToActionMap[e] = a)
          }
        }),
        (t.prototype.addActions = function(e, t) {
          for (var r = 0, n = t; r < n.length; r++) {
            var a = n[r]
            this.addAction(e, a)
          }
        }),
        (t.prototype.getAllActions = function() {
          var t = []
          for (var r in this.symbolIdToActionMap)
            t = e.concatenate(t, this.symbolIdToActionMap[r])
          return t
        }),
        (t.prototype.compareModuleSpecifiers = function(t, n) {
          if (t === n) return r.Equal
          if (0 === n.indexOf(t)) return r.Better
          if (0 === t.indexOf(n)) return r.Worse
          if (
            e.isExternalModuleNameRelative(t) &&
            e.isExternalModuleNameRelative(n)
          ) {
            var a = new RegExp(e.directorySeparator, 'g'),
              i = (t.match(a) || []).length,
              o = (n.match(a) || []).length
            return i < o ? r.Better : i === o ? r.Equal : r.Worse
          }
          return r.Equal
        }),
        t
      )
    })()
    t.registerCodeFix({
      errorCodes: [
        e.Diagnostics.Cannot_find_name_0.code,
        e.Diagnostics.Cannot_find_namespace_0.code,
        e.Diagnostics
          ._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead
          .code
      ],
      getCodeActions: function(t) {
        function r(e) {
          function t(e) {
            for (var t = e; t; ) {
              if (238 === t.kind) return t
              if (237 === t.kind) return t
              t = t.parent
            }
          }
          var r = a(e),
            n = y[r]
          if (n) return n
          for (var i = [], o = 0, s = _.imports; o < s.length; o++) {
            var c = s[o],
              u = l.getSymbolAtLocation(c)
            u === e && i.push(t(c))
          }
          return (y[r] = i), i
        }
        function a(t) {
          return 8388608 & t.flags
            ? e.getSymbolId(l.getAliasedSymbol(t))
            : e.getSymbolId(t)
        }
        function i(t, r) {
          var n = t.getDeclarations()
          return (
            !!n &&
            e.some(t.declarations, function(t) {
              return !!(e.getMeaningFromDeclaration(t) & r)
            })
          )
        }
        function o(n, a, i) {
          function o(t) {
            function r(e) {
              return e.moduleReference && 248 === e.moduleReference.kind
                ? e.moduleReference.expression.getText()
                : e.moduleReference.getText()
            }
            function n(t) {
              var r = t.namedBindings,
                n = e.createImportSpecifier(void 0, e.createIdentifier(g))
              if (!r || 0 === r.elements.length) {
                var a = e.createImportClause(t.name, e.createNamedImports([n]))
                return s()
                  .replaceNode(_, t, a)
                  .getChanges()
              }
              return s()
                .insertNodeInListAfter(_, r.elements[r.elements.length - 1], n)
                .getChanges()
            }
            function a(t) {
              var r
              return (
                (r =
                  238 === t.kind
                    ? t.importClause.namedBindings.name.getText()
                    : t.name.getText()),
                (r = e.stripQuotes(r)),
                c(
                  e.Diagnostics.Change_0_to_1,
                  [g, r + '.' + g],
                  s()
                    .replaceNode(
                      _,
                      f,
                      e.createPropertyAccess(e.createIdentifier(r), g)
                    )
                    .getChanges(),
                  'CodeChange'
                )
              )
            }
            for (var o, u, d, p = [], m = 0, y = t; m < y.length; m++) {
              var v = y[m]
              if (238 === v.kind) {
                var h = v.importClause && v.importClause.namedBindings
                h && 240 === h.kind ? (o = v) : (u = v),
                  (d = v.moduleSpecifier.getText())
              } else (o = v), (d = r(v))
            }
            if (
              (o && p.push(a(o)),
              !i &&
                u &&
                u.importClause &&
                (u.importClause.name || u.importClause.namedBindings))
            ) {
              var b = n(u.importClause),
                k = e.stripQuotes(u.moduleSpecifier.getText())
              p.push(
                c(
                  e.Diagnostics.Add_0_to_existing_import_declaration_from_1,
                  [g, k],
                  b,
                  'InsertingIntoExistingImport',
                  k
                )
              )
            } else p.push(l(d))
            return p
          }
          function l(r) {
            function o() {
              function r() {
                if (265 !== n.valueDeclaration.kind) return n.name
              }
              function a() {
                if (g.baseUrl) {
                  var t = f(u, g.baseUrl)
                  if (t) {
                    var r = e.removeFileExtension(t)
                    if (((t = d(t)), g.paths))
                      for (var n in g.paths)
                        for (var a = 0, i = g.paths[n]; a < i.length; a++) {
                          var o = i[a],
                            s = o.indexOf('*')
                          if (0 !== s || 1 !== o.length)
                            if (s !== -1) {
                              var c = o.substr(0, s),
                                _ = o.substr(s + 1)
                              if (
                                t.length >= c.length + _.length &&
                                e.startsWith(t, c) &&
                                e.endsWith(t, _)
                              ) {
                                var l = t.substr(c.length, t.length - _.length)
                                return n.replace('*', l)
                              }
                            } else if (o === t || o === r) return n
                        }
                    return t
                  }
                }
              }
              function i() {
                if (g.rootDirs) {
                  var t = l(u, g.rootDirs),
                    r = l(p, g.rootDirs)
                  if (void 0 !== t) {
                    var n = void 0 !== r ? m(t, r) : t
                    return e.removeFileExtension(n)
                  }
                }
              }
              function o() {
                var r = e.getEffectiveTypeRoots(g, t.host)
                if (r)
                  for (
                    var n = e.map(r, function(t) {
                        return e.toPath(t, void 0, h)
                      }),
                      a = 0,
                      i = n;
                    a < i.length;
                    a++
                  ) {
                    var o = i[a]
                    if (e.startsWith(u, o)) {
                      var s = u.substring(o.length + 1)
                      return d(s)
                    }
                  }
              }
              function s() {
                if (
                  e.getEmitModuleResolutionKind(g) ===
                  e.ModuleResolutionKind.NodeJs
                ) {
                  var r = u.indexOf('node_modules')
                  if (!(r < 0)) {
                    var n
                    if (
                      ((n =
                        0 === p.indexOf(u.substring(0, r - 1))
                          ? u.substring(r + 13)
                          : m(u, p)),
                      (n = e.removeFileExtension(n)),
                      e.endsWith(n, '/index'))
                    )
                      n = e.getDirectoryPath(n)
                    else
                      try {
                        var a = e.getDirectoryPath(u),
                          i = JSON.parse(
                            t.host.readFile(e.combinePaths(a, 'package.json'))
                          )
                        if (i) {
                          var o = i.main || i.typings
                          if (o) {
                            var s = e.toPath(o, a, h)
                            e.removeFileExtension(s) ===
                              e.removeFileExtension(u) &&
                              (n = e.getDirectoryPath(n))
                          }
                        }
                      } catch (c) {}
                    return n
                  }
                }
              }
              var c = _.fileName,
                u = n.valueDeclaration.getSourceFile().fileName,
                p = e.getDirectoryPath(c),
                g = t.program.getCompilerOptions()
              return (
                r() ||
                o() ||
                s() ||
                a() ||
                i() ||
                e.removeFileExtension(m(u, p))
              )
            }
            function l(e, t) {
              for (var r = 0, n = t; r < n.length; r++) {
                var a = n[r],
                  i = f(e, a)
                if (void 0 !== i) return i
              }
            }
            function d(t) {
              return (
                (t = e.removeFileExtension(t)),
                e.endsWith(t, '/index') && (t = t.substr(0, t.length - 6)),
                t
              )
            }
            function f(t, r) {
              var n = e.getRelativePathToDirectoryOrUrl(r, t, r, h, !1)
              return e.isRootedDiskPath(n) || e.startsWith(n, '..') ? void 0 : n
            }
            function m(t, r) {
              var n = e.getRelativePathToDirectoryOrUrl(r, t, r, h, !1)
              return e.moduleHasNonRelativeName(n) ? './' + n : n
            }
            if (!u)
              for (var y = _.statements.length - 1; y >= 0; y--) {
                var v = _.statements[y]
                if (237 === v.kind || 238 === v.kind) {
                  u = v
                  break
                }
              }
            var h = e.createGetCanonicalFileName(p),
              b = e.stripQuotes(r || o()),
              k = s(),
              x = a
                ? e.createImportClause(e.createIdentifier(g), void 0)
                : i
                  ? e.createImportClause(
                      void 0,
                      e.createNamespaceImport(e.createIdentifier(g))
                    )
                  : e.createImportClause(
                      void 0,
                      e.createNamedImports([
                        e.createImportSpecifier(void 0, e.createIdentifier(g))
                      ])
                    ),
              C = e.createImportDeclaration(
                void 0,
                void 0,
                x,
                e.createLiteral(b)
              )
            return (
              u
                ? k.insertNodeAfter(_, u, C, { suffix: t.newLineCharacter })
                : k.insertNodeAt(_, _.getStart(), C, {
                    suffix: '' + t.newLineCharacter + t.newLineCharacter
                  }),
              c(
                e.Diagnostics.Import_0_from_1,
                [g, '"' + b + '"'],
                k.getChanges(),
                'NewImport',
                b
              )
            )
          }
          var d = r(n)
          return d.length > 0 ? o(d) : [l()]
        }
        function s() {
          return e.textChanges.ChangeTracker.fromCodeFixContext(t)
        }
        function c(t, r, n, a, i) {
          return {
            description: e.formatMessage.apply(void 0, [void 0, t].concat(r)),
            changes: n,
            kind: a,
            moduleSpecifier: i
          }
        }
        var u,
          _ = t.sourceFile,
          l = t.program.getTypeChecker(),
          d = t.program.getSourceFiles(),
          p =
            !!t.host.useCaseSensitiveFileNames &&
            t.host.useCaseSensitiveFileNames(),
          f = e.getTokenAtPosition(_, t.span.start),
          g = f.getText(),
          m = new n(),
          y = [],
          v = e.getMeaningFromLocation(f)
        if (
          t.errorCode ===
          e.Diagnostics
            ._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead
            .code
        ) {
          var h = l.getAliasedSymbol(l.getSymbolAtLocation(f))
          return o(h, !1, !0)
        }
        for (var b = l.getAmbientModules(), k = 0, x = d; k < x.length; k++) {
          var C = x[k]
          C !== _ && e.isExternalOrCommonJsModule(C) && b.push(C.symbol)
        }
        for (var S = 0, D = b; S < D.length; S++) {
          var T = D[S]
          t.cancellationToken.throwIfCancellationRequested()
          var E = l.tryGetMemberInModuleExports('default', T)
          if (E) {
            var N = e.getLocalSymbolForExportDefault(E)
            if (N && N.name === g && i(N, v)) {
              var A = a(N)
              m.addActions(A, o(T, !0))
            }
          }
          var w = l.tryGetMemberInModuleExports(g, T)
          if (w && i(w, v)) {
            var A = a(w)
            m.addActions(A, o(T))
          }
        }
        return m.getAllActions()
      }
    })
  })((t = e.codefix || (e.codefix = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r() {
      var t = e.Diagnostics
      return Object.keys(t)
        .filter(function(r) {
          return t[r] && t[r].category === e.DiagnosticCategory.Error
        })
        .map(function(e) {
          return t[e].code
        })
    }
    function n(t, r, n) {
      var a = e.getLineAndCharacterOfPosition(t, r).line,
        i = e.getStartPositionOfLine(a, t),
        o = e.getFirstNonSpaceCharacterPosition(t.text, i)
      if (
        !e.isInComment(t, o) &&
        !e.isInString(t, o) &&
        !e.isInTemplateString(t, o)
      ) {
        var s = e.getTouchingToken(t, o),
          c = e.getLeadingCommentRangesOfNode(s, t)
        if (!c || !c.length || c[0].pos >= o)
          return { span: { start: o, length: 0 }, newText: '// @ts-ignore' + n }
      }
      return {
        span: { start: r, length: 0 },
        newText: (r === o ? '' : n) + '// @ts-ignore' + n
      }
    }
    function a(t) {
      var r = t.sourceFile,
        a = t.program,
        i = t.newLineCharacter,
        o = t.span
      if (
        e.isInJavaScriptFile(r) &&
        e.isCheckJsEnabledForFile(r, a.getCompilerOptions())
      )
        return [
          {
            description: e.getLocaleSpecificMessage(
              e.Diagnostics.Ignore_this_error_message
            ),
            changes: [{ fileName: r.fileName, textChanges: [n(r, o.start, i)] }]
          },
          {
            description: e.getLocaleSpecificMessage(
              e.Diagnostics.Disable_checking_for_this_file
            ),
            changes: [
              {
                fileName: r.fileName,
                textChanges: [
                  {
                    span: {
                      start: r.checkJsDirective ? r.checkJsDirective.pos : 0,
                      length: r.checkJsDirective
                        ? r.checkJsDirective.end - r.checkJsDirective.pos
                        : 0
                    },
                    newText: '// @ts-nocheck' + i
                  }
                ]
              }
            ]
          }
        ]
    }
    t.registerCodeFix({ errorCodes: r(), getCodeActions: a })
  })((t = e.codefix || (e.codefix = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(t, r, n) {
      for (
        var a = n.sourceFile,
          i = e.textChanges.ChangeTracker.fromCodeFixContext(n),
          o = 0,
          s = t;
        o < s.length;
        o++
      ) {
        var c = s[o]
        i.insertNodeAfter(a, r, c, { suffix: n.newLineCharacter })
      }
      var u = i.getChanges()
      if (!e.some(u)) return u
      e.Debug.assert(1 === u.length)
      var _ = [
        {
          fileName: u[0].fileName,
          textChanges: [
            {
              span: u[0].textChanges[0].span,
              newText: u[0].textChanges.reduce(function(e, t) {
                return e + t.newText
              }, '')
            }
          ]
        }
      ]
      return _
    }
    function n(e, t, r) {
      for (
        var n = e.symbol.members,
          i = t.filter(function(e) {
            return !n.has(e.getName())
          }),
          o = [],
          s = 0,
          c = i;
        s < c.length;
        s++
      ) {
        var u = c[s],
          _ = a(u, e, r)
        _ && (Array.isArray(_) ? (o = o.concat(_)) : o.push(_))
      }
      return o
    }
    function a(t, r, n) {
      function a(t, r, a) {
        var i = n.signatureToSignatureDeclaration(t, 151, r)
        return (
          i &&
            ((i.decorators = void 0),
            (i.modifiers = d),
            (i.name = _),
            (i.questionToken = f ? e.createToken(55) : void 0),
            (i.body = a)),
          i
        )
      }
      var o = t.getDeclarations()
      if (o && o.length) {
        var u = o[0],
          _ = e.getSynthesizedClone(e.getNameOfDeclaration(u)),
          l = c(e.getModifierFlags(u)),
          d = l ? e.createNodeArray([l]) : void 0,
          p = n.getWidenedType(n.getTypeOfSymbolAtLocation(t, r)),
          f = !!(67108864 & t.flags)
        switch (u.kind) {
          case 153:
          case 154:
          case 148:
          case 149:
            var g = n.typeToTypeNode(p, r),
              m = e.createProperty(
                void 0,
                d,
                _,
                f ? e.createToken(55) : void 0,
                g,
                void 0
              )
            return m
          case 150:
          case 151:
            var y = n.getSignaturesOfType(p, 0)
            if (!e.some(y)) return
            if (1 === o.length) {
              e.Debug.assert(1 === y.length)
              var v = y[0]
              return a(v, r, s())
            }
            for (var h = [], b = 0; b < y.length; b++) {
              var v = y[b],
                k = a(v, r)
              k && h.push(k)
            }
            if (o.length > y.length) {
              var v = n.getSignatureFromDeclaration(o[o.length - 1]),
                k = a(v, r, s())
              k && h.push(k)
            } else {
              e.Debug.assert(o.length === y.length)
              var x = i(y, _, f, d)
              h.push(x)
            }
            return h
          default:
            return
        }
      }
    }
    function i(t, r, n, a) {
      for (
        var i = t[0], s = t[0].minArgumentCount, c = !1, u = 0;
        u < t.length;
        u++
      ) {
        var _ = t[u]
        ;(s = Math.min(_.minArgumentCount, s)),
          _.hasRestParameter && (c = !0),
          _.parameters.length >= i.parameters.length &&
            (!_.hasRestParameter || i.hasRestParameter) &&
            (i = _)
      }
      for (
        var l = i.parameters.length - (i.hasRestParameter ? 1 : 0),
          d = i.parameters.map(function(e) {
            return e.getName()
          }),
          p = [],
          u = 0;
        u < l;
        u++
      ) {
        var f = e.createKeywordTypeNode(119),
          g = e.createParameter(
            void 0,
            void 0,
            void 0,
            d[u],
            u >= s ? e.createToken(55) : void 0,
            f,
            void 0
          )
        p.push(g)
      }
      if (c) {
        var m = e.createArrayTypeNode(e.createKeywordTypeNode(119)),
          y = e.createParameter(
            void 0,
            void 0,
            e.createToken(24),
            d[l] || 'rest',
            l >= s ? e.createToken(55) : void 0,
            m,
            void 0
          )
        p.push(y)
      }
      return o(a, r, n, void 0, p, void 0)
    }
    function o(t, r, n, a, i, o) {
      return e.createMethodDeclaration(
        void 0,
        t,
        void 0,
        r,
        n ? e.createToken(55) : void 0,
        a,
        i,
        o,
        s()
      )
    }
    function s() {
      return e.createBlock(
        [
          e.createThrow(
            e.createNew(e.createIdentifier('Error'), void 0, [
              e.createLiteral('Method not implemented.')
            ])
          )
        ],
        !0
      )
    }
    function c(t) {
      return 4 & t ? e.createToken(114) : 16 & t ? e.createToken(113) : void 0
    }
    ;(t.newNodesToChanges = r),
      (t.createMissingMemberNodes = n),
      (t.createStubbedMethod = o)
  })((t = e.codefix || (e.codefix = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(e, t, r, n) {
    var a =
      e >= 143 ? new b(e, t, r) : 71 === e ? new S(71, t, r) : new C(e, t, r)
    return (a.parent = n), a
  }
  function r() {
    return {
      getNodeConstructor: function() {
        return b
      },
      getTokenConstructor: function() {
        return C
      },
      getIdentifierConstructor: function() {
        return S
      },
      getSourceFileConstructor: function() {
        return E
      },
      getSymbolConstructor: function() {
        return x
      },
      getTypeConstructor: function() {
        return D
      },
      getSignatureConstructor: function() {
        return T
      }
    }
  }
  function n(t) {
    var r = !0
    for (var n in t)
      if (e.hasProperty(t, n) && !a(n)) {
        r = !1
        break
      }
    if (r) return t
    var i = {}
    for (var n in t)
      if (e.hasProperty(t, n)) {
        var o = a(n) ? n : n.charAt(0).toLowerCase() + n.substr(1)
        i[o] = t[n]
      }
    return i
  }
  function a(e) {
    return !e.length || e.charAt(0) === e.charAt(0).toLowerCase()
  }
  function i(t) {
    return t
      ? e
          .map(t, function(e) {
            return e.text
          })
          .join('')
      : ''
  }
  function o() {
    return { target: 1, jsx: 1 }
  }
  function s() {
    return e.codefix.getSupportedErrorCodes()
  }
  function c(e, t, r) {
    ;(e.version = r), (e.scriptSnapshot = t)
  }
  function u(t, r, n, a, i, o) {
    var s = r.getText(0, r.getLength()),
      u = e.createSourceFile(t, s, n, i, o)
    return c(u, r, a), u
  }
  function _(t, r, n, a, i) {
    if (a && n !== t.version && !e.disableIncrementalParsing) {
      var o = void 0,
        s = 0 !== a.span.start ? t.text.substr(0, a.span.start) : '',
        _ =
          e.textSpanEnd(a.span) !== t.text.length
            ? t.text.substr(e.textSpanEnd(a.span))
            : ''
      if (0 === a.newLength) o = s && _ ? s + _ : s || _
      else {
        var l = r.getText(a.span.start, a.span.start + a.newLength)
        o = s && _ ? s + l + _ : s ? s + l : l + _
      }
      var d = e.updateSourceFile(t, o, a, i)
      return (
        c(d, r, n),
        (d.nameTable = void 0),
        t !== d &&
          t.scriptSnapshot &&
          (t.scriptSnapshot.dispose && t.scriptSnapshot.dispose(),
          (t.scriptSnapshot = void 0)),
        d
      )
    }
    return u(t.fileName, r, t.languageVersion, n, !0, t.scriptKind)
  }
  function l(t, r) {
    function a(e) {
      t.log && t.log(e)
    }
    function i(e) {
      var t = ae.getSourceFile(e)
      if (!t) throw new Error("Could not find file: '" + e + "'.")
      return t
    }
    function o(e) {
      return h.ensureUpToDate(e), h
    }
    function s() {
      function n(t) {
        return i(t, e.toPath(t, ue, _e))
      }
      function i(t, n) {
        e.Debug.assert(void 0 !== _)
        var a = _.getOrCreateEntryByPath(t, n)
        if (a) {
          if (!p) {
            var i = ae && ae.getSourceFileByPath(n)
            if (i)
              return (
                e.Debug.assert(
                  a.scriptKind === i.scriptKind,
                  'Registered script kind (' +
                    i.scriptKind +
                    ') should match new script kind (' +
                    a.scriptKind +
                    ') for file: ' +
                    n
                ),
                r.updateDocumentWithKey(
                  t,
                  n,
                  d,
                  g,
                  a.scriptSnapshot,
                  a.version,
                  a.scriptKind
                )
              )
          }
          return r.acquireDocumentWithKey(
            t,
            n,
            d,
            g,
            a.scriptSnapshot,
            a.version,
            a.scriptKind
          )
        }
      }
      function o(t) {
        if (!t) return !1
        var r = t.path || e.toPath(t.fileName, ue, _e)
        return t.version === _.getVersion(r)
      }
      function s() {
        if (!ae) return !1
        var t = _.getRootFileNames()
        if (ae.getSourceFiles().length !== t.length) return !1
        for (var r = 0, n = t; r < n.length; r++) {
          var a = n[r]
          if (!o(ae.getSourceFile(a))) return !1
        }
        return e.compareDataObjects(
          ae.getCompilerOptions(),
          _.compilationSettings()
        )
      }
      if (t.getProjectVersion) {
        var c = t.getProjectVersion()
        if (c) {
          if (ie === c) return
          ie = c
        }
      }
      var u = t.getTypeRootsVersion ? t.getTypeRootsVersion() : 0
      oe !== u &&
        (a('TypeRoots version has changed; provide new program'),
        (ae = void 0),
        (oe = u))
      var _ = new N(t, _e)
      if (!s()) {
        var l = ae && ae.getCompilerOptions(),
          d = _.compilationSettings(),
          p =
            l &&
            (l.target !== d.target ||
              l.module !== d.module ||
              l.moduleResolution !== d.moduleResolution ||
              l.noResolve !== d.noResolve ||
              l.jsx !== d.jsx ||
              l.allowJs !== d.allowJs ||
              l.disableSizeLimit !== l.disableSizeLimit ||
              l.baseUrl !== d.baseUrl ||
              !e.equalOwnProperties(l.paths, d.paths)),
          f = {
            getSourceFile: n,
            getSourceFileByPath: i,
            getCancellationToken: function() {
              return ce
            },
            getCanonicalFileName: _e,
            useCaseSensitiveFileNames: function() {
              return se
            },
            getNewLine: function() {
              return e.getNewLineOrDefaultFromHost(t)
            },
            getDefaultLibFileName: function(e) {
              return t.getDefaultLibFileName(e)
            },
            writeFile: e.noop,
            getCurrentDirectory: function() {
              return ue
            },
            fileExists: function(e) {
              return void 0 !== _.getOrCreateEntry(e)
            },
            readFile: function(e) {
              var t = _.getOrCreateEntry(e)
              return (
                t && t.scriptSnapshot.getText(0, t.scriptSnapshot.getLength())
              )
            },
            directoryExists: function(r) {
              return e.directoryProbablyExists(r, t)
            },
            getDirectories: function(e) {
              return t.getDirectories ? t.getDirectories(e) : []
            }
          }
        t.trace &&
          (f.trace = function(e) {
            return t.trace(e)
          }),
          t.resolveModuleNames &&
            (f.resolveModuleNames = function(e, r) {
              return t.resolveModuleNames(e, r)
            }),
          t.resolveTypeReferenceDirectives &&
            (f.resolveTypeReferenceDirectives = function(e, r) {
              return t.resolveTypeReferenceDirectives(e, r)
            })
        var g = r.getKeyForCompilationSettings(d),
          m = e.createProgram(_.getRootFileNames(), d, f, ae)
        if (ae)
          for (
            var y = ae.getSourceFiles(),
              v = r.getKeyForCompilationSettings(l),
              h = 0,
              b = y;
            h < b.length;
            h++
          ) {
            var k = b[h]
            ;(m.getSourceFile(k.fileName) && !p) ||
              r.releaseDocumentWithKey(k.path, v)
          }
        ;(_ = void 0), (ae = m), ae.getTypeChecker()
      }
    }
    function c() {
      return s(), ae
    }
    function u() {
      ae = void 0
    }
    function _() {
      ae &&
        e.forEach(ae.getSourceFiles(), function(e) {
          return r.releaseDocument(e.fileName, ae.getCompilerOptions())
        })
    }
    function l(e) {
      return s(), ae.getSyntacticDiagnostics(i(e), ce)
    }
    function d(t) {
      s()
      var r = i(t),
        n = ae.getSemanticDiagnostics(r, ce)
      if (!ae.getCompilerOptions().declaration) return n
      var a = ae.getDeclarationDiagnostics(r, ce)
      return e.concatenate(n, a)
    }
    function p() {
      return (
        s(), ae.getOptionsDiagnostics(ce).concat(ae.getGlobalDiagnostics(ce))
      )
    }
    function f(r, n) {
      return (
        s(),
        e.Completions.getCompletionsAtPosition(
          t,
          ae.getTypeChecker(),
          a,
          ae.getCompilerOptions(),
          i(r),
          n
        )
      )
    }
    function g(t, r, n) {
      return (
        s(),
        e.Completions.getCompletionEntryDetails(
          ae.getTypeChecker(),
          a,
          ae.getCompilerOptions(),
          i(t),
          r,
          n
        )
      )
    }
    function m(t, r, n) {
      return (
        s(),
        e.Completions.getCompletionEntrySymbol(
          ae.getTypeChecker(),
          a,
          ae.getCompilerOptions(),
          i(t),
          r,
          n
        )
      )
    }
    function y(t, r) {
      s()
      var n = i(t),
        a = e.getTouchingPropertyName(n, r)
      if (a !== n && !e.isLabelName(a)) {
        var o = ae.getTypeChecker(),
          c = o.getSymbolAtLocation(a)
        if (c && !o.isUnknownSymbol(c)) {
          var u = e.SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(
            o,
            c,
            n,
            e.getContainerNode(a),
            a
          )
          return {
            kind: u.symbolKind,
            kindModifiers: e.SymbolDisplay.getSymbolModifiers(c),
            textSpan: e.createTextSpan(a.getStart(), a.getWidth()),
            displayParts: u.displayParts,
            documentation: u.documentation,
            tags: u.tags
          }
        }
        switch (a.kind) {
          case 71:
          case 179:
          case 143:
          case 99:
          case 169:
          case 97:
            var _ = o.getTypeAtLocation(a)
            if (_)
              return {
                kind: e.ScriptElementKind.unknown,
                kindModifiers: e.ScriptElementKindModifier.none,
                textSpan: e.createTextSpan(a.getStart(), a.getWidth()),
                displayParts: e.typeToDisplayParts(o, _, e.getContainerNode(a)),
                documentation: _.symbol
                  ? _.symbol.getDocumentationComment()
                  : void 0,
                tags: _.symbol ? _.symbol.getJsDocTags() : void 0
              }
        }
      }
    }
    function v(t, r) {
      return s(), e.GoToDefinition.getDefinitionAtPosition(ae, i(t), r)
    }
    function b(t, r) {
      return (
        s(),
        e.GoToDefinition.getTypeDefinitionAtPosition(
          ae.getTypeChecker(),
          i(t),
          r
        )
      )
    }
    function k(t, r) {
      return (
        s(),
        e.FindAllReferences.getImplementationsAtPosition(
          ae.getTypeChecker(),
          ce,
          ae.getSourceFiles(),
          i(t),
          r
        )
      )
    }
    function x(t, r) {
      var n = S(t, r)
      if (n) {
        var a = _e(e.normalizeSlashes(t))
        n = e.filter(n, function(t) {
          return _e(e.normalizeSlashes(t.fileName)) === a
        })
      }
      return n
    }
    function C(t, r, n) {
      s()
      var a = e.map(n, function(e) {
          return ae.getSourceFile(e)
        }),
        o = i(t)
      return e.DocumentHighlights.getDocumentHighlights(
        ae.getTypeChecker(),
        ce,
        o,
        r,
        a
      )
    }
    function S(t, r) {
      function n(t) {
        if (t) {
          for (var r = [], n = 0, a = t; n < a.length; n++)
            for (var i = a[n], o = 0, s = i.highlightSpans; o < s.length; o++) {
              var c = s[o]
              r.push({
                fileName: i.fileName,
                textSpan: c.textSpan,
                isWriteAccess: c.kind === e.HighlightSpanKind.writtenReference,
                isDefinition: !1,
                isInString: c.isInString
              })
            }
          return r
        }
      }
      return n(C(t, r, [t]))
    }
    function D(e, t, r, n) {
      return E(e, t, { findInStrings: r, findInComments: n, isForRename: !0 })
    }
    function T(e, t) {
      return E(e, t)
    }
    function E(t, r, n) {
      return (
        s(),
        e.FindAllReferences.findReferencedEntries(
          ae.getTypeChecker(),
          ce,
          ae.getSourceFiles(),
          i(t),
          r,
          n
        )
      )
    }
    function P(t, r) {
      return (
        s(),
        e.FindAllReferences.findReferencedSymbols(
          ae.getTypeChecker(),
          ce,
          ae.getSourceFiles(),
          i(t),
          r
        )
      )
    }
    function O(t, r, n, a) {
      s()
      var o = n ? [i(n)] : ae.getSourceFiles()
      return e.NavigateTo.getNavigateToItems(
        o,
        ae.getTypeChecker(),
        ce,
        t,
        r,
        a
      )
    }
    function F(e, r) {
      function n(e, t, r) {
        o.push({ name: e, writeByteOrderMark: r, text: t })
      }
      s()
      var a = i(e),
        o = [],
        c = t.getCustomTransformers && t.getCustomTransformers(),
        u = ae.emit(a, n, ce, r, c)
      return { outputFiles: o, emitSkipped: u.emitSkipped }
    }
    function I(t, r) {
      s()
      var n = i(t)
      return e.SignatureHelp.getSignatureHelpItems(ae, n, r, ce)
    }
    function R(e) {
      return ne.getCurrentSourceFile(e)
    }
    function M(e) {
      return R(e)
    }
    function L(t, r, n) {
      var a = ne.getCurrentSourceFile(t),
        i = e.getTouchingPropertyName(a, r)
      if (i !== a) {
        switch (i.kind) {
          case 179:
          case 143:
          case 9:
          case 86:
          case 101:
          case 95:
          case 97:
          case 99:
          case 169:
          case 71:
            break
          default:
            return
        }
        for (var o = i; ; )
          if (
            e.isRightSideOfPropertyAccess(o) ||
            e.isRightSideOfQualifiedName(o)
          )
            o = o.parent
          else {
            if (!e.isNameOfModuleDeclaration(o)) break
            if (
              233 !== o.parent.parent.kind ||
              o.parent.parent.body !== o.parent
            )
              break
            o = o.parent.parent.name
          }
        return e.createTextSpanFromBounds(o.getStart(), i.getEnd())
      }
    }
    function B(t, r) {
      var n = ne.getCurrentSourceFile(t)
      return e.BreakpointResolver.spanInSourceFileAtLocation(n, r)
    }
    function J(t) {
      return e.NavigationBar.getNavigationBarItems(
        ne.getCurrentSourceFile(t),
        ce
      )
    }
    function z(t) {
      return e.NavigationBar.getNavigationTree(ne.getCurrentSourceFile(t), ce)
    }
    function K(r) {
      var n = e.getScriptKind(r, t)
      return 3 === n || 4 === n
    }
    function j(t, r) {
      return K(t)
        ? (s(),
          e.getSemanticClassifications(
            ae.getTypeChecker(),
            ce,
            i(t),
            ae.getClassifiableNames(),
            r
          ))
        : []
    }
    function V(t, r) {
      return K(t)
        ? (s(),
          e.getEncodedSemanticClassifications(
            ae.getTypeChecker(),
            ce,
            i(t),
            ae.getClassifiableNames(),
            r
          ))
        : { spans: [], endOfLineState: 0 }
    }
    function q(t, r) {
      return e.getSyntacticClassifications(ce, ne.getCurrentSourceFile(t), r)
    }
    function U(t, r) {
      return e.getEncodedSyntacticClassifications(
        ce,
        ne.getCurrentSourceFile(t),
        r
      )
    }
    function W(t) {
      var r = ne.getCurrentSourceFile(t)
      return e.OutliningElementsCollector.collectElements(r, ce)
    }
    function H(t, r) {
      function n(e) {
        switch (e.kind) {
          case 17:
            return 18
          case 19:
            return 20
          case 21:
            return 22
          case 27:
            return 29
          case 18:
            return 17
          case 20:
            return 19
          case 22:
            return 21
          case 29:
            return 27
        }
      }
      var a = ne.getCurrentSourceFile(t),
        i = [],
        o = e.getTouchingToken(a, r)
      if (o.getStart(a) === r) {
        var s = n(o)
        if (s)
          for (
            var c = o.parent, u = c.getChildren(a), _ = 0, l = u;
            _ < l.length;
            _++
          ) {
            var d = l[_]
            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 G(t, r, i) {
      var o = e.timestamp(),
        s = n(i),
        c = ne.getCurrentSourceFile(t)
      a(
        'getIndentationAtPosition: getCurrentSourceFile: ' + (e.timestamp() - o)
      ),
        (o = e.timestamp())
      var u = e.formatting.SmartIndenter.getIndentation(r, c, s)
      return (
        a(
          'getIndentationAtPosition: computeIndentation  : ' +
            (e.timestamp() - o)
        ),
        u
      )
    }
    function X(t, r, a, i) {
      var s = ne.getCurrentSourceFile(t),
        c = n(i)
      return e.formatting.formatSelection(r, a, s, o(c), c)
    }
    function Q(t, r) {
      var a = ne.getCurrentSourceFile(t),
        i = n(r)
      return e.formatting.formatDocument(a, o(i), i)
    }
    function Y(t, r, a, i) {
      var s = ne.getCurrentSourceFile(t),
        c = n(i)
      return '}' === a
        ? e.formatting.formatOnClosingCurly(r, s, o(c), c)
        : ';' === a
          ? e.formatting.formatOnSemicolon(r, s, o(c), c)
          : '\n' === a
            ? e.formatting.formatOnEnter(r, s, o(c), c)
            : []
    }
    function Z(r, n, a, c, u) {
      s()
      var _ = i(r),
        l = { start: n, length: a - n },
        d = e.getNewLineOrDefaultFromHost(t),
        p = []
      return (
        e.forEach(e.deduplicate(c), function(r) {
          ce.throwIfCancellationRequested()
          var n = {
              errorCode: r,
              sourceFile: _,
              span: l,
              program: ae,
              newLineCharacter: d,
              host: t,
              cancellationToken: ce,
              rulesProvider: o(u)
            },
            a = e.codefix.getFixes(n)
          a && (p = p.concat(a))
        }),
        p
      )
    }
    function $(r, n) {
      return e.JsDoc.getDocCommentTemplateAtPosition(
        e.getNewLineOrDefaultFromHost(t),
        ne.getCurrentSourceFile(r),
        n
      )
    }
    function ee(t, r, n) {
      if (60 === n) return !1
      var a = ne.getCurrentSourceFile(t)
      return (
        !e.isInString(a, r) &&
        (e.isInsideJsxElementOrAttribute(a, r)
          ? 123 === n
          : !e.isInTemplateString(a, r))
      )
    }
    function te(t, r) {
      function n(e) {
        return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&')
      }
      function a() {
        var t = /(?:\/\/+\s*)/.source,
          a = /(?:\/\*+\s*)/.source,
          i = /(?:^(?:\s|\*)*)/.source,
          o = '(' + i + '|' + t + '|' + a + ')',
          s =
            '(?:' +
            e
              .map(r, function(e) {
                return '(' + n(e.text) + ')'
              })
              .join('|') +
            ')',
          c = /(?:$|\*\/)/.source,
          u = /(?:.*?)/.source,
          _ = '(' + s + u + ')',
          l = o + _ + c
        return new RegExp(l, 'gim')
      }
      function o(e) {
        return (
          (e >= 97 && e <= 122) || (e >= 65 && e <= 90) || (e >= 48 && e <= 57)
        )
      }
      s()
      var c = i(t)
      ce.throwIfCancellationRequested()
      var u = c.text,
        _ = []
      if (r.length > 0)
        for (var l = a(), d = void 0; (d = l.exec(u)); ) {
          ce.throwIfCancellationRequested()
          var p = 3
          e.Debug.assert(d.length === r.length + p)
          var f = d[1],
            g = d.index + f.length,
            m = e.getTokenAtPosition(c, g)
          if (e.isInsideComment(c, m, g)) {
            for (var y = void 0, v = 0; v < r.length; v++)
              d[v + p] && (y = r[v])
            if (
              (e.Debug.assert(void 0 !== y),
              !o(u.charCodeAt(g + y.text.length)))
            ) {
              var h = d[2]
              _.push({ descriptor: y, message: h, position: g })
            }
          }
        }
      return _
    }
    function re(r, n) {
      s()
      var a = t.getDefaultLibFileName(t.getCompilationSettings())
      return e.Rename.getRenameInfo(ae.getTypeChecker(), a, _e, i(r), n)
    }
    void 0 === r &&
      (r = e.createDocumentRegistry(
        t.useCaseSensitiveFileNames && t.useCaseSensitiveFileNames(),
        t.getCurrentDirectory()
      ))
    var ne = new A(t)
    h = h || new e.formatting.RulesProvider()
    var ae,
      ie,
      oe = 0,
      se = t.useCaseSensitiveFileNames && t.useCaseSensitiveFileNames(),
      ce = new w(t.getCancellationToken && t.getCancellationToken()),
      ue = t.getCurrentDirectory()
    !e.localizedDiagnosticMessages &&
      t.getLocalizedDiagnosticMessages &&
      (e.localizedDiagnosticMessages = t.getLocalizedDiagnosticMessages())
    var _e = e.createGetCanonicalFileName(se)
    return {
      dispose: _,
      cleanupSemanticCache: u,
      getSyntacticDiagnostics: l,
      getSemanticDiagnostics: d,
      getCompilerOptionsDiagnostics: p,
      getSyntacticClassifications: q,
      getSemanticClassifications: j,
      getEncodedSyntacticClassifications: U,
      getEncodedSemanticClassifications: V,
      getCompletionsAtPosition: f,
      getCompletionEntryDetails: g,
      getCompletionEntrySymbol: m,
      getSignatureHelpItems: I,
      getQuickInfoAtPosition: y,
      getDefinitionAtPosition: v,
      getImplementationAtPosition: k,
      getTypeDefinitionAtPosition: b,
      getReferencesAtPosition: T,
      findReferences: P,
      getOccurrencesAtPosition: x,
      getDocumentHighlights: C,
      getNameOrDottedNameSpan: L,
      getBreakpointStatementAtPosition: B,
      getNavigateToItems: O,
      getRenameInfo: re,
      findRenameLocations: D,
      getNavigationBarItems: J,
      getNavigationTree: z,
      getOutliningSpans: W,
      getTodoComments: te,
      getBraceMatchingAtPosition: H,
      getIndentationAtPosition: G,
      getFormattingEditsForRange: X,
      getFormattingEditsForDocument: Q,
      getFormattingEditsAfterKeystroke: Y,
      getDocCommentTemplateAtPosition: $,
      isValidBraceCompletionAtPosition: ee,
      getCodeFixesAtPosition: Z,
      getEmitOutput: F,
      getNonBoundSourceFile: R,
      getSourceFile: M,
      getProgram: c
    }
  }
  function d(e) {
    return e.nameTable || p(e), e.nameTable
  }
  function p(t) {
    function r(t) {
      switch (t.kind) {
        case 71:
          n(t.text, t)
          break
        case 9:
        case 8:
          ;(e.isDeclarationName(t) ||
            248 === t.parent.kind ||
            y(t) ||
            e.isLiteralComputedPropertyDeclarationName(t)) &&
            n(t.text, t)
          break
        default:
          if ((e.forEachChild(t, r), t.jsDoc))
            for (var a = 0, i = t.jsDoc; a < i.length; a++) {
              var o = i[a]
              e.forEachChild(o, r)
            }
      }
    }
    function n(e, t) {
      a.set(e, void 0 === a.get(e) ? t.pos : -1)
    }
    var a = e.createMap()
    r(t), (t.nameTable = a)
  }
  function f(e) {
    switch (e.kind) {
      case 253:
      case 255:
      case 261:
      case 262:
      case 151:
      case 153:
      case 154:
        return !0
    }
    return !1
  }
  function g(e) {
    switch (e.kind) {
      case 9:
      case 8:
        if (144 === e.parent.kind)
          return f(e.parent.parent) ? e.parent.parent : void 0
      case 71:
        return !f(e.parent) ||
          (178 !== e.parent.parent.kind && 254 !== e.parent.parent.kind) ||
          e.parent.name !== e
          ? void 0
          : e.parent
    }
  }
  function m(t, r) {
    var n = r.parent,
      a = t.getContextualType(n),
      i = e.getTextOfPropertyName(r.name)
    if (i && a) {
      var o = [],
        s = a.getProperty(i)
      if (65536 & a.flags)
        return (
          e.forEach(a.types, function(e) {
            var t = e.getProperty(i)
            t && o.push(t)
          }),
          o
        )
      if (s) return o.push(s), o
    }
  }
  function y(e) {
    return (
      e &&
      e.parent &&
      180 === e.parent.kind &&
      e.parent.argumentExpression === e
    )
  }
  function v(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. '
    )
  }
  e.servicesVersion = '0.5'
  var h,
    b = (function() {
      function r(e, t, r) {
        ;(this.pos = t),
          (this.end = r),
          (this.flags = 0),
          (this.transformFlags = void 0),
          (this.parent = void 0),
          (this.kind = e)
      }
      return (
        (r.prototype.getSourceFile = function() {
          return e.getSourceFileOfNode(this)
        }),
        (r.prototype.getStart = function(t, r) {
          return e.getTokenPosOfNode(this, t, r)
        }),
        (r.prototype.getFullStart = function() {
          return this.pos
        }),
        (r.prototype.getEnd = function() {
          return this.end
        }),
        (r.prototype.getWidth = function(e) {
          return this.getEnd() - this.getStart(e)
        }),
        (r.prototype.getFullWidth = function() {
          return this.end - this.pos
        }),
        (r.prototype.getLeadingTriviaWidth = function(e) {
          return this.getStart(e) - this.pos
        }),
        (r.prototype.getFullText = function(e) {
          return (e || this.getSourceFile()).text.substring(this.pos, this.end)
        }),
        (r.prototype.getText = function(e) {
          return (
            e || (e = this.getSourceFile()),
            e.text.substring(this.getStart(e), this.getEnd())
          )
        }),
        (r.prototype.addSyntheticNodes = function(r, n, a, i) {
          for (e.scanner.setTextPos(n); n < a; ) {
            var o = i ? e.scanner.scanJSDocToken() : e.scanner.scan(),
              s = e.scanner.getTextPos()
            s <= a && r.push(t(o, n, s, this)), (n = s)
          }
          return n
        }),
        (r.prototype.createSyntaxList = function(e) {
          var r = t(294, e.pos, e.end, this)
          r._children = []
          for (var n = e.pos, a = 0, i = e; a < i.length; a++) {
            var o = i[a]
            n < o.pos && (n = this.addSyntheticNodes(r._children, n, o.pos)),
              r._children.push(o),
              (n = o.end)
          }
          return n < e.end && this.addSyntheticNodes(r._children, n, e.end), r
        }),
        (r.prototype.createChildren = function(t) {
          var r,
            n = this
          if (this.kind >= 143) {
            e.scanner.setText((t || this.getSourceFile()).text), (r = [])
            var a = this.pos,
              i = this.kind >= 283 && this.kind <= 293,
              o = function(t) {
                var o = e.isJSDocTag(t)
                !o && a < t.pos && (a = n.addSyntheticNodes(r, a, t.pos, i)),
                  r.push(t),
                  o || (a = t.end)
              },
              s = function(e) {
                a < e.pos && (a = n.addSyntheticNodes(r, a, e.pos, i)),
                  r.push(n.createSyntaxList(e)),
                  (a = e.end)
              }
            if (this.jsDoc)
              for (var c = 0, u = this.jsDoc; c < u.length; c++) {
                var _ = u[c]
                o(_)
              }
            ;(a = this.pos),
              e.forEachChild(this, o, s),
              a < this.end && this.addSyntheticNodes(r, a, this.end),
              e.scanner.setText(void 0)
          }
          this._children = r || e.emptyArray
        }),
        (r.prototype.getChildCount = function(e) {
          return this._children || this.createChildren(e), this._children.length
        }),
        (r.prototype.getChildAt = function(e, t) {
          return this._children || this.createChildren(t), this._children[e]
        }),
        (r.prototype.getChildren = function(e) {
          return this._children || this.createChildren(e), this._children
        }),
        (r.prototype.getFirstToken = function(t) {
          var r = this.getChildren(t)
          if (r.length) {
            var n = e.find(r, function(e) {
              return e.kind < 267 || e.kind > 293
            })
            return n.kind < 143 ? n : n.getFirstToken(t)
          }
        }),
        (r.prototype.getLastToken = function(t) {
          var r = this.getChildren(t),
            n = e.lastOrUndefined(r)
          if (n) return n.kind < 143 ? n : n.getLastToken(t)
        }),
        (r.prototype.forEachChild = function(t, r) {
          return e.forEachChild(this, t, r)
        }),
        r
      )
    })(),
    k = (function() {
      function t(e, t) {
        ;(this.pos = e),
          (this.end = t),
          (this.flags = 0),
          (this.parent = void 0)
      }
      return (
        (t.prototype.getSourceFile = function() {
          return e.getSourceFileOfNode(this)
        }),
        (t.prototype.getStart = function(t, r) {
          return e.getTokenPosOfNode(this, t, r)
        }),
        (t.prototype.getFullStart = function() {
          return this.pos
        }),
        (t.prototype.getEnd = function() {
          return this.end
        }),
        (t.prototype.getWidth = function(e) {
          return this.getEnd() - this.getStart(e)
        }),
        (t.prototype.getFullWidth = function() {
          return this.end - this.pos
        }),
        (t.prototype.getLeadingTriviaWidth = function(e) {
          return this.getStart(e) - this.pos
        }),
        (t.prototype.getFullText = function(e) {
          return (e || this.getSourceFile()).text.substring(this.pos, this.end)
        }),
        (t.prototype.getText = function(e) {
          return (e || this.getSourceFile()).text.substring(
            this.getStart(),
            this.getEnd()
          )
        }),
        (t.prototype.getChildCount = function() {
          return 0
        }),
        (t.prototype.getChildAt = function() {}),
        (t.prototype.getChildren = function() {
          return e.emptyArray
        }),
        (t.prototype.getFirstToken = function() {}),
        (t.prototype.getLastToken = function() {}),
        (t.prototype.forEachChild = function() {}),
        t
      )
    })(),
    x = (function() {
      function t(e, t) {
        ;(this.flags = e), (this.name = t)
      }
      return (
        (t.prototype.getFlags = function() {
          return this.flags
        }),
        (t.prototype.getName = function() {
          return this.name
        }),
        (t.prototype.getDeclarations = function() {
          return this.declarations
        }),
        (t.prototype.getDocumentationComment = function() {
          return (
            void 0 === this.documentationComment &&
              (this.documentationComment = e.JsDoc.getJsDocCommentsFromDeclarations(
                this.declarations
              )),
            this.documentationComment
          )
        }),
        (t.prototype.getJsDocTags = function() {
          return (
            void 0 === this.tags &&
              (this.tags = e.JsDoc.getJsDocTagsFromDeclarations(
                this.declarations
              )),
            this.tags
          )
        }),
        t
      )
    })(),
    C = (function(e) {
      function t(t, r, n) {
        var a = e.call(this, r, n) || this
        return (a.kind = t), a
      }
      return __extends(t, e), t
    })(k),
    S = (function(e) {
      function t(t, r, n) {
        return e.call(this, r, n) || this
      }
      return __extends(t, e), t
    })(k)
  S.prototype.kind = 71
  var D = (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 32768 & this.flags && 3 & this.objectFlags
            ? this.checker.getBaseTypes(this)
            : void 0
        }),
        (e.prototype.getNonNullableType = function() {
          return this.checker.getNonNullableType(this)
        }),
        e
      )
    })(),
    T = (function() {
      function t(e) {
        this.checker = e
      }
      return (
        (t.prototype.getDeclaration = function() {
          return this.declaration
        }),
        (t.prototype.getTypeParameters = function() {
          return this.typeParameters
        }),
        (t.prototype.getParameters = function() {
          return this.parameters
        }),
        (t.prototype.getReturnType = function() {
          return this.checker.getReturnTypeOfSignature(this)
        }),
        (t.prototype.getDocumentationComment = function() {
          return (
            void 0 === this.documentationComment &&
              (this.documentationComment = this.declaration
                ? e.JsDoc.getJsDocCommentsFromDeclarations([this.declaration])
                : []),
            this.documentationComment
          )
        }),
        (t.prototype.getJsDocTags = function() {
          return (
            void 0 === this.jsDocTags &&
              (this.jsDocTags = this.declaration
                ? e.JsDoc.getJsDocTagsFromDeclarations([this.declaration])
                : []),
            this.jsDocTags
          )
        }),
        t
      )
    })(),
    E = (function(t) {
      function r(e, r, n) {
        return t.call(this, e, r, n) || this
      }
      return (
        __extends(r, t),
        (r.prototype.update = function(t, r) {
          return e.updateSourceFile(this, t, r)
        }),
        (r.prototype.getLineAndCharacterOfPosition = function(t) {
          return e.getLineAndCharacterOfPosition(this, t)
        }),
        (r.prototype.getLineStarts = function() {
          return e.getLineStarts(this)
        }),
        (r.prototype.getPositionOfLineAndCharacter = function(t, r) {
          return e.getPositionOfLineAndCharacter(this, t, r)
        }),
        (r.prototype.getLineEndOfPosition = function(e) {
          var t,
            r = this.getLineAndCharacterOfPosition(e).line,
            n = this.getLineStarts()
          r + 1 >= n.length && (t = this.getEnd()), t || (t = n[r + 1] - 1)
          var a = this.getFullText()
          return '\n' === a[t] && '\r' === a[t - 1] ? t - 1 : t
        }),
        (r.prototype.getNamedDeclarations = function() {
          return (
            this.namedDeclarations ||
              (this.namedDeclarations = this.computeNamedDeclarations()),
            this.namedDeclarations
          )
        }),
        (r.prototype.computeNamedDeclarations = function() {
          function t(e) {
            var t = n(e)
            t && o.add(t, e)
          }
          function r(e) {
            var t = o.get(e)
            return t || o.set(e, (t = [])), t
          }
          function n(t) {
            var r = e.getNameOfDeclaration(t)
            if (r) {
              var n = a(r)
              if (void 0 !== n) return n
              if (144 === r.kind) {
                var i = r.expression
                return 179 === i.kind ? i.name.text : a(i)
              }
            }
          }
          function a(e) {
            if (e && (71 === e.kind || 9 === e.kind || 8 === e.kind))
              return e.text
          }
          function i(a) {
            switch (a.kind) {
              case 228:
              case 186:
              case 151:
              case 150:
                var o = a,
                  s = n(o)
                if (s) {
                  var c = r(s),
                    u = e.lastOrUndefined(c)
                  u && o.parent === u.parent && o.symbol === u.symbol
                    ? o.body && !u.body && (c[c.length - 1] = o)
                    : c.push(o)
                }
                e.forEachChild(a, i)
                break
              case 229:
              case 199:
              case 230:
              case 231:
              case 232:
              case 233:
              case 237:
              case 246:
              case 242:
              case 237:
              case 239:
              case 240:
              case 153:
              case 154:
              case 163:
                t(a), e.forEachChild(a, i)
                break
              case 146:
                if (!e.hasModifier(a, 92)) break
              case 226:
              case 176:
                var _ = a
                if (e.isBindingPattern(_.name)) {
                  e.forEachChild(_.name, i)
                  break
                }
                _.initializer && i(_.initializer)
              case 264:
              case 149:
              case 148:
                t(a)
                break
              case 244:
                a.exportClause && e.forEach(a.exportClause.elements, i)
                break
              case 238:
                var l = a.importClause
                l &&
                  (l.name && t(l),
                  l.namedBindings &&
                    (240 === l.namedBindings.kind
                      ? t(l.namedBindings)
                      : e.forEach(l.namedBindings.elements, i)))
                break
              default:
                e.forEachChild(a, i)
            }
          }
          var o = e.createMultiMap()
          return e.forEachChild(this, i), o
        }),
        r
      )
    })(b)
  ;(e.toEditorSettings = n),
    (e.displayPartsToString = i),
    (e.getDefaultCompilerOptions = o),
    (e.getSupportedCodeFixes = s)
  var N = (function() {
      function t(t, r) {
        ;(this.host = t),
          (this.getCanonicalFileName = r),
          (this.currentDirectory = t.getCurrentDirectory()),
          (this.fileNameToEntry = e.createFileMap())
        for (var n = t.getScriptFileNames(), a = 0, i = n; a < i.length; a++) {
          var s = i[a]
          this.createEntry(s, e.toPath(s, this.currentDirectory, r))
        }
        this._compilationSettings = t.getCompilationSettings() || o()
      }
      return (
        (t.prototype.compilationSettings = function() {
          return this._compilationSettings
        }),
        (t.prototype.createEntry = function(t, r) {
          var n,
            a = this.host.getScriptSnapshot(t)
          return (
            a &&
              (n = {
                hostFileName: t,
                version: this.host.getScriptVersion(t),
                scriptSnapshot: a,
                scriptKind: e.getScriptKind(t, this.host)
              }),
            this.fileNameToEntry.set(r, n),
            n
          )
        }),
        (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 r = e.toPath(t, this.currentDirectory, this.getCanonicalFileName)
          return this.getOrCreateEntryByPath(t, r)
        }),
        (t.prototype.getOrCreateEntryByPath = function(e, t) {
          return this.contains(t) ? this.getEntry(t) : this.createEntry(e, t)
        }),
        (t.prototype.getRootFileNames = function() {
          var e = []
          return (
            this.fileNameToEntry.forEachValue(function(t, r) {
              r && e.push(r.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
      )
    })(),
    A = (function() {
      function t(e) {
        this.host = e
      }
      return (
        (t.prototype.getCurrentSourceFile = function(t) {
          var r = this.host.getScriptSnapshot(t)
          if (!r) throw new Error("Could not find file: '" + t + "'.")
          var n,
            a = e.getScriptKind(t, this.host),
            i = this.host.getScriptVersion(t)
          if (this.currentFileName !== t) n = u(t, r, 5, i, !0, a)
          else if (this.currentFileVersion !== i) {
            var o = r.getChangeRange(this.currentFileScriptSnapshot)
            n = _(this.currentSourceFile, r, i, o)
          }
          return (
            n &&
              ((this.currentFileVersion = i),
              (this.currentFileName = t),
              (this.currentFileScriptSnapshot = r),
              (this.currentSourceFile = n)),
            this.currentSourceFile
          )
        }),
        t
      )
    })()
  ;(e.createLanguageServiceSourceFile = u),
    (e.disableIncrementalParsing = !1),
    (e.updateLanguageServiceSourceFile = _)
  var w = (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
      )
    })(),
    P = (function() {
      function t(e, t) {
        void 0 === t && (t = 20),
          (this.hostCancellationToken = e),
          (this.throttleWaitMilliseconds = t),
          (this.lastCancellationCheckTime = 0)
      }
      return (
        (t.prototype.isCancellationRequested = function() {
          var t = e.timestamp(),
            r = Math.abs(t - this.lastCancellationCheckTime)
          return (
            r >= this.throttleWaitMilliseconds &&
            ((this.lastCancellationCheckTime = t),
            this.hostCancellationToken.isCancellationRequested())
          )
        }),
        (t.prototype.throwIfCancellationRequested = function() {
          if (this.isCancellationRequested())
            throw new e.OperationCanceledException()
        }),
        t
      )
    })()
  ;(e.ThrottledCancellationToken = P),
    (e.createLanguageService = l),
    (e.getNameTable = d),
    (e.getContainingObjectLiteralElement = g),
    (e.getPropertySymbolsFromContextualType = m),
    (e.getDefaultLibFilePath = v),
    (e.objectAllocator = r())
})(ts || (ts = {}))
var ts
!(function(e) {
  var t
  !(function(t) {
    function r(t, r) {
      function n(r, n) {
        var a = r.decorators
          ? e.skipTrivia(t.text, r.decorators.end)
          : r.getStart(t)
        return e.createTextSpanFromBounds(a, (n || r).getEnd())
      }
      function a(t, r) {
        return n(t, e.findNextToken(r, r.parent))
      }
      function i(e, r) {
        return u(
          e && l === t.getLineAndCharacterOfPosition(e.getStart(t)).line ? e : r
        )
      }
      function o(r) {
        return e.createTextSpanFromBounds(e.skipTrivia(t.text, r.pos), r.end)
      }
      function s(r) {
        return u(e.findPrecedingToken(r.pos, t))
      }
      function c(t) {
        return u(e.findNextToken(t, t.parent))
      }
      function u(r) {
        function _(r) {
          return 227 === r.parent.kind && r.parent.declarations[0] === r
            ? n(e.findPrecedingToken(r.pos, t, r.parent), r)
            : n(r)
        }
        function l(r) {
          return 215 === r.parent.parent.kind
            ? u(r.parent.parent)
            : e.isBindingPattern(r.name)
              ? b(r.name)
              : r.initializer ||
                e.hasModifier(r, 1) ||
                216 === r.parent.parent.kind
                ? _(r)
                : 227 === r.parent.kind && r.parent.declarations[0] !== r
                  ? u(e.findPrecedingToken(r.pos, t, r.parent))
                  : void 0
        }
        function d(t) {
          return (
            !!t.initializer ||
            void 0 !== t.dotDotDotToken ||
            e.hasModifier(t, 12)
          )
        }
        function p(t) {
          if (e.isBindingPattern(t.name)) return b(t.name)
          if (d(t)) return n(t)
          var r = t.parent,
            a = e.indexOf(r.parameters, t)
          return a ? p(r.parameters[a - 1]) : u(r.body)
        }
        function f(t) {
          return (
            e.hasModifier(t, 1) || (229 === t.parent.kind && 152 !== t.kind)
          )
        }
        function g(e) {
          if (e.body) return f(e) ? n(e) : u(e.body)
        }
        function m(e) {
          var t = e.statements.length ? e.statements[0] : e.getLastToken()
          return f(e.parent) ? i(e.parent, t) : u(t)
        }
        function y(r) {
          switch (r.parent.kind) {
            case 233:
              if (1 !== e.getModuleInstanceState(r.parent)) return
            case 213:
            case 211:
            case 215:
              return i(r.parent, r.statements[0])
            case 214:
            case 216:
              return i(
                e.findPrecedingToken(r.pos, t, r.parent),
                r.statements[0]
              )
          }
          return u(r.statements[0])
        }
        function v(e) {
          if (227 !== e.initializer.kind) return u(e.initializer)
          var t = e.initializer
          return t.declarations.length > 0 ? u(t.declarations[0]) : void 0
        }
        function h(e) {
          return e.initializer
            ? v(e)
            : e.condition
              ? n(e.condition)
              : e.incrementor
                ? n(e.incrementor)
                : void 0
        }
        function b(t) {
          var r = e.forEach(t.elements, function(e) {
            return 200 !== e.kind ? e : void 0
          })
          return r ? u(r) : 176 === t.parent.kind ? n(t.parent) : _(t.parent)
        }
        function k(t) {
          e.Debug.assert(175 !== t.kind && 174 !== t.kind)
          var r = 177 === t.kind ? t.elements : t.properties,
            a = e.forEach(r, function(e) {
              return 200 !== e.kind ? e : void 0
            })
          return a ? u(a) : n(194 === t.parent.kind ? t.parent : t)
        }
        function x(r) {
          switch (r.parent.kind) {
            case 232:
              var n = r.parent
              return i(
                e.findPrecedingToken(r.pos, t, r.parent),
                n.members.length ? n.members[0] : n.getLastToken(t)
              )
            case 229:
              var a = r.parent
              return i(
                e.findPrecedingToken(r.pos, t, r.parent),
                a.members.length ? a.members[0] : a.getLastToken(t)
              )
            case 235:
              return i(r.parent.parent, r.parent.clauses[0])
          }
          return u(r.parent)
        }
        function C(t) {
          switch (t.parent.kind) {
            case 234:
              if (1 !== e.getModuleInstanceState(t.parent.parent)) return
            case 232:
            case 229:
              return n(t)
            case 207:
              if (e.isFunctionBlock(t.parent)) return n(t)
            case 260:
              return u(e.lastOrUndefined(t.parent.statements))
            case 235:
              var r = t.parent,
                a = e.lastOrUndefined(r.clauses)
              if (a) return u(e.lastOrUndefined(a.statements))
              return
            case 174:
              var i = t.parent
              return u(e.lastOrUndefined(i.elements) || i)
            default:
              if (
                e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)
              ) {
                var o = t.parent
                return n(e.lastOrUndefined(o.properties) || o)
              }
              return u(t.parent)
          }
        }
        function S(t) {
          switch (t.parent.kind) {
            case 175:
              var r = t.parent
              return n(e.lastOrUndefined(r.elements) || r)
            default:
              if (
                e.isArrayLiteralOrObjectLiteralDestructuringPattern(t.parent)
              ) {
                var a = t.parent
                return n(e.lastOrUndefined(a.elements) || a)
              }
              return u(t.parent)
          }
        }
        function D(e) {
          return 212 === e.parent.kind ||
            181 === e.parent.kind ||
            182 === e.parent.kind
            ? s(e)
            : 185 === e.parent.kind
              ? c(e)
              : u(e.parent)
        }
        function T(e) {
          switch (e.parent.kind) {
            case 186:
            case 228:
            case 187:
            case 151:
            case 150:
            case 153:
            case 154:
            case 152:
            case 213:
            case 212:
            case 214:
            case 216:
            case 181:
            case 182:
            case 185:
              return s(e)
            default:
              return u(e.parent)
          }
        }
        function E(t) {
          return e.isFunctionLike(t.parent) ||
            261 === t.parent.kind ||
            146 === t.parent.kind
            ? s(t)
            : u(t.parent)
        }
        function N(e) {
          return 184 === e.parent.kind ? c(e) : u(e.parent)
        }
        function A(e) {
          return 212 === e.parent.kind ? a(e, e.parent.expression) : u(e.parent)
        }
        function w(e) {
          return 216 === e.parent.kind ? c(e) : u(e.parent)
        }
        if (r)
          switch (r.kind) {
            case 208:
              return l(r.declarationList.declarations[0])
            case 226:
            case 149:
            case 148:
              return l(r)
            case 146:
              return p(r)
            case 228:
            case 151:
            case 150:
            case 153:
            case 154:
            case 152:
            case 186:
            case 187:
              return g(r)
            case 207:
              if (e.isFunctionBlock(r)) return m(r)
            case 234:
              return y(r)
            case 260:
              return y(r.block)
            case 210:
              return n(r.expression)
            case 219:
              return n(r.getChildAt(0), r.expression)
            case 213:
              return a(r, r.expression)
            case 212:
              return u(r.statement)
            case 225:
              return n(r.getChildAt(0))
            case 211:
              return a(r, r.expression)
            case 222:
              return u(r.statement)
            case 218:
            case 217:
              return n(r.getChildAt(0), r.label)
            case 214:
              return h(r)
            case 215:
              return a(r, r.expression)
            case 216:
              return v(r)
            case 221:
              return a(r, r.expression)
            case 257:
            case 258:
              return u(r.statements[0])
            case 224:
              return y(r.tryBlock)
            case 223:
              return n(r, r.expression)
            case 243:
              return n(r, r.expression)
            case 237:
              return n(r, r.moduleReference)
            case 238:
              return n(r, r.moduleSpecifier)
            case 244:
              return n(r, r.moduleSpecifier)
            case 233:
              if (1 !== e.getModuleInstanceState(r)) return
            case 229:
            case 232:
            case 264:
            case 176:
              return n(r)
            case 220:
              return u(r.statement)
            case 147:
              return o(r.parent.decorators)
            case 174:
            case 175:
              return b(r)
            case 230:
            case 231:
              return
            case 25:
            case 1:
              return i(e.findPrecedingToken(r.pos, t))
            case 26:
              return s(r)
            case 17:
              return x(r)
            case 18:
              return C(r)
            case 22:
              return S(r)
            case 19:
              return D(r)
            case 20:
              return T(r)
            case 56:
              return E(r)
            case 29:
            case 27:
              return N(r)
            case 106:
              return A(r)
            case 82:
            case 74:
            case 87:
              return c(r)
            case 142:
              return w(r)
            default:
              if (e.isArrayLiteralOrObjectLiteralDestructuringPattern(r))
                return k(r)
              if (
                (71 === r.kind ||
                  198 === r.kind ||
                  261 === r.kind ||
                  262 === r.kind) &&
                e.isArrayLiteralOrObjectLiteralDestructuringPattern(r.parent)
              )
                return n(r)
              if (194 === r.kind) {
                var P = r
                if (e.isArrayLiteralOrObjectLiteralDestructuringPattern(P.left))
                  return k(P.left)
                if (
                  58 === P.operatorToken.kind &&
                  e.isArrayLiteralOrObjectLiteralDestructuringPattern(P.parent)
                )
                  return n(r)
                if (26 === P.operatorToken.kind) return u(P.left)
              }
              if (e.isPartOfExpression(r))
                switch (r.parent.kind) {
                  case 212:
                    return s(r)
                  case 147:
                    return u(r.parent)
                  case 214:
                  case 216:
                    return n(r)
                  case 194:
                    if (26 === r.parent.operatorToken.kind) return n(r)
                    break
                  case 187:
                    if (r.parent.body === r) return n(r)
                }
              if (
                261 === r.parent.kind &&
                r.parent.name === r &&
                !e.isArrayLiteralOrObjectLiteralDestructuringPattern(
                  r.parent.parent
                )
              )
                return u(r.parent.initializer)
              if (184 === r.parent.kind && r.parent.type === r)
                return c(r.parent.type)
              if (e.isFunctionLike(r.parent) && r.parent.type === r) return s(r)
              if (226 === r.parent.kind || 146 === r.parent.kind) {
                var O = r.parent
                if (
                  O.initializer === r ||
                  O.type === r ||
                  e.isAssignmentOperator(r.kind)
                )
                  return s(r)
              }
              if (194 === r.parent.kind) {
                var P = r.parent
                if (
                  e.isArrayLiteralOrObjectLiteralDestructuringPattern(P.left) &&
                  (P.right === r || P.operatorToken === r)
                )
                  return s(r)
              }
              return u(r.parent)
          }
      }
      if (!t.isDeclarationFile) {
        var _ = e.getTokenAtPosition(t, r),
          l = t.getLineAndCharacterOfPosition(r).line
        if (
          (!(t.getLineAndCharacterOfPosition(_.getStart(t)).line > l) ||
            ((_ = e.findPrecedingToken(_.pos, t)),
            _ && t.getLineAndCharacterOfPosition(_.getEnd()).line === l)) &&
          !e.isInAmbientContext(_)
        )
          return u(_)
      }
    }
    t.spanInSourceFileAtLocation = r
  })((t = e.BreakpointResolver || (e.BreakpointResolver = {})))
})(ts || (ts = {}))
var ts
!(function(e) {
  function t(t, r, n) {
    var a = []
    n = e.fixupCompilerOptions(n, a)
    var i = e.isArray(t) ? t : [t],
      o = e.transformNodes(void 0, void 0, n, i, r, !0)
    return (o.diagnostics = e.concatenate(o.diagnostics, a)), o
  }
  e.transform = t
})(ts || (ts = {}))
var debugObjectHost = (function() {
    return this
  })(),
  ts
!(function(e) {
  function t(e, t) {
    e &&
      e.log('*INTERNAL ERROR* - Exception in typescript services: ' + t.message)
  }
  function r(t, r, n, a) {
    var i
    a && (t.log(r), (i = e.timestamp()))
    var o = n()
    if (a) {
      var s = e.timestamp()
      if (
        (t.log(r + ' completed in ' + (s - i) + ' msec'), 'string' == typeof o)
      ) {
        var c = o
        c.length > 128 && (c = c.substring(0, 128) + '...'),
          t.log(
            '  result.length=' +
              c.length +
              ", result='" +
              JSON.stringify(c) +
              "'"
          )
      }
    }
    return o
  }
  function n(e, t, r, n) {
    return a(e, t, !0, r, n)
  }
  function a(n, a, i, o, s) {
    try {
      var c = r(n, a, o, s)
      return i ? JSON.stringify({ result: c }) : c
    } catch (u) {
      return u instanceof e.OperationCanceledException
        ? JSON.stringify({ canceled: !0 })
        : (t(n, u), (u.description = a), JSON.stringify({ error: u }))
    }
  }
  function i(e, t) {
    return e.map(function(e) {
      return o(e, t)
    })
  }
  function o(t, r) {
    return {
      message: e.flattenDiagnosticMessageText(t.messageText, r),
      start: t.start,
      length: t.length,
      category: e.DiagnosticCategory[t.category].toLowerCase(),
      code: t.code
    }
  }
  function s(e) {
    return { spans: e.spans.join(','), endOfLineState: e.endOfLineState }
  }
  var c = (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 r = t,
            n = this.scriptSnapshotShim.getChangeRange(r.scriptSnapshotShim)
          if (null === n) return null
          var a = JSON.parse(n)
          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
      )
    })(),
    u = (function() {
      function t(t) {
        var r = this
        ;(this.shimHost = t),
          (this.loggingEnabled = !1),
          (this.tracingEnabled = !1),
          'getModuleResolutionsForFile' in this.shimHost &&
            (this.resolveModuleNames = function(t, n) {
              var a = JSON.parse(r.shimHost.getModuleResolutionsForFile(n))
              return e.map(t, function(t) {
                var r = e.getProperty(a, t)
                return r
                  ? {
                      resolvedFileName: r,
                      extension: e.extensionFromPath(r),
                      isExternalLibraryImport: !1
                    }
                  : void 0
              })
            }),
          'directoryExists' in this.shimHost &&
            (this.directoryExists = function(e) {
              return r.shimHost.directoryExists(e)
            }),
          'getTypeReferenceDirectiveResolutionsForFile' in this.shimHost &&
            (this.resolveTypeReferenceDirectives = function(t, n) {
              var a = JSON.parse(
                r.shimHost.getTypeReferenceDirectiveResolutionsForFile(n)
              )
              return e.map(t, function(t) {
                return e.getProperty(a, t)
              })
            })
      }
      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() {
          if (this.shimHost.getProjectVersion)
            return this.shimHost.getProjectVersion()
        }),
        (t.prototype.getTypeRootsVersion = function() {
          return this.shimHost.getTypeRootsVersion
            ? this.shimHost.getTypeRootsVersion()
            : 0
        }),
        (t.prototype.useCaseSensitiveFileNames = function() {
          return (
            !!this.shimHost.useCaseSensitiveFileNames &&
            this.shimHost.useCaseSensitiveFileNames()
          )
        }),
        (t.prototype.getCompilationSettings = function() {
          var e = this.shimHost.getCompilationSettings()
          if (null === e || '' === e)
            throw Error(
              'LanguageServiceShimHostAdapter.getCompilationSettings: empty compilationSettings'
            )
          var t = JSON.parse(e)
          return (t.allowNonTsExtensions = !0), t
        }),
        (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 c(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 t = this.shimHost.getCancellationToken()
          return new e.ThrottledCancellationToken(t)
        }),
        (t.prototype.getCurrentDirectory = function() {
          return this.shimHost.getCurrentDirectory()
        }),
        (t.prototype.getDirectories = function(e) {
          return JSON.parse(this.shimHost.getDirectories(e))
        }),
        (t.prototype.getDefaultLibFileName = function(e) {
          return this.shimHost.getDefaultLibFileName(JSON.stringify(e))
        }),
        (t.prototype.readDirectory = function(t, r, n, a, i) {
          var o = e.getFileMatcherPatterns(
            t,
            n,
            a,
            this.shimHost.useCaseSensitiveFileNames(),
            this.shimHost.getCurrentDirectory()
          )
          return JSON.parse(
            this.shimHost.readDirectory(
              t,
              JSON.stringify(r),
              JSON.stringify(o.basePaths),
              o.excludePattern,
              o.includeFilePattern,
              o.includeDirectoryPattern,
              i
            )
          )
        }),
        (t.prototype.readFile = function(e, t) {
          return this.shimHost.readFile(e, t)
        }),
        (t.prototype.fileExists = function(e) {
          return this.shimHost.fileExists(e)
        }),
        t
      )
    })()
  e.LanguageServiceShimHostAdapter = u
  var _ = (function() {
    function t(e) {
      var t = this
      ;(this.shimHost = e),
        (this.useCaseSensitiveFileNames =
          !!this.shimHost.useCaseSensitiveFileNames &&
          this.shimHost.useCaseSensitiveFileNames()),
        'directoryExists' in this.shimHost &&
          (this.directoryExists = function(e) {
            return t.shimHost.directoryExists(e)
          }),
        'realpath' in this.shimHost &&
          (this.realpath = function(e) {
            return t.shimHost.realpath(e)
          })
    }
    return (
      (t.prototype.readDirectory = function(t, r, n, a, i) {
        try {
          var o = e.getFileMatcherPatterns(
            t,
            n,
            a,
            this.shimHost.useCaseSensitiveFileNames(),
            this.shimHost.getCurrentDirectory()
          )
          return JSON.parse(
            this.shimHost.readDirectory(
              t,
              JSON.stringify(r),
              JSON.stringify(o.basePaths),
              o.excludePattern,
              o.includeFilePattern,
              o.includeDirectoryPattern,
              i
            )
          )
        } catch (s) {
          for (var c = [], u = 0, _ = r; u < _.length; u++)
            for (
              var l = _[u], d = 0, p = this.readDirectoryFallback(t, l, n);
              d < p.length;
              d++
            ) {
              var f = p[d]
              e.contains(c, f) || c.push(f)
            }
          return c
        }
      }),
      (t.prototype.fileExists = function(e) {
        return this.shimHost.fileExists(e)
      }),
      (t.prototype.readFile = function(e) {
        return this.shimHost.readFile(e)
      }),
      (t.prototype.readDirectoryFallback = function(e, t, r) {
        return JSON.parse(this.shimHost.readDirectory(e, t, JSON.stringify(r)))
      }),
      (t.prototype.getDirectories = function(e) {
        return JSON.parse(this.shimHost.getDirectories(e))
      }),
      t
    )
  })()
  e.CoreServicesShimHostAdapter = _
  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 = i
  var d = (function(t) {
      function r(e, r, n) {
        var a = t.call(this, e) || this
        return (
          (a.host = r),
          (a.languageService = n),
          (a.logPerformance = !1),
          (a.logger = a.host),
          a
        )
      }
      return (
        __extends(r, t),
        (r.prototype.forwardJSONCall = function(e, t) {
          return n(this.logger, e, t, this.logPerformance)
        }),
        (r.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)
        }),
        (r.prototype.refresh = function(e) {
          this.forwardJSONCall('refresh(' + e + ')', function() {
            return null
          })
        }),
        (r.prototype.cleanupSemanticCache = function() {
          var e = this
          this.forwardJSONCall('cleanupSemanticCache()', function() {
            return e.languageService.cleanupSemanticCache(), null
          })
        }),
        (r.prototype.realizeDiagnostics = function(t) {
          var r = e.getNewLineOrDefaultFromHost(this.host)
          return e.realizeDiagnostics(t, r)
        }),
        (r.prototype.getSyntacticClassifications = function(t, r, n) {
          var a = this
          return this.forwardJSONCall(
            "getSyntacticClassifications('" + t + "', " + r + ', ' + n + ')',
            function() {
              return a.languageService.getSyntacticClassifications(
                t,
                e.createTextSpan(r, n)
              )
            }
          )
        }),
        (r.prototype.getSemanticClassifications = function(t, r, n) {
          var a = this
          return this.forwardJSONCall(
            "getSemanticClassifications('" + t + "', " + r + ', ' + n + ')',
            function() {
              return a.languageService.getSemanticClassifications(
                t,
                e.createTextSpan(r, n)
              )
            }
          )
        }),
        (r.prototype.getEncodedSyntacticClassifications = function(t, r, n) {
          var a = this
          return this.forwardJSONCall(
            "getEncodedSyntacticClassifications('" +
              t +
              "', " +
              r +
              ', ' +
              n +
              ')',
            function() {
              return s(
                a.languageService.getEncodedSyntacticClassifications(
                  t,
                  e.createTextSpan(r, n)
                )
              )
            }
          )
        }),
        (r.prototype.getEncodedSemanticClassifications = function(t, r, n) {
          var a = this
          return this.forwardJSONCall(
            "getEncodedSemanticClassifications('" +
              t +
              "', " +
              r +
              ', ' +
              n +
              ')',
            function() {
              return s(
                a.languageService.getEncodedSemanticClassifications(
                  t,
                  e.createTextSpan(r, n)
                )
              )
            }
          )
        }),
        (r.prototype.getSyntacticDiagnostics = function(e) {
          var t = this
          return this.forwardJSONCall(
            "getSyntacticDiagnostics('" + e + "')",
            function() {
              var r = t.languageService.getSyntacticDiagnostics(e)
              return t.realizeDiagnostics(r)
            }
          )
        }),
        (r.prototype.getSemanticDiagnostics = function(e) {
          var t = this
          return this.forwardJSONCall(
            "getSemanticDiagnostics('" + e + "')",
            function() {
              var r = t.languageService.getSemanticDiagnostics(e)
              return t.realizeDiagnostics(r)
            }
          )
        }),
        (r.prototype.getCompilerOptionsDiagnostics = function() {
          var e = this
          return this.forwardJSONCall(
            'getCompilerOptionsDiagnostics()',
            function() {
              var t = e.languageService.getCompilerOptionsDiagnostics()
              return e.realizeDiagnostics(t)
            }
          )
        }),
        (r.prototype.getQuickInfoAtPosition = function(e, t) {
          var r = this
          return this.forwardJSONCall(
            "getQuickInfoAtPosition('" + e + "', " + t + ')',
            function() {
              return r.languageService.getQuickInfoAtPosition(e, t)
            }
          )
        }),
        (r.prototype.getNameOrDottedNameSpan = function(e, t, r) {
          var n = this
          return this.forwardJSONCall(
            "getNameOrDottedNameSpan('" + e + "', " + t + ', ' + r + ')',
            function() {
              return n.languageService.getNameOrDottedNameSpan(e, t, r)
            }
          )
        }),
        (r.prototype.getBreakpointStatementAtPosition = function(e, t) {
          var r = this
          return this.forwardJSONCall(
            "getBreakpointStatementAtPosition('" + e + "', " + t + ')',
            function() {
              return r.languageService.getBreakpointStatementAtPosition(e, t)
            }
          )
        }),
        (r.prototype.getSignatureHelpItems = function(e, t) {
          var r = this
          return this.forwardJSONCall(
            "getSignatureHelpItems('" + e + "', " + t + ')',
            function() {
              return r.languageService.getSignatureHelpItems(e, t)
            }
          )
        }),
        (r.prototype.getDefinitionAtPosition = function(e, t) {
          var r = this
          return this.forwardJSONCall(
            "getDefinitionAtPosition('" + e + "', " + t + ')',
            function() {
              return r.languageService.getDefinitionAtPosition(e, t)
            }
          )
        }),
        (r.prototype.getTypeDefinitionAtPosition = function(e, t) {
          var r = this
          return this.forwardJSONCall(
            "getTypeDefinitionAtPosition('" + e + "', " + t + ')',
            function() {
              return r.languageService.getTypeDefinitionAtPosition(e, t)
            }
          )
        }),
        (r.prototype.getImplementationAtPosition = function(e, t) {
          var r = this
          return this.forwardJSONCall(
            "getImplementationAtPosition('" + e + "', " + t + ')',
            function() {
              return r.languageService.getImplementationAtPosition(e, t)
            }
          )
        }),
        (r.prototype.getRenameInfo = function(e, t) {
          var r = this
          return this.forwardJSONCall(
            "getRenameInfo('" + e + "', " + t + ')',
            function() {
              return r.languageService.getRenameInfo(e, t)
            }
          )
        }),
        (r.prototype.findRenameLocations = function(e, t, r, n) {
          var a = this
          return this.forwardJSONCall(
            "findRenameLocations('" + e + "', " + t + ', ' + r + ', ' + n + ')',
            function() {
              return a.languageService.findRenameLocations(e, t, r, n)
            }
          )
        }),
        (r.prototype.getBraceMatchingAtPosition = function(e, t) {
          var r = this
          return this.forwardJSONCall(
            "getBraceMatchingAtPosition('" + e + "', " + t + ')',
            function() {
              return r.languageService.getBraceMatchingAtPosition(e, t)
            }
          )
        }),
        (r.prototype.isValidBraceCompletionAtPosition = function(e, t, r) {
          var n = this
          return this.forwardJSONCall(
            "isValidBraceCompletionAtPosition('" +
              e +
              "', " +
              t +
              ', ' +
              r +
              ')',
            function() {
              return n.languageService.isValidBraceCompletionAtPosition(e, t, r)
            }
          )
        }),
        (r.prototype.getIndentationAtPosition = function(e, t, r) {
          var n = this
          return this.forwardJSONCall(
            "getIndentationAtPosition('" + e + "', " + t + ')',
            function() {
              var a = JSON.parse(r)
              return n.languageService.getIndentationAtPosition(e, t, a)
            }
          )
        }),
        (r.prototype.getReferencesAtPosition = function(e, t) {
          var r = this
          return this.forwardJSONCall(
            "getReferencesAtPosition('" + e + "', " + t + ')',
            function() {
              return r.languageService.getReferencesAtPosition(e, t)
            }
          )
        }),
        (r.prototype.findReferences = function(e, t) {
          var r = this
          return this.forwardJSONCall(
            "findReferences('" + e + "', " + t + ')',
            function() {
              return r.languageService.findReferences(e, t)
            }
          )
        }),
        (r.prototype.getOccurrencesAtPosition = function(e, t) {
          var r = this
          return this.forwardJSONCall(
            "getOccurrencesAtPosition('" + e + "', " + t + ')',
            function() {
              return r.languageService.getOccurrencesAtPosition(e, t)
            }
          )
        }),
        (r.prototype.getDocumentHighlights = function(t, r, n) {
          var a = this
          return this.forwardJSONCall(
            "getDocumentHighlights('" + t + "', " + r + ')',
            function() {
              var i = a.languageService.getDocumentHighlights(
                  t,
                  r,
                  JSON.parse(n)
                ),
                o = e.normalizeSlashes(t).toLowerCase()
              return e.filter(i, function(t) {
                return e.normalizeSlashes(t.fileName).toLowerCase() === o
              })
            }
          )
        }),
        (r.prototype.getCompletionsAtPosition = function(e, t) {
          var r = this
          return this.forwardJSONCall(
            "getCompletionsAtPosition('" + e + "', " + t + ')',
            function() {
              return r.languageService.getCompletionsAtPosition(e, t)
            }
          )
        }),
        (r.prototype.getCompletionEntryDetails = function(e, t, r) {
          var n = this
          return this.forwardJSONCall(
            "getCompletionEntryDetails('" + e + "', " + t + ", '" + r + "')",
            function() {
              return n.languageService.getCompletionEntryDetails(e, t, r)
            }
          )
        }),
        (r.prototype.getFormattingEditsForRange = function(e, t, r, n) {
          var a = this
          return this.forwardJSONCall(
            "getFormattingEditsForRange('" + e + "', " + t + ', ' + r + ')',
            function() {
              var i = JSON.parse(n)
              return a.languageService.getFormattingEditsForRange(e, t, r, i)
            }
          )
        }),
        (r.prototype.getFormattingEditsForDocument = function(e, t) {
          var r = this
          return this.forwardJSONCall(
            "getFormattingEditsForDocument('" + e + "')",
            function() {
              var n = JSON.parse(t)
              return r.languageService.getFormattingEditsForDocument(e, n)
            }
          )
        }),
        (r.prototype.getFormattingEditsAfterKeystroke = function(e, t, r, n) {
          var a = this
          return this.forwardJSONCall(
            "getFormattingEditsAfterKeystroke('" +
              e +
              "', " +
              t +
              ", '" +
              r +
              "')",
            function() {
              var i = JSON.parse(n)
              return a.languageService.getFormattingEditsAfterKeystroke(
                e,
                t,
                r,
                i
              )
            }
          )
        }),
        (r.prototype.getDocCommentTemplateAtPosition = function(e, t) {
          var r = this
          return this.forwardJSONCall(
            "getDocCommentTemplateAtPosition('" + e + "', " + t + ')',
            function() {
              return r.languageService.getDocCommentTemplateAtPosition(e, t)
            }
          )
        }),
        (r.prototype.getNavigateToItems = function(e, t, r) {
          var n = this
          return this.forwardJSONCall(
            "getNavigateToItems('" + e + "', " + t + ', ' + r + ')',
            function() {
              return n.languageService.getNavigateToItems(e, t, r)
            }
          )
        }),
        (r.prototype.getNavigationBarItems = function(e) {
          var t = this
          return this.forwardJSONCall(
            "getNavigationBarItems('" + e + "')",
            function() {
              return t.languageService.getNavigationBarItems(e)
            }
          )
        }),
        (r.prototype.getNavigationTree = function(e) {
          var t = this
          return this.forwardJSONCall(
            "getNavigationTree('" + e + "')",
            function() {
              return t.languageService.getNavigationTree(e)
            }
          )
        }),
        (r.prototype.getOutliningSpans = function(e) {
          var t = this
          return this.forwardJSONCall(
            "getOutliningSpans('" + e + "')",
            function() {
              return t.languageService.getOutliningSpans(e)
            }
          )
        }),
        (r.prototype.getTodoComments = function(e, t) {
          var r = this
          return this.forwardJSONCall(
            "getTodoComments('" + e + "')",
            function() {
              return r.languageService.getTodoComments(e, JSON.parse(t))
            }
          )
        }),
        (r.prototype.getEmitOutput = function(e) {
          var t = this
          return this.forwardJSONCall("getEmitOutput('" + e + "')", function() {
            return t.languageService.getEmitOutput(e)
          })
        }),
        (r.prototype.getEmitOutputObject = function(e) {
          var t = this
          return a(
            this.logger,
            "getEmitOutput('" + e + "')",
            !1,
            function() {
              return t.languageService.getEmitOutput(e)
            },
            this.logPerformance
          )
        }),
        r
      )
    })(l),
    p = (function(t) {
      function r(r, n) {
        var a = t.call(this, r) || this
        return (
          (a.logger = n),
          (a.logPerformance = !1),
          (a.classifier = e.createClassifier()),
          a
        )
      }
      return (
        __extends(r, t),
        (r.prototype.getEncodedLexicalClassifications = function(e, t, r) {
          var a = this
          return n(
            this.logger,
            'getEncodedLexicalClassifications',
            function() {
              return s(a.classifier.getEncodedLexicalClassifications(e, t, r))
            },
            this.logPerformance
          )
        }),
        (r.prototype.getClassificationsForLine = function(e, t, r) {
          for (
            var n = this.classifier.getClassificationsForLine(e, t, r),
              a = '',
              i = 0,
              o = n.entries;
            i < o.length;
            i++
          ) {
            var s = o[i]
            ;(a += s.length + '\n'), (a += s.classification + '\n')
          }
          return (a += n.finalLexState)
        }),
        r
      )
    })(l),
    f = (function(t) {
      function r(e, r, n) {
        var a = t.call(this, e) || this
        return (a.logger = r), (a.host = n), (a.logPerformance = !1), a
      }
      return (
        __extends(r, t),
        (r.prototype.forwardJSONCall = function(e, t) {
          return n(this.logger, e, t, this.logPerformance)
        }),
        (r.prototype.resolveModuleName = function(t, r, n) {
          var a = this
          return this.forwardJSONCall(
            "resolveModuleName('" + t + "')",
            function() {
              var i = JSON.parse(n),
                o = e.resolveModuleName(r, e.normalizeSlashes(t), i, a.host),
                s = o.resolvedModule
                  ? o.resolvedModule.resolvedFileName
                  : void 0
              return (
                o.resolvedModule &&
                  o.resolvedModule.extension !== e.Extension.Ts &&
                  o.resolvedModule.extension !== e.Extension.Tsx &&
                  o.resolvedModule.extension !== e.Extension.Dts &&
                  (s = void 0),
                {
                  resolvedFileName: s,
                  failedLookupLocations: o.failedLookupLocations
                }
              )
            }
          )
        }),
        (r.prototype.resolveTypeReferenceDirective = function(t, r, n) {
          var a = this
          return this.forwardJSONCall(
            'resolveTypeReferenceDirective(' + t + ')',
            function() {
              var i = JSON.parse(n),
                o = e.resolveTypeReferenceDirective(
                  r,
                  e.normalizeSlashes(t),
                  i,
                  a.host
                )
              return {
                resolvedFileName: o.resolvedTypeReferenceDirective
                  ? o.resolvedTypeReferenceDirective.resolvedFileName
                  : void 0,
                primary:
                  !o.resolvedTypeReferenceDirective ||
                  o.resolvedTypeReferenceDirective.primary,
                failedLookupLocations: o.failedLookupLocations
              }
            }
          )
        }),
        (r.prototype.getPreProcessedFileInfo = function(t, r) {
          var n = this
          return this.forwardJSONCall(
            "getPreProcessedFileInfo('" + t + "')",
            function() {
              var t = e.preProcessFile(r.getText(0, r.getLength()), !0, !0)
              return {
                referencedFiles: n.convertFileReferences(t.referencedFiles),
                importedFiles: n.convertFileReferences(t.importedFiles),
                ambientExternalModules: t.ambientExternalModules,
                isLibFile: t.isLibFile,
                typeReferenceDirectives: n.convertFileReferences(
                  t.typeReferenceDirectives
                )
              }
            }
          )
        }),
        (r.prototype.getAutomaticTypeDirectiveNames = function(t) {
          var r = this
          return this.forwardJSONCall(
            "getAutomaticTypeDirectiveNames('" + t + "')",
            function() {
              var n = JSON.parse(t)
              return e.getAutomaticTypeDirectiveNames(n, r.host)
            }
          )
        }),
        (r.prototype.convertFileReferences = function(t) {
          if (t) {
            for (var r = [], n = 0, a = t; n < a.length; n++) {
              var i = a[n]
              r.push({
                path: e.normalizeSlashes(i.fileName),
                position: i.pos,
                length: i.end - i.pos
              })
            }
            return r
          }
        }),
        (r.prototype.getTSConfigFileInfo = function(t, r) {
          var n = this
          return this.forwardJSONCall(
            "getTSConfigFileInfo('" + t + "')",
            function() {
              var a = r.getText(0, r.getLength()),
                s = e.parseConfigFileTextToJson(t, a)
              if (s.error)
                return {
                  options: {},
                  typeAcquisition: {},
                  files: [],
                  raw: {},
                  errors: [o(s.error, '\r\n')]
                }
              var c = e.normalizeSlashes(t),
                u = e.parseJsonConfigFileContent(
                  s.config,
                  n.host,
                  e.getDirectoryPath(c),
                  {},
                  c
                )
              return {
                options: u.options,
                typeAcquisition: u.typeAcquisition,
                files: u.fileNames,
                raw: u.raw,
                errors: i(u.errors, '\r\n')
              }
            }
          )
        }),
        (r.prototype.getDefaultCompilationSettings = function() {
          return this.forwardJSONCall(
            'getDefaultCompilationSettings()',
            function() {
              return e.getDefaultCompilerOptions()
            }
          )
        }),
        (r.prototype.discoverTypings = function(t) {
          var r = this,
            n = e.createGetCanonicalFileName(!1)
          return this.forwardJSONCall('discoverTypings()', function() {
            var a = JSON.parse(t)
            return e.JsTyping.discoverTypings(
              r.host,
              a.fileNames,
              e.toPath(a.projectRootPath, a.projectRootPath, n),
              e.toPath(a.safeListPath, a.safeListPath, n),
              a.packageNameToTypingLocation,
              a.typeAcquisition,
              a.unresolvedImports
            )
          })
        }),
        r
      )
    })(l),
    g = (function() {
      function r() {
        this._shims = []
      }
      return (
        (r.prototype.getServicesVersion = function() {
          return e.servicesVersion
        }),
        (r.prototype.createLanguageServiceShim = function(r) {
          try {
            void 0 === this.documentRegistry &&
              (this.documentRegistry = e.createDocumentRegistry(
                r.useCaseSensitiveFileNames && r.useCaseSensitiveFileNames(),
                r.getCurrentDirectory()
              ))
            var n = new u(r),
              a = e.createLanguageService(n, this.documentRegistry)
            return new d(this, r, a)
          } catch (i) {
            throw (t(r, i), i)
          }
        }),
        (r.prototype.createClassifierShim = function(e) {
          try {
            return new p(this, e)
          } catch (r) {
            throw (t(e, r), r)
          }
        }),
        (r.prototype.createCoreServicesShim = function(e) {
          try {
            var r = new _(e)
            return new f(this, e, r)
          } catch (n) {
            throw (t(e, n), n)
          }
        }),
        (r.prototype.close = function() {
          ;(this._shims = []), (this.documentRegistry = void 0)
        }),
        (r.prototype.registerShim = function(e) {
          this._shims.push(e)
        }),
        (r.prototype.unregisterShim = function(e) {
          for (var t = 0; t < this._shims.length; t++)
            if (this._shims[t] === e) return void delete this._shims[t]
          throw new Error('Invalid operation')
        }),
        r
      )
    })()
  ;(e.TypeScriptServicesFactory = g),
    '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 = '2.3'
define('vs/language/typescript/lib/typescriptServices', [], function() {
  return ts
})
