diff --git a/.gitignore b/.gitignore index dadc56f..b96f7f6 100644 --- a/.gitignore +++ b/.gitignore @@ -107,6 +107,14 @@ CascadeStudio/ node_modules/opencascade.js/dist/opencascade.js # Add the above line for now, can take it out if necessary +# TypeScript Compiler Bin +!node_modules/typescript/ +!node_modules/typescript/*/ +!node_modules/typescript/bin/ +!node_modules/typescript/bin/* +!node_modules/typescript/lib/ +!node_modules/typescript/lib/* + # potpack !node_modules/potpack/ !node_modules/potpack/index.js diff --git a/index.html b/index.html index 5852d1a..cc3cf2a 100644 --- a/index.html +++ b/index.html @@ -11,6 +11,7 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/js/CADWorker/CascadeStudioMainWorker.js b/js/CADWorker/CascadeStudioMainWorker.js index 0c038fb..591fb34 100644 --- a/js/CADWorker/CascadeStudioMainWorker.js +++ b/js/CADWorker/CascadeStudioMainWorker.js @@ -23,13 +23,40 @@ console.error = function (err, url, line, colno, errorObj) { // Import the set of scripts we'll need to perform all the CAD operations importScripts( - '../../node_modules/three/build/three.min.js', - './CascadeStudioStandardLibrary.js', + //'../../node_modules/three/build/three.min.js', './CascadeStudioShapeToMesh.js', '../../node_modules/opencascade.js/dist/opencascade.wasm.js', '../../node_modules/opentype.js/dist/opentype.min.js', + '../../node_modules/typescript/bin/typescript.min.js', '../../node_modules/potpack/index.js'); +let importedLibraries = {}; +/** This function imports a typescript file to the current workspace. + * Note, urls are not imported multiple times unless forceReload is true. */ +function ImportLibrary(urls, forceReload) { + urls.forEach((url) => { + if (!importedLibraries[url] || forceReload) { + let oReq = new XMLHttpRequest(); + oReq.addEventListener("load", (response) => { + if (response.target.status === 200 && response.target.responseText) { + importedLibraries[url] = ts.transpileModule(response.target.responseText, + { compilerOptions: { module: ts.ModuleKind.CommonJS } }).outputText; + eval.call(null, importedLibraries[url]); + postMessage({ "type": "addLibrary", payload: { url: url, contents: response.target.responseText } }); + } else { + console.error("Could not find library at this URL! URL: "+ response.target.responseURL +", Status Code: "+response.target.status); + console.error(response); + } + }); + oReq.open("GET", url, false); oReq.send(); + } else { + // Already Imported this URL, no need to do so again... + } + }); +} + +ImportLibrary(['../Libraries/CascadeStudioStandardLibrary.ts']); + // Preload the Various Fonts that are available via Text3D var preloadedFonts = ['../../fonts/Roboto.ttf', '../../fonts/Papyrus.ttf', '../../fonts/Consolas.ttf']; @@ -71,7 +98,10 @@ function Evaluate(payload) { opNumber = 0; // This keeps track of the progress of the evaluation GUIState = payload.GUIState; try { - eval(payload.code); + let transpiled = ts.transpileModule(payload.code, + { compilerOptions: { module: ts.ModuleKind.CommonJS } }); + + eval(transpiled.outputText); } catch (e) { setTimeout(() => { e.message = "Line " + currentLineNumber + ": " + currentOp + "() encountered " + e.message; diff --git a/js/CADWorker/CascadeStudioShapeToMesh.js b/js/CADWorker/CascadeStudioShapeToMesh.js index 7249aa7..0c47835 100644 --- a/js/CADWorker/CascadeStudioShapeToMesh.js +++ b/js/CADWorker/CascadeStudioShapeToMesh.js @@ -1,14 +1,16 @@ function LengthOfCurve(geomAdaptor, UMin, UMax, segments = 5) { - let point1 = new THREE.Vector3(), point2 = new THREE.Vector3(), arcLength = 0, gpPnt = new oc.gp_Pnt(); + let point1 = [0.0, 0.0, 0.0], point2 = [0.0, 0.0, 0.0], + arcLength = 0, gpPnt = new oc.gp_Pnt(); for (let s = UMin; s <= UMax; s += (UMax - UMin) / segments){ geomAdaptor.D0(s, gpPnt); - point1.set(gpPnt.X(), gpPnt.Y(), gpPnt.Z()); + point1[0] = gpPnt.X(); point1[1] = gpPnt.Y(); point1[2] = gpPnt.Z(); if (s == UMin) { - point2.copy(point1); + point2[0] = point1[0]; point2[1] = point1[1]; point2[2] = point1[2]; } else { - arcLength += point1.distanceTo(point2); + let xDiff = point2[0] - point1[0], yDiff = point2[1] - point1[1], zDiff = point2[2] - point1[2]; + arcLength += Math.sqrt((xDiff * xDiff) + (yDiff * yDiff) + (zDiff * zDiff));//point1.distanceTo(point2); } - point2.copy(point1); + point2[0] = point1[0]; point2[1] = point1[1]; point2[2] = point1[2]; } return arcLength; } diff --git a/js/CADWorker/CascadeStudioStandardLibrary.js b/js/Libraries/CascadeStudioStandardLibrary.ts similarity index 60% rename from js/CADWorker/CascadeStudioStandardLibrary.js rename to js/Libraries/CascadeStudioStandardLibrary.ts index 9c08870..08f3f84 100644 --- a/js/CADWorker/CascadeStudioStandardLibrary.js +++ b/js/Libraries/CascadeStudioStandardLibrary.ts @@ -12,9 +12,34 @@ // - From there, you can graft those into CascadeStudio/node_modules/opencascade.js/dist (following its existing conventions) /** Import Misc. Utilities that aren't part of the Exposed Library */ -importScripts('./CascadeStudioStandardUtils.js'); - -function Box(x, y, z, centered) { +ImportLibrary(['../Libraries/CascadeStudioStandardUtils.ts']); + +/** The list that stores all of the OpenCascade shapes for rendering. + * Add to this when using imported files or doing custom oc. operations. + * @example```sceneShapes.push(externalShapes['myStep.step']);``` */ +var sceneShapes: oc.TopoDS_Shape[]; + +/** The dictionary that stores all of your imported STEP and IGES files. Push to sceneShapes to render in the view! + * @example```sceneShapes.push(externalShapes['myStep.step']);``` */ +var externalShapes: { [filename: string]: oc.TopoDS_Shape }; + +/** Explicitly Cache the result of this operation so that it can return instantly next time it is called with the same arguments. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let box = CacheOp(arguments, () => { return new oc.BRepPrimAPI_MakeBox(x, y, z).Shape(); });``` */ +function CacheOp(arguments: IArguments, cacheMiss: () => oc.TopoDS_Shape): oc.TopoDS_Shape; + /** Remove this object from this array. Useful for preventing objects being added to `sceneShapes` (in cached functions). + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let box = CacheOp(arguments, () => { let box = Box(x,y,z); sceneShapes = Remove(sceneShapes, box); return box; });``` */ +function Remove(array: any[], toRemove: any): any[]; + +/** This function imports a typescript file to the current workspace. + * Note, urls are not imported multiple times unless forceReload is true. */ +function ImportLibrary(urls: string[], forceReload?: boolean): void; + +/** Creates a solid box with dimensions x, y, and, z and adds it to `sceneShapes` for rendering. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let myBox = Box(10, 20, 30);```*/ +function Box(x: number, y: number, z: number, centered?: boolean): oc.TopoDS_Shape { if (!centered) { centered = false;} let curBox = CacheOp(arguments, () => { // Construct a Box Primitive @@ -30,7 +55,10 @@ function Box(x, y, z, centered) { return curBox; } -function Sphere(radius) { +/** Creates a solid sphere of specified radius and adds it to `sceneShapes` for rendering. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let mySphere = Sphere(40);```*/ +function Sphere(radius: number): oc.TopoDS_Shape { let curSphere = CacheOp(arguments, () => { // Construct a Sphere Primitive let spherePlane = new oc.gp_Ax2(new oc.gp_Pnt(0, 0, 0), oc.gp.prototype.DZ()); @@ -41,7 +69,10 @@ function Sphere(radius) { return curSphere; } -function Cylinder(radius, height, centered) { +/** Creates a solid cylinder of specified radius and height and adds it to `sceneShapes` for rendering. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let myCylinder = Cylinder(30, 50);```*/ +function Cylinder(radius: number, height: number, centered?: boolean): oc.TopoDS_Shape { let curCylinder = CacheOp(arguments, () => { let cylinderPlane = new oc.gp_Ax2(new oc.gp_Pnt(0, 0, centered ? -height / 2 : 0), new oc.gp_Dir(0, 0, 1)); return new oc.BRepPrimAPI_MakeCylinder(cylinderPlane, radius, height).Shape(); @@ -50,7 +81,10 @@ function Cylinder(radius, height, centered) { return curCylinder; } -function Cone(radius1, radius2, height) { +/** Creates a solid cone of specified bottom radius, top radius, and height and adds it to `sceneShapes` for rendering. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let myCone = Cone(30, 50);```*/ +function Cone(radius1: number, radius2: number, height: number): oc.TopoDS_Shape { let curCone = CacheOp(arguments, () => { return new oc.BRepPrimAPI_MakeCone(radius1, radius2, height).Shape(); }); @@ -58,7 +92,10 @@ function Cone(radius1, radius2, height) { return curCone; } -function Polygon(points, wire) { +/** Creates a polygon from a list of 3-component lists (points) and adds it to `sceneShapes` for rendering. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let triangle = Polygon([[0, 0, 0], [50, 0, 0], [25, 50, 0]]);```*/ +function Polygon(points: number[][], wire?: boolean): oc.TopoDS_Shape { let curPolygon = CacheOp(arguments, () => { let gpPoints = []; for (let ind = 0; ind < points.length; ind++) { @@ -88,7 +125,10 @@ function Polygon(points, wire) { return curPolygon; } -function Circle(radius, wire) { +/** Creates a circle from a radius and adds it to `sceneShapes` for rendering. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let circle = Circle(50);```*/ +function Circle(radius:number, wire?:boolean) : oc.TopoDS_Shape { let curCircle = CacheOp(arguments, () => { let circle = new oc.GC_MakeCircle(new oc.gp_Ax2(new oc.gp_Pnt(0, 0, 0), new oc.gp_Dir(0, 0, 1)), radius).Value(); @@ -101,13 +141,18 @@ function Circle(radius, wire) { return curCircle; } -function BSpline(inPoints, closed) { +/** Creates a bspline from a list of 3-component lists (points). + * This can be converted into a face via the respective oc.BRepBuilderAPI functions. + * Or used directly with BRepPrimAPI_MakeRevolution() + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let bspline = BSpline([[0,0,0], [40, 0, 50], [50, 0, 50]], true);```*/ +function BSpline(points:number[][], closed?:boolean) : oc.TopoDS_Shape { let curSpline = CacheOp(arguments, () => { - let ptList = new oc.TColgp_Array1OfPnt(1, inPoints.length + (closed ? 1 : 0)); - for (let pIndex = 1; pIndex <= inPoints.length; pIndex++) { - ptList.SetValue(pIndex, convertToPnt(inPoints[pIndex - 1])); + let ptList = new oc.TColgp_Array1OfPnt(1, points.length + (closed ? 1 : 0)); + for (let pIndex = 1; pIndex <= points.length; pIndex++) { + ptList.SetValue(pIndex, convertToPnt(points[pIndex - 1])); } - if (closed) { ptList.SetValue(inPoints.length + 1, ptList.Value(1)); } + if (closed) { ptList.SetValue(points.length + 1, ptList.Value(1)); } let geomCurveHandle = new oc.GeomAPI_PointsToBSpline(ptList).Curve(); let edge = new oc.BRepBuilderAPI_MakeEdge(geomCurveHandle).Edge(); @@ -117,7 +162,15 @@ function BSpline(inPoints, closed) { return curSpline; } -function Text3D(text, size, height, fontName) { +/** Creates set of glyph solids from a string and a font-file and adds it to sceneShapes. + * Note that all the characters share a singular face. + * + * Defaults: size:36, height:0.15, fontName: 'Consolas' + * + * Try 'Roboto' or 'Papyrus' for an alternative typeface. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let myText = Text3D("Hello!");```*/ +function Text3D(text?: string = "Hi!", size?: number = "36", height?: number = 0.15, fontName?: string = "Consolas") : oc.TopoDS_Shape { if (!size ) { size = 36; } if (!height && height !== 0.0) { height = 0.15; } if (!fontName) { fontName = "Roboto"; } @@ -201,20 +254,23 @@ function Text3D(text, size, height, fontName) { } // These foreach functions are not cache friendly right now! -function ForEachSolid(shape, callback) { +/** Iterate over all the solids in this shape, calling `callback` on each one. */ +function ForEachSolid(shape: oc.TopoDS_Shape, callback: (index: Number, shell: oc.TopoDS_Solid) => void): void { let solid_index = 0; let anExplorer = new oc.TopExp_Explorer(shape, oc.TopAbs_SOLID); for (anExplorer.Init(shape, oc.TopAbs_SOLID); anExplorer.More(); anExplorer.Next()) { callback(solid_index++, oc.TopoDS.prototype.Solid(anExplorer.Current())); } } -function GetNumSolidsInCompound(shape) { +/** Returns the number of solids in this compound shape. */ +function GetNumSolidsInCompound(shape: oc.TopoDS_Shape) : number { if (!shape || shape.ShapeType() > 1 || shape.IsNull()) { console.error("Not a compound shape!"); return shape; } let solidsFound = 0; ForEachSolid(shape, (i, s) => { solidsFound++; }); return solidsFound; } -function GetSolidFromCompound(shape, index, keepOriginal) { +/** Gets the indexth solid from this compound shape. */ +function GetSolidFromCompound(shape: oc.TopoDS_Shape, index?:number, keepOriginal?:boolean): oc.TopoDS_Solid { if (!shape || shape.ShapeType() > 1 || shape.IsNull()) { console.error("Not a compound shape!"); return shape; } if (!index) { index = 0;} @@ -234,7 +290,8 @@ function GetSolidFromCompound(shape, index, keepOriginal) { return sol; } -function ForEachShell(shape, callback) { +/** Iterate over all the shells in this shape, calling `callback` on each one. */ +function ForEachShell(shape: oc.TopoDS_Shape, callback: (index: Number, shell: oc.TopoDS_Shell) => void): void { let shell_index = 0; let anExplorer = new oc.TopExp_Explorer(shape, oc.TopAbs_SHELL); for (anExplorer.Init(shape, oc.TopAbs_SHELL); anExplorer.More(); anExplorer.Next()) { @@ -242,7 +299,8 @@ function ForEachShell(shape, callback) { } } -function ForEachFace(shape, callback) { +/** Iterate over all the faces in this shape, calling `callback` on each one. */ +function ForEachFace(shape: oc.TopoDS_Shape, callback: (index: number, face: oc.TopoDS_Face) => void): void { let face_index = 0; let anExplorer = new oc.TopExp_Explorer(shape, oc.TopAbs_FACE); for (anExplorer.Init(shape, oc.TopAbs_FACE); anExplorer.More(); anExplorer.Next()) { @@ -250,19 +308,21 @@ function ForEachFace(shape, callback) { } } -function ForEachWire(shape, callback) { +/** Iterate over all the wires in this shape, calling `callback` on each one. */ +function ForEachWire(shape: oc.TopoDS_Shape, callback: (index: number, wire: oc.TopoDS_Wire) => void): void { let wire_index = 0; let anExplorer = new oc.TopExp_Explorer(shape, oc.TopAbs_WIRE); for (anExplorer.Init(shape, oc.TopAbs_WIRE); anExplorer.More(); anExplorer.Next()) { callback(wire_index++, oc.TopoDS.prototype.Wire(anExplorer.Current())); } } -function GetWire(shape, index, keepOriginal) { +/** Gets the indexth wire from this face (or above) shape. */ +function GetWire(shape: oc.TopoDS_Face, index?:number, keepOriginal?:boolean): oc.TopoDS_Wire { if (!shape || shape.ShapeType() > 4 || shape.IsNull()) { console.error("Not a wire shape!"); return shape; } if (!index) { index = 0;} let wire = CacheOp(arguments, () => { - let innerWire = {}; let wiresFound = 0; + let innerWire = { hash: 0 }; let wiresFound = 0; ForEachWire(shape, (i, s) => { if (i === index) { innerWire = new oc.TopoDS_Wire(s); } wiresFound++; }); @@ -277,7 +337,8 @@ function GetWire(shape, index, keepOriginal) { return wire; } -function ForEachEdge(shape, callback) { +/** Iterate over all the UNIQUE indices and edges in this shape, calling `callback` on each one. */ +function ForEachEdge(shape: oc.TopoDS_Shape, callback: (index: number, edge: oc.TopoDS_Edge) => void): {[edgeHash:number] : number} { let edgeHashes = {}; let edgeIndex = 0; let anExplorer = new oc.TopExp_Explorer(shape, oc.TopAbs_EDGE); @@ -292,14 +353,19 @@ function ForEachEdge(shape, callback) { return edgeHashes; } -function ForEachVertex(shape, callback) { +/** Iterate over all the vertices in this shape, calling `callback` on each one. */ +function ForEachVertex(shape: oc.TopoDS_Shape, callback: (vertex: oc.TopoDS_Vertex) => void): void { let anExplorer = new oc.TopExp_Explorer(shape, oc.TopAbs_VERTEX); for (anExplorer.Init(shape, oc.TopAbs_VERTEX); anExplorer.More(); anExplorer.Next()) { callback(oc.TopoDS.prototype.Vertex(anExplorer.Current())); } } -function FilletEdges(shape, radius, edgeList, keepOriginal) { +/** Attempt to Fillet all selected edge indices in "edgeList" with a radius. + * Hover over the edges you'd like to select and use those indices as in the example. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```FilletEdges(shape, 1, [0,1,2,7]);``` */ +function FilletEdges(shape: oc.TopoDS_Shape, radius: number, edgeList: number[], keepOriginal?:boolean): oc.TopoDS_Shape { let curFillet = CacheOp(arguments, () => { let mkFillet = new oc.BRepFilletAPI_MakeFillet(shape); let foundEdges = 0; @@ -317,7 +383,11 @@ function FilletEdges(shape, radius, edgeList, keepOriginal) { return curFillet; } -function ChamferEdges(shape, distance, edgeList, keepOriginal) { +/** Attempt to Chamfer all selected edge indices in "edgeList" symmetrically by distance. + * Hover over the edges you'd like to select and use those indices in the edgeList array. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```ChamferEdges(shape, 1, [0,1,2,7]);``` */ +function ChamferEdges(shape: oc.TopoDS_Shape, distance: number, edgeList: number[], keepOriginal?:boolean): oc.TopoDS_Shape { let curChamfer = CacheOp(arguments, () => { let mkChamfer = new oc.BRepFilletAPI_MakeChamfer(shape); let foundEdges = 0; @@ -335,23 +405,32 @@ function ChamferEdges(shape, distance, edgeList, keepOriginal) { return curChamfer; } -function Transform(translation, rotation, scale, shapes) { +/** BETA: Transform a shape using an in-view transformation gizmo. + * + * Shortcuts: `T` - Translate, `R` - Rotate, `S` - Scale, `W`/`L` - Toggle World/Local + * + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let transformedSphere = Transform(Sphere(50));```*/ +function Transform(translation?: number[], rotation?: (number|number[])[], scale: number, shapes: oc.TopoDS_Shape, keepOriginal?: boolean): oc.TopoDS_Shape { let args = arguments; return CacheOp(arguments, () => { if (args.length == 4) { // Create the transform gizmo and add it to the scene - postMessage({ "type": "createTransformHandle", payload: { translation: translation, rotation: rotation, scale: scale, lineAndColumn: getCallingLocation() } }); + postMessage({ "type": "createTransformHandle", payload: { translation: translation, rotation: rotation, scale: scale, lineAndColumn: getCallingLocation() } }, null); // Transform the Object(s) - return Translate(translation, Rotate(rotation[0], rotation[1], Scale(scale, shapes))); + return Translate(translation, Rotate(rotation[0], rotation[1], Scale(scale, shapes)), keepOriginal); } else { // Create the transform gizmo and add it to the scene - postMessage({ "type": "createTransformHandle", payload: { translation: [0, 0, 0], rotation: [[0, 1, 0], 1], scale: 1, lineAndColumn: getCallingLocation() } }); + postMessage({ "type": "createTransformHandle", payload: { translation: [0, 0, 0], rotation: [[0, 1, 0], 1], scale: 1, lineAndColumn: getCallingLocation() } }, null); return translation; // The first element will be the shapes } }); } -function Translate(offset, shapes, keepOriginal) { +/** Translate a shape along the x, y, and z axes (using an array of 3 numbers). + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let upwardSphere = Translate([0, 0, 50], Sphere(50));```*/ +function Translate(offset: number[], shapes: oc.TopoDS_Shape, keepOriginal?: boolean): oc.TopoDS_Shape { let translated = CacheOp(arguments, () => { let transformation = new oc.gp_Trsf(); transformation.SetTranslation(new oc.gp_Vec(offset[0], offset[1], offset[2])); @@ -373,7 +452,10 @@ function Translate(offset, shapes, keepOriginal) { return translated; } -function Rotate(axis, degrees, shapes, keepOriginal) { +/** Rotate a shape degrees about a 3-coordinate axis. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let leaningCylinder = Rotate([0, 1, 0], 45, Cylinder(25, 50));```*/ +function Rotate(axis: number[], degrees: number, shapes: oc.TopoDS_Shape, keepOriginal?: boolean): oc.TopoDS_Shape { let rotated = null; if (degrees === 0) { rotated = new oc.TopoDS_Shape(shapes); @@ -400,7 +482,10 @@ function Rotate(axis, degrees, shapes, keepOriginal) { return rotated; } -function Scale(scale, shapes, keepOriginal) { +/** Scale a shape to be `scale` times its current size. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let scaledCylinder = Scale(50, Cylinder(0.5, 1));```*/ +function Scale(scale: number, shapes: oc.TopoDS_Shape, keepOriginal?: boolean): oc.TopoDS_Shape { let scaled = CacheOp(arguments, () => { let transformation = new oc.gp_Trsf(); transformation.SetScaleFactor(scale); @@ -423,7 +508,11 @@ function Scale(scale, shapes, keepOriginal) { } // TODO: These ops can be more cache optimized since they're multiple sequential ops -function Union(objectsToJoin, keepObjects, fuzzValue, keepEdges) { +/** Joins a list of shapes into a single solid. + * The original shapes are removed unless `keepObjects` is true. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let sharpSphere = Union([Sphere(38), Box(50, 50, 50, true)]);```*/ +function Union(objectsToJoin: oc.TopoDS_Shape[], keepObjects?: boolean, fuzzValue?: number, keepEdges?: boolean): oc.TopoDS_Shape { if (!fuzzValue) { fuzzValue = 0.1; } let curUnion = CacheOp(arguments, () => { let combined = new oc.TopoDS_Shape(objectsToJoin[0]); @@ -453,7 +542,11 @@ function Union(objectsToJoin, keepObjects, fuzzValue, keepEdges) { return curUnion; } -function Difference(mainBody, objectsToSubtract, keepObjects, fuzzValue, keepEdges) { +/** Subtracts a list of shapes from mainBody. + * The original shapes are removed unless `keepObjects` is true. Returns a Compound Shape unless onlyFirstSolid is true. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let floatingCorners = Difference(Box(50, 50, 50, true), [Sphere(38)]);```*/ +function Difference(mainBody: oc.TopoDS_Shape, objectsToSubtract: oc.TopoDS_Shape[], keepObjects?: boolean, fuzzValue?: number, keepEdges?: boolean): oc.TopoDS_Shape { if (!fuzzValue) { fuzzValue = 0.1; } let curDifference = CacheOp(arguments, () => { if (!mainBody || mainBody.IsNull()) { console.error("Main Shape in Difference is null!"); } @@ -490,7 +583,11 @@ function Difference(mainBody, objectsToSubtract, keepObjects, fuzzValue, keepEdg return curDifference; } -function Intersection(objectsToIntersect, keepObjects, fuzzValue, keepEdges) { +/** Takes only the intersection of a list of shapes. + * The original shapes are removed unless `keepObjects` is true. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let roundedBox = Intersection([Box(50, 50, 50, true), Sphere(38)]);```*/ +function Intersection(objectsToIntersect: oc.TopoDS_Shape[], keepObjects?: boolean, fuzzValue?: number, keepEdges?: boolean) : oc.TopoDS_Shape { if (!fuzzValue) { fuzzValue = 0.1; } let curIntersection = CacheOp(arguments, () => { let intersected = new oc.TopoDS_Shape(objectsToIntersect[0]); @@ -520,7 +617,11 @@ function Intersection(objectsToIntersect, keepObjects, fuzzValue, keepEdges) { return curIntersection; } -function Extrude(face, direction, keepFace) { +/** Extrudes a shape along direction, a 3-component vector. Edges form faces, Wires form shells, Faces form solids, etc. + * The original face is removed unless `keepFace` is true. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let tallTriangle = Extrude(Polygon([[0, 0, 0], [50, 0, 0], [25, 50, 0]]), [0, 0, 50]);```*/ +function Extrude(face: oc.TopoDS_Shape, direction: number[], keepFace?: boolean) : oc.TopoDS_Shape { let curExtrusion = CacheOp(arguments, () => { return new oc.BRepPrimAPI_MakePrism(face, new oc.gp_Vec(direction[0], direction[1], direction[2])).Shape(); @@ -531,7 +632,10 @@ function Extrude(face, direction, keepFace) { return curExtrusion; } -function RemoveInternalEdges(shape, keepShape) { +/** Removes internal, unused edges from the insides of faces on this shape. Keeps the model clean. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let cleanPart = RemoveInternalEdges(part);```*/ +function RemoveInternalEdges(shape: oc.TopoDS_Shape, keepShape?: boolean) : oc.TopoDS_Shape { let cleanShape = CacheOp(arguments, () => { let fusor = new oc.ShapeUpgrade_UnifySameDomain(shape); fusor.Build(); @@ -543,7 +647,11 @@ function RemoveInternalEdges(shape, keepShape) { return cleanShape; } -function Offset(shape, offsetDistance, tolerance, keepShape) { +/** Offsets the faces of a shape by offsetDistance + * The original shape is removed unless `keepShape` is true. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let roundedCube = Offset(Box(10,10,10), 10);```*/ +function Offset(shape: oc.TopoDS_Shape, offsetDistance: number, tolerance?: number, keepShape?: boolean) : oc.TopoDS_Shape { if (!shape || shape.IsNull()) { console.error("Offset received Null Shape!"); } if (!tolerance) { tolerance = 0.1; } if (offsetDistance === 0.0) { return shape; } @@ -574,19 +682,22 @@ function Offset(shape, offsetDistance, tolerance, keepShape) { return curOffset; } -function Revolve(shape, degrees, direction, keepShape, copy) { - if (!degrees ) { degrees = 360.0; } - if (!direction) { direction = [0, 0, 1]; } +/** Revolves this shape "degrees" about "axis" (a 3-component array). Edges form faces, Wires form shells, Faces form solids, etc. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let cone = Revolve(Polygon([[0, 0, 0], [0, 0, 50], [50, 0, 0]]));```*/ +function Revolve(shape: oc.TopoDS_Shape, degrees?: number, axis?: number[], keepShape?: boolean, copy?: boolean): oc.TopoDS_Shape{ + if (!degrees ) { degrees = 360.0; } + if (!axis ) { axis = [0, 0, 1]; } let curRevolution = CacheOp(arguments, () => { if (degrees >= 360.0) { return new oc.BRepPrimAPI_MakeRevol(shape, new oc.gp_Ax1(new oc.gp_Pnt(0, 0, 0), - new oc.gp_Dir(direction[0], direction[1], direction[2])), + new oc.gp_Dir(axis[0], axis[1], axis[2])), copy).Shape(); } else { return new oc.BRepPrimAPI_MakeRevol(shape, new oc.gp_Ax1(new oc.gp_Pnt(0, 0, 0), - new oc.gp_Dir(direction[0], direction[1], direction[2])), + new oc.gp_Dir(axis[0], axis[1], axis[2])), degrees * 0.0174533, copy).Shape(); } }); @@ -596,7 +707,11 @@ function Revolve(shape, degrees, direction, keepShape, copy) { return curRevolution; } -function RotatedExtrude(wire, height, rotation, keepWire) { +/** Extrudes and twists a flat *wire* upwards along the z-axis (see the optional argument for Polygon). + * The original wire is removed unless `keepWire` is true. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let twistyTriangle = RotatedExtrude(Polygon([[-25, -15, 0], [25, -15, 0], [0, 35, 0]], true), 50, 90);```*/ +function RotatedExtrude(wire: oc.TopoDS_Shape, height: number, rotation: number, keepWire?: boolean) : oc.TopoDS_Shape{ if (!wire || wire.IsNull()) { console.error("RotatedExtrude received Null Wire!"); } let curExtrusion = CacheOp(arguments, () => { let upperPolygon = Rotate([0, 0, 1], rotation, Translate([0, 0, height], wire, true)); @@ -636,25 +751,31 @@ function RotatedExtrude(wire, height, rotation, keepWire) { return curExtrusion; } -function Loft(wires, keepWires) { +/** Lofts a solid through the sections defined by an array of 2 or more closed wires. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) */ + function Loft(wireSections: oc.TopoDS_Shape[], keepWires?: boolean): oc.TopoDS_Shape { let curLoft = CacheOp(arguments, () => { let pipe = new oc.BRepOffsetAPI_ThruSections(true); // Construct a Loft that passes through the wires - wires.forEach((wire) => { pipe.AddWire(wire); }); + wireSections.forEach((wire) => { pipe.AddWire(wire); }); pipe.Build(); return new oc.TopoDS_Shape(pipe.Shape()); }); - wires.forEach((wire) => { + wireSections.forEach((wire) => { if (!keepWires) { sceneShapes = Remove(sceneShapes, wire); } }); sceneShapes.push(curLoft); return curLoft; } -function Pipe(shape, wirePath, keepInputs) { +/** Sweeps this shape along a path wire. + * The original shapes are removed unless `keepObjects` is true. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let pipe = Pipe(Circle(20), BSpline([[0,0,0],[0,0,50],[20,0,100]], false, true));```*/ +function Pipe(shape: oc.TopoDS_Shape, wirePath: oc.TopoDS_Shape, keepInputs?: boolean): oc.TopoDS_Shape { let curPipe = CacheOp(arguments, () => { let pipe = new oc.BRepOffsetAPI_MakePipe(wirePath, shape); pipe.Build(); @@ -669,20 +790,36 @@ function Pipe(shape, wirePath, keepInputs) { return curPipe; } -// This is a utility class for drawing wires/shapes with lines, arcs, and splines -// This is unique, it needs to be called with the "new" keyword prepended -function Sketch(startingPoint) { - this.currentIndex = 0; - this.faces = []; - this.wires = []; - this.firstPoint = new oc.gp_Pnt(startingPoint[0], startingPoint[1], 0); - this.lastPoint = this.firstPoint; - this.wireBuilder = new oc.BRepBuilderAPI_MakeWire(); - this.fillets = []; - this.argsString = ComputeHash(arguments, true); - - // Functions are: BSplineTo, Fillet, Wire, and Face - this.Start = function (startingPoint) { +/** Starts sketching a 2D shape which can contain lines, arcs, bezier splines, and fillets. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let sketch = new Sketch([0,0]).LineTo([100,0]).Fillet(20).LineTo([100,100]).End(true).Face();```*/ +class Sketch { + currentIndex: number; + faces : oc.TopoDS_Face[]; + wires : oc.TopoDS_Wire[]; + firstPoint : oc.gp_Pnt; + lastPoint : oc.gp_Pnt; + wireBuilder : oc.BRepBuilderAPI_MakeWire; + fillets : { x: number, y: number, radius: number }[]; + argsString : string + /** This starts a new wire in the sketch. This wire will be added to + * the existing wires when when building the face. If it has an opposite + * winding order, this wire will subtract from the existing face. */ + constructor(startingPoint: number[]) { + this.currentIndex = 0; + this.faces = []; + this.wires = []; + this.firstPoint = new oc.gp_Pnt(startingPoint[0], startingPoint[1], 0); + this.lastPoint = this.firstPoint; + this.wireBuilder = new oc.BRepBuilderAPI_MakeWire(); + this.fillets = []; + this.argsString = ComputeHash(arguments, true); + } + + /** This starts a new wire in the sketch. This wire will be added to + * the existing when when building the face. If it has an opposite + * winding order, this wire will subtract from the existing face. */ + Start = function (startingPoint: number[]) : Sketch { this.firstPoint = new oc.gp_Pnt(startingPoint[0], startingPoint[1], 0); this.lastPoint = this.firstPoint; this.wireBuilder = new oc.BRepBuilderAPI_MakeWire(); @@ -690,7 +827,11 @@ function Sketch(startingPoint) { return this; } - this.End = function (closed, reversed) { + /** This ends the current wire in the sketch. If this is the + * second closed wire, it will try to subtract its area from + * the first closed wire's face if its winding order is reversed + * relative to the first one. */ + End = function (closed?: boolean, reversed?:boolean) : Sketch { this.argsString += ComputeHash(arguments, true); if (closed && @@ -720,7 +861,8 @@ function Sketch(startingPoint) { return this; } - this.Wire = function (reversed) { + /** This Extracts the primary wire of the resultant face. */ + Wire = function (reversed?:boolean) : oc.TopoDS_Wire { this.argsString += ComputeHash(arguments, true); //let wire = this.wires[this.wires.length - 1]; this.applyFillets(); @@ -730,7 +872,8 @@ function Sketch(startingPoint) { sceneShapes.push(wire); return wire; } - this.Face = function (reversed) { + /** This extracts the face accumulated from all of the wires specified so far. */ + Face = function (reversed?:boolean) : oc.TopoDS_Face { this.argsString += ComputeHash(arguments, true); this.applyFillets(); let face = this.faces[this.faces.length - 1]; @@ -740,7 +883,8 @@ function Sketch(startingPoint) { return face; } - this.applyFillets = function () { + /** INTERNAL: This applies the fillets to the wire in-progress. */ + applyFillets = function () : void { // Add Fillets if Necessary if (this.fillets.length > 0) { let successes = 0; let swapFillets = []; @@ -769,15 +913,17 @@ function Sketch(startingPoint) { } } - this.AddWire = function (wire) { + /** Adds a wire to the face-in-progress. */ + AddWire = function (wire: oc.TopoDS_Wire) : Sketch { this.argsString += ComputeHash(arguments, true); // This adds another wire (or edge??) to the currently constructing shape... this.wireBuilder.Add(wire); - if (endPoint) { this.lastPoint = endPoint; } // Yike what to do here...? + //if (endPoint) { this.lastPoint = endPoint; } // Yike what to do here...? return this; } - this.LineTo = function (nextPoint) { + /** Connects from the last point in the sketch to the specified next point with a straight line. */ + LineTo = function (nextPoint : number[]) : Sketch { this.argsString += ComputeHash(arguments, true); let endPoint = null; if (nextPoint.X) { @@ -797,7 +943,8 @@ function Sketch(startingPoint) { return this; } - this.ArcTo = function (pointOnArc, arcEnd) { + /** Constructs an arc from the last point in the sketch through a point on the arc to end at arcEnd */ + ArcTo = function (pointOnArc : number[], arcEnd : number[]) : Sketch { this.argsString += ComputeHash(arguments, true); let onArc = new oc.gp_Pnt(pointOnArc[0], pointOnArc[1], 0); let nextPoint = new oc.gp_Pnt( arcEnd[0], arcEnd[1], 0); @@ -809,9 +956,9 @@ function Sketch(startingPoint) { return this; } - // Constructs an order-N Bezier Curve where the first N-1 points are control points - // and the last point is the endpoint of the curve - this.BezierTo = function (bezierControlPoints) { + /** Constructs an order-N Bezier Curve where the first N-1 points are control points + * and the last point is the endpoint of the curve */ + BezierTo = function (bezierControlPoints : number[][]) : Sketch { this.argsString += ComputeHash(arguments, true); let ptList = new oc.TColgp_Array1OfPnt(1, bezierControlPoints.length+1); ptList.SetValue(1, this.lastPoint); @@ -829,7 +976,7 @@ function Sketch(startingPoint) { } /* Constructs a BSpline from the previous point through this set of points */ - this.BSplineTo = function (bsplinePoints) { + BSplineTo = function (bsplinePoints : number[][]): Sketch{ this.argsString += ComputeHash(arguments, true); let ptList = new oc.TColgp_Array1OfPnt(1, bsplinePoints.length+1); ptList.SetValue(1, this.lastPoint); @@ -845,13 +992,17 @@ function Sketch(startingPoint) { return this; } - this.Fillet = function (radius) { + /** Rounds out this vertex with a specified radius */ + Fillet = function (radius: number) : Sketch { this.argsString += ComputeHash(arguments, true); this.fillets.push({ x: this.lastPoint.X(), y: this.lastPoint.Y(), radius: radius }); return this; } - this.Circle = function (center, radius, reversed) { + /** Appends a circle to this face as a hole to punch out. + * Apply only after "End()" ing your other shapes and you + * may need to set "reversed" to true. */ + Circle = function (center:number[], radius:number, reversed?:boolean) : Sketch { this.argsString += ComputeHash(arguments, true); let circle = new oc.GC_MakeCircle(new oc.gp_Ax2(convertToPnt(center), new oc.gp_Dir(0, 0, 1)), radius).Value(); @@ -877,14 +1028,30 @@ function Sketch(startingPoint) { } } -function SaveFile(filename, fileURL) { +/** Download this file URL through the browser. Use this to export information from the CAD engine. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```SaveFile("myInfo.txt", URL.createObjectURL( new Blob(["Hello, Harddrive!"], { type: 'text/plain' }) ));``` */ + function SaveFile(filename: string, fileURL: string): void { postMessage({ "type": "saveFile", payload: { filename: filename, fileURL: fileURL } - }); + }, null); } -function Slider(name = "Val", defaultValue = 0.5, min = 0.0, max = 1.0, realTime=false, step, precision) { +/** Creates a labeled slider with specified defaults, mins, and max ranges. + * @example```let currentSliderValue = Slider("Radius", 30 , 20 , 40);``` + * `name` needs to be unique! + * + * `callback` triggers whenever the mouse is let go, and `realTime` will cause the slider to update every frame that there is movement (but it's buggy!) + * + * @param step controls the amount that the keyboard arrow keys will increment or decrement a value. Defaults to 1/100 (0.01). + * @param precision controls how many decimal places the slider can have (i.e. "0" is integers, "1" includes tenths, etc.). Defaults to 2 decimal places (0.00). + * + * @example```let currentSliderValue = Slider("Radius", 30 , 20 , 40, false);``` + * @example```let currentSliderValue = Slider("Radius", 30 , 20 , 40, false, 0.01);``` + * @example```let currentSliderValue = Slider("Radius", 30 , 20 , 40, false, 0.01, 2);``` + */ +function Slider(name: string, defaultValue: number, min: number, max: number, realTime?: boolean, step?: number, precision?: number): number { if (!(name in GUIState)) { GUIState[name] = defaultValue; } if (!step) { step = 0.01; } if (typeof precision === "undefined") { @@ -892,16 +1059,24 @@ function Slider(name = "Val", defaultValue = 0.5, min = 0.0, max = 1.0, realTime } else if (precision % 1) { console.error("Slider precision must be an integer"); } GUIState[name + "Range"] = [min, max]; - postMessage({ "type": "addSlider", payload: { name: name, default: defaultValue, min: min, max: max, realTime: realTime, step: step, dp: precision } }); + postMessage({ "type": "addSlider", payload: { name: name, default: defaultValue, min: min, max: max, realTime: realTime, step: step, dp: precision } }, null); return GUIState[name]; } -function Button(name = "Action") { - postMessage({ "type": "addButton", payload: { name: name } }); +/** Creates a button that will trigger `callback` when clicked. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```Button("Yell", ()=>{ console.log("Help! I've been clicked!"); });```*/ +function Button(name: string) : void { + postMessage({ "type": "addButton", payload: { name: name } }, null); } -function Checkbox(name = "Toggle", defaultValue = false) { +/** Creates a checkbox that returns true or false. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let currentCheckboxValue = Checkbox("Check?", true);``` + * + * `callback` triggers when the button is clicked.*/ +function Checkbox(name: string, defaultValue: boolean): boolean { if (!(name in GUIState)) { GUIState[name] = defaultValue; } - postMessage({ "type": "addCheckbox", payload: { name: name, default: defaultValue } }); + postMessage({ "type": "addCheckbox", payload: { name: name, default: defaultValue } }, null); return GUIState[name]; } diff --git a/js/CADWorker/CascadeStudioStandardUtils.js b/js/Libraries/CascadeStudioStandardUtils.ts similarity index 69% rename from js/CADWorker/CascadeStudioStandardUtils.js rename to js/Libraries/CascadeStudioStandardUtils.ts index 8bb2906..6cddea4 100644 --- a/js/CADWorker/CascadeStudioStandardUtils.js +++ b/js/Libraries/CascadeStudioStandardUtils.ts @@ -1,19 +1,26 @@ // Miscellaneous Helper Functions used in the Standard Library // Caching functions to speed up evaluation of slow redundant operations -var argCache = {}; var usedHashes = {}; var opNumber = 0; var currentOp = ''; var currentLineNumber = 0; +var argCache: { [hash: number] : oc.TopoDS_Shape } = {}; +var usedHashes = {}; var opNumber: number = 0; +var currentOp = ''; var currentLineNumber: number = 0; -/** Hashes input arguments and checks the cache for that hash. +/** Explicitly Cache the result of this operation so that it can + * return instantly next time it is called with the same arguments. + * Hashes input arguments and checks the cache for that hash. * It returns a copy of the cached object if it exists, but will * call the `cacheMiss()` callback otherwise. The result will be - * added to the cache if `GUIState["Cache?"]` is true. */ -function CacheOp(args, cacheMiss) { + * added to the cache if `GUIState["Cache?"]` is true. + * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) + * @example```let box = CacheOp(arguments, () => { return new oc.BRepPrimAPI_MakeBox(x, y, z).Shape(); });``` */ +function CacheOp(args: IArguments, cacheMiss: () => oc.TopoDS_Shape): oc.TopoDS_Shape { //toReturn = cacheMiss(); currentOp = args.callee.name; currentLineNumber = getCallingLocation()[0]; - postMessage({ "type": "Progress", "payload": { "opNumber": opNumber++, "opType": args.callee.name } }); // Poor Man's Progress Indicator + postMessage({ "type": "Progress", "payload": { "opNumber": opNumber++, "opType": args.callee.name } }, null); // Poor Man's Progress Indicator let toReturn = null; - let curHash = ComputeHash(args); usedHashes[curHash] = curHash; + let curHash = ComputeHash(args); + usedHashes[curHash] = curHash; let check = CheckCache(curHash); if (check && GUIState["Cache?"]) { //console.log("HIT "+ ComputeHash(args) + ", " +ComputeHash(args, true)); @@ -25,13 +32,13 @@ function CacheOp(args, cacheMiss) { toReturn.hash = curHash; if (GUIState["Cache?"]) { AddToCache(curHash, toReturn); } } - postMessage({ "type": "Progress", "payload": { "opNumber": opNumber, "opType": null } }); // Poor Man's Progress Indicator + postMessage({ "type": "Progress", "payload": { "opNumber": opNumber, "opType": null } }, null); // Poor Man's Progress Indicator return toReturn; } /** Returns the cached object if it exists, or null otherwise. */ -function CheckCache(hash) { return argCache[hash] || null; } -/** Adds this `shape` to the cache, indexable by `hash`. */ -function AddToCache(hash, shape) { +function CheckCache(hash : number) : oc.TopoDS_Shape|null { return argCache[hash] || null; } +/** Adds this `shape` to the cache, indexable by `hash`. Returns the hash. */ +function AddToCache(hash : number, shape : oc.TopoDS_Shape) : number { let cacheShape = new oc.TopoDS_Shape(shape); cacheShape.hash = hash; // This is the cached version of the object argCache[hash] = cacheShape; @@ -40,7 +47,7 @@ function AddToCache(hash, shape) { /** This function computes a 32-bit integer hash given a set of `arguments`. * If `raw` is true, the raw set of sanitized arguments will be returned instead. */ -function ComputeHash(args, raw) { +function ComputeHash(args : IArguments, raw ?: boolean) : number|string { let argsString = JSON.stringify(args); argsString = argsString.replace(/(\"ptr\"\:(-?[0-9]*?)\,)/g, ''); argsString = argsString.replace(/(\"ptr\"\:(-?[0-9]*))/g, ''); @@ -53,7 +60,7 @@ function ComputeHash(args, raw) { // Random Javascript Utilities /** This function recursively traverses x and calls `callback()` on each subelement. */ -function recursiveTraverse(x, callback) { +function recursiveTraverse(x : any, callback : ((x:any)=>any)) : void { if (Object.prototype.toString.call(x) === '[object Array]') { x.forEach(function (x1) { recursiveTraverse(x1, callback) @@ -74,7 +81,7 @@ function recursiveTraverse(x, callback) { } /** This function returns a version of the `inputArray` without the `objectToRemove`. */ -function Remove(inputArray, objectToRemove) { +function Remove(inputArray: any[], objectToRemove : any) : any[] { return inputArray.filter((el) => { return el.hash !== objectToRemove.hash || el.ptr !== objectToRemove.ptr; @@ -82,7 +89,7 @@ function Remove(inputArray, objectToRemove) { } /** This function returns true if item is indexable like an array. */ -function isArrayLike(item) { +function isArrayLike(item : any) : boolean { return ( Array.isArray(item) || (!!item && @@ -97,7 +104,7 @@ function isArrayLike(item) { /** Mega Brittle Line Number Finding algorithm for Handle Backpropagation; only works in Chrome and FF. * Eventually this should be replaced with Microsoft's Typescript interpreter, but that's a big dependency...*/ -function getCallingLocation() { +function getCallingLocation() : number[] { let errorStack = (new Error).stack; //console.log(errorStack); //console.log(navigator.userAgent); @@ -109,18 +116,19 @@ function getCallingLocation() { }else if (navigator.userAgent.includes("Moz")) { matchingString = "eval:"; } else { - lineAndColumn[0] = "-1"; - lineAndColumn[1] = "-1"; + lineAndColumn[0] = -1; + lineAndColumn[1] = -1; return lineAndColumn; } + let lineAndColumnStr = ["-1", "-1"]; errorStack.split("\n").forEach((line) => { if (line.includes(matchingString)) { - lineAndColumn = line.split(matchingString)[1].split(':'); + lineAndColumnStr = line.split(matchingString)[1].split(':'); } }); - lineAndColumn[0] = parseFloat(lineAndColumn[0]); - lineAndColumn[1] = parseFloat(lineAndColumn[1]); + lineAndColumn[0] = parseFloat(lineAndColumnStr[0]); + lineAndColumn[1] = parseFloat(lineAndColumnStr[1]); return lineAndColumn; } @@ -137,7 +145,7 @@ function convertToPnt(pnt) { } /** This function converts a string to a 32bit integer. */ -function stringToHash(string) { +function stringToHash(string: string) : number { let hash = 0; if (string.length == 0) return hash; for (let i = 0; i < string.length; i++) { @@ -148,6 +156,7 @@ function stringToHash(string) { return hash; } -function CantorPairing(x, y) { +/** This function hashes two numbers together. */ +function CantorPairing(x : number, y : number) : number { return ((x + y) * (x + y + 1)) / 2 + y; } diff --git a/js/Libraries/InvoluteGear.ts b/js/Libraries/InvoluteGear.ts new file mode 100644 index 0000000..e9e2979 --- /dev/null +++ b/js/Libraries/InvoluteGear.ts @@ -0,0 +1,72 @@ +/** Creates an Involute Spur Gear Face with the Given Radius, Number of Teeth, and Attack Angle; + * Shamelessly Ripped from https://ciechanow.ski/gears/ */ +function SpurGear(radius: number, num_teeth: number, attack_angle: number) { + let gear = CacheOp(arguments, () => { + function involute_points(radius, angle, num, left) { + let points = []; + for (let i = 0; i <= num; i++) { + let a = angle * i/num; + let l = Math.abs(a * radius); + let p0 = [-radius * Math.sin(a), + radius * Math.cos(a)]; + let p1L = Math.sqrt((p0[0]*p0[0]) + (p0[1]*p0[1])); let p1 = [p0[0]/p1L, p0[1]/p1L]; + p1 = [p0[0] + (p1[1] * l), p0[1] - (p1[0] * l)]; + if (left) { p1[0] *= -1; } + points.push(p1); + } + return points; + } + function drawInvoluteProfile(sketch, points, ang, base_angle, forward){ + let cba = Math.cos(ang + (forward?1:-1)*base_angle); + let sba = Math.sin(ang + (forward?1:-1)*base_angle); + let involuteCurve = []; + for (let j = (forward?0:points.length-1); forward?(j=0); j+=(forward?1:-1)) { + let curPoint =[cba*points[j][0] + sba*points[j][1], + -sba*points[j][0] + cba*points[j][1]]; + if(j === (forward?0:points.length - 1)){ sketch.LineTo(curPoint); } + involuteCurve.push(curPoint); + } + sketch.BSplineTo(involuteCurve); + } + if(!attack_angle) { attack_angle = 20; } + let n_stop = num_teeth; + let angle = attack_angle * Math.PI/180; + let d = 2*radius; + let p = num_teeth/d; + let a = 1/p; + let b = 1.25/p; + let rb = radius * Math.cos(angle); + let r_add = radius + a; + let r_ded = radius - b; + let inv_limit = Math.sqrt(r_add*r_add - rb*rb)/rb; + let pitch_point_to_base = Math.sin(angle)*radius; + let base_angle = pitch_point_to_base/rb + Math.PI*0.5/num_teeth -angle; + let ded_limit_angle = r_ded < rb ? (Math.PI / num_teeth - base_angle) : 0; + let pr = involute_points(rb, inv_limit, 10, false); + let pl = involute_points(rb, inv_limit, 10, true ); + let ang = 0; + let sketch = null; + for (let i = 0; i < n_stop; i++){ + let a0 = -ang + -Math.PI/num_teeth +ded_limit_angle + Math.PI/2; + let startPt = [(r_ded - 2)*Math.cos(a0), (r_ded - 2)*Math.sin(a0)]; + if(sketch){ + sketch.LineTo(startPt) + }else{ + sketch = new Sketch(startPt); + } + + drawInvoluteProfile(sketch, pr, ang, base_angle, true ); + drawInvoluteProfile(sketch, pl, ang, base_angle, false); + + a0 = Math.PI/num_teeth - ded_limit_angle + Math.PI/2 - ang; + sketch.LineTo ([(r_ded - 2)*Math.cos(a0), + (r_ded - 2)*Math.sin(a0)]); + ang -= 2*Math.PI/num_teeth; + } + let gearFace = sketch.End(true).Face(); + sceneShapes = Remove(sceneShapes, gearFace); + return gearFace; + }); + sceneShapes.push(gear); + return gear; +} diff --git a/js/MainPage/CascadeMain.js b/js/MainPage/CascadeMain.js index 9d2db2a..59d2010 100644 --- a/js/MainPage/CascadeMain.js +++ b/js/MainPage/CascadeMain.js @@ -113,35 +113,34 @@ function initialize(projectContent = null) { // Set the Monaco Language Options monaco.languages.typescript.typescriptDefaults.setCompilerOptions({ allowNonTsExtensions: true, + target: monaco.languages.typescript.ScriptTarget.ES6, moduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs, + noLib: true }); monaco.languages.typescript.typescriptDefaults.setEagerModelSync(true); // Import Typescript Intellisense Definitions for the relevant libraries... var extraLibs = []; let prefix = window.location.href.startsWith("https://zalo.github.io/") ? "/CascadeStudio" : ""; - // opencascade.js Typescript Definitions... - fetch(prefix + "/node_modules/opencascade.js/dist/oc.d.ts").then((response) => { - response.text().then(function (text) { - extraLibs.push({ content: text, filePath: 'file://' + prefix + '/node_modules/opencascade.js/dist/oc.d.ts' }); - }); - }).catch(error => console.log(error.message)); - - // Three.js Typescript definitions... - fetch(prefix + "/node_modules/three/build/three.d.ts").then((response) => { - response.text().then(function (text) { - extraLibs.push({ content: text, filePath: 'file://' + prefix + '/node_modules/three/build/three.d.ts' }); - }); - }).catch(error => console.log(error.message)); - - // CascadeStudio Typescript Definitions... - fetch(prefix + "/js/StandardLibraryIntellisense.ts").then((response) => { - response.text().then(function (text) { - extraLibs.push({ content: text, filePath: 'file://' + prefix + '/js/StandardLibraryIntellisense.d.ts' }); - monaco.editor.createModel("", "typescript"); //text - monaco.languages.typescript.typescriptDefaults.setExtraLibs(extraLibs); - }); - }).catch(error => console.log(error.message)); + let extraLibPaths = [ + '/node_modules/opencascade.js/dist/oc.d.ts', + '/node_modules/three/build/three.d.ts', + '/node_modules/typescript/lib/lib.es5.d.ts', + '/node_modules/typescript/lib/lib.webworker.d.ts' + ]; + extraLibPaths.forEach((path) => { + fetch(prefix + path).then((response) => { + response.text().then(function (text) { + extraLibs.push({ content: text, filePath: 'file://' + prefix + path }); + monaco.languages.typescript.typescriptDefaults.setExtraLibs(extraLibs); + }); + }).catch(error => console.log(error.message)); + }); + messageHandlers["addLibrary"] = (payload) => { + extraLibs.push({ content: payload.contents, filePath: 'file://' + payload.url }); + monaco.languages.typescript.typescriptDefaults.setExtraLibs(extraLibs); + //console.log("Imported a library from: " + payload.url); + } // Check for code serialization as an array codeContainer = container; diff --git a/js/StandardLibraryIntellisense.ts b/js/StandardLibraryIntellisense.ts deleted file mode 100644 index d97e150..0000000 --- a/js/StandardLibraryIntellisense.ts +++ /dev/null @@ -1,224 +0,0 @@ -/** The list that stores all of the OpenCascade shapes for rendering. - * Add to this when using imported files or doing custom oc. operations. - * @example```sceneShapes.push(externalShapes['myStep.step']);``` */ -var sceneShapes: oc.TopoDS_Shape[]; - -/** The dictionary that stores all of your imported STEP and IGES files. Push to sceneShapes to render in the view! - * @example```sceneShapes.push(externalShapes['myStep.step']);``` */ -var externalShapes: { [filename: string]: oc.TopoDS_Shape }; - -/** Type definition for Int */ -type integer = number; - -/** Starts sketching a 2D shape which can contain lines, arcs, bezier splines, and fillets. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let sketch = new Sketch([0,0]).LineTo([100,0]).Fillet(20).LineTo([100,100]).End(true).Face();```*/ -class Sketch { - constructor(startingPoint: number[]); - - faces : oc.TopoDS_Face[]; - wires : oc.TopoDS_Wire[]; - firstPoint : oc.gp_Pnt; - lastPoint : oc.gp_Pnt; - wireBuilder : oc.BRepBuilderAPI_MakeWire; - - Start (startingPoint : number[] ) : Sketch; - End (closed ?: boolean , reversed?:boolean) : Sketch; - AddWire (wire : oc. TopoDS_Wire) : Sketch; - - LineTo (nextPoint : number[] ) : Sketch; - ArcTo (pointOnArc : number[], arcEnd : number[]) : Sketch; - BezierTo(bezierControlPoints : number[][]): Sketch; - BSplineTo(bsplinePoints : number[][]): Sketch; - /** Adds a 2D Fillet of specified radius at this vertex. Only applies to Faces! - * If a Wire is needed, use ForEachWire() to get the Wire from the resulting Face! */ - Fillet (radius : number ) : Sketch; - Face (reversed ?:boolean) : oc.TopoDS_Face; - Wire (reversed ?:boolean) : oc.TopoDS_Wire; - /** Punches a circular hole in the existing face (may need to use reversed) */ - Circle (center ?:number[], radius:number, reversed?:boolean) : Sketch; -} - -/** Creates a solid box with dimensions x, y, and, z and adds it to `sceneShapes` for rendering. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let myBox = Box(10, 20, 30);```*/ -function Box(x: number, y: number, z: number, centered?: boolean): oc.TopoDS_Shape; -/** Creates a solid sphere of specified radius and adds it to `sceneShapes` for rendering. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let mySphere = Sphere(40);```*/ -function Sphere(radius: number): oc.TopoDS_Shape; -/** Creates a solid cylinder of specified radius and height and adds it to `sceneShapes` for rendering. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let myCylinder = Cylinder(30, 50);```*/ -function Cylinder(radius: number, height: number, centered?: boolean): oc.TopoDS_Shape; -/** Creates a solid cone of specified bottom radius, top radius, and height and adds it to `sceneShapes` for rendering. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let myCone = Cone(30, 50);```*/ -function Cone(radius1: number, radius2: number, height: number): oc.TopoDS_Shape; -/** Creates a polygon from a list of 3-component lists (points) and adds it to `sceneShapes` for rendering. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let triangle = Polygon([[0, 0, 0], [50, 0, 0], [25, 50, 0]]);```*/ -function Polygon(points: number[][], wire?: boolean): oc.TopoDS_Shape; -/** Creates a circle from a radius and adds it to `sceneShapes` for rendering. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let circle = Circle(50);```*/ -function Circle(radius:number, wire?:boolean) : oc.TopoDS_Shape; -/** Creates a bspline from a list of 3-component lists (points). - * This can be converted into a face via the respective oc.BRepBuilderAPI functions. - * Or used directly with BRepPrimAPI_MakeRevolution() - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let bspline = BSpline([[0,0,0], [40, 0, 50], [50, 0, 50]], true);```*/ -function BSpline(points:number[][], closed?:boolean) : oc.TopoDS_Shape; -/** Creates set of glyph solids from a string and a font-file and adds it to sceneShapes. - * Note that all the characters share a singular face. - * - * Defaults: size:36, height:0.15, fontName: 'Roboto' - * - * Try 'Roboto' or 'Papyrus' for an alternative typeface. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let myText = Text3D("Hello!");```*/ -function Text3D(text?: string = "Hi!", size?: number = "36", height?: number = 0.15, fontURL?: string = "Roboto") : oc.TopoDS_Shape; - - -/** Joins a list of shapes into a single solid. - * The original shapes are removed unless `keepObjects` is true. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let sharpSphere = Union([Sphere(38), Box(50, 50, 50, true)]);```*/ -function Union(objectsToJoin: oc.TopoDS_Shape[], keepObjects?: boolean, fuzzValue?:number, keepEdges?: boolean): oc.TopoDS_Shape; -/** Subtracts a list of shapes from mainBody. - * The original shapes are removed unless `keepObjects` is true. Returns a Compound Shape unless onlyFirstSolid is true. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let floatingCorners = Difference(Box(50, 50, 50, true), [Sphere(38)]);```*/ -function Difference(mainBody: oc.TopoDS_Shape, objectsToSubtract: oc.TopoDS_Shape[], keepObjects?: boolean, fuzzValue?:number, keepEdges?: boolean): oc.TopoDS_Shape; -/** Takes only the intersection of a list of shapes. - * The original shapes are removed unless `keepObjects` is true. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let roundedBox = Intersection([Box(50, 50, 50, true), Sphere(38)]);```*/ -function Intersection(objectsToIntersect: oc.TopoDS_Shape[], keepObjects?: boolean, fuzzValue?: number, keepEdges?: boolean): oc.TopoDS_Shape; -/** Removes internal, unused edges from the insides of faces on this shape. Keeps the model clean. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let cleanPart = RemoveInternalEdges(part);```*/ -function RemoveInternalEdges(shape: oc.TopoDS_Shape, keepShape?: boolean) : oc.TopoDS_Shape; -/** Extrudes a shape along direction, a 3-component vector. Edges form faces, Wires form shells, Faces form solids, etc. - * The original face is removed unless `keepFace` is true. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let tallTriangle = Extrude(Polygon([[0, 0, 0], [50, 0, 0], [25, 50, 0]]), [0, 0, 50]);```*/ -function Extrude(face: oc.TopoDS_Shape, direction: number[], keepFace?: boolean) : oc.TopoDS_Shape; -/** Extrudes and twists a flat *wire* upwards along the z-axis (see the optional argument for Polygon). - * The original wire is removed unless `keepWire` is true. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let twistyTriangle = RotatedExtrude(Polygon([[-25, -15, 0], [25, -15, 0], [0, 35, 0]], true), 50, 90);```*/ -function RotatedExtrude(wire: oc.TopoDS_Shape, height: number, rotation: number, keepWire?: boolean) : oc.TopoDS_Shape; -/** Lofts a solid through the sections defined by an array of 2 or more closed wires. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) */ -function Loft(wireSections: oc.TopoDS_Shape[], keepWires?: boolean): oc.TopoDS_Shape; -/** Revolves this shape "degrees" about "axis" (a 3-component array). Edges form faces, Wires form shells, Faces form solids, etc. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let cone = Revolve(Polygon([[0, 0, 0], [0, 0, 50], [50, 0, 0]]));```*/ -function Revolve(shape: oc.TopoDS_Shape, degrees?: number, axis?: number[], keepShape?: boolean, copy?: boolean): oc.TopoDS_Shape; -/** Sweeps this shape along a path wire. - * The original shapes are removed unless `keepObjects` is true. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let pipe = Pipe(Circle(20), BSpline([[0,0,0],[0,0,50],[20,0,100]], false, true));```*/ -function Pipe(shape: oc.TopoDS_Shape, wirePath: oc.TopoDS_Shape, keepInputs?: boolean): oc.TopoDS_Shape; -/** Offsets the faces of a shape by offsetDistance - * The original shape is removed unless `keepShape` is true. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let roundedCube = Offset(Box(10,10,10), 10);```*/ -function Offset(shape: oc.TopoDS_Shape, offsetDistance: number, tolerance?: number, keepShape?: boolean) : oc.TopoDS_Shape; - -/** Creates a labeled slider with specified defaults, mins, and max ranges. - * @example```let currentSliderValue = Slider("Radius", 30 , 20 , 40);``` - * `name` needs to be unique! - * - * `callback` triggers whenever the mouse is let go, and `realTime` will cause the slider to update every frame that there is movement (but it's buggy!) - * - * @param step controls the amount that the keyboard arrow keys will increment or decrement a value. Defaults to 1/100 (0.01). - * @param precision controls how many decimal places the slider can have (i.e. "0" is integers, "1" includes tenths, etc.). Defaults to 2 decimal places (0.00). - * - * @example```let currentSliderValue = Slider("Radius", 30 , 20 , 40, false);``` - * @example```let currentSliderValue = Slider("Radius", 30 , 20 , 40, false, 0.01);``` - * @example```let currentSliderValue = Slider("Radius", 30 , 20 , 40, false, 0.01, 2);``` - */ -function Slider(name: string, defaultValue: number, min: number, max: number, realTime?: boolean, step?: number, precision?: integer): number; -/** Creates a button that will trigger `callback` when clicked. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```Button("Yell", ()=>{ console.log("Help! I've been clicked!"); });```*/ -function Button(name: string) : void; -/** Creates a checkbox that returns true or false. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let currentCheckboxValue = Checkbox("Check?", true);``` - * - * `callback` triggers when the button is clicked.*/ -function Checkbox(name: string, defaultValue: boolean): boolean; - -/** BETA: Transform a shape using an in-view transformation gizmo. - * - * Shortcuts: `T` - Translate, `R` - Rotate, `S` - Scale, `W`/`L` - Toggle World/Local Space - * - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let transformedSphere = Transform(Sphere(50));```*/ -function Transform(shape: oc.TopoDS_Shape): oc.TopoDS_Shape; -/** BETA: Transform a shape using an in-view transformation gizmo. - * - * Shortcuts: `T` - Translate, `R` - Rotate, `S` - Scale, `W`/`L` - Toggle World/Local - * - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let transformedSphere = Transform(Sphere(50));```*/ -function Transform(translation: number[], rotation: (number|number[])[], scale: number, shape: oc.TopoDS_Shape, keepOriginal?: boolean): oc.TopoDS_Shape; - -/** Translate a shape along the x, y, and z axes (using an array of 3 numbers). - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let upwardSphere = Translate([0, 0, 50], Sphere(50));```*/ -function Translate(offset: number[], shape: oc.TopoDS_Shape, keepOriginal?: boolean): oc.TopoDS_Shape; - -/** Rotate a shape degrees about a 3-coordinate axis. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let leaningCylinder = Rotate([0, 1, 0], 45, Cylinder(25, 50));```*/ -function Rotate(axis: number[], degrees: number, shape: oc.TopoDS_Shape, keepOriginal?: boolean): oc.TopoDS_Shape; - -/** Scale a shape to be `scale` times its current size. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let scaledCylinder = Scale(50, Cylinder(0.5, 1));```*/ -function Scale(scale: number, shape: oc.TopoDS_Shape, keepOriginal?: boolean): oc.TopoDS_Shape; - -/** Iterate over all the solids in this shape, calling `callback` on each one. */ -function ForEachSolid(shape: oc.TopoDS_Shape, callback: (index: Number, shell: oc.TopoDS_Solid) => void): void; -/** Gets the indexth solid from this compound shape. */ -function GetSolidFromCompound(shape: oc.TopoDS_Shape, index?:number, keepOriginal?:boolean): oc.TopoDS_Solid; -/** Gets the indexth wire from this face (or above) shape. */ -function GetWire(shape: oc.TopoDS_Face, index?:number, keepOriginal?:boolean): oc.TopoDS_Wire; -/** Iterate over all the shells in this shape, calling `callback` on each one. */ -function ForEachShell(shape: oc.TopoDS_Shape, callback: (index: Number, shell: oc.TopoDS_Shell) => void): void; -/** Iterate over all the faces in this shape, calling `callback` on each one. */ -function ForEachFace(shape: oc.TopoDS_Shape, callback: (index: number, face: oc.TopoDS_Face) => void): void; -/** Iterate over all the wires in this shape, calling `callback` on each one. */ -function ForEachWire(shape: oc.TopoDS_Shape, callback: (wire: oc.TopoDS_Wire) => void): void; -/** Iterate over all the UNIQUE indices and edges in this shape, calling `callback` on each one. */ -function ForEachEdge(shape: oc.TopoDS_Shape, callback: (index: number, edge: oc.TopoDS_Edge) => void): {[edgeHash:number] : Number}[]; -/** Iterate over all the vertices in this shape, calling `callback` on each one. */ -function ForEachVertex(shape: oc.TopoDS_Shape, callback: (vertex: oc.TopoDS_Vertex) => void): void; -/** Attempt to Fillet all selected edge indices in "edgeList" with a radius. - * Hover over the edges you'd like to select and use those indices as in the example. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```FilletEdges(shape, 1, [0,1,2,7]);``` */ -function FilletEdges(shape: oc.TopoDS_Shape, radius: number, edgeList: number[], keepOriginal?:boolean): oc.TopoDS_Shape; -/** Attempt to Chamfer all selected edge indices in "edgeList" symmetrically by distance. - * Hover over the edges you'd like to select and use those indices in the edgeList array. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```ChamferEdges(shape, 1, [0,1,2,7]);``` */ -function ChamferEdges(shape: oc.TopoDS_Shape, distance: number, edgeList: number[], keepOriginal?:boolean): oc.TopoDS_Shape; - -/** Download this file URL through the browser. Use this to export information from the CAD engine. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```SaveFile("myInfo.txt", URL.createObjectURL( new Blob(["Hello, Harddrive!"], { type: 'text/plain' }) ));``` */ -function SaveFile(filename: string, fileURL: string): void; - -/** Explicitly Cache the result of this operation so that it can return instantly next time it is called with the same arguments. - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let box = CacheOp(arguments, () => { return new oc.BRepPrimAPI_MakeBox(x, y, z).Shape(); });``` */ -function CacheOp(arguments: IArguments, cacheMiss: () => oc.TopoDS_Shape): oc.TopoDS_Shape; - /** Remove this object from this array. Useful for preventing objects being added to `sceneShapes` (in cached functions). - * [Source](https://github.com/zalo/CascadeStudio/blob/master/js/CADWorker/CascadeStudioStandardLibrary.js) - * @example```let box = CacheOp(arguments, () => { let box = Box(x,y,z); sceneShapes = Remove(sceneShapes, box); return box; });``` */ -function Remove(array: any[], toRemove: any): any[]; diff --git a/node_modules/typescript/bin/typescript.min.js b/node_modules/typescript/bin/typescript.min.js new file mode 100644 index 0000000..60c6ab0 --- /dev/null +++ b/node_modules/typescript/bin/typescript.min.js @@ -0,0 +1 @@ +"use strict";var __spreadArrays=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;to[0]&&t[1]>1);switch(n(r(e[s]),t)){case-1:a=s+1;break;case 0:return s;case 1:o=s-1}}return~a}function y(e,t,r,n,i){if(e&&0r+o?r+o:t.length,l=i[0]=o,_=1;_=r.length+n.length&&ee(t,r)&&X(t,n)}f.getUILocale=function(){return V},f.setUILocale=function(e){V!==e&&(V=e,U=void 0)},f.compareStringsCaseSensitiveUI=function(e,t){return(U=U||K(V))(e,t)},f.compareProperties=function(e,t,r,n){return e===t?0:void 0===e?-1:void 0===t?1:n(e[r],t[r])},f.compareBooleans=function(e,t){return L(e?1:0,t?1:0)},f.getSpellingSuggestion=function(e,t,r){for(var n,i=Math.min(2,Math.floor(.34*e.length)),a=Math.floor(.4*e.length)+1,o=!1,s=e.toLowerCase(),c=0,u=t;ci&&(i=c.prefix.length,n=s)}return n},f.startsWith=ee,f.removePrefix=function(e,t){return ee(e,t)?e.substr(t.length):e},f.tryRemovePrefix=function(e,t,r){return void 0===r&&(r=A),ee(r(e),r(t))?e.substring(t.length):void 0},f.and=function(t,r){return function(e){return t(e)&&r(e)}},f.or=function(){for(var i=[],e=0;e=i.level&&(a[n]=i,s[n]=void 0)}},a.shouldAssert=i,a.fail=u,a.failBadSyntaxKind=function e(t,r,n){return u((r||"Unexpected node.")+"\r\nNode "+y(t.kind)+" was unexpected.",n||e)},a.assert=l,a.assertEqual=function e(t,r,n,i,a){t!==r&&u("Expected "+t+" === "+r+". "+(n?i?n+" "+i:n:""),a||e)},a.assertLessThan=function e(t,r,n,i){r<=t&&u("Expected "+t+" < "+r+". "+(n||""),i||e)},a.assertLessThanOrEqual=function e(t,r,n){r= "+r,n||e)},a.assertIsDefined=_,a.checkDefined=d,a.assertDefined=d,a.assertEachIsDefined=p,a.checkEachDefined=f,a.assertEachDefined=f,a.assertNever=function e(t,r,n){return void 0===r&&(r="Illegal value:"),u(r+" "+("object"==typeof t&&I.hasProperty(t,"kind")&&I.hasProperty(t,"pos")&&y?"SyntaxKind: "+y(t.kind):JSON.stringify(t)),n||e)},a.assertEachNode=function e(t,r,n,i){c(1,"assertEachNode")&&l(void 0===r||I.every(t,r),n||"Unexpected node.",function(){return"Node array did not pass test '"+g(r)+"'."},i||e)},a.assertNode=function e(t,r,n,i){c(1,"assertNode")&&l(void 0!==t&&(void 0===r||r(t)),n||"Unexpected node.",function(){return"Node "+y(t.kind)+" did not pass test '"+g(r)+"'."},i||e)},a.assertNotNode=function e(t,r,n,i){c(1,"assertNotNode")&&l(void 0===t||void 0===r||!r(t),n||"Unexpected node.",function(){return"Node "+y(t.kind)+" should not have passed test '"+g(r)+"'."},i||e)},a.assertOptionalNode=function e(t,r,n,i){c(1,"assertOptionalNode")&&l(void 0===r||void 0===t||r(t),n||"Unexpected node.",function(){return"Node "+y(t.kind)+" did not pass test '"+g(r)+"'."},i||e)},a.assertOptionalToken=function e(t,r,n,i){c(1,"assertOptionalToken")&&l(void 0===r||void 0===t||t.kind===r,n||"Unexpected node.",function(){return"Node "+y(t.kind)+" was not a '"+y(r)+"' token."},i||e)},a.assertMissingNode=function e(t,r,n){c(1,"assertMissingNode")&&l(void 0===t,r||"Unexpected node.",function(){return"Node "+y(t.kind)+" was unexpected'."},n||e)},a.getFunctionName=g,a.formatSymbol=function(e){return"{ name: "+I.unescapeLeadingUnderscores(e.escapedName)+"; flags: "+T(e.flags)+"; declarations: "+I.map(e.declarations,function(e){return y(e.kind)})+" }"},a.formatEnum=m,a.formatSyntaxKind=y,a.formatNodeFlags=v,a.formatModifierFlags=h,a.formatTransformFlags=D,a.formatEmitFlags=S,a.formatSymbolFlags=T,a.formatTypeFlags=C,a.formatObjectFlags=E;var k,N=!1;function A(e){return function(){if(F(),!k)throw new Error("Debugging helpers could not be loaded.");return k}().formatControlFlowGraph(e)}function F(){if(!N){Object.defineProperties(I.objectAllocator.getSymbolConstructor().prototype,{__debugFlags:{get:function(){return T(this.flags)}}}),Object.defineProperties(I.objectAllocator.getTypeConstructor().prototype,{__debugFlags:{get:function(){return C(this.flags)}},__debugObjectFlags:{get:function(){return 524288&this.flags?E(this.objectFlags):""}},__debugTypeToString:{value:function(){return this.checker.typeToString(this)}}});for(var e,t,r=0,n=[I.objectAllocator.getNodeConstructor(),I.objectAllocator.getIdentifierConstructor(),I.objectAllocator.getTokenConstructor(),I.objectAllocator.getSourceFileConstructor()];r|>=|=)?\s*([a-z0-9-+.*]+)$/i;function i(e){for(var t=[],r=0,n=e.trim().split(g);r=",n.version)),D(i.major)||r.push(D(i.minor)?S("<",i.version.increment("major")):D(i.patch)?S("<",i.version.increment("minor")):S("<=",i.version)),1}}function x(e,t,r){var n=c(t);if(n){var i=n.version,a=n.major,o=n.minor,s=n.patch;if(D(a))"<"!==e&&">"!==e||r.push(S("<",f.zero));else switch(e){case"~":r.push(S(">=",i)),r.push(S("<",i.increment(D(o)?"major":"minor")));break;case"^":r.push(S(">=",i)),r.push(S("<",i.increment(0=":r.push(S(e,i));break;case"<=":case">":r.push(D(o)?S("<="===e?"<":">=",i.increment("major")):D(s)?S("<="===e?"<":">=",i.increment("minor")):S(e,i));break;case"=":case void 0:D(o)||D(s)?(r.push(S(">=",i)),r.push(S("<",i.increment(D(o)?"major":"minor")))):r.push(S("=",i));break;default:return}return 1}}function D(e){return"*"===e||"x"===e||"X"===e}function S(e,t){return{operator:e,operand:t}}function a(e,t){for(var r=0,n=t;r":return 0=":return 0<=n;case"=":return 0===n;default:return u.Debug.assertNever(t)}}function t(e){return u.map(e,T).join(" ")}function T(e){return""+e.operator+e.operand}}(ts=ts||{}),function(e){var t,r,n,i,a,o,s,c,u;(t=e.SyntaxKind||(e.SyntaxKind={}))[t.Unknown=0]="Unknown",t[t.EndOfFileToken=1]="EndOfFileToken",t[t.SingleLineCommentTrivia=2]="SingleLineCommentTrivia",t[t.MultiLineCommentTrivia=3]="MultiLineCommentTrivia",t[t.NewLineTrivia=4]="NewLineTrivia",t[t.WhitespaceTrivia=5]="WhitespaceTrivia",t[t.ShebangTrivia=6]="ShebangTrivia",t[t.ConflictMarkerTrivia=7]="ConflictMarkerTrivia",t[t.NumericLiteral=8]="NumericLiteral",t[t.BigIntLiteral=9]="BigIntLiteral",t[t.StringLiteral=10]="StringLiteral",t[t.JsxText=11]="JsxText",t[t.JsxTextAllWhiteSpaces=12]="JsxTextAllWhiteSpaces",t[t.RegularExpressionLiteral=13]="RegularExpressionLiteral",t[t.NoSubstitutionTemplateLiteral=14]="NoSubstitutionTemplateLiteral",t[t.TemplateHead=15]="TemplateHead",t[t.TemplateMiddle=16]="TemplateMiddle",t[t.TemplateTail=17]="TemplateTail",t[t.OpenBraceToken=18]="OpenBraceToken",t[t.CloseBraceToken=19]="CloseBraceToken",t[t.OpenParenToken=20]="OpenParenToken",t[t.CloseParenToken=21]="CloseParenToken",t[t.OpenBracketToken=22]="OpenBracketToken",t[t.CloseBracketToken=23]="CloseBracketToken",t[t.DotToken=24]="DotToken",t[t.DotDotDotToken=25]="DotDotDotToken",t[t.SemicolonToken=26]="SemicolonToken",t[t.CommaToken=27]="CommaToken",t[t.QuestionDotToken=28]="QuestionDotToken",t[t.LessThanToken=29]="LessThanToken",t[t.LessThanSlashToken=30]="LessThanSlashToken",t[t.GreaterThanToken=31]="GreaterThanToken",t[t.LessThanEqualsToken=32]="LessThanEqualsToken",t[t.GreaterThanEqualsToken=33]="GreaterThanEqualsToken",t[t.EqualsEqualsToken=34]="EqualsEqualsToken",t[t.ExclamationEqualsToken=35]="ExclamationEqualsToken",t[t.EqualsEqualsEqualsToken=36]="EqualsEqualsEqualsToken",t[t.ExclamationEqualsEqualsToken=37]="ExclamationEqualsEqualsToken",t[t.EqualsGreaterThanToken=38]="EqualsGreaterThanToken",t[t.PlusToken=39]="PlusToken",t[t.MinusToken=40]="MinusToken",t[t.AsteriskToken=41]="AsteriskToken",t[t.AsteriskAsteriskToken=42]="AsteriskAsteriskToken",t[t.SlashToken=43]="SlashToken",t[t.PercentToken=44]="PercentToken",t[t.PlusPlusToken=45]="PlusPlusToken",t[t.MinusMinusToken=46]="MinusMinusToken",t[t.LessThanLessThanToken=47]="LessThanLessThanToken",t[t.GreaterThanGreaterThanToken=48]="GreaterThanGreaterThanToken",t[t.GreaterThanGreaterThanGreaterThanToken=49]="GreaterThanGreaterThanGreaterThanToken",t[t.AmpersandToken=50]="AmpersandToken",t[t.BarToken=51]="BarToken",t[t.CaretToken=52]="CaretToken",t[t.ExclamationToken=53]="ExclamationToken",t[t.TildeToken=54]="TildeToken",t[t.AmpersandAmpersandToken=55]="AmpersandAmpersandToken",t[t.BarBarToken=56]="BarBarToken",t[t.QuestionToken=57]="QuestionToken",t[t.ColonToken=58]="ColonToken",t[t.AtToken=59]="AtToken",t[t.QuestionQuestionToken=60]="QuestionQuestionToken",t[t.BacktickToken=61]="BacktickToken",t[t.EqualsToken=62]="EqualsToken",t[t.PlusEqualsToken=63]="PlusEqualsToken",t[t.MinusEqualsToken=64]="MinusEqualsToken",t[t.AsteriskEqualsToken=65]="AsteriskEqualsToken",t[t.AsteriskAsteriskEqualsToken=66]="AsteriskAsteriskEqualsToken",t[t.SlashEqualsToken=67]="SlashEqualsToken",t[t.PercentEqualsToken=68]="PercentEqualsToken",t[t.LessThanLessThanEqualsToken=69]="LessThanLessThanEqualsToken",t[t.GreaterThanGreaterThanEqualsToken=70]="GreaterThanGreaterThanEqualsToken",t[t.GreaterThanGreaterThanGreaterThanEqualsToken=71]="GreaterThanGreaterThanGreaterThanEqualsToken",t[t.AmpersandEqualsToken=72]="AmpersandEqualsToken",t[t.BarEqualsToken=73]="BarEqualsToken",t[t.BarBarEqualsToken=74]="BarBarEqualsToken",t[t.AmpersandAmpersandEqualsToken=75]="AmpersandAmpersandEqualsToken",t[t.QuestionQuestionEqualsToken=76]="QuestionQuestionEqualsToken",t[t.CaretEqualsToken=77]="CaretEqualsToken",t[t.Identifier=78]="Identifier",t[t.PrivateIdentifier=79]="PrivateIdentifier",t[t.BreakKeyword=80]="BreakKeyword",t[t.CaseKeyword=81]="CaseKeyword",t[t.CatchKeyword=82]="CatchKeyword",t[t.ClassKeyword=83]="ClassKeyword",t[t.ConstKeyword=84]="ConstKeyword",t[t.ContinueKeyword=85]="ContinueKeyword",t[t.DebuggerKeyword=86]="DebuggerKeyword",t[t.DefaultKeyword=87]="DefaultKeyword",t[t.DeleteKeyword=88]="DeleteKeyword",t[t.DoKeyword=89]="DoKeyword",t[t.ElseKeyword=90]="ElseKeyword",t[t.EnumKeyword=91]="EnumKeyword",t[t.ExportKeyword=92]="ExportKeyword",t[t.ExtendsKeyword=93]="ExtendsKeyword",t[t.FalseKeyword=94]="FalseKeyword",t[t.FinallyKeyword=95]="FinallyKeyword",t[t.ForKeyword=96]="ForKeyword",t[t.FunctionKeyword=97]="FunctionKeyword",t[t.IfKeyword=98]="IfKeyword",t[t.ImportKeyword=99]="ImportKeyword",t[t.InKeyword=100]="InKeyword",t[t.InstanceOfKeyword=101]="InstanceOfKeyword",t[t.NewKeyword=102]="NewKeyword",t[t.NullKeyword=103]="NullKeyword",t[t.ReturnKeyword=104]="ReturnKeyword",t[t.SuperKeyword=105]="SuperKeyword",t[t.SwitchKeyword=106]="SwitchKeyword",t[t.ThisKeyword=107]="ThisKeyword",t[t.ThrowKeyword=108]="ThrowKeyword",t[t.TrueKeyword=109]="TrueKeyword",t[t.TryKeyword=110]="TryKeyword",t[t.TypeOfKeyword=111]="TypeOfKeyword",t[t.VarKeyword=112]="VarKeyword",t[t.VoidKeyword=113]="VoidKeyword",t[t.WhileKeyword=114]="WhileKeyword",t[t.WithKeyword=115]="WithKeyword",t[t.ImplementsKeyword=116]="ImplementsKeyword",t[t.InterfaceKeyword=117]="InterfaceKeyword",t[t.LetKeyword=118]="LetKeyword",t[t.PackageKeyword=119]="PackageKeyword",t[t.PrivateKeyword=120]="PrivateKeyword",t[t.ProtectedKeyword=121]="ProtectedKeyword",t[t.PublicKeyword=122]="PublicKeyword",t[t.StaticKeyword=123]="StaticKeyword",t[t.YieldKeyword=124]="YieldKeyword",t[t.AbstractKeyword=125]="AbstractKeyword",t[t.AsKeyword=126]="AsKeyword",t[t.AssertsKeyword=127]="AssertsKeyword",t[t.AnyKeyword=128]="AnyKeyword",t[t.AsyncKeyword=129]="AsyncKeyword",t[t.AwaitKeyword=130]="AwaitKeyword",t[t.BooleanKeyword=131]="BooleanKeyword",t[t.ConstructorKeyword=132]="ConstructorKeyword",t[t.DeclareKeyword=133]="DeclareKeyword",t[t.GetKeyword=134]="GetKeyword",t[t.InferKeyword=135]="InferKeyword",t[t.IsKeyword=136]="IsKeyword",t[t.KeyOfKeyword=137]="KeyOfKeyword",t[t.ModuleKeyword=138]="ModuleKeyword",t[t.NamespaceKeyword=139]="NamespaceKeyword",t[t.NeverKeyword=140]="NeverKeyword",t[t.ReadonlyKeyword=141]="ReadonlyKeyword",t[t.RequireKeyword=142]="RequireKeyword",t[t.NumberKeyword=143]="NumberKeyword",t[t.ObjectKeyword=144]="ObjectKeyword",t[t.SetKeyword=145]="SetKeyword",t[t.StringKeyword=146]="StringKeyword",t[t.SymbolKeyword=147]="SymbolKeyword",t[t.TypeKeyword=148]="TypeKeyword",t[t.UndefinedKeyword=149]="UndefinedKeyword",t[t.UniqueKeyword=150]="UniqueKeyword",t[t.UnknownKeyword=151]="UnknownKeyword",t[t.FromKeyword=152]="FromKeyword",t[t.GlobalKeyword=153]="GlobalKeyword",t[t.BigIntKeyword=154]="BigIntKeyword",t[t.OfKeyword=155]="OfKeyword",t[t.QualifiedName=156]="QualifiedName",t[t.ComputedPropertyName=157]="ComputedPropertyName",t[t.TypeParameter=158]="TypeParameter",t[t.Parameter=159]="Parameter",t[t.Decorator=160]="Decorator",t[t.PropertySignature=161]="PropertySignature",t[t.PropertyDeclaration=162]="PropertyDeclaration",t[t.MethodSignature=163]="MethodSignature",t[t.MethodDeclaration=164]="MethodDeclaration",t[t.Constructor=165]="Constructor",t[t.GetAccessor=166]="GetAccessor",t[t.SetAccessor=167]="SetAccessor",t[t.CallSignature=168]="CallSignature",t[t.ConstructSignature=169]="ConstructSignature",t[t.IndexSignature=170]="IndexSignature",t[t.TypePredicate=171]="TypePredicate",t[t.TypeReference=172]="TypeReference",t[t.FunctionType=173]="FunctionType",t[t.ConstructorType=174]="ConstructorType",t[t.TypeQuery=175]="TypeQuery",t[t.TypeLiteral=176]="TypeLiteral",t[t.ArrayType=177]="ArrayType",t[t.TupleType=178]="TupleType",t[t.OptionalType=179]="OptionalType",t[t.RestType=180]="RestType",t[t.UnionType=181]="UnionType",t[t.IntersectionType=182]="IntersectionType",t[t.ConditionalType=183]="ConditionalType",t[t.InferType=184]="InferType",t[t.ParenthesizedType=185]="ParenthesizedType",t[t.ThisType=186]="ThisType",t[t.TypeOperator=187]="TypeOperator",t[t.IndexedAccessType=188]="IndexedAccessType",t[t.MappedType=189]="MappedType",t[t.LiteralType=190]="LiteralType",t[t.NamedTupleMember=191]="NamedTupleMember",t[t.ImportType=192]="ImportType",t[t.ObjectBindingPattern=193]="ObjectBindingPattern",t[t.ArrayBindingPattern=194]="ArrayBindingPattern",t[t.BindingElement=195]="BindingElement",t[t.ArrayLiteralExpression=196]="ArrayLiteralExpression",t[t.ObjectLiteralExpression=197]="ObjectLiteralExpression",t[t.PropertyAccessExpression=198]="PropertyAccessExpression",t[t.ElementAccessExpression=199]="ElementAccessExpression",t[t.CallExpression=200]="CallExpression",t[t.NewExpression=201]="NewExpression",t[t.TaggedTemplateExpression=202]="TaggedTemplateExpression",t[t.TypeAssertionExpression=203]="TypeAssertionExpression",t[t.ParenthesizedExpression=204]="ParenthesizedExpression",t[t.FunctionExpression=205]="FunctionExpression",t[t.ArrowFunction=206]="ArrowFunction",t[t.DeleteExpression=207]="DeleteExpression",t[t.TypeOfExpression=208]="TypeOfExpression",t[t.VoidExpression=209]="VoidExpression",t[t.AwaitExpression=210]="AwaitExpression",t[t.PrefixUnaryExpression=211]="PrefixUnaryExpression",t[t.PostfixUnaryExpression=212]="PostfixUnaryExpression",t[t.BinaryExpression=213]="BinaryExpression",t[t.ConditionalExpression=214]="ConditionalExpression",t[t.TemplateExpression=215]="TemplateExpression",t[t.YieldExpression=216]="YieldExpression",t[t.SpreadElement=217]="SpreadElement",t[t.ClassExpression=218]="ClassExpression",t[t.OmittedExpression=219]="OmittedExpression",t[t.ExpressionWithTypeArguments=220]="ExpressionWithTypeArguments",t[t.AsExpression=221]="AsExpression",t[t.NonNullExpression=222]="NonNullExpression",t[t.MetaProperty=223]="MetaProperty",t[t.SyntheticExpression=224]="SyntheticExpression",t[t.TemplateSpan=225]="TemplateSpan",t[t.SemicolonClassElement=226]="SemicolonClassElement",t[t.Block=227]="Block",t[t.EmptyStatement=228]="EmptyStatement",t[t.VariableStatement=229]="VariableStatement",t[t.ExpressionStatement=230]="ExpressionStatement",t[t.IfStatement=231]="IfStatement",t[t.DoStatement=232]="DoStatement",t[t.WhileStatement=233]="WhileStatement",t[t.ForStatement=234]="ForStatement",t[t.ForInStatement=235]="ForInStatement",t[t.ForOfStatement=236]="ForOfStatement",t[t.ContinueStatement=237]="ContinueStatement",t[t.BreakStatement=238]="BreakStatement",t[t.ReturnStatement=239]="ReturnStatement",t[t.WithStatement=240]="WithStatement",t[t.SwitchStatement=241]="SwitchStatement",t[t.LabeledStatement=242]="LabeledStatement",t[t.ThrowStatement=243]="ThrowStatement",t[t.TryStatement=244]="TryStatement",t[t.DebuggerStatement=245]="DebuggerStatement",t[t.VariableDeclaration=246]="VariableDeclaration",t[t.VariableDeclarationList=247]="VariableDeclarationList",t[t.FunctionDeclaration=248]="FunctionDeclaration",t[t.ClassDeclaration=249]="ClassDeclaration",t[t.InterfaceDeclaration=250]="InterfaceDeclaration",t[t.TypeAliasDeclaration=251]="TypeAliasDeclaration",t[t.EnumDeclaration=252]="EnumDeclaration",t[t.ModuleDeclaration=253]="ModuleDeclaration",t[t.ModuleBlock=254]="ModuleBlock",t[t.CaseBlock=255]="CaseBlock",t[t.NamespaceExportDeclaration=256]="NamespaceExportDeclaration",t[t.ImportEqualsDeclaration=257]="ImportEqualsDeclaration",t[t.ImportDeclaration=258]="ImportDeclaration",t[t.ImportClause=259]="ImportClause",t[t.NamespaceImport=260]="NamespaceImport",t[t.NamedImports=261]="NamedImports",t[t.ImportSpecifier=262]="ImportSpecifier",t[t.ExportAssignment=263]="ExportAssignment",t[t.ExportDeclaration=264]="ExportDeclaration",t[t.NamedExports=265]="NamedExports",t[t.NamespaceExport=266]="NamespaceExport",t[t.ExportSpecifier=267]="ExportSpecifier",t[t.MissingDeclaration=268]="MissingDeclaration",t[t.ExternalModuleReference=269]="ExternalModuleReference",t[t.JsxElement=270]="JsxElement",t[t.JsxSelfClosingElement=271]="JsxSelfClosingElement",t[t.JsxOpeningElement=272]="JsxOpeningElement",t[t.JsxClosingElement=273]="JsxClosingElement",t[t.JsxFragment=274]="JsxFragment",t[t.JsxOpeningFragment=275]="JsxOpeningFragment",t[t.JsxClosingFragment=276]="JsxClosingFragment",t[t.JsxAttribute=277]="JsxAttribute",t[t.JsxAttributes=278]="JsxAttributes",t[t.JsxSpreadAttribute=279]="JsxSpreadAttribute",t[t.JsxExpression=280]="JsxExpression",t[t.CaseClause=281]="CaseClause",t[t.DefaultClause=282]="DefaultClause",t[t.HeritageClause=283]="HeritageClause",t[t.CatchClause=284]="CatchClause",t[t.PropertyAssignment=285]="PropertyAssignment",t[t.ShorthandPropertyAssignment=286]="ShorthandPropertyAssignment",t[t.SpreadAssignment=287]="SpreadAssignment",t[t.EnumMember=288]="EnumMember",t[t.UnparsedPrologue=289]="UnparsedPrologue",t[t.UnparsedPrepend=290]="UnparsedPrepend",t[t.UnparsedText=291]="UnparsedText",t[t.UnparsedInternalText=292]="UnparsedInternalText",t[t.UnparsedSyntheticReference=293]="UnparsedSyntheticReference",t[t.SourceFile=294]="SourceFile",t[t.Bundle=295]="Bundle",t[t.UnparsedSource=296]="UnparsedSource",t[t.InputFiles=297]="InputFiles",t[t.JSDocTypeExpression=298]="JSDocTypeExpression",t[t.JSDocAllType=299]="JSDocAllType",t[t.JSDocUnknownType=300]="JSDocUnknownType",t[t.JSDocNullableType=301]="JSDocNullableType",t[t.JSDocNonNullableType=302]="JSDocNonNullableType",t[t.JSDocOptionalType=303]="JSDocOptionalType",t[t.JSDocFunctionType=304]="JSDocFunctionType",t[t.JSDocVariadicType=305]="JSDocVariadicType",t[t.JSDocNamepathType=306]="JSDocNamepathType",t[t.JSDocComment=307]="JSDocComment",t[t.JSDocTypeLiteral=308]="JSDocTypeLiteral",t[t.JSDocSignature=309]="JSDocSignature",t[t.JSDocTag=310]="JSDocTag",t[t.JSDocAugmentsTag=311]="JSDocAugmentsTag",t[t.JSDocImplementsTag=312]="JSDocImplementsTag",t[t.JSDocAuthorTag=313]="JSDocAuthorTag",t[t.JSDocDeprecatedTag=314]="JSDocDeprecatedTag",t[t.JSDocClassTag=315]="JSDocClassTag",t[t.JSDocPublicTag=316]="JSDocPublicTag",t[t.JSDocPrivateTag=317]="JSDocPrivateTag",t[t.JSDocProtectedTag=318]="JSDocProtectedTag",t[t.JSDocReadonlyTag=319]="JSDocReadonlyTag",t[t.JSDocCallbackTag=320]="JSDocCallbackTag",t[t.JSDocEnumTag=321]="JSDocEnumTag",t[t.JSDocParameterTag=322]="JSDocParameterTag",t[t.JSDocReturnTag=323]="JSDocReturnTag",t[t.JSDocThisTag=324]="JSDocThisTag",t[t.JSDocTypeTag=325]="JSDocTypeTag",t[t.JSDocTemplateTag=326]="JSDocTemplateTag",t[t.JSDocTypedefTag=327]="JSDocTypedefTag",t[t.JSDocPropertyTag=328]="JSDocPropertyTag",t[t.SyntaxList=329]="SyntaxList",t[t.NotEmittedStatement=330]="NotEmittedStatement",t[t.PartiallyEmittedExpression=331]="PartiallyEmittedExpression",t[t.CommaListExpression=332]="CommaListExpression",t[t.MergeDeclarationMarker=333]="MergeDeclarationMarker",t[t.EndOfDeclarationMarker=334]="EndOfDeclarationMarker",t[t.SyntheticReferenceExpression=335]="SyntheticReferenceExpression",t[t.Count=336]="Count",t[t.FirstAssignment=62]="FirstAssignment",t[t.LastAssignment=77]="LastAssignment",t[t.FirstCompoundAssignment=63]="FirstCompoundAssignment",t[t.LastCompoundAssignment=77]="LastCompoundAssignment",t[t.FirstReservedWord=80]="FirstReservedWord",t[t.LastReservedWord=115]="LastReservedWord",t[t.FirstKeyword=80]="FirstKeyword",t[t.LastKeyword=155]="LastKeyword",t[t.FirstFutureReservedWord=116]="FirstFutureReservedWord",t[t.LastFutureReservedWord=124]="LastFutureReservedWord",t[t.FirstTypeNode=171]="FirstTypeNode",t[t.LastTypeNode=192]="LastTypeNode",t[t.FirstPunctuation=18]="FirstPunctuation",t[t.LastPunctuation=77]="LastPunctuation",t[t.FirstToken=0]="FirstToken",t[t.LastToken=155]="LastToken",t[t.FirstTriviaToken=2]="FirstTriviaToken",t[t.LastTriviaToken=7]="LastTriviaToken",t[t.FirstLiteralToken=8]="FirstLiteralToken",t[t.LastLiteralToken=14]="LastLiteralToken",t[t.FirstTemplateToken=14]="FirstTemplateToken",t[t.LastTemplateToken=17]="LastTemplateToken",t[t.FirstBinaryOperator=29]="FirstBinaryOperator",t[t.LastBinaryOperator=77]="LastBinaryOperator",t[t.FirstStatement=229]="FirstStatement",t[t.LastStatement=245]="LastStatement",t[t.FirstNode=156]="FirstNode",t[t.FirstJSDocNode=298]="FirstJSDocNode",t[t.LastJSDocNode=328]="LastJSDocNode",t[t.FirstJSDocTagNode=310]="FirstJSDocTagNode",t[t.LastJSDocTagNode=328]="LastJSDocTagNode",t[t.FirstContextualKeyword=125]="FirstContextualKeyword",t[t.LastContextualKeyword=155]="LastContextualKeyword",(r=e.NodeFlags||(e.NodeFlags={}))[r.None=0]="None",r[r.Let=1]="Let",r[r.Const=2]="Const",r[r.NestedNamespace=4]="NestedNamespace",r[r.Synthesized=8]="Synthesized",r[r.Namespace=16]="Namespace",r[r.OptionalChain=32]="OptionalChain",r[r.ExportContext=64]="ExportContext",r[r.ContainsThis=128]="ContainsThis",r[r.HasImplicitReturn=256]="HasImplicitReturn",r[r.HasExplicitReturn=512]="HasExplicitReturn",r[r.GlobalAugmentation=1024]="GlobalAugmentation",r[r.HasAsyncFunctions=2048]="HasAsyncFunctions",r[r.DisallowInContext=4096]="DisallowInContext",r[r.YieldContext=8192]="YieldContext",r[r.DecoratorContext=16384]="DecoratorContext",r[r.AwaitContext=32768]="AwaitContext",r[r.ThisNodeHasError=65536]="ThisNodeHasError",r[r.JavaScriptFile=131072]="JavaScriptFile",r[r.ThisNodeOrAnySubNodesHasError=262144]="ThisNodeOrAnySubNodesHasError",r[r.HasAggregatedChildData=524288]="HasAggregatedChildData",r[r.PossiblyContainsDynamicImport=1048576]="PossiblyContainsDynamicImport",r[r.PossiblyContainsImportMeta=2097152]="PossiblyContainsImportMeta",r[r.JSDoc=4194304]="JSDoc",r[r.Ambient=8388608]="Ambient",r[r.InWithStatement=16777216]="InWithStatement",r[r.JsonFile=33554432]="JsonFile",r[r.TypeCached=67108864]="TypeCached",r[r.Deprecated=134217728]="Deprecated",r[r.BlockScoped=3]="BlockScoped",r[r.ReachabilityCheckFlags=768]="ReachabilityCheckFlags",r[r.ReachabilityAndEmitFlags=2816]="ReachabilityAndEmitFlags",r[r.ContextFlags=25358336]="ContextFlags",r[r.TypeExcludesFlags=40960]="TypeExcludesFlags",r[r.PermanentlySetIncrementalFlags=3145728]="PermanentlySetIncrementalFlags",(n=e.ModifierFlags||(e.ModifierFlags={}))[n.None=0]="None",n[n.Export=1]="Export",n[n.Ambient=2]="Ambient",n[n.Public=4]="Public",n[n.Private=8]="Private",n[n.Protected=16]="Protected",n[n.Static=32]="Static",n[n.Readonly=64]="Readonly",n[n.Abstract=128]="Abstract",n[n.Async=256]="Async",n[n.Default=512]="Default",n[n.Const=2048]="Const",n[n.HasComputedJSDocModifiers=4096]="HasComputedJSDocModifiers",n[n.Deprecated=8192]="Deprecated",n[n.HasComputedFlags=536870912]="HasComputedFlags",n[n.AccessibilityModifier=28]="AccessibilityModifier",n[n.ParameterPropertyModifier=92]="ParameterPropertyModifier",n[n.NonPublicAccessibilityModifier=24]="NonPublicAccessibilityModifier",n[n.TypeScriptModifier=2270]="TypeScriptModifier",n[n.ExportDefault=513]="ExportDefault",n[n.All=11263]="All",(i=e.JsxFlags||(e.JsxFlags={}))[i.None=0]="None",i[i.IntrinsicNamedElement=1]="IntrinsicNamedElement",i[i.IntrinsicIndexedElement=2]="IntrinsicIndexedElement",i[i.IntrinsicElement=3]="IntrinsicElement",(a=e.RelationComparisonResult||(e.RelationComparisonResult={}))[a.Succeeded=1]="Succeeded",a[a.Failed=2]="Failed",a[a.Reported=4]="Reported",a[a.ReportsUnmeasurable=8]="ReportsUnmeasurable",a[a.ReportsUnreliable=16]="ReportsUnreliable",a[a.ReportsMask=24]="ReportsMask",(o=e.GeneratedIdentifierFlags||(e.GeneratedIdentifierFlags={}))[o.None=0]="None",o[o.Auto=1]="Auto",o[o.Loop=2]="Loop",o[o.Unique=3]="Unique",o[o.Node=4]="Node",o[o.KindMask=7]="KindMask",o[o.ReservedInNestedScopes=8]="ReservedInNestedScopes",o[o.Optimistic=16]="Optimistic",o[o.FileLevel=32]="FileLevel",(s=e.TokenFlags||(e.TokenFlags={}))[s.None=0]="None",s[s.PrecedingLineBreak=1]="PrecedingLineBreak",s[s.PrecedingJSDocComment=2]="PrecedingJSDocComment",s[s.Unterminated=4]="Unterminated",s[s.ExtendedUnicodeEscape=8]="ExtendedUnicodeEscape",s[s.Scientific=16]="Scientific",s[s.Octal=32]="Octal",s[s.HexSpecifier=64]="HexSpecifier",s[s.BinarySpecifier=128]="BinarySpecifier",s[s.OctalSpecifier=256]="OctalSpecifier",s[s.ContainsSeparator=512]="ContainsSeparator",s[s.UnicodeEscape=1024]="UnicodeEscape",s[s.ContainsInvalidEscape=2048]="ContainsInvalidEscape",s[s.BinaryOrOctalSpecifier=384]="BinaryOrOctalSpecifier",s[s.NumericLiteralFlags=1008]="NumericLiteralFlags",s[s.TemplateLiteralLikeFlags=2048]="TemplateLiteralLikeFlags",(c=e.FlowFlags||(e.FlowFlags={}))[c.Unreachable=1]="Unreachable",c[c.Start=2]="Start",c[c.BranchLabel=4]="BranchLabel",c[c.LoopLabel=8]="LoopLabel",c[c.Assignment=16]="Assignment",c[c.TrueCondition=32]="TrueCondition",c[c.FalseCondition=64]="FalseCondition",c[c.SwitchClause=128]="SwitchClause",c[c.ArrayMutation=256]="ArrayMutation",c[c.Call=512]="Call",c[c.ReduceLabel=1024]="ReduceLabel",c[c.Referenced=2048]="Referenced",c[c.Shared=4096]="Shared",c[c.Label=12]="Label",c[c.Condition=96]="Condition",(u=e.CommentDirectiveType||(e.CommentDirectiveType={}))[u.ExpectError=0]="ExpectError",u[u.Ignore=1]="Ignore";function l(){}var _,d,p,f,g,m,y,v,h,b,x,D,S,T,C,E,k,N,A,F,P,w,I,O,M,L,R,B,j,J,z,U,V,K,q,W,H,G,Q,X,Y,Z,$,ee,te,re,ne,ie,ae,oe,se,ce,ue,le,_e;e.OperationCanceledException=l,(_=e.RefFileKind||(e.RefFileKind={}))[_.Import=0]="Import",_[_.ReferenceFile=1]="ReferenceFile",_[_.TypeReferenceDirective=2]="TypeReferenceDirective",(d=e.StructureIsReused||(e.StructureIsReused={}))[d.Not=0]="Not",d[d.SafeModules=1]="SafeModules",d[d.Completely=2]="Completely",(p=e.ExitStatus||(e.ExitStatus={}))[p.Success=0]="Success",p[p.DiagnosticsPresent_OutputsSkipped=1]="DiagnosticsPresent_OutputsSkipped",p[p.DiagnosticsPresent_OutputsGenerated=2]="DiagnosticsPresent_OutputsGenerated",p[p.InvalidProject_OutputsSkipped=3]="InvalidProject_OutputsSkipped",p[p.ProjectReferenceCycle_OutputsSkipped=4]="ProjectReferenceCycle_OutputsSkipped",p[p.ProjectReferenceCycle_OutputsSkupped=4]="ProjectReferenceCycle_OutputsSkupped",(f=e.UnionReduction||(e.UnionReduction={}))[f.None=0]="None",f[f.Literal=1]="Literal",f[f.Subtype=2]="Subtype",(g=e.ContextFlags||(e.ContextFlags={}))[g.None=0]="None",g[g.Signature=1]="Signature",g[g.NoConstraints=2]="NoConstraints",g[g.Completions=4]="Completions",g[g.SkipBindingPatterns=8]="SkipBindingPatterns",(m=e.NodeBuilderFlags||(e.NodeBuilderFlags={}))[m.None=0]="None",m[m.NoTruncation=1]="NoTruncation",m[m.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",m[m.GenerateNamesForShadowedTypeParams=4]="GenerateNamesForShadowedTypeParams",m[m.UseStructuralFallback=8]="UseStructuralFallback",m[m.ForbidIndexedAccessSymbolReferences=16]="ForbidIndexedAccessSymbolReferences",m[m.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",m[m.UseFullyQualifiedType=64]="UseFullyQualifiedType",m[m.UseOnlyExternalAliasing=128]="UseOnlyExternalAliasing",m[m.SuppressAnyReturnType=256]="SuppressAnyReturnType",m[m.WriteTypeParametersInQualifiedName=512]="WriteTypeParametersInQualifiedName",m[m.MultilineObjectLiterals=1024]="MultilineObjectLiterals",m[m.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",m[m.UseTypeOfFunction=4096]="UseTypeOfFunction",m[m.OmitParameterModifiers=8192]="OmitParameterModifiers",m[m.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",m[m.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",m[m.NoTypeReduction=536870912]="NoTypeReduction",m[m.NoUndefinedOptionalParameterType=1073741824]="NoUndefinedOptionalParameterType",m[m.AllowThisInObjectLiteral=32768]="AllowThisInObjectLiteral",m[m.AllowQualifedNameInPlaceOfIdentifier=65536]="AllowQualifedNameInPlaceOfIdentifier",m[m.AllowAnonymousIdentifier=131072]="AllowAnonymousIdentifier",m[m.AllowEmptyUnionOrIntersection=262144]="AllowEmptyUnionOrIntersection",m[m.AllowEmptyTuple=524288]="AllowEmptyTuple",m[m.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",m[m.AllowEmptyIndexInfoType=2097152]="AllowEmptyIndexInfoType",m[m.AllowNodeModulesRelativePaths=67108864]="AllowNodeModulesRelativePaths",m[m.DoNotIncludeSymbolChain=134217728]="DoNotIncludeSymbolChain",m[m.IgnoreErrors=70221824]="IgnoreErrors",m[m.InObjectTypeLiteral=4194304]="InObjectTypeLiteral",m[m.InTypeAlias=8388608]="InTypeAlias",m[m.InInitialEntityName=16777216]="InInitialEntityName",m[m.InReverseMappedType=33554432]="InReverseMappedType",(y=e.TypeFormatFlags||(e.TypeFormatFlags={}))[y.None=0]="None",y[y.NoTruncation=1]="NoTruncation",y[y.WriteArrayAsGenericType=2]="WriteArrayAsGenericType",y[y.UseStructuralFallback=8]="UseStructuralFallback",y[y.WriteTypeArgumentsOfSignature=32]="WriteTypeArgumentsOfSignature",y[y.UseFullyQualifiedType=64]="UseFullyQualifiedType",y[y.SuppressAnyReturnType=256]="SuppressAnyReturnType",y[y.MultilineObjectLiterals=1024]="MultilineObjectLiterals",y[y.WriteClassExpressionAsTypeLiteral=2048]="WriteClassExpressionAsTypeLiteral",y[y.UseTypeOfFunction=4096]="UseTypeOfFunction",y[y.OmitParameterModifiers=8192]="OmitParameterModifiers",y[y.UseAliasDefinedOutsideCurrentScope=16384]="UseAliasDefinedOutsideCurrentScope",y[y.UseSingleQuotesForStringLiteralType=268435456]="UseSingleQuotesForStringLiteralType",y[y.NoTypeReduction=536870912]="NoTypeReduction",y[y.AllowUniqueESSymbolType=1048576]="AllowUniqueESSymbolType",y[y.AddUndefined=131072]="AddUndefined",y[y.WriteArrowStyleSignature=262144]="WriteArrowStyleSignature",y[y.InArrayType=524288]="InArrayType",y[y.InElementType=2097152]="InElementType",y[y.InFirstTypeArgument=4194304]="InFirstTypeArgument",y[y.InTypeAlias=8388608]="InTypeAlias",y[y.WriteOwnNameForAnyLike=0]="WriteOwnNameForAnyLike",y[y.NodeBuilderFlagsMask=814775659]="NodeBuilderFlagsMask",(v=e.SymbolFormatFlags||(e.SymbolFormatFlags={}))[v.None=0]="None",v[v.WriteTypeParametersOrArguments=1]="WriteTypeParametersOrArguments",v[v.UseOnlyExternalAliasing=2]="UseOnlyExternalAliasing",v[v.AllowAnyNodeKind=4]="AllowAnyNodeKind",v[v.UseAliasDefinedOutsideCurrentScope=8]="UseAliasDefinedOutsideCurrentScope",v[v.DoNotIncludeSymbolChain=16]="DoNotIncludeSymbolChain",(h=e.SymbolAccessibility||(e.SymbolAccessibility={}))[h.Accessible=0]="Accessible",h[h.NotAccessible=1]="NotAccessible",h[h.CannotBeNamed=2]="CannotBeNamed",(b=e.SyntheticSymbolKind||(e.SyntheticSymbolKind={}))[b.UnionOrIntersection=0]="UnionOrIntersection",b[b.Spread=1]="Spread",(x=e.TypePredicateKind||(e.TypePredicateKind={}))[x.This=0]="This",x[x.Identifier=1]="Identifier",x[x.AssertsThis=2]="AssertsThis",x[x.AssertsIdentifier=3]="AssertsIdentifier",(D=e.TypeReferenceSerializationKind||(e.TypeReferenceSerializationKind={}))[D.Unknown=0]="Unknown",D[D.TypeWithConstructSignatureAndValue=1]="TypeWithConstructSignatureAndValue",D[D.VoidNullableOrNeverType=2]="VoidNullableOrNeverType",D[D.NumberLikeType=3]="NumberLikeType",D[D.BigIntLikeType=4]="BigIntLikeType",D[D.StringLikeType=5]="StringLikeType",D[D.BooleanType=6]="BooleanType",D[D.ArrayLikeType=7]="ArrayLikeType",D[D.ESSymbolType=8]="ESSymbolType",D[D.Promise=9]="Promise",D[D.TypeWithCallSignature=10]="TypeWithCallSignature",D[D.ObjectType=11]="ObjectType",(S=e.SymbolFlags||(e.SymbolFlags={}))[S.None=0]="None",S[S.FunctionScopedVariable=1]="FunctionScopedVariable",S[S.BlockScopedVariable=2]="BlockScopedVariable",S[S.Property=4]="Property",S[S.EnumMember=8]="EnumMember",S[S.Function=16]="Function",S[S.Class=32]="Class",S[S.Interface=64]="Interface",S[S.ConstEnum=128]="ConstEnum",S[S.RegularEnum=256]="RegularEnum",S[S.ValueModule=512]="ValueModule",S[S.NamespaceModule=1024]="NamespaceModule",S[S.TypeLiteral=2048]="TypeLiteral",S[S.ObjectLiteral=4096]="ObjectLiteral",S[S.Method=8192]="Method",S[S.Constructor=16384]="Constructor",S[S.GetAccessor=32768]="GetAccessor",S[S.SetAccessor=65536]="SetAccessor",S[S.Signature=131072]="Signature",S[S.TypeParameter=262144]="TypeParameter",S[S.TypeAlias=524288]="TypeAlias",S[S.ExportValue=1048576]="ExportValue",S[S.Alias=2097152]="Alias",S[S.Prototype=4194304]="Prototype",S[S.ExportStar=8388608]="ExportStar",S[S.Optional=16777216]="Optional",S[S.Transient=33554432]="Transient",S[S.Assignment=67108864]="Assignment",S[S.ModuleExports=134217728]="ModuleExports",S[S.All=67108863]="All",S[S.Enum=384]="Enum",S[S.Variable=3]="Variable",S[S.Value=111551]="Value",S[S.Type=788968]="Type",S[S.Namespace=1920]="Namespace",S[S.Module=1536]="Module",S[S.Accessor=98304]="Accessor",S[S.FunctionScopedVariableExcludes=111550]="FunctionScopedVariableExcludes",S[S.BlockScopedVariableExcludes=111551]="BlockScopedVariableExcludes",S[S.ParameterExcludes=111551]="ParameterExcludes",S[S.PropertyExcludes=0]="PropertyExcludes",S[S.EnumMemberExcludes=900095]="EnumMemberExcludes",S[S.FunctionExcludes=110991]="FunctionExcludes",S[S.ClassExcludes=899503]="ClassExcludes",S[S.InterfaceExcludes=788872]="InterfaceExcludes",S[S.RegularEnumExcludes=899327]="RegularEnumExcludes",S[S.ConstEnumExcludes=899967]="ConstEnumExcludes",S[S.ValueModuleExcludes=110735]="ValueModuleExcludes",S[S.NamespaceModuleExcludes=0]="NamespaceModuleExcludes",S[S.MethodExcludes=103359]="MethodExcludes",S[S.GetAccessorExcludes=46015]="GetAccessorExcludes",S[S.SetAccessorExcludes=78783]="SetAccessorExcludes",S[S.TypeParameterExcludes=526824]="TypeParameterExcludes",S[S.TypeAliasExcludes=788968]="TypeAliasExcludes",S[S.AliasExcludes=2097152]="AliasExcludes",S[S.ModuleMember=2623475]="ModuleMember",S[S.ExportHasLocal=944]="ExportHasLocal",S[S.BlockScoped=418]="BlockScoped",S[S.PropertyOrAccessor=98308]="PropertyOrAccessor",S[S.ClassMember=106500]="ClassMember",S[S.ExportSupportsDefaultModifier=112]="ExportSupportsDefaultModifier",S[S.ExportDoesNotSupportDefaultModifier=-113]="ExportDoesNotSupportDefaultModifier",S[S.Classifiable=2885600]="Classifiable",S[S.LateBindingContainer=6256]="LateBindingContainer",(T=e.EnumKind||(e.EnumKind={}))[T.Numeric=0]="Numeric",T[T.Literal=1]="Literal",(C=e.CheckFlags||(e.CheckFlags={}))[C.Instantiated=1]="Instantiated",C[C.SyntheticProperty=2]="SyntheticProperty",C[C.SyntheticMethod=4]="SyntheticMethod",C[C.Readonly=8]="Readonly",C[C.ReadPartial=16]="ReadPartial",C[C.WritePartial=32]="WritePartial",C[C.HasNonUniformType=64]="HasNonUniformType",C[C.HasLiteralType=128]="HasLiteralType",C[C.ContainsPublic=256]="ContainsPublic",C[C.ContainsProtected=512]="ContainsProtected",C[C.ContainsPrivate=1024]="ContainsPrivate",C[C.ContainsStatic=2048]="ContainsStatic",C[C.Late=4096]="Late",C[C.ReverseMapped=8192]="ReverseMapped",C[C.OptionalParameter=16384]="OptionalParameter",C[C.RestParameter=32768]="RestParameter",C[C.DeferredType=65536]="DeferredType",C[C.HasNeverType=131072]="HasNeverType",C[C.Mapped=262144]="Mapped",C[C.StripOptional=524288]="StripOptional",C[C.Synthetic=6]="Synthetic",C[C.Discriminant=192]="Discriminant",C[C.Partial=48]="Partial",(E=e.InternalSymbolName||(e.InternalSymbolName={})).Call="__call",E.Constructor="__constructor",E.New="__new",E.Index="__index",E.ExportStar="__export",E.Global="__global",E.Missing="__missing",E.Type="__type",E.Object="__object",E.JSXAttributes="__jsxAttributes",E.Class="__class",E.Function="__function",E.Computed="__computed",E.Resolving="__resolving__",E.ExportEquals="export=",E.Default="default",E.This="this",(k=e.NodeCheckFlags||(e.NodeCheckFlags={}))[k.TypeChecked=1]="TypeChecked",k[k.LexicalThis=2]="LexicalThis",k[k.CaptureThis=4]="CaptureThis",k[k.CaptureNewTarget=8]="CaptureNewTarget",k[k.SuperInstance=256]="SuperInstance",k[k.SuperStatic=512]="SuperStatic",k[k.ContextChecked=1024]="ContextChecked",k[k.AsyncMethodWithSuper=2048]="AsyncMethodWithSuper",k[k.AsyncMethodWithSuperBinding=4096]="AsyncMethodWithSuperBinding",k[k.CaptureArguments=8192]="CaptureArguments",k[k.EnumValuesComputed=16384]="EnumValuesComputed",k[k.LexicalModuleMergesWithClass=32768]="LexicalModuleMergesWithClass",k[k.LoopWithCapturedBlockScopedBinding=65536]="LoopWithCapturedBlockScopedBinding",k[k.ContainsCapturedBlockScopeBinding=131072]="ContainsCapturedBlockScopeBinding",k[k.CapturedBlockScopedBinding=262144]="CapturedBlockScopedBinding",k[k.BlockScopedBindingInLoop=524288]="BlockScopedBindingInLoop",k[k.ClassWithBodyScopedClassBinding=1048576]="ClassWithBodyScopedClassBinding",k[k.BodyScopedClassBinding=2097152]="BodyScopedClassBinding",k[k.NeedsLoopOutParameter=4194304]="NeedsLoopOutParameter",k[k.AssignmentsMarked=8388608]="AssignmentsMarked",k[k.ClassWithConstructorReference=16777216]="ClassWithConstructorReference",k[k.ConstructorReferenceInClass=33554432]="ConstructorReferenceInClass",k[k.ContainsClassWithPrivateIdentifiers=67108864]="ContainsClassWithPrivateIdentifiers",(N=e.TypeFlags||(e.TypeFlags={}))[N.Any=1]="Any",N[N.Unknown=2]="Unknown",N[N.String=4]="String",N[N.Number=8]="Number",N[N.Boolean=16]="Boolean",N[N.Enum=32]="Enum",N[N.BigInt=64]="BigInt",N[N.StringLiteral=128]="StringLiteral",N[N.NumberLiteral=256]="NumberLiteral",N[N.BooleanLiteral=512]="BooleanLiteral",N[N.EnumLiteral=1024]="EnumLiteral",N[N.BigIntLiteral=2048]="BigIntLiteral",N[N.ESSymbol=4096]="ESSymbol",N[N.UniqueESSymbol=8192]="UniqueESSymbol",N[N.Void=16384]="Void",N[N.Undefined=32768]="Undefined",N[N.Null=65536]="Null",N[N.Never=131072]="Never",N[N.TypeParameter=262144]="TypeParameter",N[N.Object=524288]="Object",N[N.Union=1048576]="Union",N[N.Intersection=2097152]="Intersection",N[N.Index=4194304]="Index",N[N.IndexedAccess=8388608]="IndexedAccess",N[N.Conditional=16777216]="Conditional",N[N.Substitution=33554432]="Substitution",N[N.NonPrimitive=67108864]="NonPrimitive",N[N.AnyOrUnknown=3]="AnyOrUnknown",N[N.Nullable=98304]="Nullable",N[N.Literal=2944]="Literal",N[N.Unit=109440]="Unit",N[N.StringOrNumberLiteral=384]="StringOrNumberLiteral",N[N.StringOrNumberLiteralOrUnique=8576]="StringOrNumberLiteralOrUnique",N[N.DefinitelyFalsy=117632]="DefinitelyFalsy",N[N.PossiblyFalsy=117724]="PossiblyFalsy",N[N.Intrinsic=67359327]="Intrinsic",N[N.Primitive=131068]="Primitive",N[N.StringLike=132]="StringLike",N[N.NumberLike=296]="NumberLike",N[N.BigIntLike=2112]="BigIntLike",N[N.BooleanLike=528]="BooleanLike",N[N.EnumLike=1056]="EnumLike",N[N.ESSymbolLike=12288]="ESSymbolLike",N[N.VoidLike=49152]="VoidLike",N[N.DisjointDomains=67238908]="DisjointDomains",N[N.UnionOrIntersection=3145728]="UnionOrIntersection",N[N.StructuredType=3670016]="StructuredType",N[N.TypeVariable=8650752]="TypeVariable",N[N.InstantiableNonPrimitive=58982400]="InstantiableNonPrimitive",N[N.InstantiablePrimitive=4194304]="InstantiablePrimitive",N[N.Instantiable=63176704]="Instantiable",N[N.StructuredOrInstantiable=66846720]="StructuredOrInstantiable",N[N.ObjectFlagsType=3899393]="ObjectFlagsType",N[N.Simplifiable=25165824]="Simplifiable",N[N.Substructure=66584576]="Substructure",N[N.Narrowable=133970943]="Narrowable",N[N.NotPrimitiveUnion=66994211]="NotPrimitiveUnion",N[N.IncludesMask=71041023]="IncludesMask",N[N.IncludesStructuredOrInstantiable=262144]="IncludesStructuredOrInstantiable",N[N.IncludesNonWideningType=4194304]="IncludesNonWideningType",N[N.IncludesWildcard=8388608]="IncludesWildcard",N[N.IncludesEmptyObject=16777216]="IncludesEmptyObject",(A=e.ObjectFlags||(e.ObjectFlags={}))[A.Class=1]="Class",A[A.Interface=2]="Interface",A[A.Reference=4]="Reference",A[A.Tuple=8]="Tuple",A[A.Anonymous=16]="Anonymous",A[A.Mapped=32]="Mapped",A[A.Instantiated=64]="Instantiated",A[A.ObjectLiteral=128]="ObjectLiteral",A[A.EvolvingArray=256]="EvolvingArray",A[A.ObjectLiteralPatternWithComputedProperties=512]="ObjectLiteralPatternWithComputedProperties",A[A.ContainsSpread=1024]="ContainsSpread",A[A.ReverseMapped=2048]="ReverseMapped",A[A.JsxAttributes=4096]="JsxAttributes",A[A.MarkerType=8192]="MarkerType",A[A.JSLiteral=16384]="JSLiteral",A[A.FreshLiteral=32768]="FreshLiteral",A[A.ArrayLiteral=65536]="ArrayLiteral",A[A.ObjectRestType=131072]="ObjectRestType",A[A.PrimitiveUnion=262144]="PrimitiveUnion",A[A.ContainsWideningType=524288]="ContainsWideningType",A[A.ContainsObjectOrArrayLiteral=1048576]="ContainsObjectOrArrayLiteral",A[A.NonInferrableType=2097152]="NonInferrableType",A[A.IsGenericObjectTypeComputed=4194304]="IsGenericObjectTypeComputed",A[A.IsGenericObjectType=8388608]="IsGenericObjectType",A[A.IsGenericIndexTypeComputed=16777216]="IsGenericIndexTypeComputed",A[A.IsGenericIndexType=33554432]="IsGenericIndexType",A[A.CouldContainTypeVariablesComputed=67108864]="CouldContainTypeVariablesComputed",A[A.CouldContainTypeVariables=134217728]="CouldContainTypeVariables",A[A.ContainsIntersections=268435456]="ContainsIntersections",A[A.IsNeverIntersectionComputed=268435456]="IsNeverIntersectionComputed",A[A.IsNeverIntersection=536870912]="IsNeverIntersection",A[A.ClassOrInterface=3]="ClassOrInterface",A[A.RequiresWidening=1572864]="RequiresWidening",A[A.PropagatingFlags=3670016]="PropagatingFlags",(F=e.VarianceFlags||(e.VarianceFlags={}))[F.Invariant=0]="Invariant",F[F.Covariant=1]="Covariant",F[F.Contravariant=2]="Contravariant",F[F.Bivariant=3]="Bivariant",F[F.Independent=4]="Independent",F[F.VarianceMask=7]="VarianceMask",F[F.Unmeasurable=8]="Unmeasurable",F[F.Unreliable=16]="Unreliable",F[F.AllowsStructuralFallback=24]="AllowsStructuralFallback",(P=e.ElementFlags||(e.ElementFlags={}))[P.Required=1]="Required",P[P.Optional=2]="Optional",P[P.Rest=4]="Rest",P[P.Variadic=8]="Variadic",P[P.Variable=12]="Variable",(w=e.JsxReferenceKind||(e.JsxReferenceKind={}))[w.Component=0]="Component",w[w.Function=1]="Function",w[w.Mixed=2]="Mixed",(I=e.SignatureKind||(e.SignatureKind={}))[I.Call=0]="Call",I[I.Construct=1]="Construct",(O=e.SignatureFlags||(e.SignatureFlags={}))[O.None=0]="None",O[O.HasRestParameter=1]="HasRestParameter",O[O.HasLiteralTypes=2]="HasLiteralTypes",O[O.IsInnerCallChain=4]="IsInnerCallChain",O[O.IsOuterCallChain=8]="IsOuterCallChain",O[O.IsUntypedSignatureInJSFile=16]="IsUntypedSignatureInJSFile",O[O.PropagatingFlags=19]="PropagatingFlags",O[O.CallChainFlags=12]="CallChainFlags",(M=e.IndexKind||(e.IndexKind={}))[M.String=0]="String",M[M.Number=1]="Number",(L=e.TypeMapKind||(e.TypeMapKind={}))[L.Simple=0]="Simple",L[L.Array=1]="Array",L[L.Function=2]="Function",L[L.Composite=3]="Composite",L[L.Merged=4]="Merged",(R=e.InferencePriority||(e.InferencePriority={}))[R.NakedTypeVariable=1]="NakedTypeVariable",R[R.SpeculativeTuple=2]="SpeculativeTuple",R[R.HomomorphicMappedType=4]="HomomorphicMappedType",R[R.PartialHomomorphicMappedType=8]="PartialHomomorphicMappedType",R[R.MappedTypeConstraint=16]="MappedTypeConstraint",R[R.ContravariantConditional=32]="ContravariantConditional",R[R.ReturnType=64]="ReturnType",R[R.LiteralKeyof=128]="LiteralKeyof",R[R.NoConstraints=256]="NoConstraints",R[R.AlwaysStrict=512]="AlwaysStrict",R[R.MaxValue=1024]="MaxValue",R[R.PriorityImpliesCombination=208]="PriorityImpliesCombination",R[R.Circularity=-1]="Circularity",(B=e.InferenceFlags||(e.InferenceFlags={}))[B.None=0]="None",B[B.NoDefault=1]="NoDefault",B[B.AnyDefault=2]="AnyDefault",B[B.SkippedGenericFunction=4]="SkippedGenericFunction",(j=e.Ternary||(e.Ternary={}))[j.False=0]="False",j[j.Maybe=1]="Maybe",j[j.True=-1]="True",(J=e.AssignmentDeclarationKind||(e.AssignmentDeclarationKind={}))[J.None=0]="None",J[J.ExportsProperty=1]="ExportsProperty",J[J.ModuleExports=2]="ModuleExports",J[J.PrototypeProperty=3]="PrototypeProperty",J[J.ThisProperty=4]="ThisProperty",J[J.Property=5]="Property",J[J.Prototype=6]="Prototype",J[J.ObjectDefinePropertyValue=7]="ObjectDefinePropertyValue",J[J.ObjectDefinePropertyExports=8]="ObjectDefinePropertyExports",J[J.ObjectDefinePrototypeProperty=9]="ObjectDefinePrototypeProperty",(U=z=e.DiagnosticCategory||(e.DiagnosticCategory={}))[U.Warning=0]="Warning",U[U.Error=1]="Error",U[U.Suggestion=2]="Suggestion",U[U.Message=3]="Message",e.diagnosticCategoryName=function(e,t){void 0===t&&(t=!0);var r=z[e.category];return t?r.toLowerCase():r},(V=e.ModuleResolutionKind||(e.ModuleResolutionKind={}))[V.Classic=1]="Classic",V[V.NodeJs=2]="NodeJs",(K=e.WatchFileKind||(e.WatchFileKind={}))[K.FixedPollingInterval=0]="FixedPollingInterval",K[K.PriorityPollingInterval=1]="PriorityPollingInterval",K[K.DynamicPriorityPolling=2]="DynamicPriorityPolling",K[K.UseFsEvents=3]="UseFsEvents",K[K.UseFsEventsOnParentDirectory=4]="UseFsEventsOnParentDirectory",(q=e.WatchDirectoryKind||(e.WatchDirectoryKind={}))[q.UseFsEvents=0]="UseFsEvents",q[q.FixedPollingInterval=1]="FixedPollingInterval",q[q.DynamicPriorityPolling=2]="DynamicPriorityPolling",(W=e.PollingWatchKind||(e.PollingWatchKind={}))[W.FixedInterval=0]="FixedInterval",W[W.PriorityInterval=1]="PriorityInterval",W[W.DynamicPriority=2]="DynamicPriority",(H=e.ModuleKind||(e.ModuleKind={}))[H.None=0]="None",H[H.CommonJS=1]="CommonJS",H[H.AMD=2]="AMD",H[H.UMD=3]="UMD",H[H.System=4]="System",H[H.ES2015=5]="ES2015",H[H.ES2020=6]="ES2020",H[H.ESNext=99]="ESNext",(G=e.JsxEmit||(e.JsxEmit={}))[G.None=0]="None",G[G.Preserve=1]="Preserve",G[G.React=2]="React",G[G.ReactNative=3]="ReactNative",(Q=e.ImportsNotUsedAsValues||(e.ImportsNotUsedAsValues={}))[Q.Remove=0]="Remove",Q[Q.Preserve=1]="Preserve",Q[Q.Error=2]="Error",(X=e.NewLineKind||(e.NewLineKind={}))[X.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",X[X.LineFeed=1]="LineFeed",(Y=e.ScriptKind||(e.ScriptKind={}))[Y.Unknown=0]="Unknown",Y[Y.JS=1]="JS",Y[Y.JSX=2]="JSX",Y[Y.TS=3]="TS",Y[Y.TSX=4]="TSX",Y[Y.External=5]="External",Y[Y.JSON=6]="JSON",Y[Y.Deferred=7]="Deferred",(Z=e.ScriptTarget||(e.ScriptTarget={}))[Z.ES3=0]="ES3",Z[Z.ES5=1]="ES5",Z[Z.ES2015=2]="ES2015",Z[Z.ES2016=3]="ES2016",Z[Z.ES2017=4]="ES2017",Z[Z.ES2018=5]="ES2018",Z[Z.ES2019=6]="ES2019",Z[Z.ES2020=7]="ES2020",Z[Z.ESNext=99]="ESNext",Z[Z.JSON=100]="JSON",Z[Z.Latest=99]="Latest",($=e.LanguageVariant||(e.LanguageVariant={}))[$.Standard=0]="Standard",$[$.JSX=1]="JSX",(ee=e.WatchDirectoryFlags||(e.WatchDirectoryFlags={}))[ee.None=0]="None",ee[ee.Recursive=1]="Recursive",(te=e.CharacterCodes||(e.CharacterCodes={}))[te.nullCharacter=0]="nullCharacter",te[te.maxAsciiCharacter=127]="maxAsciiCharacter",te[te.lineFeed=10]="lineFeed",te[te.carriageReturn=13]="carriageReturn",te[te.lineSeparator=8232]="lineSeparator",te[te.paragraphSeparator=8233]="paragraphSeparator",te[te.nextLine=133]="nextLine",te[te.space=32]="space",te[te.nonBreakingSpace=160]="nonBreakingSpace",te[te.enQuad=8192]="enQuad",te[te.emQuad=8193]="emQuad",te[te.enSpace=8194]="enSpace",te[te.emSpace=8195]="emSpace",te[te.threePerEmSpace=8196]="threePerEmSpace",te[te.fourPerEmSpace=8197]="fourPerEmSpace",te[te.sixPerEmSpace=8198]="sixPerEmSpace",te[te.figureSpace=8199]="figureSpace",te[te.punctuationSpace=8200]="punctuationSpace",te[te.thinSpace=8201]="thinSpace",te[te.hairSpace=8202]="hairSpace",te[te.zeroWidthSpace=8203]="zeroWidthSpace",te[te.narrowNoBreakSpace=8239]="narrowNoBreakSpace",te[te.ideographicSpace=12288]="ideographicSpace",te[te.mathematicalSpace=8287]="mathematicalSpace",te[te.ogham=5760]="ogham",te[te._=95]="_",te[te.$=36]="$",te[te._0=48]="_0",te[te._1=49]="_1",te[te._2=50]="_2",te[te._3=51]="_3",te[te._4=52]="_4",te[te._5=53]="_5",te[te._6=54]="_6",te[te._7=55]="_7",te[te._8=56]="_8",te[te._9=57]="_9",te[te.a=97]="a",te[te.b=98]="b",te[te.c=99]="c",te[te.d=100]="d",te[te.e=101]="e",te[te.f=102]="f",te[te.g=103]="g",te[te.h=104]="h",te[te.i=105]="i",te[te.j=106]="j",te[te.k=107]="k",te[te.l=108]="l",te[te.m=109]="m",te[te.n=110]="n",te[te.o=111]="o",te[te.p=112]="p",te[te.q=113]="q",te[te.r=114]="r",te[te.s=115]="s",te[te.t=116]="t",te[te.u=117]="u",te[te.v=118]="v",te[te.w=119]="w",te[te.x=120]="x",te[te.y=121]="y",te[te.z=122]="z",te[te.A=65]="A",te[te.B=66]="B",te[te.C=67]="C",te[te.D=68]="D",te[te.E=69]="E",te[te.F=70]="F",te[te.G=71]="G",te[te.H=72]="H",te[te.I=73]="I",te[te.J=74]="J",te[te.K=75]="K",te[te.L=76]="L",te[te.M=77]="M",te[te.N=78]="N",te[te.O=79]="O",te[te.P=80]="P",te[te.Q=81]="Q",te[te.R=82]="R",te[te.S=83]="S",te[te.T=84]="T",te[te.U=85]="U",te[te.V=86]="V",te[te.W=87]="W",te[te.X=88]="X",te[te.Y=89]="Y",te[te.Z=90]="Z",te[te.ampersand=38]="ampersand",te[te.asterisk=42]="asterisk",te[te.at=64]="at",te[te.backslash=92]="backslash",te[te.backtick=96]="backtick",te[te.bar=124]="bar",te[te.caret=94]="caret",te[te.closeBrace=125]="closeBrace",te[te.closeBracket=93]="closeBracket",te[te.closeParen=41]="closeParen",te[te.colon=58]="colon",te[te.comma=44]="comma",te[te.dot=46]="dot",te[te.doubleQuote=34]="doubleQuote",te[te.equals=61]="equals",te[te.exclamation=33]="exclamation",te[te.greaterThan=62]="greaterThan",te[te.hash=35]="hash",te[te.lessThan=60]="lessThan",te[te.minus=45]="minus",te[te.openBrace=123]="openBrace",te[te.openBracket=91]="openBracket",te[te.openParen=40]="openParen",te[te.percent=37]="percent",te[te.plus=43]="plus",te[te.question=63]="question",te[te.semicolon=59]="semicolon",te[te.singleQuote=39]="singleQuote",te[te.slash=47]="slash",te[te.tilde=126]="tilde",te[te.backspace=8]="backspace",te[te.formFeed=12]="formFeed",te[te.byteOrderMark=65279]="byteOrderMark",te[te.tab=9]="tab",te[te.verticalTab=11]="verticalTab",(re=e.Extension||(e.Extension={})).Ts=".ts",re.Tsx=".tsx",re.Dts=".d.ts",re.Js=".js",re.Jsx=".jsx",re.Json=".json",re.TsBuildInfo=".tsbuildinfo",(ne=e.TransformFlags||(e.TransformFlags={}))[ne.None=0]="None",ne[ne.ContainsTypeScript=1]="ContainsTypeScript",ne[ne.ContainsJsx=2]="ContainsJsx",ne[ne.ContainsESNext=4]="ContainsESNext",ne[ne.ContainsES2020=8]="ContainsES2020",ne[ne.ContainsES2019=16]="ContainsES2019",ne[ne.ContainsES2018=32]="ContainsES2018",ne[ne.ContainsES2017=64]="ContainsES2017",ne[ne.ContainsES2016=128]="ContainsES2016",ne[ne.ContainsES2015=256]="ContainsES2015",ne[ne.ContainsGenerator=512]="ContainsGenerator",ne[ne.ContainsDestructuringAssignment=1024]="ContainsDestructuringAssignment",ne[ne.ContainsTypeScriptClassSyntax=2048]="ContainsTypeScriptClassSyntax",ne[ne.ContainsLexicalThis=4096]="ContainsLexicalThis",ne[ne.ContainsRestOrSpread=8192]="ContainsRestOrSpread",ne[ne.ContainsObjectRestOrSpread=16384]="ContainsObjectRestOrSpread",ne[ne.ContainsComputedPropertyName=32768]="ContainsComputedPropertyName",ne[ne.ContainsBlockScopedBinding=65536]="ContainsBlockScopedBinding",ne[ne.ContainsBindingPattern=131072]="ContainsBindingPattern",ne[ne.ContainsYield=262144]="ContainsYield",ne[ne.ContainsAwait=524288]="ContainsAwait",ne[ne.ContainsHoistedDeclarationOrCompletion=1048576]="ContainsHoistedDeclarationOrCompletion",ne[ne.ContainsDynamicImport=2097152]="ContainsDynamicImport",ne[ne.ContainsClassFields=4194304]="ContainsClassFields",ne[ne.ContainsPossibleTopLevelAwait=8388608]="ContainsPossibleTopLevelAwait",ne[ne.HasComputedFlags=536870912]="HasComputedFlags",ne[ne.AssertTypeScript=1]="AssertTypeScript",ne[ne.AssertJsx=2]="AssertJsx",ne[ne.AssertESNext=4]="AssertESNext",ne[ne.AssertES2020=8]="AssertES2020",ne[ne.AssertES2019=16]="AssertES2019",ne[ne.AssertES2018=32]="AssertES2018",ne[ne.AssertES2017=64]="AssertES2017",ne[ne.AssertES2016=128]="AssertES2016",ne[ne.AssertES2015=256]="AssertES2015",ne[ne.AssertGenerator=512]="AssertGenerator",ne[ne.AssertDestructuringAssignment=1024]="AssertDestructuringAssignment",ne[ne.OuterExpressionExcludes=536870912]="OuterExpressionExcludes",ne[ne.PropertyAccessExcludes=536870912]="PropertyAccessExcludes",ne[ne.NodeExcludes=536870912]="NodeExcludes",ne[ne.ArrowFunctionExcludes=547309568]="ArrowFunctionExcludes",ne[ne.FunctionExcludes=547313664]="FunctionExcludes",ne[ne.ConstructorExcludes=547311616]="ConstructorExcludes",ne[ne.MethodOrAccessorExcludes=538923008]="MethodOrAccessorExcludes",ne[ne.PropertyExcludes=536875008]="PropertyExcludes",ne[ne.ClassExcludes=536905728]="ClassExcludes",ne[ne.ModuleExcludes=546379776]="ModuleExcludes",ne[ne.TypeExcludes=-2]="TypeExcludes",ne[ne.ObjectLiteralExcludes=536922112]="ObjectLiteralExcludes",ne[ne.ArrayLiteralOrCallOrNewExcludes=536879104]="ArrayLiteralOrCallOrNewExcludes",ne[ne.VariableDeclarationListExcludes=537018368]="VariableDeclarationListExcludes",ne[ne.ParameterExcludes=536870912]="ParameterExcludes",ne[ne.CatchClauseExcludes=536887296]="CatchClauseExcludes",ne[ne.BindingPatternExcludes=536879104]="BindingPatternExcludes",ne[ne.PropertyNamePropagatingFlags=4096]="PropertyNamePropagatingFlags",(ie=e.EmitFlags||(e.EmitFlags={}))[ie.None=0]="None",ie[ie.SingleLine=1]="SingleLine",ie[ie.AdviseOnEmitNode=2]="AdviseOnEmitNode",ie[ie.NoSubstitution=4]="NoSubstitution",ie[ie.CapturesThis=8]="CapturesThis",ie[ie.NoLeadingSourceMap=16]="NoLeadingSourceMap",ie[ie.NoTrailingSourceMap=32]="NoTrailingSourceMap",ie[ie.NoSourceMap=48]="NoSourceMap",ie[ie.NoNestedSourceMaps=64]="NoNestedSourceMaps",ie[ie.NoTokenLeadingSourceMaps=128]="NoTokenLeadingSourceMaps",ie[ie.NoTokenTrailingSourceMaps=256]="NoTokenTrailingSourceMaps",ie[ie.NoTokenSourceMaps=384]="NoTokenSourceMaps",ie[ie.NoLeadingComments=512]="NoLeadingComments",ie[ie.NoTrailingComments=1024]="NoTrailingComments",ie[ie.NoComments=1536]="NoComments",ie[ie.NoNestedComments=2048]="NoNestedComments",ie[ie.HelperName=4096]="HelperName",ie[ie.ExportName=8192]="ExportName",ie[ie.LocalName=16384]="LocalName",ie[ie.InternalName=32768]="InternalName",ie[ie.Indented=65536]="Indented",ie[ie.NoIndentation=131072]="NoIndentation",ie[ie.AsyncFunctionBody=262144]="AsyncFunctionBody",ie[ie.ReuseTempVariableScope=524288]="ReuseTempVariableScope",ie[ie.CustomPrologue=1048576]="CustomPrologue",ie[ie.NoHoisting=2097152]="NoHoisting",ie[ie.HasEndOfDeclarationMarker=4194304]="HasEndOfDeclarationMarker",ie[ie.Iterator=8388608]="Iterator",ie[ie.NoAsciiEscaping=16777216]="NoAsciiEscaping",ie[ie.TypeScriptClassWrapper=33554432]="TypeScriptClassWrapper",ie[ie.NeverApplyImportHelper=67108864]="NeverApplyImportHelper",ie[ie.IgnoreSourceNewlines=134217728]="IgnoreSourceNewlines",(ae=e.ExternalEmitHelpers||(e.ExternalEmitHelpers={}))[ae.Extends=1]="Extends",ae[ae.Assign=2]="Assign",ae[ae.Rest=4]="Rest",ae[ae.Decorate=8]="Decorate",ae[ae.Metadata=16]="Metadata",ae[ae.Param=32]="Param",ae[ae.Awaiter=64]="Awaiter",ae[ae.Generator=128]="Generator",ae[ae.Values=256]="Values",ae[ae.Read=512]="Read",ae[ae.Spread=1024]="Spread",ae[ae.SpreadArrays=2048]="SpreadArrays",ae[ae.Await=4096]="Await",ae[ae.AsyncGenerator=8192]="AsyncGenerator",ae[ae.AsyncDelegator=16384]="AsyncDelegator",ae[ae.AsyncValues=32768]="AsyncValues",ae[ae.ExportStar=65536]="ExportStar",ae[ae.ImportStar=131072]="ImportStar",ae[ae.ImportDefault=262144]="ImportDefault",ae[ae.MakeTemplateObject=524288]="MakeTemplateObject",ae[ae.ClassPrivateFieldGet=1048576]="ClassPrivateFieldGet",ae[ae.ClassPrivateFieldSet=2097152]="ClassPrivateFieldSet",ae[ae.CreateBinding=4194304]="CreateBinding",ae[ae.FirstEmitHelper=1]="FirstEmitHelper",ae[ae.LastEmitHelper=4194304]="LastEmitHelper",ae[ae.ForOfIncludes=256]="ForOfIncludes",ae[ae.ForAwaitOfIncludes=32768]="ForAwaitOfIncludes",ae[ae.AsyncGeneratorIncludes=12288]="AsyncGeneratorIncludes",ae[ae.AsyncDelegatorIncludes=53248]="AsyncDelegatorIncludes",ae[ae.SpreadIncludes=1536]="SpreadIncludes",(oe=e.EmitHint||(e.EmitHint={}))[oe.SourceFile=0]="SourceFile",oe[oe.Expression=1]="Expression",oe[oe.IdentifierName=2]="IdentifierName",oe[oe.MappedTypeParameter=3]="MappedTypeParameter",oe[oe.Unspecified=4]="Unspecified",oe[oe.EmbeddedStatement=5]="EmbeddedStatement",oe[oe.JsxAttributeValue=6]="JsxAttributeValue",(se=e.OuterExpressionKinds||(e.OuterExpressionKinds={}))[se.Parentheses=1]="Parentheses",se[se.TypeAssertions=2]="TypeAssertions",se[se.NonNullAssertions=4]="NonNullAssertions",se[se.PartiallyEmittedExpressions=8]="PartiallyEmittedExpressions",se[se.Assertions=6]="Assertions",se[se.All=15]="All",(ce=e.LexicalEnvironmentFlags||(e.LexicalEnvironmentFlags={}))[ce.None=0]="None",ce[ce.InParameters=1]="InParameters",ce[ce.VariablesHoistedInParameters=2]="VariablesHoistedInParameters",(ue=e.BundleFileSectionKind||(e.BundleFileSectionKind={})).Prologue="prologue",ue.EmitHelpers="emitHelpers",ue.NoDefaultLib="no-default-lib",ue.Reference="reference",ue.Type="type",ue.Lib="lib",ue.Prepend="prepend",ue.Text="text",ue.Internal="internal",(le=e.ListFormat||(e.ListFormat={}))[le.None=0]="None",le[le.SingleLine=0]="SingleLine",le[le.MultiLine=1]="MultiLine",le[le.PreserveLines=2]="PreserveLines",le[le.LinesMask=3]="LinesMask",le[le.NotDelimited=0]="NotDelimited",le[le.BarDelimited=4]="BarDelimited",le[le.AmpersandDelimited=8]="AmpersandDelimited",le[le.CommaDelimited=16]="CommaDelimited",le[le.AsteriskDelimited=32]="AsteriskDelimited",le[le.DelimitersMask=60]="DelimitersMask",le[le.AllowTrailingComma=64]="AllowTrailingComma",le[le.Indented=128]="Indented",le[le.SpaceBetweenBraces=256]="SpaceBetweenBraces",le[le.SpaceBetweenSiblings=512]="SpaceBetweenSiblings",le[le.Braces=1024]="Braces",le[le.Parenthesis=2048]="Parenthesis",le[le.AngleBrackets=4096]="AngleBrackets",le[le.SquareBrackets=8192]="SquareBrackets",le[le.BracketsMask=15360]="BracketsMask",le[le.OptionalIfUndefined=16384]="OptionalIfUndefined",le[le.OptionalIfEmpty=32768]="OptionalIfEmpty",le[le.Optional=49152]="Optional",le[le.PreferNewLine=65536]="PreferNewLine",le[le.NoTrailingNewLine=131072]="NoTrailingNewLine",le[le.NoInterveningComments=262144]="NoInterveningComments",le[le.NoSpaceIfEmpty=524288]="NoSpaceIfEmpty",le[le.SingleElement=1048576]="SingleElement",le[le.SpaceAfterList=2097152]="SpaceAfterList",le[le.Modifiers=262656]="Modifiers",le[le.HeritageClauses=512]="HeritageClauses",le[le.SingleLineTypeLiteralMembers=768]="SingleLineTypeLiteralMembers",le[le.MultiLineTypeLiteralMembers=32897]="MultiLineTypeLiteralMembers",le[le.SingleLineTupleTypeElements=528]="SingleLineTupleTypeElements",le[le.MultiLineTupleTypeElements=657]="MultiLineTupleTypeElements",le[le.UnionTypeConstituents=516]="UnionTypeConstituents",le[le.IntersectionTypeConstituents=520]="IntersectionTypeConstituents",le[le.ObjectBindingPatternElements=525136]="ObjectBindingPatternElements",le[le.ArrayBindingPatternElements=524880]="ArrayBindingPatternElements",le[le.ObjectLiteralExpressionProperties=526226]="ObjectLiteralExpressionProperties",le[le.ArrayLiteralExpressionElements=8914]="ArrayLiteralExpressionElements",le[le.CommaListElements=528]="CommaListElements",le[le.CallExpressionArguments=2576]="CallExpressionArguments",le[le.NewExpressionArguments=18960]="NewExpressionArguments",le[le.TemplateExpressionSpans=262144]="TemplateExpressionSpans",le[le.SingleLineBlockStatements=768]="SingleLineBlockStatements",le[le.MultiLineBlockStatements=129]="MultiLineBlockStatements",le[le.VariableDeclarationList=528]="VariableDeclarationList",le[le.SingleLineFunctionBodyStatements=768]="SingleLineFunctionBodyStatements",le[le.MultiLineFunctionBodyStatements=1]="MultiLineFunctionBodyStatements",le[le.ClassHeritageClauses=0]="ClassHeritageClauses",le[le.ClassMembers=129]="ClassMembers",le[le.InterfaceMembers=129]="InterfaceMembers",le[le.EnumMembers=145]="EnumMembers",le[le.CaseBlockClauses=129]="CaseBlockClauses",le[le.NamedImportsOrExportsElements=525136]="NamedImportsOrExportsElements",le[le.JsxElementOrFragmentChildren=262144]="JsxElementOrFragmentChildren",le[le.JsxElementAttributes=262656]="JsxElementAttributes",le[le.CaseOrDefaultClauseStatements=163969]="CaseOrDefaultClauseStatements",le[le.HeritageClauseTypes=528]="HeritageClauseTypes",le[le.SourceFileStatements=131073]="SourceFileStatements",le[le.Decorators=2146305]="Decorators",le[le.TypeArguments=53776]="TypeArguments",le[le.TypeParameters=53776]="TypeParameters",le[le.Parameters=2576]="Parameters",le[le.IndexSignatureParameters=8848]="IndexSignatureParameters",le[le.JSDocComment=33]="JSDocComment",(_e=e.PragmaKindFlags||(e.PragmaKindFlags={}))[_e.None=0]="None",_e[_e.TripleSlashXML=1]="TripleSlashXML",_e[_e.SingleLine=2]="SingleLine",_e[_e.MultiLine=4]="MultiLine",_e[_e.All=7]="All",_e[_e.Default=7]="Default",e.commentPragmas={reference:{args:[{name:"types",optional:!0,captureSpan:!0},{name:"lib",optional:!0,captureSpan:!0},{name:"path",optional:!0,captureSpan:!0},{name:"no-default-lib",optional:!0}],kind:1},"amd-dependency":{args:[{name:"path"},{name:"name",optional:!0}],kind:1},"amd-module":{args:[{name:"name"}],kind:1},"ts-check":{kind:2},"ts-nocheck":{kind:2},jsx:{args:[{name:"factory"}],kind:4},jsxfrag:{args:[{name:"factory"}],kind:4}}}(ts=ts||{}),function(E){function k(e){for(var t=5381,r=0;rt.length&&p.endsWith(e,t)}function o(e){return 0=t.length&&46===e.charCodeAt(e.length-t.length)){var n=e.slice(e.length-t.length);if(r(n,t))return n}}function y(e,t,r){if(t)return function(e,t,r){if("string"==typeof t)return m(e,t,r)||"";for(var n=0,i=t;n type. Did you mean to write 'Promise<{0}>'?"),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:t(1066,e.DiagnosticCategory.Error,"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066","In ambient enum declarations member initializer must be constant expression."),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:t(1068,e.DiagnosticCategory.Error,"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068","Unexpected token. A constructor, method, accessor, or property was expected."),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:t(1069,e.DiagnosticCategory.Error,"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069","Unexpected token. A type parameter name was expected without curly braces."),_0_modifier_cannot_appear_on_a_type_member:t(1070,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_type_member_1070","'{0}' modifier cannot appear on a type member."),_0_modifier_cannot_appear_on_an_index_signature:t(1071,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_an_index_signature_1071","'{0}' modifier cannot appear on an index signature."),A_0_modifier_cannot_be_used_with_an_import_declaration:t(1079,e.DiagnosticCategory.Error,"A_0_modifier_cannot_be_used_with_an_import_declaration_1079","A '{0}' modifier cannot be used with an import declaration."),Invalid_reference_directive_syntax:t(1084,e.DiagnosticCategory.Error,"Invalid_reference_directive_syntax_1084","Invalid 'reference' directive syntax."),Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0:t(1085,e.DiagnosticCategory.Error,"Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher_Use_the_syntax_0_1085","Octal literals are not available when targeting ECMAScript 5 and higher. Use the syntax '{0}'."),_0_modifier_cannot_appear_on_a_constructor_declaration:t(1089,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_constructor_declaration_1089","'{0}' modifier cannot appear on a constructor declaration."),_0_modifier_cannot_appear_on_a_parameter:t(1090,e.DiagnosticCategory.Error,"_0_modifier_cannot_appear_on_a_parameter_1090","'{0}' modifier cannot appear on a parameter."),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:t(1091,e.DiagnosticCategory.Error,"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091","Only a single variable declaration is allowed in a 'for...in' statement."),Type_parameters_cannot_appear_on_a_constructor_declaration:t(1092,e.DiagnosticCategory.Error,"Type_parameters_cannot_appear_on_a_constructor_declaration_1092","Type parameters cannot appear on a constructor declaration."),Type_annotation_cannot_appear_on_a_constructor_declaration:t(1093,e.DiagnosticCategory.Error,"Type_annotation_cannot_appear_on_a_constructor_declaration_1093","Type annotation cannot appear on a constructor declaration."),An_accessor_cannot_have_type_parameters:t(1094,e.DiagnosticCategory.Error,"An_accessor_cannot_have_type_parameters_1094","An accessor cannot have type parameters."),A_set_accessor_cannot_have_a_return_type_annotation:t(1095,e.DiagnosticCategory.Error,"A_set_accessor_cannot_have_a_return_type_annotation_1095","A 'set' accessor cannot have a return type annotation."),An_index_signature_must_have_exactly_one_parameter:t(1096,e.DiagnosticCategory.Error,"An_index_signature_must_have_exactly_one_parameter_1096","An index signature must have exactly one parameter."),_0_list_cannot_be_empty:t(1097,e.DiagnosticCategory.Error,"_0_list_cannot_be_empty_1097","'{0}' list cannot be empty."),Type_parameter_list_cannot_be_empty:t(1098,e.DiagnosticCategory.Error,"Type_parameter_list_cannot_be_empty_1098","Type parameter list cannot be empty."),Type_argument_list_cannot_be_empty:t(1099,e.DiagnosticCategory.Error,"Type_argument_list_cannot_be_empty_1099","Type argument list cannot be empty."),Invalid_use_of_0_in_strict_mode:t(1100,e.DiagnosticCategory.Error,"Invalid_use_of_0_in_strict_mode_1100","Invalid use of '{0}' in strict mode."),with_statements_are_not_allowed_in_strict_mode:t(1101,e.DiagnosticCategory.Error,"with_statements_are_not_allowed_in_strict_mode_1101","'with' statements are not allowed in strict mode."),delete_cannot_be_called_on_an_identifier_in_strict_mode:t(1102,e.DiagnosticCategory.Error,"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102","'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:t(1103,e.DiagnosticCategory.Error,"A_for_await_of_statement_is_only_allowed_within_an_async_function_or_async_generator_1103","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:t(1104,e.DiagnosticCategory.Error,"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104","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:t(1105,e.DiagnosticCategory.Error,"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105","A 'break' statement can only be used within an enclosing iteration or switch statement."),Jump_target_cannot_cross_function_boundary:t(1107,e.DiagnosticCategory.Error,"Jump_target_cannot_cross_function_boundary_1107","Jump target cannot cross function boundary."),A_return_statement_can_only_be_used_within_a_function_body:t(1108,e.DiagnosticCategory.Error,"A_return_statement_can_only_be_used_within_a_function_body_1108","A 'return' statement can only be used within a function body."),Expression_expected:t(1109,e.DiagnosticCategory.Error,"Expression_expected_1109","Expression expected."),Type_expected:t(1110,e.DiagnosticCategory.Error,"Type_expected_1110","Type expected."),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:t(1113,e.DiagnosticCategory.Error,"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113","A 'default' clause cannot appear more than once in a 'switch' statement."),Duplicate_label_0:t(1114,e.DiagnosticCategory.Error,"Duplicate_label_0_1114","Duplicate label '{0}'."),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:t(1115,e.DiagnosticCategory.Error,"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115","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:t(1116,e.DiagnosticCategory.Error,"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116","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:t(1117,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_multiple_properties_with_the_same_name_in_strict_mode_1117","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:t(1118,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118","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:t(1119,e.DiagnosticCategory.Error,"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119","An object literal cannot have property and accessor with the same name."),An_export_assignment_cannot_have_modifiers:t(1120,e.DiagnosticCategory.Error,"An_export_assignment_cannot_have_modifiers_1120","An export assignment cannot have modifiers."),Octal_literals_are_not_allowed_in_strict_mode:t(1121,e.DiagnosticCategory.Error,"Octal_literals_are_not_allowed_in_strict_mode_1121","Octal literals are not allowed in strict mode."),Variable_declaration_list_cannot_be_empty:t(1123,e.DiagnosticCategory.Error,"Variable_declaration_list_cannot_be_empty_1123","Variable declaration list cannot be empty."),Digit_expected:t(1124,e.DiagnosticCategory.Error,"Digit_expected_1124","Digit expected."),Hexadecimal_digit_expected:t(1125,e.DiagnosticCategory.Error,"Hexadecimal_digit_expected_1125","Hexadecimal digit expected."),Unexpected_end_of_text:t(1126,e.DiagnosticCategory.Error,"Unexpected_end_of_text_1126","Unexpected end of text."),Invalid_character:t(1127,e.DiagnosticCategory.Error,"Invalid_character_1127","Invalid character."),Declaration_or_statement_expected:t(1128,e.DiagnosticCategory.Error,"Declaration_or_statement_expected_1128","Declaration or statement expected."),Statement_expected:t(1129,e.DiagnosticCategory.Error,"Statement_expected_1129","Statement expected."),case_or_default_expected:t(1130,e.DiagnosticCategory.Error,"case_or_default_expected_1130","'case' or 'default' expected."),Property_or_signature_expected:t(1131,e.DiagnosticCategory.Error,"Property_or_signature_expected_1131","Property or signature expected."),Enum_member_expected:t(1132,e.DiagnosticCategory.Error,"Enum_member_expected_1132","Enum member expected."),Variable_declaration_expected:t(1134,e.DiagnosticCategory.Error,"Variable_declaration_expected_1134","Variable declaration expected."),Argument_expression_expected:t(1135,e.DiagnosticCategory.Error,"Argument_expression_expected_1135","Argument expression expected."),Property_assignment_expected:t(1136,e.DiagnosticCategory.Error,"Property_assignment_expected_1136","Property assignment expected."),Expression_or_comma_expected:t(1137,e.DiagnosticCategory.Error,"Expression_or_comma_expected_1137","Expression or comma expected."),Parameter_declaration_expected:t(1138,e.DiagnosticCategory.Error,"Parameter_declaration_expected_1138","Parameter declaration expected."),Type_parameter_declaration_expected:t(1139,e.DiagnosticCategory.Error,"Type_parameter_declaration_expected_1139","Type parameter declaration expected."),Type_argument_expected:t(1140,e.DiagnosticCategory.Error,"Type_argument_expected_1140","Type argument expected."),String_literal_expected:t(1141,e.DiagnosticCategory.Error,"String_literal_expected_1141","String literal expected."),Line_break_not_permitted_here:t(1142,e.DiagnosticCategory.Error,"Line_break_not_permitted_here_1142","Line break not permitted here."),or_expected:t(1144,e.DiagnosticCategory.Error,"or_expected_1144","'{' or ';' expected."),Declaration_expected:t(1146,e.DiagnosticCategory.Error,"Declaration_expected_1146","Declaration expected."),Import_declarations_in_a_namespace_cannot_reference_a_module:t(1147,e.DiagnosticCategory.Error,"Import_declarations_in_a_namespace_cannot_reference_a_module_1147","Import declarations in a namespace cannot reference a module."),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:t(1148,e.DiagnosticCategory.Error,"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148","Cannot use imports, exports, or module augmentations when '--module' is 'none'."),File_name_0_differs_from_already_included_file_name_1_only_in_casing:t(1149,e.DiagnosticCategory.Error,"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149","File name '{0}' differs from already included file name '{1}' only in casing."),const_declarations_must_be_initialized:t(1155,e.DiagnosticCategory.Error,"const_declarations_must_be_initialized_1155","'const' declarations must be initialized."),const_declarations_can_only_be_declared_inside_a_block:t(1156,e.DiagnosticCategory.Error,"const_declarations_can_only_be_declared_inside_a_block_1156","'const' declarations can only be declared inside a block."),let_declarations_can_only_be_declared_inside_a_block:t(1157,e.DiagnosticCategory.Error,"let_declarations_can_only_be_declared_inside_a_block_1157","'let' declarations can only be declared inside a block."),Unterminated_template_literal:t(1160,e.DiagnosticCategory.Error,"Unterminated_template_literal_1160","Unterminated template literal."),Unterminated_regular_expression_literal:t(1161,e.DiagnosticCategory.Error,"Unterminated_regular_expression_literal_1161","Unterminated regular expression literal."),An_object_member_cannot_be_declared_optional:t(1162,e.DiagnosticCategory.Error,"An_object_member_cannot_be_declared_optional_1162","An object member cannot be declared optional."),A_yield_expression_is_only_allowed_in_a_generator_body:t(1163,e.DiagnosticCategory.Error,"A_yield_expression_is_only_allowed_in_a_generator_body_1163","A 'yield' expression is only allowed in a generator body."),Computed_property_names_are_not_allowed_in_enums:t(1164,e.DiagnosticCategory.Error,"Computed_property_names_are_not_allowed_in_enums_1164","Computed property names are not allowed in enums."),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1165,e.DiagnosticCategory.Error,"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165","A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1166,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_class_property_declaration_must_refer_to_an_expression_whose_type_is_a_1166","A computed property name in a class property declaration must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1168,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168","A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1169,e.DiagnosticCategory.Error,"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169","A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:t(1170,e.DiagnosticCategory.Error,"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170","A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_comma_expression_is_not_allowed_in_a_computed_property_name:t(1171,e.DiagnosticCategory.Error,"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171","A comma expression is not allowed in a computed property name."),extends_clause_already_seen:t(1172,e.DiagnosticCategory.Error,"extends_clause_already_seen_1172","'extends' clause already seen."),extends_clause_must_precede_implements_clause:t(1173,e.DiagnosticCategory.Error,"extends_clause_must_precede_implements_clause_1173","'extends' clause must precede 'implements' clause."),Classes_can_only_extend_a_single_class:t(1174,e.DiagnosticCategory.Error,"Classes_can_only_extend_a_single_class_1174","Classes can only extend a single class."),implements_clause_already_seen:t(1175,e.DiagnosticCategory.Error,"implements_clause_already_seen_1175","'implements' clause already seen."),Interface_declaration_cannot_have_implements_clause:t(1176,e.DiagnosticCategory.Error,"Interface_declaration_cannot_have_implements_clause_1176","Interface declaration cannot have 'implements' clause."),Binary_digit_expected:t(1177,e.DiagnosticCategory.Error,"Binary_digit_expected_1177","Binary digit expected."),Octal_digit_expected:t(1178,e.DiagnosticCategory.Error,"Octal_digit_expected_1178","Octal digit expected."),Unexpected_token_expected:t(1179,e.DiagnosticCategory.Error,"Unexpected_token_expected_1179","Unexpected token. '{' expected."),Property_destructuring_pattern_expected:t(1180,e.DiagnosticCategory.Error,"Property_destructuring_pattern_expected_1180","Property destructuring pattern expected."),Array_element_destructuring_pattern_expected:t(1181,e.DiagnosticCategory.Error,"Array_element_destructuring_pattern_expected_1181","Array element destructuring pattern expected."),A_destructuring_declaration_must_have_an_initializer:t(1182,e.DiagnosticCategory.Error,"A_destructuring_declaration_must_have_an_initializer_1182","A destructuring declaration must have an initializer."),An_implementation_cannot_be_declared_in_ambient_contexts:t(1183,e.DiagnosticCategory.Error,"An_implementation_cannot_be_declared_in_ambient_contexts_1183","An implementation cannot be declared in ambient contexts."),Modifiers_cannot_appear_here:t(1184,e.DiagnosticCategory.Error,"Modifiers_cannot_appear_here_1184","Modifiers cannot appear here."),Merge_conflict_marker_encountered:t(1185,e.DiagnosticCategory.Error,"Merge_conflict_marker_encountered_1185","Merge conflict marker encountered."),A_rest_element_cannot_have_an_initializer:t(1186,e.DiagnosticCategory.Error,"A_rest_element_cannot_have_an_initializer_1186","A rest element cannot have an initializer."),A_parameter_property_may_not_be_declared_using_a_binding_pattern:t(1187,e.DiagnosticCategory.Error,"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187","A parameter property may not be declared using a binding pattern."),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:t(1188,e.DiagnosticCategory.Error,"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188","Only a single variable declaration is allowed in a 'for...of' statement."),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:t(1189,e.DiagnosticCategory.Error,"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189","The variable declaration of a 'for...in' statement cannot have an initializer."),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:t(1190,e.DiagnosticCategory.Error,"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190","The variable declaration of a 'for...of' statement cannot have an initializer."),An_import_declaration_cannot_have_modifiers:t(1191,e.DiagnosticCategory.Error,"An_import_declaration_cannot_have_modifiers_1191","An import declaration cannot have modifiers."),Module_0_has_no_default_export:t(1192,e.DiagnosticCategory.Error,"Module_0_has_no_default_export_1192","Module '{0}' has no default export."),An_export_declaration_cannot_have_modifiers:t(1193,e.DiagnosticCategory.Error,"An_export_declaration_cannot_have_modifiers_1193","An export declaration cannot have modifiers."),Export_declarations_are_not_permitted_in_a_namespace:t(1194,e.DiagnosticCategory.Error,"Export_declarations_are_not_permitted_in_a_namespace_1194","Export declarations are not permitted in a namespace."),export_Asterisk_does_not_re_export_a_default:t(1195,e.DiagnosticCategory.Error,"export_Asterisk_does_not_re_export_a_default_1195","'export *' does not re-export a default."),Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified:t(1196,e.DiagnosticCategory.Error,"Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196","Catch clause variable type annotation must be 'any' or 'unknown' if specified."),Catch_clause_variable_cannot_have_an_initializer:t(1197,e.DiagnosticCategory.Error,"Catch_clause_variable_cannot_have_an_initializer_1197","Catch clause variable cannot have an initializer."),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:t(1198,e.DiagnosticCategory.Error,"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198","An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."),Unterminated_Unicode_escape_sequence:t(1199,e.DiagnosticCategory.Error,"Unterminated_Unicode_escape_sequence_1199","Unterminated Unicode escape sequence."),Line_terminator_not_permitted_before_arrow:t(1200,e.DiagnosticCategory.Error,"Line_terminator_not_permitted_before_arrow_1200","Line terminator not permitted before arrow."),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:t(1202,e.DiagnosticCategory.Error,"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202","Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from \"mod\"', 'import {a} from \"mod\"', 'import d from \"mod\"', or another module format instead."),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:t(1203,e.DiagnosticCategory.Error,"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203","Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead."),Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type:t(1205,e.DiagnosticCategory.Error,"Re_exporting_a_type_when_the_isolatedModules_flag_is_provided_requires_using_export_type_1205","Re-exporting a type when the '--isolatedModules' flag is provided requires using 'export type'."),Decorators_are_not_valid_here:t(1206,e.DiagnosticCategory.Error,"Decorators_are_not_valid_here_1206","Decorators are not valid here."),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:t(1207,e.DiagnosticCategory.Error,"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207","Decorators cannot be applied to multiple get/set accessors of the same name."),All_files_must_be_modules_when_the_isolatedModules_flag_is_provided:t(1208,e.DiagnosticCategory.Error,"All_files_must_be_modules_when_the_isolatedModules_flag_is_provided_1208","All files must be modules when the '--isolatedModules' flag is provided."),Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode:t(1210,e.DiagnosticCategory.Error,"Invalid_use_of_0_Class_definitions_are_automatically_in_strict_mode_1210","Invalid use of '{0}'. Class definitions are automatically in strict mode."),A_class_declaration_without_the_default_modifier_must_have_a_name:t(1211,e.DiagnosticCategory.Error,"A_class_declaration_without_the_default_modifier_must_have_a_name_1211","A class declaration without the 'default' modifier must have a name."),Identifier_expected_0_is_a_reserved_word_in_strict_mode:t(1212,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212","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:t(1213,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213","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:t(1214,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214","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:t(1215,e.DiagnosticCategory.Error,"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215","Invalid use of '{0}'. Modules are automatically in strict mode."),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:t(1216,e.DiagnosticCategory.Error,"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216","Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."),Export_assignment_is_not_supported_when_module_flag_is_system:t(1218,e.DiagnosticCategory.Error,"Export_assignment_is_not_supported_when_module_flag_is_system_1218","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_in_your_tsconfig_or_jsconfig_to_remove_this_warning:t(1219,e.DiagnosticCategory.Error,"Experimental_support_for_decorators_is_a_feature_that_is_subject_to_change_in_a_future_release_Set_t_1219","Experimental support for decorators is a feature that is subject to change in a future release. Set the 'experimentalDecorators' option in your 'tsconfig' or 'jsconfig' to remove this warning."),Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher:t(1220,e.DiagnosticCategory.Error,"Generators_are_only_available_when_targeting_ECMAScript_2015_or_higher_1220","Generators are only available when targeting ECMAScript 2015 or higher."),Generators_are_not_allowed_in_an_ambient_context:t(1221,e.DiagnosticCategory.Error,"Generators_are_not_allowed_in_an_ambient_context_1221","Generators are not allowed in an ambient context."),An_overload_signature_cannot_be_declared_as_a_generator:t(1222,e.DiagnosticCategory.Error,"An_overload_signature_cannot_be_declared_as_a_generator_1222","An overload signature cannot be declared as a generator."),_0_tag_already_specified:t(1223,e.DiagnosticCategory.Error,"_0_tag_already_specified_1223","'{0}' tag already specified."),Signature_0_must_be_a_type_predicate:t(1224,e.DiagnosticCategory.Error,"Signature_0_must_be_a_type_predicate_1224","Signature '{0}' must be a type predicate."),Cannot_find_parameter_0:t(1225,e.DiagnosticCategory.Error,"Cannot_find_parameter_0_1225","Cannot find parameter '{0}'."),Type_predicate_0_is_not_assignable_to_1:t(1226,e.DiagnosticCategory.Error,"Type_predicate_0_is_not_assignable_to_1_1226","Type predicate '{0}' is not assignable to '{1}'."),Parameter_0_is_not_in_the_same_position_as_parameter_1:t(1227,e.DiagnosticCategory.Error,"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227","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:t(1228,e.DiagnosticCategory.Error,"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228","A type predicate is only allowed in return type position for functions and methods."),A_type_predicate_cannot_reference_a_rest_parameter:t(1229,e.DiagnosticCategory.Error,"A_type_predicate_cannot_reference_a_rest_parameter_1229","A type predicate cannot reference a rest parameter."),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:t(1230,e.DiagnosticCategory.Error,"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230","A type predicate cannot reference element '{0}' in a binding pattern."),An_export_assignment_can_only_be_used_in_a_module:t(1231,e.DiagnosticCategory.Error,"An_export_assignment_can_only_be_used_in_a_module_1231","An export assignment can only be used in a module."),An_import_declaration_can_only_be_used_in_a_namespace_or_module:t(1232,e.DiagnosticCategory.Error,"An_import_declaration_can_only_be_used_in_a_namespace_or_module_1232","An import declaration can only be used in a namespace or module."),An_export_declaration_can_only_be_used_in_a_module:t(1233,e.DiagnosticCategory.Error,"An_export_declaration_can_only_be_used_in_a_module_1233","An export declaration can only be used in a module."),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:t(1234,e.DiagnosticCategory.Error,"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234","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:t(1235,e.DiagnosticCategory.Error,"A_namespace_declaration_is_only_allowed_in_a_namespace_or_module_1235","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:t(1236,e.DiagnosticCategory.Error,"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236","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:t(1237,e.DiagnosticCategory.Error,"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237","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:t(1238,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238","Unable to resolve signature of class decorator when called as an expression."),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:t(1239,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239","Unable to resolve signature of parameter decorator when called as an expression."),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:t(1240,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240","Unable to resolve signature of property decorator when called as an expression."),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:t(1241,e.DiagnosticCategory.Error,"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241","Unable to resolve signature of method decorator when called as an expression."),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:t(1242,e.DiagnosticCategory.Error,"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242","'abstract' modifier can only appear on a class, method, or property declaration."),_0_modifier_cannot_be_used_with_1_modifier:t(1243,e.DiagnosticCategory.Error,"_0_modifier_cannot_be_used_with_1_modifier_1243","'{0}' modifier cannot be used with '{1}' modifier."),Abstract_methods_can_only_appear_within_an_abstract_class:t(1244,e.DiagnosticCategory.Error,"Abstract_methods_can_only_appear_within_an_abstract_class_1244","Abstract methods can only appear within an abstract class."),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:t(1245,e.DiagnosticCategory.Error,"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245","Method '{0}' cannot have an implementation because it is marked abstract."),An_interface_property_cannot_have_an_initializer:t(1246,e.DiagnosticCategory.Error,"An_interface_property_cannot_have_an_initializer_1246","An interface property cannot have an initializer."),A_type_literal_property_cannot_have_an_initializer:t(1247,e.DiagnosticCategory.Error,"A_type_literal_property_cannot_have_an_initializer_1247","A type literal property cannot have an initializer."),A_class_member_cannot_have_the_0_keyword:t(1248,e.DiagnosticCategory.Error,"A_class_member_cannot_have_the_0_keyword_1248","A class member cannot have the '{0}' keyword."),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:t(1249,e.DiagnosticCategory.Error,"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249","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:t(1250,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_1250","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:t(1251,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Class_d_1251","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:t(1252,e.DiagnosticCategory.Error,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES3_or_ES5_Modules_1252","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:t(1253,e.DiagnosticCategory.Error,"_0_tag_cannot_be_used_independently_as_a_top_level_JSDoc_tag_1253","'{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_or_literal_enum_reference:t(1254,e.DiagnosticCategory.Error,"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254","A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),A_definite_assignment_assertion_is_not_permitted_in_this_context:t(1255,e.DiagnosticCategory.Error,"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255","A definite assignment assertion '!' is not permitted in this context."),A_rest_element_must_be_last_in_a_tuple_type:t(1256,e.DiagnosticCategory.Error,"A_rest_element_must_be_last_in_a_tuple_type_1256","A rest element must be last in a tuple type."),A_required_element_cannot_follow_an_optional_element:t(1257,e.DiagnosticCategory.Error,"A_required_element_cannot_follow_an_optional_element_1257","A required element cannot follow an optional element."),Definite_assignment_assertions_can_only_be_used_along_with_a_type_annotation:t(1258,e.DiagnosticCategory.Error,"Definite_assignment_assertions_can_only_be_used_along_with_a_type_annotation_1258","Definite assignment assertions can only be used along with a type annotation."),Module_0_can_only_be_default_imported_using_the_1_flag:t(1259,e.DiagnosticCategory.Error,"Module_0_can_only_be_default_imported_using_the_1_flag_1259","Module '{0}' can only be default-imported using the '{1}' flag"),Keywords_cannot_contain_escape_characters:t(1260,e.DiagnosticCategory.Error,"Keywords_cannot_contain_escape_characters_1260","Keywords cannot contain escape characters."),Already_included_file_name_0_differs_from_file_name_1_only_in_casing:t(1261,e.DiagnosticCategory.Error,"Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261","Already included file name '{0}' differs from file name '{1}' only in casing."),Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module:t(1262,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262","Identifier expected. '{0}' is a reserved word at the top-level of a module."),with_statements_are_not_allowed_in_an_async_function_block:t(1300,e.DiagnosticCategory.Error,"with_statements_are_not_allowed_in_an_async_function_block_1300","'with' statements are not allowed in an async function block."),await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:t(1308,e.DiagnosticCategory.Error,"await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308","'await' expressions are only allowed within async functions and at the top levels of modules."),Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern:t(1312,e.DiagnosticCategory.Error,"Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312","Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern."),The_body_of_an_if_statement_cannot_be_the_empty_statement:t(1313,e.DiagnosticCategory.Error,"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313","The body of an 'if' statement cannot be the empty statement."),Global_module_exports_may_only_appear_in_module_files:t(1314,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_in_module_files_1314","Global module exports may only appear in module files."),Global_module_exports_may_only_appear_in_declaration_files:t(1315,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_in_declaration_files_1315","Global module exports may only appear in declaration files."),Global_module_exports_may_only_appear_at_top_level:t(1316,e.DiagnosticCategory.Error,"Global_module_exports_may_only_appear_at_top_level_1316","Global module exports may only appear at top level."),A_parameter_property_cannot_be_declared_using_a_rest_parameter:t(1317,e.DiagnosticCategory.Error,"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317","A parameter property cannot be declared using a rest parameter."),An_abstract_accessor_cannot_have_an_implementation:t(1318,e.DiagnosticCategory.Error,"An_abstract_accessor_cannot_have_an_implementation_1318","An abstract accessor cannot have an implementation."),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:t(1319,e.DiagnosticCategory.Error,"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319","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:t(1320,e.DiagnosticCategory.Error,"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320","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:t(1321,e.DiagnosticCategory.Error,"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321","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:t(1322,e.DiagnosticCategory.Error,"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322","Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."),Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system_or_umd:t(1323,e.DiagnosticCategory.Error,"Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_esnext_commonjs_amd_system__1323","Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'esnext', 'commonjs', 'amd', 'system', or 'umd'."),Dynamic_import_must_have_one_specifier_as_an_argument:t(1324,e.DiagnosticCategory.Error,"Dynamic_import_must_have_one_specifier_as_an_argument_1324","Dynamic import must have one specifier as an argument."),Specifier_of_dynamic_import_cannot_be_spread_element:t(1325,e.DiagnosticCategory.Error,"Specifier_of_dynamic_import_cannot_be_spread_element_1325","Specifier of dynamic import cannot be spread element."),Dynamic_import_cannot_have_type_arguments:t(1326,e.DiagnosticCategory.Error,"Dynamic_import_cannot_have_type_arguments_1326","Dynamic import cannot have type arguments"),String_literal_with_double_quotes_expected:t(1327,e.DiagnosticCategory.Error,"String_literal_with_double_quotes_expected_1327","String literal with double quotes expected."),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:t(1328,e.DiagnosticCategory.Error,"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328","Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:t(1329,e.DiagnosticCategory.Error,"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329","'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:t(1330,e.DiagnosticCategory.Error,"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330","A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'."),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:t(1331,e.DiagnosticCategory.Error,"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331","A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'."),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:t(1332,e.DiagnosticCategory.Error,"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332","A variable whose type is a 'unique symbol' type must be 'const'."),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:t(1333,e.DiagnosticCategory.Error,"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333","'unique symbol' types may not be used on a variable declaration with a binding name."),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:t(1334,e.DiagnosticCategory.Error,"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334","'unique symbol' types are only allowed on variables in a variable statement."),unique_symbol_types_are_not_allowed_here:t(1335,e.DiagnosticCategory.Error,"unique_symbol_types_are_not_allowed_here_1335","'unique symbol' types are not allowed here."),An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead:t(1336,e.DiagnosticCategory.Error,"An_index_signature_parameter_type_cannot_be_a_type_alias_Consider_writing_0_Colon_1_Colon_2_instead_1336","An index signature parameter type cannot be a type alias. Consider writing '[{0}: {1}]: {2}' instead."),An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead:t(1337,e.DiagnosticCategory.Error,"An_index_signature_parameter_type_cannot_be_a_union_type_Consider_using_a_mapped_object_type_instead_1337","An index signature parameter type cannot be a union type. Consider using a mapped object type instead."),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:t(1338,e.DiagnosticCategory.Error,"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338","'infer' declarations are only permitted in the 'extends' clause of a conditional type."),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:t(1339,e.DiagnosticCategory.Error,"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339","Module '{0}' does not refer to a value, but is used as a value here."),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:t(1340,e.DiagnosticCategory.Error,"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340","Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"),Type_arguments_cannot_be_used_here:t(1342,e.DiagnosticCategory.Error,"Type_arguments_cannot_be_used_here_1342","Type arguments cannot be used here."),The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_esnext_or_system:t(1343,e.DiagnosticCategory.Error,"The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_esnext_or_system_1343","The 'import.meta' meta-property is only allowed when the '--module' option is 'esnext' or 'system'."),A_label_is_not_allowed_here:t(1344,e.DiagnosticCategory.Error,"A_label_is_not_allowed_here_1344","'A label is not allowed here."),An_expression_of_type_void_cannot_be_tested_for_truthiness:t(1345,e.DiagnosticCategory.Error,"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345","An expression of type 'void' cannot be tested for truthiness"),This_parameter_is_not_allowed_with_use_strict_directive:t(1346,e.DiagnosticCategory.Error,"This_parameter_is_not_allowed_with_use_strict_directive_1346","This parameter is not allowed with 'use strict' directive."),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:t(1347,e.DiagnosticCategory.Error,"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347","'use strict' directive cannot be used with non-simple parameter list."),Non_simple_parameter_declared_here:t(1348,e.DiagnosticCategory.Error,"Non_simple_parameter_declared_here_1348","Non-simple parameter declared here."),use_strict_directive_used_here:t(1349,e.DiagnosticCategory.Error,"use_strict_directive_used_here_1349","'use strict' directive used here."),Print_the_final_configuration_instead_of_building:t(1350,e.DiagnosticCategory.Message,"Print_the_final_configuration_instead_of_building_1350","Print the final configuration instead of building."),An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal:t(1351,e.DiagnosticCategory.Error,"An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351","An identifier or keyword cannot immediately follow a numeric literal."),A_bigint_literal_cannot_use_exponential_notation:t(1352,e.DiagnosticCategory.Error,"A_bigint_literal_cannot_use_exponential_notation_1352","A bigint literal cannot use exponential notation."),A_bigint_literal_must_be_an_integer:t(1353,e.DiagnosticCategory.Error,"A_bigint_literal_must_be_an_integer_1353","A bigint literal must be an integer."),readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types:t(1354,e.DiagnosticCategory.Error,"readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354","'readonly' type modifier is only permitted on array and tuple literal types."),A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals:t(1355,e.DiagnosticCategory.Error,"A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355","A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals."),Did_you_mean_to_mark_this_function_as_async:t(1356,e.DiagnosticCategory.Error,"Did_you_mean_to_mark_this_function_as_async_1356","Did you mean to mark this function as 'async'?"),An_enum_member_name_must_be_followed_by_a_or:t(1357,e.DiagnosticCategory.Error,"An_enum_member_name_must_be_followed_by_a_or_1357","An enum member name must be followed by a ',', '=', or '}'."),Tagged_template_expressions_are_not_permitted_in_an_optional_chain:t(1358,e.DiagnosticCategory.Error,"Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358","Tagged template expressions are not permitted in an optional chain."),Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:t(1359,e.DiagnosticCategory.Error,"Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359","Identifier expected. '{0}' is a reserved word that cannot be used here."),Did_you_mean_to_parenthesize_this_function_type:t(1360,e.DiagnosticCategory.Error,"Did_you_mean_to_parenthesize_this_function_type_1360","Did you mean to parenthesize this function type?"),_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type:t(1361,e.DiagnosticCategory.Error,"_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361","'{0}' cannot be used as a value because it was imported using 'import type'."),_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:t(1362,e.DiagnosticCategory.Error,"_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362","'{0}' cannot be used as a value because it was exported using 'export type'."),A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both:t(1363,e.DiagnosticCategory.Error,"A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363","A type-only import can specify a default import or named bindings, but not both."),Convert_to_type_only_export:t(1364,e.DiagnosticCategory.Message,"Convert_to_type_only_export_1364","Convert to type-only export"),Convert_all_re_exported_types_to_type_only_exports:t(1365,e.DiagnosticCategory.Message,"Convert_all_re_exported_types_to_type_only_exports_1365","Convert all re-exported types to type-only exports"),Split_into_two_separate_import_declarations:t(1366,e.DiagnosticCategory.Message,"Split_into_two_separate_import_declarations_1366","Split into two separate import declarations"),Split_all_invalid_type_only_imports:t(1367,e.DiagnosticCategory.Message,"Split_all_invalid_type_only_imports_1367","Split all invalid type-only imports"),Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types:t(1368,e.DiagnosticCategory.Message,"Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_1368","Specify emit/checking behavior for imports that are only used for types"),Did_you_mean_0:t(1369,e.DiagnosticCategory.Message,"Did_you_mean_0_1369","Did you mean '{0}'?"),Only_ECMAScript_imports_may_use_import_type:t(1370,e.DiagnosticCategory.Error,"Only_ECMAScript_imports_may_use_import_type_1370","Only ECMAScript imports may use 'import type'."),This_import_is_never_used_as_a_value_and_must_use_import_type_because_the_importsNotUsedAsValues_is_set_to_error:t(1371,e.DiagnosticCategory.Error,"This_import_is_never_used_as_a_value_and_must_use_import_type_because_the_importsNotUsedAsValues_is__1371","This import is never used as a value and must use 'import type' because the 'importsNotUsedAsValues' is set to 'error'."),Convert_to_type_only_import:t(1373,e.DiagnosticCategory.Message,"Convert_to_type_only_import_1373","Convert to type-only import"),Convert_all_imports_not_used_as_a_value_to_type_only_imports:t(1374,e.DiagnosticCategory.Message,"Convert_all_imports_not_used_as_a_value_to_type_only_imports_1374","Convert all imports not used as a value to type-only imports"),await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:t(1375,e.DiagnosticCategory.Error,"await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375","'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),_0_was_imported_here:t(1376,e.DiagnosticCategory.Message,"_0_was_imported_here_1376","'{0}' was imported here."),_0_was_exported_here:t(1377,e.DiagnosticCategory.Message,"_0_was_exported_here_1377","'{0}' was exported here."),Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_the_target_option_is_set_to_es2017_or_higher:t(1378,e.DiagnosticCategory.Error,"Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_esnext_or_system_and_t_1378","Top-level 'await' expressions are only allowed when the 'module' option is set to 'esnext' or 'system', and the 'target' option is set to 'es2017' or higher."),An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:t(1379,e.DiagnosticCategory.Error,"An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379","An import alias cannot reference a declaration that was exported using 'export type'."),An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type:t(1380,e.DiagnosticCategory.Error,"An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380","An import alias cannot reference a declaration that was imported using 'import type'."),Unexpected_token_Did_you_mean_or_rbrace:t(1381,e.DiagnosticCategory.Error,"Unexpected_token_Did_you_mean_or_rbrace_1381","Unexpected token. Did you mean `{'}'}` or `}`?"),Unexpected_token_Did_you_mean_or_gt:t(1382,e.DiagnosticCategory.Error,"Unexpected_token_Did_you_mean_or_gt_1382","Unexpected token. Did you mean `{'>'}` or `>`?"),Only_named_exports_may_use_export_type:t(1383,e.DiagnosticCategory.Error,"Only_named_exports_may_use_export_type_1383","Only named exports may use 'export type'."),A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list:t(1384,e.DiagnosticCategory.Error,"A_new_expression_with_type_arguments_must_always_be_followed_by_a_parenthesized_argument_list_1384","A 'new' expression with type arguments must always be followed by a parenthesized argument list."),Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:t(1385,e.DiagnosticCategory.Error,"Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385","Function type notation must be parenthesized when used in a union type."),Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:t(1386,e.DiagnosticCategory.Error,"Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386","Constructor type notation must be parenthesized when used in a union type."),Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:t(1387,e.DiagnosticCategory.Error,"Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387","Function type notation must be parenthesized when used in an intersection type."),Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:t(1388,e.DiagnosticCategory.Error,"Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388","Constructor type notation must be parenthesized when used in an intersection type."),The_types_of_0_are_incompatible_between_these_types:t(2200,e.DiagnosticCategory.Error,"The_types_of_0_are_incompatible_between_these_types_2200","The types of '{0}' are incompatible between these types."),The_types_returned_by_0_are_incompatible_between_these_types:t(2201,e.DiagnosticCategory.Error,"The_types_returned_by_0_are_incompatible_between_these_types_2201","The types returned by '{0}' are incompatible between these types."),Call_signature_return_types_0_and_1_are_incompatible:t(2202,e.DiagnosticCategory.Error,"Call_signature_return_types_0_and_1_are_incompatible_2202","Call signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Construct_signature_return_types_0_and_1_are_incompatible:t(2203,e.DiagnosticCategory.Error,"Construct_signature_return_types_0_and_1_are_incompatible_2203","Construct signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:t(2204,e.DiagnosticCategory.Error,"Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204","Call signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:t(2205,e.DiagnosticCategory.Error,"Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205","Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),Duplicate_identifier_0:t(2300,e.DiagnosticCategory.Error,"Duplicate_identifier_0_2300","Duplicate identifier '{0}'."),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:t(2301,e.DiagnosticCategory.Error,"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301","Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),Static_members_cannot_reference_class_type_parameters:t(2302,e.DiagnosticCategory.Error,"Static_members_cannot_reference_class_type_parameters_2302","Static members cannot reference class type parameters."),Circular_definition_of_import_alias_0:t(2303,e.DiagnosticCategory.Error,"Circular_definition_of_import_alias_0_2303","Circular definition of import alias '{0}'."),Cannot_find_name_0:t(2304,e.DiagnosticCategory.Error,"Cannot_find_name_0_2304","Cannot find name '{0}'."),Module_0_has_no_exported_member_1:t(2305,e.DiagnosticCategory.Error,"Module_0_has_no_exported_member_1_2305","Module '{0}' has no exported member '{1}'."),File_0_is_not_a_module:t(2306,e.DiagnosticCategory.Error,"File_0_is_not_a_module_2306","File '{0}' is not a module."),Cannot_find_module_0_or_its_corresponding_type_declarations:t(2307,e.DiagnosticCategory.Error,"Cannot_find_module_0_or_its_corresponding_type_declarations_2307","Cannot find module '{0}' or its corresponding type declarations."),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:t(2308,e.DiagnosticCategory.Error,"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308","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:t(2309,e.DiagnosticCategory.Error,"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309","An export assignment cannot be used in a module with other exported elements."),Type_0_recursively_references_itself_as_a_base_type:t(2310,e.DiagnosticCategory.Error,"Type_0_recursively_references_itself_as_a_base_type_2310","Type '{0}' recursively references itself as a base type."),A_class_may_only_extend_another_class:t(2311,e.DiagnosticCategory.Error,"A_class_may_only_extend_another_class_2311","A class may only extend another class."),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:t(2312,e.DiagnosticCategory.Error,"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312","An interface can only extend an object type or intersection of object types with statically known members."),Type_parameter_0_has_a_circular_constraint:t(2313,e.DiagnosticCategory.Error,"Type_parameter_0_has_a_circular_constraint_2313","Type parameter '{0}' has a circular constraint."),Generic_type_0_requires_1_type_argument_s:t(2314,e.DiagnosticCategory.Error,"Generic_type_0_requires_1_type_argument_s_2314","Generic type '{0}' requires {1} type argument(s)."),Type_0_is_not_generic:t(2315,e.DiagnosticCategory.Error,"Type_0_is_not_generic_2315","Type '{0}' is not generic."),Global_type_0_must_be_a_class_or_interface_type:t(2316,e.DiagnosticCategory.Error,"Global_type_0_must_be_a_class_or_interface_type_2316","Global type '{0}' must be a class or interface type."),Global_type_0_must_have_1_type_parameter_s:t(2317,e.DiagnosticCategory.Error,"Global_type_0_must_have_1_type_parameter_s_2317","Global type '{0}' must have {1} type parameter(s)."),Cannot_find_global_type_0:t(2318,e.DiagnosticCategory.Error,"Cannot_find_global_type_0_2318","Cannot find global type '{0}'."),Named_property_0_of_types_1_and_2_are_not_identical:t(2319,e.DiagnosticCategory.Error,"Named_property_0_of_types_1_and_2_are_not_identical_2319","Named property '{0}' of types '{1}' and '{2}' are not identical."),Interface_0_cannot_simultaneously_extend_types_1_and_2:t(2320,e.DiagnosticCategory.Error,"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320","Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."),Excessive_stack_depth_comparing_types_0_and_1:t(2321,e.DiagnosticCategory.Error,"Excessive_stack_depth_comparing_types_0_and_1_2321","Excessive stack depth comparing types '{0}' and '{1}'."),Type_0_is_not_assignable_to_type_1:t(2322,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_2322","Type '{0}' is not assignable to type '{1}'."),Cannot_redeclare_exported_variable_0:t(2323,e.DiagnosticCategory.Error,"Cannot_redeclare_exported_variable_0_2323","Cannot redeclare exported variable '{0}'."),Property_0_is_missing_in_type_1:t(2324,e.DiagnosticCategory.Error,"Property_0_is_missing_in_type_1_2324","Property '{0}' is missing in type '{1}'."),Property_0_is_private_in_type_1_but_not_in_type_2:t(2325,e.DiagnosticCategory.Error,"Property_0_is_private_in_type_1_but_not_in_type_2_2325","Property '{0}' is private in type '{1}' but not in type '{2}'."),Types_of_property_0_are_incompatible:t(2326,e.DiagnosticCategory.Error,"Types_of_property_0_are_incompatible_2326","Types of property '{0}' are incompatible."),Property_0_is_optional_in_type_1_but_required_in_type_2:t(2327,e.DiagnosticCategory.Error,"Property_0_is_optional_in_type_1_but_required_in_type_2_2327","Property '{0}' is optional in type '{1}' but required in type '{2}'."),Types_of_parameters_0_and_1_are_incompatible:t(2328,e.DiagnosticCategory.Error,"Types_of_parameters_0_and_1_are_incompatible_2328","Types of parameters '{0}' and '{1}' are incompatible."),Index_signature_is_missing_in_type_0:t(2329,e.DiagnosticCategory.Error,"Index_signature_is_missing_in_type_0_2329","Index signature is missing in type '{0}'."),Index_signatures_are_incompatible:t(2330,e.DiagnosticCategory.Error,"Index_signatures_are_incompatible_2330","Index signatures are incompatible."),this_cannot_be_referenced_in_a_module_or_namespace_body:t(2331,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_module_or_namespace_body_2331","'this' cannot be referenced in a module or namespace body."),this_cannot_be_referenced_in_current_location:t(2332,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_current_location_2332","'this' cannot be referenced in current location."),this_cannot_be_referenced_in_constructor_arguments:t(2333,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_constructor_arguments_2333","'this' cannot be referenced in constructor arguments."),this_cannot_be_referenced_in_a_static_property_initializer:t(2334,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_static_property_initializer_2334","'this' cannot be referenced in a static property initializer."),super_can_only_be_referenced_in_a_derived_class:t(2335,e.DiagnosticCategory.Error,"super_can_only_be_referenced_in_a_derived_class_2335","'super' can only be referenced in a derived class."),super_cannot_be_referenced_in_constructor_arguments:t(2336,e.DiagnosticCategory.Error,"super_cannot_be_referenced_in_constructor_arguments_2336","'super' cannot be referenced in constructor arguments."),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:t(2337,e.DiagnosticCategory.Error,"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337","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:t(2338,e.DiagnosticCategory.Error,"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338","'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:t(2339,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_2339","Property '{0}' does not exist on type '{1}'."),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:t(2340,e.DiagnosticCategory.Error,"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340","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:t(2341,e.DiagnosticCategory.Error,"Property_0_is_private_and_only_accessible_within_class_1_2341","Property '{0}' is private and only accessible within class '{1}'."),An_index_expression_argument_must_be_of_type_string_number_symbol_or_any:t(2342,e.DiagnosticCategory.Error,"An_index_expression_argument_must_be_of_type_string_number_symbol_or_any_2342","An index expression argument must be of type 'string', 'number', 'symbol', or 'any'."),This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0:t(2343,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343","This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'."),Type_0_does_not_satisfy_the_constraint_1:t(2344,e.DiagnosticCategory.Error,"Type_0_does_not_satisfy_the_constraint_1_2344","Type '{0}' does not satisfy the constraint '{1}'."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:t(2345,e.DiagnosticCategory.Error,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345","Argument of type '{0}' is not assignable to parameter of type '{1}'."),Call_target_does_not_contain_any_signatures:t(2346,e.DiagnosticCategory.Error,"Call_target_does_not_contain_any_signatures_2346","Call target does not contain any signatures."),Untyped_function_calls_may_not_accept_type_arguments:t(2347,e.DiagnosticCategory.Error,"Untyped_function_calls_may_not_accept_type_arguments_2347","Untyped function calls may not accept type arguments."),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:t(2348,e.DiagnosticCategory.Error,"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348","Value of type '{0}' is not callable. Did you mean to include 'new'?"),This_expression_is_not_callable:t(2349,e.DiagnosticCategory.Error,"This_expression_is_not_callable_2349","This expression is not callable."),Only_a_void_function_can_be_called_with_the_new_keyword:t(2350,e.DiagnosticCategory.Error,"Only_a_void_function_can_be_called_with_the_new_keyword_2350","Only a void function can be called with the 'new' keyword."),This_expression_is_not_constructable:t(2351,e.DiagnosticCategory.Error,"This_expression_is_not_constructable_2351","This expression is not constructable."),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:t(2352,e.DiagnosticCategory.Error,"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352","Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first."),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:t(2353,e.DiagnosticCategory.Error,"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353","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:t(2354,e.DiagnosticCategory.Error,"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354","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:t(2355,e.DiagnosticCategory.Error,"A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value_2355","A function whose declared type is neither 'void' nor 'any' must return a value."),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:t(2356,e.DiagnosticCategory.Error,"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356","An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type."),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:t(2357,e.DiagnosticCategory.Error,"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357","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:t(2358,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358","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:t(2359,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_F_2359","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:t(2360,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_in_expression_must_be_of_type_any_string_number_or_symbol_2360","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:t(2361,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter_2361","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_bigint_or_an_enum_type:t(2362,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362","The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:t(2363,e.DiagnosticCategory.Error,"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363","The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:t(2364,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364","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:t(2365,e.DiagnosticCategory.Error,"Operator_0_cannot_be_applied_to_types_1_and_2_2365","Operator '{0}' cannot be applied to types '{1}' and '{2}'."),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:t(2366,e.DiagnosticCategory.Error,"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366","Function lacks ending return statement and return type does not include 'undefined'."),This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap:t(2367,e.DiagnosticCategory.Error,"This_condition_will_always_return_0_since_the_types_1_and_2_have_no_overlap_2367","This condition will always return '{0}' since the types '{1}' and '{2}' have no overlap."),Type_parameter_name_cannot_be_0:t(2368,e.DiagnosticCategory.Error,"Type_parameter_name_cannot_be_0_2368","Type parameter name cannot be '{0}'."),A_parameter_property_is_only_allowed_in_a_constructor_implementation:t(2369,e.DiagnosticCategory.Error,"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369","A parameter property is only allowed in a constructor implementation."),A_rest_parameter_must_be_of_an_array_type:t(2370,e.DiagnosticCategory.Error,"A_rest_parameter_must_be_of_an_array_type_2370","A rest parameter must be of an array type."),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:t(2371,e.DiagnosticCategory.Error,"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371","A parameter initializer is only allowed in a function or constructor implementation."),Parameter_0_cannot_reference_itself:t(2372,e.DiagnosticCategory.Error,"Parameter_0_cannot_reference_itself_2372","Parameter '{0}' cannot reference itself."),Parameter_0_cannot_reference_identifier_1_declared_after_it:t(2373,e.DiagnosticCategory.Error,"Parameter_0_cannot_reference_identifier_1_declared_after_it_2373","Parameter '{0}' cannot reference identifier '{1}' declared after it."),Duplicate_string_index_signature:t(2374,e.DiagnosticCategory.Error,"Duplicate_string_index_signature_2374","Duplicate string index signature."),Duplicate_number_index_signature:t(2375,e.DiagnosticCategory.Error,"Duplicate_number_index_signature_2375","Duplicate number index signature."),A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_parameter_properties_or_private_identifiers:t(2376,e.DiagnosticCategory.Error,"A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_proper_2376","A 'super' call must be the first statement in the constructor when a class contains initialized properties, parameter properties, or private identifiers."),Constructors_for_derived_classes_must_contain_a_super_call:t(2377,e.DiagnosticCategory.Error,"Constructors_for_derived_classes_must_contain_a_super_call_2377","Constructors for derived classes must contain a 'super' call."),A_get_accessor_must_return_a_value:t(2378,e.DiagnosticCategory.Error,"A_get_accessor_must_return_a_value_2378","A 'get' accessor must return a value."),Getter_and_setter_accessors_do_not_agree_in_visibility:t(2379,e.DiagnosticCategory.Error,"Getter_and_setter_accessors_do_not_agree_in_visibility_2379","Getter and setter accessors do not agree in visibility."),get_and_set_accessor_must_have_the_same_type:t(2380,e.DiagnosticCategory.Error,"get_and_set_accessor_must_have_the_same_type_2380","'get' and 'set' accessor must have the same type."),A_signature_with_an_implementation_cannot_use_a_string_literal_type:t(2381,e.DiagnosticCategory.Error,"A_signature_with_an_implementation_cannot_use_a_string_literal_type_2381","A signature with an implementation cannot use a string literal type."),Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature:t(2382,e.DiagnosticCategory.Error,"Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature_2382","Specialized overload signature is not assignable to any non-specialized signature."),Overload_signatures_must_all_be_exported_or_non_exported:t(2383,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_exported_or_non_exported_2383","Overload signatures must all be exported or non-exported."),Overload_signatures_must_all_be_ambient_or_non_ambient:t(2384,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_ambient_or_non_ambient_2384","Overload signatures must all be ambient or non-ambient."),Overload_signatures_must_all_be_public_private_or_protected:t(2385,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_public_private_or_protected_2385","Overload signatures must all be public, private or protected."),Overload_signatures_must_all_be_optional_or_required:t(2386,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_optional_or_required_2386","Overload signatures must all be optional or required."),Function_overload_must_be_static:t(2387,e.DiagnosticCategory.Error,"Function_overload_must_be_static_2387","Function overload must be static."),Function_overload_must_not_be_static:t(2388,e.DiagnosticCategory.Error,"Function_overload_must_not_be_static_2388","Function overload must not be static."),Function_implementation_name_must_be_0:t(2389,e.DiagnosticCategory.Error,"Function_implementation_name_must_be_0_2389","Function implementation name must be '{0}'."),Constructor_implementation_is_missing:t(2390,e.DiagnosticCategory.Error,"Constructor_implementation_is_missing_2390","Constructor implementation is missing."),Function_implementation_is_missing_or_not_immediately_following_the_declaration:t(2391,e.DiagnosticCategory.Error,"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391","Function implementation is missing or not immediately following the declaration."),Multiple_constructor_implementations_are_not_allowed:t(2392,e.DiagnosticCategory.Error,"Multiple_constructor_implementations_are_not_allowed_2392","Multiple constructor implementations are not allowed."),Duplicate_function_implementation:t(2393,e.DiagnosticCategory.Error,"Duplicate_function_implementation_2393","Duplicate function implementation."),This_overload_signature_is_not_compatible_with_its_implementation_signature:t(2394,e.DiagnosticCategory.Error,"This_overload_signature_is_not_compatible_with_its_implementation_signature_2394","This overload signature is not compatible with its implementation signature."),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:t(2395,e.DiagnosticCategory.Error,"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395","Individual declarations in merged declaration '{0}' must be all exported or all local."),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:t(2396,e.DiagnosticCategory.Error,"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396","Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."),Declaration_name_conflicts_with_built_in_global_identifier_0:t(2397,e.DiagnosticCategory.Error,"Declaration_name_conflicts_with_built_in_global_identifier_0_2397","Declaration name conflicts with built-in global identifier '{0}'."),constructor_cannot_be_used_as_a_parameter_property_name:t(2398,e.DiagnosticCategory.Error,"constructor_cannot_be_used_as_a_parameter_property_name_2398","'constructor' cannot be used as a parameter property name."),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:t(2399,e.DiagnosticCategory.Error,"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399","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:t(2400,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400","Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."),Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference:t(2401,e.DiagnosticCategory.Error,"Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference_2401","Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference."),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:t(2402,e.DiagnosticCategory.Error,"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402","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:t(2403,e.DiagnosticCategory.Error,"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403","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:t(2404,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404","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:t(2405,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405","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:t(2406,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406","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_but_here_has_type_0:t(2407,e.DiagnosticCategory.Error,"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407","The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'."),Setters_cannot_return_a_value:t(2408,e.DiagnosticCategory.Error,"Setters_cannot_return_a_value_2408","Setters cannot return a value."),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:t(2409,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409","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:t(2410,e.DiagnosticCategory.Error,"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410","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:t(2411,e.DiagnosticCategory.Error,"Property_0_of_type_1_is_not_assignable_to_string_index_type_2_2411","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:t(2412,e.DiagnosticCategory.Error,"Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2_2412","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:t(2413,e.DiagnosticCategory.Error,"Numeric_index_type_0_is_not_assignable_to_string_index_type_1_2413","Numeric index type '{0}' is not assignable to string index type '{1}'."),Class_name_cannot_be_0:t(2414,e.DiagnosticCategory.Error,"Class_name_cannot_be_0_2414","Class name cannot be '{0}'."),Class_0_incorrectly_extends_base_class_1:t(2415,e.DiagnosticCategory.Error,"Class_0_incorrectly_extends_base_class_1_2415","Class '{0}' incorrectly extends base class '{1}'."),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:t(2416,e.DiagnosticCategory.Error,"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416","Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."),Class_static_side_0_incorrectly_extends_base_class_static_side_1:t(2417,e.DiagnosticCategory.Error,"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417","Class static side '{0}' incorrectly extends base class static side '{1}'."),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:t(2418,e.DiagnosticCategory.Error,"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418","Type of computed property's value is '{0}', which is not assignable to type '{1}'."),Class_0_incorrectly_implements_interface_1:t(2420,e.DiagnosticCategory.Error,"Class_0_incorrectly_implements_interface_1_2420","Class '{0}' incorrectly implements interface '{1}'."),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:t(2422,e.DiagnosticCategory.Error,"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422","A class can only implement an object type or intersection of object types with statically known members."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:t(2423,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:t(2425,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425","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:t(2426,e.DiagnosticCategory.Error,"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426","Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."),Interface_name_cannot_be_0:t(2427,e.DiagnosticCategory.Error,"Interface_name_cannot_be_0_2427","Interface name cannot be '{0}'."),All_declarations_of_0_must_have_identical_type_parameters:t(2428,e.DiagnosticCategory.Error,"All_declarations_of_0_must_have_identical_type_parameters_2428","All declarations of '{0}' must have identical type parameters."),Interface_0_incorrectly_extends_interface_1:t(2430,e.DiagnosticCategory.Error,"Interface_0_incorrectly_extends_interface_1_2430","Interface '{0}' incorrectly extends interface '{1}'."),Enum_name_cannot_be_0:t(2431,e.DiagnosticCategory.Error,"Enum_name_cannot_be_0_2431","Enum name cannot be '{0}'."),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:t(2432,e.DiagnosticCategory.Error,"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432","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:t(2433,e.DiagnosticCategory.Error,"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433","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:t(2434,e.DiagnosticCategory.Error,"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434","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:t(2435,e.DiagnosticCategory.Error,"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435","Ambient modules cannot be nested in other modules or namespaces."),Ambient_module_declaration_cannot_specify_relative_module_name:t(2436,e.DiagnosticCategory.Error,"Ambient_module_declaration_cannot_specify_relative_module_name_2436","Ambient module declaration cannot specify relative module name."),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:t(2437,e.DiagnosticCategory.Error,"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437","Module '{0}' is hidden by a local declaration with the same name."),Import_name_cannot_be_0:t(2438,e.DiagnosticCategory.Error,"Import_name_cannot_be_0_2438","Import name cannot be '{0}'."),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:t(2439,e.DiagnosticCategory.Error,"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439","Import or export declaration in an ambient module declaration cannot reference module through relative module name."),Import_declaration_conflicts_with_local_declaration_of_0:t(2440,e.DiagnosticCategory.Error,"Import_declaration_conflicts_with_local_declaration_of_0_2440","Import declaration conflicts with local declaration of '{0}'."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:t(2441,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."),Types_have_separate_declarations_of_a_private_property_0:t(2442,e.DiagnosticCategory.Error,"Types_have_separate_declarations_of_a_private_property_0_2442","Types have separate declarations of a private property '{0}'."),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:t(2443,e.DiagnosticCategory.Error,"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443","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:t(2444,e.DiagnosticCategory.Error,"Property_0_is_protected_in_type_1_but_public_in_type_2_2444","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:t(2445,e.DiagnosticCategory.Error,"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445","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:t(2446,e.DiagnosticCategory.Error,"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_2446","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:t(2447,e.DiagnosticCategory.Error,"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447","The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."),Block_scoped_variable_0_used_before_its_declaration:t(2448,e.DiagnosticCategory.Error,"Block_scoped_variable_0_used_before_its_declaration_2448","Block-scoped variable '{0}' used before its declaration."),Class_0_used_before_its_declaration:t(2449,e.DiagnosticCategory.Error,"Class_0_used_before_its_declaration_2449","Class '{0}' used before its declaration."),Enum_0_used_before_its_declaration:t(2450,e.DiagnosticCategory.Error,"Enum_0_used_before_its_declaration_2450","Enum '{0}' used before its declaration."),Cannot_redeclare_block_scoped_variable_0:t(2451,e.DiagnosticCategory.Error,"Cannot_redeclare_block_scoped_variable_0_2451","Cannot redeclare block-scoped variable '{0}'."),An_enum_member_cannot_have_a_numeric_name:t(2452,e.DiagnosticCategory.Error,"An_enum_member_cannot_have_a_numeric_name_2452","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:t(2453,e.DiagnosticCategory.Error,"The_type_argument_for_type_parameter_0_cannot_be_inferred_from_the_usage_Consider_specifying_the_typ_2453","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:t(2454,e.DiagnosticCategory.Error,"Variable_0_is_used_before_being_assigned_2454","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:t(2455,e.DiagnosticCategory.Error,"Type_argument_candidate_1_is_not_a_valid_type_argument_because_it_is_not_a_supertype_of_candidate_0_2455","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:t(2456,e.DiagnosticCategory.Error,"Type_alias_0_circularly_references_itself_2456","Type alias '{0}' circularly references itself."),Type_alias_name_cannot_be_0:t(2457,e.DiagnosticCategory.Error,"Type_alias_name_cannot_be_0_2457","Type alias name cannot be '{0}'."),An_AMD_module_cannot_have_multiple_name_assignments:t(2458,e.DiagnosticCategory.Error,"An_AMD_module_cannot_have_multiple_name_assignments_2458","An AMD module cannot have multiple name assignments."),Module_0_declares_1_locally_but_it_is_not_exported:t(2459,e.DiagnosticCategory.Error,"Module_0_declares_1_locally_but_it_is_not_exported_2459","Module '{0}' declares '{1}' locally, but it is not exported."),Module_0_declares_1_locally_but_it_is_exported_as_2:t(2460,e.DiagnosticCategory.Error,"Module_0_declares_1_locally_but_it_is_exported_as_2_2460","Module '{0}' declares '{1}' locally, but it is exported as '{2}'."),Type_0_is_not_an_array_type:t(2461,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_2461","Type '{0}' is not an array type."),A_rest_element_must_be_last_in_a_destructuring_pattern:t(2462,e.DiagnosticCategory.Error,"A_rest_element_must_be_last_in_a_destructuring_pattern_2462","A rest element must be last in a destructuring pattern."),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:t(2463,e.DiagnosticCategory.Error,"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463","A binding pattern parameter cannot be optional in an implementation signature."),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:t(2464,e.DiagnosticCategory.Error,"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464","A computed property name must be of type 'string', 'number', 'symbol', or 'any'."),this_cannot_be_referenced_in_a_computed_property_name:t(2465,e.DiagnosticCategory.Error,"this_cannot_be_referenced_in_a_computed_property_name_2465","'this' cannot be referenced in a computed property name."),super_cannot_be_referenced_in_a_computed_property_name:t(2466,e.DiagnosticCategory.Error,"super_cannot_be_referenced_in_a_computed_property_name_2466","'super' cannot be referenced in a computed property name."),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:t(2467,e.DiagnosticCategory.Error,"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467","A computed property name cannot reference a type parameter from its containing type."),Cannot_find_global_value_0:t(2468,e.DiagnosticCategory.Error,"Cannot_find_global_value_0_2468","Cannot find global value '{0}'."),The_0_operator_cannot_be_applied_to_type_symbol:t(2469,e.DiagnosticCategory.Error,"The_0_operator_cannot_be_applied_to_type_symbol_2469","The '{0}' operator cannot be applied to type 'symbol'."),Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object:t(2470,e.DiagnosticCategory.Error,"Symbol_reference_does_not_refer_to_the_global_Symbol_constructor_object_2470","'Symbol' reference does not refer to the global Symbol constructor object."),A_computed_property_name_of_the_form_0_must_be_of_type_symbol:t(2471,e.DiagnosticCategory.Error,"A_computed_property_name_of_the_form_0_must_be_of_type_symbol_2471","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:t(2472,e.DiagnosticCategory.Error,"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472","Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."),Enum_declarations_must_all_be_const_or_non_const:t(2473,e.DiagnosticCategory.Error,"Enum_declarations_must_all_be_const_or_non_const_2473","Enum declarations must all be const or non-const."),const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values:t(2474,e.DiagnosticCategory.Error,"const_enum_member_initializers_can_only_contain_literal_values_and_other_computed_enum_values_2474","const enum member initializers can only contain literal values and other computed enum values."),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:t(2475,e.DiagnosticCategory.Error,"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475","'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query."),A_const_enum_member_can_only_be_accessed_using_a_string_literal:t(2476,e.DiagnosticCategory.Error,"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476","A const enum member can only be accessed using a string literal."),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:t(2477,e.DiagnosticCategory.Error,"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477","'const' enum member initializer was evaluated to a non-finite value."),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:t(2478,e.DiagnosticCategory.Error,"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478","'const' enum member initializer was evaluated to disallowed value 'NaN'."),Property_0_does_not_exist_on_const_enum_1:t(2479,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_const_enum_1_2479","Property '{0}' does not exist on 'const' enum '{1}'."),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:t(2480,e.DiagnosticCategory.Error,"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480","'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:t(2481,e.DiagnosticCategory.Error,"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481","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:t(2483,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483","The left-hand side of a 'for...of' statement cannot use a type annotation."),Export_declaration_conflicts_with_exported_declaration_of_0:t(2484,e.DiagnosticCategory.Error,"Export_declaration_conflicts_with_exported_declaration_of_0_2484","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:t(2487,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487","The left-hand side of a 'for...of' statement must be a variable or a property access."),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:t(2488,e.DiagnosticCategory.Error,"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488","Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator."),An_iterator_must_have_a_next_method:t(2489,e.DiagnosticCategory.Error,"An_iterator_must_have_a_next_method_2489","An iterator must have a 'next()' method."),The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property:t(2490,e.DiagnosticCategory.Error,"The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490","The type returned by the '{0}()' method of an iterator must have a 'value' property."),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:t(2491,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491","The left-hand side of a 'for...in' statement cannot be a destructuring pattern."),Cannot_redeclare_identifier_0_in_catch_clause:t(2492,e.DiagnosticCategory.Error,"Cannot_redeclare_identifier_0_in_catch_clause_2492","Cannot redeclare identifier '{0}' in catch clause."),Tuple_type_0_of_length_1_has_no_element_at_index_2:t(2493,e.DiagnosticCategory.Error,"Tuple_type_0_of_length_1_has_no_element_at_index_2_2493","Tuple type '{0}' of length '{1}' has no element at index '{2}'."),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:t(2494,e.DiagnosticCategory.Error,"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494","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:t(2495,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_2495","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:t(2496,e.DiagnosticCategory.Error,"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES3_and_ES5_Consider_using_a_stand_2496","The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression."),This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export:t(2497,e.DiagnosticCategory.Error,"This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497","This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export."),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:t(2498,e.DiagnosticCategory.Error,"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498","Module '{0}' uses 'export =' and cannot be used with 'export *'."),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:t(2499,e.DiagnosticCategory.Error,"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499","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:t(2500,e.DiagnosticCategory.Error,"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500","A class can only implement an identifier/qualified-name with optional type arguments."),A_rest_element_cannot_contain_a_binding_pattern:t(2501,e.DiagnosticCategory.Error,"A_rest_element_cannot_contain_a_binding_pattern_2501","A rest element cannot contain a binding pattern."),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:t(2502,e.DiagnosticCategory.Error,"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502","'{0}' is referenced directly or indirectly in its own type annotation."),Cannot_find_namespace_0:t(2503,e.DiagnosticCategory.Error,"Cannot_find_namespace_0_2503","Cannot find namespace '{0}'."),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:t(2504,e.DiagnosticCategory.Error,"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504","Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator."),A_generator_cannot_have_a_void_type_annotation:t(2505,e.DiagnosticCategory.Error,"A_generator_cannot_have_a_void_type_annotation_2505","A generator cannot have a 'void' type annotation."),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:t(2506,e.DiagnosticCategory.Error,"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506","'{0}' is referenced directly or indirectly in its own base expression."),Type_0_is_not_a_constructor_function_type:t(2507,e.DiagnosticCategory.Error,"Type_0_is_not_a_constructor_function_type_2507","Type '{0}' is not a constructor function type."),No_base_constructor_has_the_specified_number_of_type_arguments:t(2508,e.DiagnosticCategory.Error,"No_base_constructor_has_the_specified_number_of_type_arguments_2508","No base constructor has the specified number of type arguments."),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:t(2509,e.DiagnosticCategory.Error,"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509","Base constructor return type '{0}' is not an object type or intersection of object types with statically known members."),Base_constructors_must_all_have_the_same_return_type:t(2510,e.DiagnosticCategory.Error,"Base_constructors_must_all_have_the_same_return_type_2510","Base constructors must all have the same return type."),Cannot_create_an_instance_of_an_abstract_class:t(2511,e.DiagnosticCategory.Error,"Cannot_create_an_instance_of_an_abstract_class_2511","Cannot create an instance of an abstract class."),Overload_signatures_must_all_be_abstract_or_non_abstract:t(2512,e.DiagnosticCategory.Error,"Overload_signatures_must_all_be_abstract_or_non_abstract_2512","Overload signatures must all be abstract or non-abstract."),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:t(2513,e.DiagnosticCategory.Error,"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513","Abstract method '{0}' in class '{1}' cannot be accessed via super expression."),Classes_containing_abstract_methods_must_be_marked_abstract:t(2514,e.DiagnosticCategory.Error,"Classes_containing_abstract_methods_must_be_marked_abstract_2514","Classes containing abstract methods must be marked abstract."),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:t(2515,e.DiagnosticCategory.Error,"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515","Non-abstract class '{0}' does not implement inherited abstract member '{1}' from class '{2}'."),All_declarations_of_an_abstract_method_must_be_consecutive:t(2516,e.DiagnosticCategory.Error,"All_declarations_of_an_abstract_method_must_be_consecutive_2516","All declarations of an abstract method must be consecutive."),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:t(2517,e.DiagnosticCategory.Error,"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517","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:t(2518,e.DiagnosticCategory.Error,"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518","A 'this'-based type guard is not compatible with a parameter-based type guard."),An_async_iterator_must_have_a_next_method:t(2519,e.DiagnosticCategory.Error,"An_async_iterator_must_have_a_next_method_2519","An async iterator must have a 'next()' method."),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:t(2520,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520","Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."),Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions:t(2521,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_0_that_compiler_uses_to_support_async_functions_2521","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:t(2522,e.DiagnosticCategory.Error,"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES3_and_ES5_Consider_usi_2522","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:t(2523,e.DiagnosticCategory.Error,"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523","'yield' expressions cannot be used in a parameter initializer."),await_expressions_cannot_be_used_in_a_parameter_initializer:t(2524,e.DiagnosticCategory.Error,"await_expressions_cannot_be_used_in_a_parameter_initializer_2524","'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:t(2525,e.DiagnosticCategory.Error,"Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value_2525","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:t(2526,e.DiagnosticCategory.Error,"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526","A 'this' type is available only in a non-static member of a class or interface."),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:t(2527,e.DiagnosticCategory.Error,"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527","The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary."),A_module_cannot_have_multiple_default_exports:t(2528,e.DiagnosticCategory.Error,"A_module_cannot_have_multiple_default_exports_2528","A module cannot have multiple default exports."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:t(2529,e.DiagnosticCategory.Error,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."),Property_0_is_incompatible_with_index_signature:t(2530,e.DiagnosticCategory.Error,"Property_0_is_incompatible_with_index_signature_2530","Property '{0}' is incompatible with index signature."),Object_is_possibly_null:t(2531,e.DiagnosticCategory.Error,"Object_is_possibly_null_2531","Object is possibly 'null'."),Object_is_possibly_undefined:t(2532,e.DiagnosticCategory.Error,"Object_is_possibly_undefined_2532","Object is possibly 'undefined'."),Object_is_possibly_null_or_undefined:t(2533,e.DiagnosticCategory.Error,"Object_is_possibly_null_or_undefined_2533","Object is possibly 'null' or 'undefined'."),A_function_returning_never_cannot_have_a_reachable_end_point:t(2534,e.DiagnosticCategory.Error,"A_function_returning_never_cannot_have_a_reachable_end_point_2534","A function returning 'never' cannot have a reachable end point."),Enum_type_0_has_members_with_initializers_that_are_not_literals:t(2535,e.DiagnosticCategory.Error,"Enum_type_0_has_members_with_initializers_that_are_not_literals_2535","Enum type '{0}' has members with initializers that are not literals."),Type_0_cannot_be_used_to_index_type_1:t(2536,e.DiagnosticCategory.Error,"Type_0_cannot_be_used_to_index_type_1_2536","Type '{0}' cannot be used to index type '{1}'."),Type_0_has_no_matching_index_signature_for_type_1:t(2537,e.DiagnosticCategory.Error,"Type_0_has_no_matching_index_signature_for_type_1_2537","Type '{0}' has no matching index signature for type '{1}'."),Type_0_cannot_be_used_as_an_index_type:t(2538,e.DiagnosticCategory.Error,"Type_0_cannot_be_used_as_an_index_type_2538","Type '{0}' cannot be used as an index type."),Cannot_assign_to_0_because_it_is_not_a_variable:t(2539,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_not_a_variable_2539","Cannot assign to '{0}' because it is not a variable."),Cannot_assign_to_0_because_it_is_a_read_only_property:t(2540,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_read_only_property_2540","Cannot assign to '{0}' because it is a read-only property."),The_target_of_an_assignment_must_be_a_variable_or_a_property_access:t(2541,e.DiagnosticCategory.Error,"The_target_of_an_assignment_must_be_a_variable_or_a_property_access_2541","The target of an assignment must be a variable or a property access."),Index_signature_in_type_0_only_permits_reading:t(2542,e.DiagnosticCategory.Error,"Index_signature_in_type_0_only_permits_reading_2542","Index signature in type '{0}' only permits reading."),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:t(2543,e.DiagnosticCategory.Error,"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543","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:t(2544,e.DiagnosticCategory.Error,"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544","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:t(2545,e.DiagnosticCategory.Error,"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545","A mixin class must have a constructor with a single rest parameter of type 'any[]'."),The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:t(2547,e.DiagnosticCategory.Error,"The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547","The type returned by the '{0}()' 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:t(2548,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548","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:t(2549,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549","Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Property_0_does_not_exist_on_type_1_Did_you_mean_2:t(2551,e.DiagnosticCategory.Error,"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?"),Cannot_find_name_0_Did_you_mean_1:t(2552,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_1_2552","Cannot find name '{0}'. Did you mean '{1}'?"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:t(2553,e.DiagnosticCategory.Error,"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553","Computed values are not permitted in an enum with string valued members."),Expected_0_arguments_but_got_1:t(2554,e.DiagnosticCategory.Error,"Expected_0_arguments_but_got_1_2554","Expected {0} arguments, but got {1}."),Expected_at_least_0_arguments_but_got_1:t(2555,e.DiagnosticCategory.Error,"Expected_at_least_0_arguments_but_got_1_2555","Expected at least {0} arguments, but got {1}."),Expected_0_arguments_but_got_1_or_more:t(2556,e.DiagnosticCategory.Error,"Expected_0_arguments_but_got_1_or_more_2556","Expected {0} arguments, but got {1} or more."),Expected_at_least_0_arguments_but_got_1_or_more:t(2557,e.DiagnosticCategory.Error,"Expected_at_least_0_arguments_but_got_1_or_more_2557","Expected at least {0} arguments, but got {1} or more."),Expected_0_type_arguments_but_got_1:t(2558,e.DiagnosticCategory.Error,"Expected_0_type_arguments_but_got_1_2558","Expected {0} type arguments, but got {1}."),Type_0_has_no_properties_in_common_with_type_1:t(2559,e.DiagnosticCategory.Error,"Type_0_has_no_properties_in_common_with_type_1_2559","Type '{0}' has no properties in common with type '{1}'."),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:t(2560,e.DiagnosticCategory.Error,"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560","Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:t(2561,e.DiagnosticCategory.Error,"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561","Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?"),Base_class_expressions_cannot_reference_class_type_parameters:t(2562,e.DiagnosticCategory.Error,"Base_class_expressions_cannot_reference_class_type_parameters_2562","Base class expressions cannot reference class type parameters."),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:t(2563,e.DiagnosticCategory.Error,"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563","The containing function or module body is too large for control flow analysis."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:t(2564,e.DiagnosticCategory.Error,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564","Property '{0}' has no initializer and is not definitely assigned in the constructor."),Property_0_is_used_before_being_assigned:t(2565,e.DiagnosticCategory.Error,"Property_0_is_used_before_being_assigned_2565","Property '{0}' is used before being assigned."),A_rest_element_cannot_have_a_property_name:t(2566,e.DiagnosticCategory.Error,"A_rest_element_cannot_have_a_property_name_2566","A rest element cannot have a property name."),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:t(2567,e.DiagnosticCategory.Error,"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567","Enum declarations can only merge with namespace or other enum declarations."),Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterating_of_iterators:t(2569,e.DiagnosticCategory.Error,"Type_0_is_not_an_array_type_or_a_string_type_Use_compiler_option_downlevelIteration_to_allow_iterati_2569","Type '{0}' is not an array type or a string type. Use compiler option '--downlevelIteration' to allow iterating of iterators."),Object_is_of_type_unknown:t(2571,e.DiagnosticCategory.Error,"Object_is_of_type_unknown_2571","Object is of type 'unknown'."),Rest_signatures_are_incompatible:t(2572,e.DiagnosticCategory.Error,"Rest_signatures_are_incompatible_2572","Rest signatures are incompatible."),Property_0_is_incompatible_with_rest_element_type:t(2573,e.DiagnosticCategory.Error,"Property_0_is_incompatible_with_rest_element_type_2573","Property '{0}' is incompatible with rest element type."),A_rest_element_type_must_be_an_array_type:t(2574,e.DiagnosticCategory.Error,"A_rest_element_type_must_be_an_array_type_2574","A rest element type must be an array type."),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:t(2575,e.DiagnosticCategory.Error,"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575","No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments."),Property_0_is_a_static_member_of_type_1:t(2576,e.DiagnosticCategory.Error,"Property_0_is_a_static_member_of_type_1_2576","Property '{0}' is a static member of type '{1}'"),Return_type_annotation_circularly_references_itself:t(2577,e.DiagnosticCategory.Error,"Return_type_annotation_circularly_references_itself_2577","Return type annotation circularly references itself."),Unused_ts_expect_error_directive:t(2578,e.DiagnosticCategory.Error,"Unused_ts_expect_error_directive_2578","Unused '@ts-expect-error' directive."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_types_Slashnode:t(2580,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_types_Slashnode_2580","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i @types/node`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_types_Slashjquery:t(2581,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_types_Slashjquery_2581","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i @types/jquery`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_types_Slashjest_or_npm_i_types_Slashmocha:t(2582,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_types_Slashje_2582","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i @types/jest` or `npm i @types/mocha`."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:t(2583,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583","Cannot find name '{0}'. Do you need to change your target library? Try changing the `lib` compiler option to es2015 or later."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:t(2584,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584","Cannot find name '{0}'. Do you need to change your target library? Try changing the `lib` compiler option to include 'dom'."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:t(2585,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585","'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the `lib` compiler option to es2015 or later."),Enum_type_0_circularly_references_itself:t(2586,e.DiagnosticCategory.Error,"Enum_type_0_circularly_references_itself_2586","Enum type '{0}' circularly references itself."),JSDoc_type_0_circularly_references_itself:t(2587,e.DiagnosticCategory.Error,"JSDoc_type_0_circularly_references_itself_2587","JSDoc type '{0}' circularly references itself."),Cannot_assign_to_0_because_it_is_a_constant:t(2588,e.DiagnosticCategory.Error,"Cannot_assign_to_0_because_it_is_a_constant_2588","Cannot assign to '{0}' because it is a constant."),Type_instantiation_is_excessively_deep_and_possibly_infinite:t(2589,e.DiagnosticCategory.Error,"Type_instantiation_is_excessively_deep_and_possibly_infinite_2589","Type instantiation is excessively deep and possibly infinite."),Expression_produces_a_union_type_that_is_too_complex_to_represent:t(2590,e.DiagnosticCategory.Error,"Expression_produces_a_union_type_that_is_too_complex_to_represent_2590","Expression produces a union type that is too complex to represent."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:t(2591,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_types_Slashnode_and_th_2591","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i @types/node` and then add `node` to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:t(2592,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_types_Slashjquery_an_2592","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i @types/jquery` and then add `jquery` to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_types_Slashjest_or_npm_i_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:t(2593,e.DiagnosticCategory.Error,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_types_Slashje_2593","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i @types/jest` or `npm i @types/mocha` and then add `jest` or `mocha` to the types field in your tsconfig."),This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag:t(2594,e.DiagnosticCategory.Error,"This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the__2594","This module is declared with using 'export =', and can only be used with a default import when using the '{0}' flag."),_0_can_only_be_imported_by_using_a_default_import:t(2595,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_a_default_import_2595","'{0}' can only be imported by using a default import."),_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:t(2596,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596","'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:t(2597,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597","'{0}' can only be imported by using a 'require' call or by using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:t(2598,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598","'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import."),JSX_element_attributes_type_0_may_not_be_a_union_type:t(2600,e.DiagnosticCategory.Error,"JSX_element_attributes_type_0_may_not_be_a_union_type_2600","JSX element attributes type '{0}' may not be a union type."),The_return_type_of_a_JSX_element_constructor_must_return_an_object_type:t(2601,e.DiagnosticCategory.Error,"The_return_type_of_a_JSX_element_constructor_must_return_an_object_type_2601","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:t(2602,e.DiagnosticCategory.Error,"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602","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:t(2603,e.DiagnosticCategory.Error,"Property_0_in_type_1_is_not_assignable_to_type_2_2603","Property '{0}' in type '{1}' is not assignable to type '{2}'."),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:t(2604,e.DiagnosticCategory.Error,"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604","JSX element type '{0}' does not have any construct or call signatures."),JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements:t(2605,e.DiagnosticCategory.Error,"JSX_element_type_0_is_not_a_constructor_function_for_JSX_elements_2605","JSX element type '{0}' is not a constructor function for JSX elements."),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:t(2606,e.DiagnosticCategory.Error,"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606","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:t(2607,e.DiagnosticCategory.Error,"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607","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:t(2608,e.DiagnosticCategory.Error,"The_global_type_JSX_0_may_not_have_more_than_one_property_2608","The global type 'JSX.{0}' may not have more than one property."),JSX_spread_child_must_be_an_array_type:t(2609,e.DiagnosticCategory.Error,"JSX_spread_child_must_be_an_array_type_2609","JSX spread child must be an array type."),_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:t(2610,e.DiagnosticCategory.Error,"_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610","'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property."),_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor:t(2611,e.DiagnosticCategory.Error,"_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611","'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor."),Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration:t(2612,e.DiagnosticCategory.Error,"Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612","Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration."),Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead:t(2613,e.DiagnosticCategory.Error,"Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613","Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?"),Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead:t(2614,e.DiagnosticCategory.Error,"Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614","Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?"),Type_of_property_0_circularly_references_itself_in_mapped_type_1:t(2615,e.DiagnosticCategory.Error,"Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615","Type of property '{0}' circularly references itself in mapped type '{1}'."),_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:t(2616,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616","'{0}' can only be imported by using 'import {1} = require({2})' or a default import."),_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:t(2617,e.DiagnosticCategory.Error,"_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617","'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import."),Source_has_0_element_s_but_target_requires_1:t(2618,e.DiagnosticCategory.Error,"Source_has_0_element_s_but_target_requires_1_2618","Source has {0} element(s) but target requires {1}."),Source_has_0_element_s_but_target_allows_only_1:t(2619,e.DiagnosticCategory.Error,"Source_has_0_element_s_but_target_allows_only_1_2619","Source has {0} element(s) but target allows only {1}."),Target_requires_0_element_s_but_source_may_have_fewer:t(2620,e.DiagnosticCategory.Error,"Target_requires_0_element_s_but_source_may_have_fewer_2620","Target requires {0} element(s) but source may have fewer."),Target_allows_only_0_element_s_but_source_may_have_more:t(2621,e.DiagnosticCategory.Error,"Target_allows_only_0_element_s_but_source_may_have_more_2621","Target allows only {0} element(s) but source may have more."),Element_at_index_0_is_variadic_in_one_type_but_not_in_the_other:t(2622,e.DiagnosticCategory.Error,"Element_at_index_0_is_variadic_in_one_type_but_not_in_the_other_2622","Element at index {0} is variadic in one type but not in the other."),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:t(2649,e.DiagnosticCategory.Error,"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649","Cannot augment module '{0}' with value exports because it resolves to a non-module entity."),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:t(2651,e.DiagnosticCategory.Error,"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651","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:t(2652,e.DiagnosticCategory.Error,"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652","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:t(2653,e.DiagnosticCategory.Error,"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653","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:t(2654,e.DiagnosticCategory.Error,"Exported_external_package_typings_file_cannot_contain_tripleslash_references_Please_contact_the_pack_2654","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:t(2656,e.DiagnosticCategory.Error,"Exported_external_package_typings_file_0_is_not_a_module_Please_contact_the_package_author_to_update_2656","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:t(2657,e.DiagnosticCategory.Error,"JSX_expressions_must_have_one_parent_element_2657","JSX expressions must have one parent element."),Type_0_provides_no_match_for_the_signature_1:t(2658,e.DiagnosticCategory.Error,"Type_0_provides_no_match_for_the_signature_1_2658","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:t(2659,e.DiagnosticCategory.Error,"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659","'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:t(2660,e.DiagnosticCategory.Error,"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660","'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:t(2661,e.DiagnosticCategory.Error,"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661","Cannot export '{0}'. Only local declarations can be exported from a module."),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:t(2662,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662","Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:t(2663,e.DiagnosticCategory.Error,"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663","Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:t(2664,e.DiagnosticCategory.Error,"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664","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:t(2665,e.DiagnosticCategory.Error,"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665","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:t(2666,e.DiagnosticCategory.Error,"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666","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:t(2667,e.DiagnosticCategory.Error,"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667","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:t(2668,e.DiagnosticCategory.Error,"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668","'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:t(2669,e.DiagnosticCategory.Error,"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669","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:t(2670,e.DiagnosticCategory.Error,"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670","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:t(2671,e.DiagnosticCategory.Error,"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671","Cannot augment module '{0}' because it resolves to a non-module entity."),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:t(2672,e.DiagnosticCategory.Error,"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672","Cannot assign a '{0}' constructor type to a '{1}' constructor type."),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:t(2673,e.DiagnosticCategory.Error,"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673","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:t(2674,e.DiagnosticCategory.Error,"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674","Constructor of class '{0}' is protected and only accessible within the class declaration."),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:t(2675,e.DiagnosticCategory.Error,"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675","Cannot extend a class '{0}'. Class constructor is marked as private."),Accessors_must_both_be_abstract_or_non_abstract:t(2676,e.DiagnosticCategory.Error,"Accessors_must_both_be_abstract_or_non_abstract_2676","Accessors must both be abstract or non-abstract."),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:t(2677,e.DiagnosticCategory.Error,"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677","A type predicate's type must be assignable to its parameter's type."),Type_0_is_not_comparable_to_type_1:t(2678,e.DiagnosticCategory.Error,"Type_0_is_not_comparable_to_type_1_2678","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:t(2679,e.DiagnosticCategory.Error,"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679","A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."),A_0_parameter_must_be_the_first_parameter:t(2680,e.DiagnosticCategory.Error,"A_0_parameter_must_be_the_first_parameter_2680","A '{0}' parameter must be the first parameter."),A_constructor_cannot_have_a_this_parameter:t(2681,e.DiagnosticCategory.Error,"A_constructor_cannot_have_a_this_parameter_2681","A constructor cannot have a 'this' parameter."),get_and_set_accessor_must_have_the_same_this_type:t(2682,e.DiagnosticCategory.Error,"get_and_set_accessor_must_have_the_same_this_type_2682","'get' and 'set' accessor must have the same 'this' type."),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:t(2683,e.DiagnosticCategory.Error,"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683","'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:t(2684,e.DiagnosticCategory.Error,"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684","The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."),The_this_types_of_each_signature_are_incompatible:t(2685,e.DiagnosticCategory.Error,"The_this_types_of_each_signature_are_incompatible_2685","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:t(2686,e.DiagnosticCategory.Error,"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686","'{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:t(2687,e.DiagnosticCategory.Error,"All_declarations_of_0_must_have_identical_modifiers_2687","All declarations of '{0}' must have identical modifiers."),Cannot_find_type_definition_file_for_0:t(2688,e.DiagnosticCategory.Error,"Cannot_find_type_definition_file_for_0_2688","Cannot find type definition file for '{0}'."),Cannot_extend_an_interface_0_Did_you_mean_implements:t(2689,e.DiagnosticCategory.Error,"Cannot_extend_an_interface_0_Did_you_mean_implements_2689","Cannot extend an interface '{0}'. Did you mean 'implements'?"),An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead:t(2691,e.DiagnosticCategory.Error,"An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead_2691","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:t(2692,e.DiagnosticCategory.Error,"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692","'{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:t(2693,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693","'{0}' only refers to a type, but is being used as a value here."),Namespace_0_has_no_exported_member_1:t(2694,e.DiagnosticCategory.Error,"Namespace_0_has_no_exported_member_1_2694","Namespace '{0}' has no exported member '{1}'."),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:t(2695,e.DiagnosticCategory.Error,"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695","Left side of comma operator is unused and has no side effects.",!0),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:t(2696,e.DiagnosticCategory.Error,"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696","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:t(2697,e.DiagnosticCategory.Error,"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697","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:t(2698,e.DiagnosticCategory.Error,"Spread_types_may_only_be_created_from_object_types_2698","Spread types may only be created from object types."),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:t(2699,e.DiagnosticCategory.Error,"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699","Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."),Rest_types_may_only_be_created_from_object_types:t(2700,e.DiagnosticCategory.Error,"Rest_types_may_only_be_created_from_object_types_2700","Rest types may only be created from object types."),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:t(2701,e.DiagnosticCategory.Error,"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701","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:t(2702,e.DiagnosticCategory.Error,"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702","'{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:t(2703,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_must_be_a_property_reference_2703","The operand of a 'delete' operator must be a property reference."),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:t(2704,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704","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:t(2705,e.DiagnosticCategory.Error,"An_async_function_or_method_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_de_2705","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:t(2706,e.DiagnosticCategory.Error,"Required_type_parameters_may_not_follow_optional_type_parameters_2706","Required type parameters may not follow optional type parameters."),Generic_type_0_requires_between_1_and_2_type_arguments:t(2707,e.DiagnosticCategory.Error,"Generic_type_0_requires_between_1_and_2_type_arguments_2707","Generic type '{0}' requires between {1} and {2} type arguments."),Cannot_use_namespace_0_as_a_value:t(2708,e.DiagnosticCategory.Error,"Cannot_use_namespace_0_as_a_value_2708","Cannot use namespace '{0}' as a value."),Cannot_use_namespace_0_as_a_type:t(2709,e.DiagnosticCategory.Error,"Cannot_use_namespace_0_as_a_type_2709","Cannot use namespace '{0}' as a type."),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:t(2710,e.DiagnosticCategory.Error,"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710","'{0}' are specified twice. The attribute named '{0}' will be overwritten."),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:t(2711,e.DiagnosticCategory.Error,"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711","A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your `--lib` option."),A_dynamic_import_call_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(2712,e.DiagnosticCategory.Error,"A_dynamic_import_call_in_ES5_SlashES3_requires_the_Promise_constructor_Make_sure_you_have_a_declarat_2712","A dynamic import call in ES5/ES3 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your `--lib` option."),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:t(2713,e.DiagnosticCategory.Error,"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713","Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}[\"{1}\"]'?"),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:t(2714,e.DiagnosticCategory.Error,"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714","The expression of an export assignment must be an identifier or qualified name in an ambient context."),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:t(2715,e.DiagnosticCategory.Error,"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715","Abstract property '{0}' in class '{1}' cannot be accessed in the constructor."),Type_parameter_0_has_a_circular_default:t(2716,e.DiagnosticCategory.Error,"Type_parameter_0_has_a_circular_default_2716","Type parameter '{0}' has a circular default."),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:t(2717,e.DiagnosticCategory.Error,"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717","Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'."),Duplicate_property_0:t(2718,e.DiagnosticCategory.Error,"Duplicate_property_0_2718","Duplicate property '{0}'."),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:t(2719,e.DiagnosticCategory.Error,"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719","Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:t(2720,e.DiagnosticCategory.Error,"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720","Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?"),Cannot_invoke_an_object_which_is_possibly_null:t(2721,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_null_2721","Cannot invoke an object which is possibly 'null'."),Cannot_invoke_an_object_which_is_possibly_undefined:t(2722,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_undefined_2722","Cannot invoke an object which is possibly 'undefined'."),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:t(2723,e.DiagnosticCategory.Error,"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723","Cannot invoke an object which is possibly 'null' or 'undefined'."),Module_0_has_no_exported_member_1_Did_you_mean_2:t(2724,e.DiagnosticCategory.Error,"Module_0_has_no_exported_member_1_Did_you_mean_2_2724","Module '{0}' has no exported member '{1}'. Did you mean '{2}'?"),Class_name_cannot_be_Object_when_targeting_ES5_with_module_0:t(2725,e.DiagnosticCategory.Error,"Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725","Class name cannot be 'Object' when targeting ES5 with module {0}."),Cannot_find_lib_definition_for_0:t(2726,e.DiagnosticCategory.Error,"Cannot_find_lib_definition_for_0_2726","Cannot find lib definition for '{0}'."),Cannot_find_lib_definition_for_0_Did_you_mean_1:t(2727,e.DiagnosticCategory.Error,"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727","Cannot find lib definition for '{0}'. Did you mean '{1}'?"),_0_is_declared_here:t(2728,e.DiagnosticCategory.Message,"_0_is_declared_here_2728","'{0}' is declared here."),Property_0_is_used_before_its_initialization:t(2729,e.DiagnosticCategory.Error,"Property_0_is_used_before_its_initialization_2729","Property '{0}' is used before its initialization."),An_arrow_function_cannot_have_a_this_parameter:t(2730,e.DiagnosticCategory.Error,"An_arrow_function_cannot_have_a_this_parameter_2730","An arrow function cannot have a 'this' parameter."),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:t(2731,e.DiagnosticCategory.Error,"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731","Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'."),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:t(2732,e.DiagnosticCategory.Error,"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732","Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension"),Property_0_was_also_declared_here:t(2733,e.DiagnosticCategory.Error,"Property_0_was_also_declared_here_2733","Property '{0}' was also declared here."),Are_you_missing_a_semicolon:t(2734,e.DiagnosticCategory.Error,"Are_you_missing_a_semicolon_2734","Are you missing a semicolon?"),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:t(2735,e.DiagnosticCategory.Error,"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735","Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?"),Operator_0_cannot_be_applied_to_type_1:t(2736,e.DiagnosticCategory.Error,"Operator_0_cannot_be_applied_to_type_1_2736","Operator '{0}' cannot be applied to type '{1}'."),BigInt_literals_are_not_available_when_targeting_lower_than_ES2020:t(2737,e.DiagnosticCategory.Error,"BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737","BigInt literals are not available when targeting lower than ES2020."),An_outer_value_of_this_is_shadowed_by_this_container:t(2738,e.DiagnosticCategory.Message,"An_outer_value_of_this_is_shadowed_by_this_container_2738","An outer value of 'this' is shadowed by this container."),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:t(2739,e.DiagnosticCategory.Error,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739","Type '{0}' is missing the following properties from type '{1}': {2}"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:t(2740,e.DiagnosticCategory.Error,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740","Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more."),Property_0_is_missing_in_type_1_but_required_in_type_2:t(2741,e.DiagnosticCategory.Error,"Property_0_is_missing_in_type_1_but_required_in_type_2_2741","Property '{0}' is missing in type '{1}' but required in type '{2}'."),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:t(2742,e.DiagnosticCategory.Error,"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742","The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary."),No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments:t(2743,e.DiagnosticCategory.Error,"No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743","No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments."),Type_parameter_defaults_can_only_reference_previously_declared_type_parameters:t(2744,e.DiagnosticCategory.Error,"Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744","Type parameter defaults can only reference previously declared type parameters."),This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided:t(2745,e.DiagnosticCategory.Error,"This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745","This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided."),This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided:t(2746,e.DiagnosticCategory.Error,"This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746","This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided."),_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2:t(2747,e.DiagnosticCategory.Error,"_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747","'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'."),Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided:t(2748,e.DiagnosticCategory.Error,"Cannot_access_ambient_const_enums_when_the_isolatedModules_flag_is_provided_2748","Cannot access ambient const enums when the '--isolatedModules' flag is provided."),_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0:t(2749,e.DiagnosticCategory.Error,"_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749","'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?"),The_implementation_signature_is_declared_here:t(2750,e.DiagnosticCategory.Error,"The_implementation_signature_is_declared_here_2750","The implementation signature is declared here."),Circularity_originates_in_type_at_this_location:t(2751,e.DiagnosticCategory.Error,"Circularity_originates_in_type_at_this_location_2751","Circularity originates in type at this location."),The_first_export_default_is_here:t(2752,e.DiagnosticCategory.Error,"The_first_export_default_is_here_2752","The first export default is here."),Another_export_default_is_here:t(2753,e.DiagnosticCategory.Error,"Another_export_default_is_here_2753","Another export default is here."),super_may_not_use_type_arguments:t(2754,e.DiagnosticCategory.Error,"super_may_not_use_type_arguments_2754","'super' may not use type arguments."),No_constituent_of_type_0_is_callable:t(2755,e.DiagnosticCategory.Error,"No_constituent_of_type_0_is_callable_2755","No constituent of type '{0}' is callable."),Not_all_constituents_of_type_0_are_callable:t(2756,e.DiagnosticCategory.Error,"Not_all_constituents_of_type_0_are_callable_2756","Not all constituents of type '{0}' are callable."),Type_0_has_no_call_signatures:t(2757,e.DiagnosticCategory.Error,"Type_0_has_no_call_signatures_2757","Type '{0}' has no call signatures."),Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:t(2758,e.DiagnosticCategory.Error,"Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758","Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other."),No_constituent_of_type_0_is_constructable:t(2759,e.DiagnosticCategory.Error,"No_constituent_of_type_0_is_constructable_2759","No constituent of type '{0}' is constructable."),Not_all_constituents_of_type_0_are_constructable:t(2760,e.DiagnosticCategory.Error,"Not_all_constituents_of_type_0_are_constructable_2760","Not all constituents of type '{0}' are constructable."),Type_0_has_no_construct_signatures:t(2761,e.DiagnosticCategory.Error,"Type_0_has_no_construct_signatures_2761","Type '{0}' has no construct signatures."),Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other:t(2762,e.DiagnosticCategory.Error,"Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762","Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:t(2763,e.DiagnosticCategory.Error,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:t(2764,e.DiagnosticCategory.Error,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:t(2765,e.DiagnosticCategory.Error,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'."),Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:t(2766,e.DiagnosticCategory.Error,"Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766","Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'."),The_0_property_of_an_iterator_must_be_a_method:t(2767,e.DiagnosticCategory.Error,"The_0_property_of_an_iterator_must_be_a_method_2767","The '{0}' property of an iterator must be a method."),The_0_property_of_an_async_iterator_must_be_a_method:t(2768,e.DiagnosticCategory.Error,"The_0_property_of_an_async_iterator_must_be_a_method_2768","The '{0}' property of an async iterator must be a method."),No_overload_matches_this_call:t(2769,e.DiagnosticCategory.Error,"No_overload_matches_this_call_2769","No overload matches this call."),The_last_overload_gave_the_following_error:t(2770,e.DiagnosticCategory.Error,"The_last_overload_gave_the_following_error_2770","The last overload gave the following error."),The_last_overload_is_declared_here:t(2771,e.DiagnosticCategory.Error,"The_last_overload_is_declared_here_2771","The last overload is declared here."),Overload_0_of_1_2_gave_the_following_error:t(2772,e.DiagnosticCategory.Error,"Overload_0_of_1_2_gave_the_following_error_2772","Overload {0} of {1}, '{2}', gave the following error."),Did_you_forget_to_use_await:t(2773,e.DiagnosticCategory.Error,"Did_you_forget_to_use_await_2773","Did you forget to use 'await'?"),This_condition_will_always_return_true_since_the_function_is_always_defined_Did_you_mean_to_call_it_instead:t(2774,e.DiagnosticCategory.Error,"This_condition_will_always_return_true_since_the_function_is_always_defined_Did_you_mean_to_call_it__2774","This condition will always return true since the function is always defined. Did you mean to call it instead?"),Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation:t(2775,e.DiagnosticCategory.Error,"Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775","Assertions require every name in the call target to be declared with an explicit type annotation."),Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name:t(2776,e.DiagnosticCategory.Error,"Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776","Assertions require the call target to be an identifier or qualified name."),The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access:t(2777,e.DiagnosticCategory.Error,"The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777","The operand of an increment or decrement operator may not be an optional property access."),The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:t(2778,e.DiagnosticCategory.Error,"The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778","The target of an object rest assignment may not be an optional property access."),The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access:t(2779,e.DiagnosticCategory.Error,"The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779","The left-hand side of an assignment expression may not be an optional property access."),The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access:t(2780,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780","The left-hand side of a 'for...in' statement may not be an optional property access."),The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access:t(2781,e.DiagnosticCategory.Error,"The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781","The left-hand side of a 'for...of' statement may not be an optional property access."),_0_needs_an_explicit_type_annotation:t(2782,e.DiagnosticCategory.Message,"_0_needs_an_explicit_type_annotation_2782","'{0}' needs an explicit type annotation."),_0_is_specified_more_than_once_so_this_usage_will_be_overwritten:t(2783,e.DiagnosticCategory.Error,"_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783","'{0}' is specified more than once, so this usage will be overwritten."),get_and_set_accessors_cannot_declare_this_parameters:t(2784,e.DiagnosticCategory.Error,"get_and_set_accessors_cannot_declare_this_parameters_2784","'get' and 'set' accessors cannot declare 'this' parameters."),This_spread_always_overwrites_this_property:t(2785,e.DiagnosticCategory.Error,"This_spread_always_overwrites_this_property_2785","This spread always overwrites this property."),_0_cannot_be_used_as_a_JSX_component:t(2786,e.DiagnosticCategory.Error,"_0_cannot_be_used_as_a_JSX_component_2786","'{0}' cannot be used as a JSX component."),Its_return_type_0_is_not_a_valid_JSX_element:t(2787,e.DiagnosticCategory.Error,"Its_return_type_0_is_not_a_valid_JSX_element_2787","Its return type '{0}' is not a valid JSX element."),Its_instance_type_0_is_not_a_valid_JSX_element:t(2788,e.DiagnosticCategory.Error,"Its_instance_type_0_is_not_a_valid_JSX_element_2788","Its instance type '{0}' is not a valid JSX element."),Its_element_type_0_is_not_a_valid_JSX_element:t(2789,e.DiagnosticCategory.Error,"Its_element_type_0_is_not_a_valid_JSX_element_2789","Its element type '{0}' is not a valid JSX element."),The_operand_of_a_delete_operator_must_be_optional:t(2790,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_must_be_optional_2790","The operand of a 'delete' operator must be optional."),Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later:t(2791,e.DiagnosticCategory.Error,"Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791","Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later."),Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:t(2792,e.DiagnosticCategory.Error,"Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_th_2792","Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'node', or to add aliases to the 'paths' option?"),Import_declaration_0_is_using_private_name_1:t(4e3,e.DiagnosticCategory.Error,"Import_declaration_0_is_using_private_name_1_4000","Import declaration '{0}' is using private name '{1}'."),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:t(4002,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002","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:t(4004,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004","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:t(4006,e.DiagnosticCategory.Error,"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006","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:t(4008,e.DiagnosticCategory.Error,"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008","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:t(4010,e.DiagnosticCategory.Error,"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010","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:t(4012,e.DiagnosticCategory.Error,"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012","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:t(4014,e.DiagnosticCategory.Error,"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014","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:t(4016,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016","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:t(4019,e.DiagnosticCategory.Error,"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019","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:t(4020,e.DiagnosticCategory.Error,"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020","'extends' clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_has_or_is_using_private_name_0:t(4021,e.DiagnosticCategory.Error,"extends_clause_of_exported_class_has_or_is_using_private_name_0_4021","'extends' clause of exported class has or is using private name '{0}'."),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:t(4022,e.DiagnosticCategory.Error,"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022","'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:t(4023,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023","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:t(4024,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024","Exported variable '{0}' has or is using name '{1}' from private module '{2}'."),Exported_variable_0_has_or_is_using_private_name_1:t(4025,e.DiagnosticCategory.Error,"Exported_variable_0_has_or_is_using_private_name_1_4025","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:t(4026,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026","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:t(4027,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027","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:t(4028,e.DiagnosticCategory.Error,"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028","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:t(4029,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029","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:t(4030,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030","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:t(4031,e.DiagnosticCategory.Error,"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031","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:t(4032,e.DiagnosticCategory.Error,"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032","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:t(4033,e.DiagnosticCategory.Error,"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033","Property '{0}' of exported interface has or is using private name '{1}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4034,e.DiagnosticCategory.Error,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034","Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:t(4035,e.DiagnosticCategory.Error,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035","Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4036,e.DiagnosticCategory.Error,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036","Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:t(4037,e.DiagnosticCategory.Error,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037","Parameter type of public setter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4038,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038","Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4039,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039","Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:t(4040,e.DiagnosticCategory.Error,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040","Return type of public static getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4041,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041","Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:t(4042,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042","Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:t(4043,e.DiagnosticCategory.Error,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043","Return type of public getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:t(4044,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044","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:t(4045,e.DiagnosticCategory.Error,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045","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:t(4046,e.DiagnosticCategory.Error,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046","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:t(4047,e.DiagnosticCategory.Error,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047","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:t(4048,e.DiagnosticCategory.Error,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048","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:t(4049,e.DiagnosticCategory.Error,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049","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:t(4050,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050","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:t(4051,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051","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:t(4052,e.DiagnosticCategory.Error,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052","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:t(4053,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053","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:t(4054,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054","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:t(4055,e.DiagnosticCategory.Error,"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055","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:t(4056,e.DiagnosticCategory.Error,"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056","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:t(4057,e.DiagnosticCategory.Error,"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057","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:t(4058,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058","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:t(4059,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059","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:t(4060,e.DiagnosticCategory.Error,"Return_type_of_exported_function_has_or_is_using_private_name_0_4060","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:t(4061,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061","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:t(4062,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062","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:t(4063,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063","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:t(4064,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064","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:t(4065,e.DiagnosticCategory.Error,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065","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:t(4066,e.DiagnosticCategory.Error,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066","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:t(4067,e.DiagnosticCategory.Error,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067","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:t(4068,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068","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:t(4069,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069","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:t(4070,e.DiagnosticCategory.Error,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070","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:t(4071,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071","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:t(4072,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072","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:t(4073,e.DiagnosticCategory.Error,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073","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:t(4074,e.DiagnosticCategory.Error,"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074","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:t(4075,e.DiagnosticCategory.Error,"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075","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:t(4076,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076","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:t(4077,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077","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:t(4078,e.DiagnosticCategory.Error,"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078","Parameter '{0}' of exported function has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1:t(4081,e.DiagnosticCategory.Error,"Exported_type_alias_0_has_or_is_using_private_name_1_4081","Exported type alias '{0}' has or is using private name '{1}'."),Default_export_of_the_module_has_or_is_using_private_name_0:t(4082,e.DiagnosticCategory.Error,"Default_export_of_the_module_has_or_is_using_private_name_0_4082","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:t(4083,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083","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:t(4090,e.DiagnosticCategory.Error,"Conflicting_definitions_for_0_found_at_1_and_2_Consider_installing_a_specific_version_of_this_librar_4090","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:t(4091,e.DiagnosticCategory.Error,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091","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:t(4092,e.DiagnosticCategory.Error,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092","Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."),Property_0_of_exported_class_expression_may_not_be_private_or_protected:t(4094,e.DiagnosticCategory.Error,"Property_0_of_exported_class_expression_may_not_be_private_or_protected_4094","Property '{0}' of exported class expression may not be private or protected."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4095,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095","Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4096,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096","Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:t(4097,e.DiagnosticCategory.Error,"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097","Public static method '{0}' of exported class has or is using private name '{1}'."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4098,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098","Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:t(4099,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099","Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_method_0_of_exported_class_has_or_is_using_private_name_1:t(4100,e.DiagnosticCategory.Error,"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100","Public method '{0}' of exported class has or is using private name '{1}'."),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:t(4101,e.DiagnosticCategory.Error,"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101","Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Method_0_of_exported_interface_has_or_is_using_private_name_1:t(4102,e.DiagnosticCategory.Error,"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102","Method '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1:t(4103,e.DiagnosticCategory.Error,"Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103","Type parameter '{0}' of exported mapped object type is using private name '{1}'."),The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1:t(4104,e.DiagnosticCategory.Error,"The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104","The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'."),Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter:t(4105,e.DiagnosticCategory.Error,"Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105","Private or protected member '{0}' cannot be accessed on a type parameter."),Parameter_0_of_accessor_has_or_is_using_private_name_1:t(4106,e.DiagnosticCategory.Error,"Parameter_0_of_accessor_has_or_is_using_private_name_1_4106","Parameter '{0}' of accessor has or is using private name '{1}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:t(4107,e.DiagnosticCategory.Error,"Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107","Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:t(4108,e.DiagnosticCategory.Error,"Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108","Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named."),Type_arguments_for_0_circularly_reference_themselves:t(4109,e.DiagnosticCategory.Error,"Type_arguments_for_0_circularly_reference_themselves_4109","Type arguments for '{0}' circularly reference themselves."),Tuple_type_arguments_circularly_reference_themselves:t(4110,e.DiagnosticCategory.Error,"Tuple_type_arguments_circularly_reference_themselves_4110","Tuple type arguments circularly reference themselves."),The_current_host_does_not_support_the_0_option:t(5001,e.DiagnosticCategory.Error,"The_current_host_does_not_support_the_0_option_5001","The current host does not support the '{0}' option."),Cannot_find_the_common_subdirectory_path_for_the_input_files:t(5009,e.DiagnosticCategory.Error,"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009","Cannot find the common subdirectory path for the input files."),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:t(5010,e.DiagnosticCategory.Error,"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010","File specification cannot end in a recursive directory wildcard ('**'): '{0}'."),Cannot_read_file_0_Colon_1:t(5012,e.DiagnosticCategory.Error,"Cannot_read_file_0_Colon_1_5012","Cannot read file '{0}': {1}."),Failed_to_parse_file_0_Colon_1:t(5014,e.DiagnosticCategory.Error,"Failed_to_parse_file_0_Colon_1_5014","Failed to parse file '{0}': {1}."),Unknown_compiler_option_0:t(5023,e.DiagnosticCategory.Error,"Unknown_compiler_option_0_5023","Unknown compiler option '{0}'."),Compiler_option_0_requires_a_value_of_type_1:t(5024,e.DiagnosticCategory.Error,"Compiler_option_0_requires_a_value_of_type_1_5024","Compiler option '{0}' requires a value of type {1}."),Unknown_compiler_option_0_Did_you_mean_1:t(5025,e.DiagnosticCategory.Error,"Unknown_compiler_option_0_Did_you_mean_1_5025","Unknown compiler option '{0}'. Did you mean '{1}'?"),Could_not_write_file_0_Colon_1:t(5033,e.DiagnosticCategory.Error,"Could_not_write_file_0_Colon_1_5033","Could not write file '{0}': {1}."),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:t(5042,e.DiagnosticCategory.Error,"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042","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:t(5047,e.DiagnosticCategory.Error,"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047","Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."),Option_0_cannot_be_specified_when_option_target_is_ES3:t(5048,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_when_option_target_is_ES3_5048","Option '{0}' cannot be specified when option 'target' is 'ES3'."),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:t(5051,e.DiagnosticCategory.Error,"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051","Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."),Option_0_cannot_be_specified_without_specifying_option_1:t(5052,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_without_specifying_option_1_5052","Option '{0}' cannot be specified without specifying option '{1}'."),Option_0_cannot_be_specified_with_option_1:t(5053,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_with_option_1_5053","Option '{0}' cannot be specified with option '{1}'."),A_tsconfig_json_file_is_already_defined_at_Colon_0:t(5054,e.DiagnosticCategory.Error,"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054","A 'tsconfig.json' file is already defined at: '{0}'."),Cannot_write_file_0_because_it_would_overwrite_input_file:t(5055,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_would_overwrite_input_file_5055","Cannot write file '{0}' because it would overwrite input file."),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:t(5056,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056","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:t(5057,e.DiagnosticCategory.Error,"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057","Cannot find a tsconfig.json file at the specified directory: '{0}'."),The_specified_path_does_not_exist_Colon_0:t(5058,e.DiagnosticCategory.Error,"The_specified_path_does_not_exist_Colon_0_5058","The specified path does not exist: '{0}'."),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:t(5059,e.DiagnosticCategory.Error,"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059","Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."),Option_paths_cannot_be_used_without_specifying_baseUrl_option:t(5060,e.DiagnosticCategory.Error,"Option_paths_cannot_be_used_without_specifying_baseUrl_option_5060","Option 'paths' cannot be used without specifying '--baseUrl' option."),Pattern_0_can_have_at_most_one_Asterisk_character:t(5061,e.DiagnosticCategory.Error,"Pattern_0_can_have_at_most_one_Asterisk_character_5061","Pattern '{0}' can have at most one '*' character."),Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character:t(5062,e.DiagnosticCategory.Error,"Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062","Substitution '{0}' in pattern '{1}' can have at most one '*' character."),Substitutions_for_pattern_0_should_be_an_array:t(5063,e.DiagnosticCategory.Error,"Substitutions_for_pattern_0_should_be_an_array_5063","Substitutions for pattern '{0}' should be an array."),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:t(5064,e.DiagnosticCategory.Error,"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064","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:t(5065,e.DiagnosticCategory.Error,"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065","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:t(5066,e.DiagnosticCategory.Error,"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066","Substitutions for pattern '{0}' shouldn't be an empty array."),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:t(5067,e.DiagnosticCategory.Error,"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067","Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."),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:t(5068,e.DiagnosticCategory.Error,"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068","Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:t(5069,e.DiagnosticCategory.Error,"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069","Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'."),Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy:t(5070,e.DiagnosticCategory.Error,"Option_resolveJsonModule_cannot_be_specified_without_node_module_resolution_strategy_5070","Option '--resolveJsonModule' cannot be specified without 'node' module resolution strategy."),Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_esNext:t(5071,e.DiagnosticCategory.Error,"Option_resolveJsonModule_can_only_be_specified_when_module_code_generation_is_commonjs_amd_es2015_or_5071","Option '--resolveJsonModule' can only be specified when module code generation is 'commonjs', 'amd', 'es2015' or 'esNext'."),Unknown_build_option_0:t(5072,e.DiagnosticCategory.Error,"Unknown_build_option_0_5072","Unknown build option '{0}'."),Build_option_0_requires_a_value_of_type_1:t(5073,e.DiagnosticCategory.Error,"Build_option_0_requires_a_value_of_type_1_5073","Build option '{0}' requires a value of type {1}."),Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified:t(5074,e.DiagnosticCategory.Error,"Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074","Option '--incremental' can only be specified using tsconfig, emitting to single file or when option `--tsBuildInfoFile` is specified."),_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2:t(5075,e.DiagnosticCategory.Error,"_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075","'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'."),_0_and_1_operations_cannot_be_mixed_without_parentheses:t(5076,e.DiagnosticCategory.Error,"_0_and_1_operations_cannot_be_mixed_without_parentheses_5076","'{0}' and '{1}' operations cannot be mixed without parentheses."),Unknown_build_option_0_Did_you_mean_1:t(5077,e.DiagnosticCategory.Error,"Unknown_build_option_0_Did_you_mean_1_5077","Unknown build option '{0}'. Did you mean '{1}'?"),Unknown_watch_option_0:t(5078,e.DiagnosticCategory.Error,"Unknown_watch_option_0_5078","Unknown watch option '{0}'."),Unknown_watch_option_0_Did_you_mean_1:t(5079,e.DiagnosticCategory.Error,"Unknown_watch_option_0_Did_you_mean_1_5079","Unknown watch option '{0}'. Did you mean '{1}'?"),Watch_option_0_requires_a_value_of_type_1:t(5080,e.DiagnosticCategory.Error,"Watch_option_0_requires_a_value_of_type_1_5080","Watch option '{0}' requires a value of type {1}."),Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0:t(5081,e.DiagnosticCategory.Error,"Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081","Cannot find a tsconfig.json file at the current directory: {0}."),_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1:t(5082,e.DiagnosticCategory.Error,"_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082","'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'."),Cannot_read_file_0:t(5083,e.DiagnosticCategory.Error,"Cannot_read_file_0_5083","Cannot read file '{0}'."),Tuple_members_must_all_have_names_or_all_not_have_names:t(5084,e.DiagnosticCategory.Error,"Tuple_members_must_all_have_names_or_all_not_have_names_5084","Tuple members must all have names or all not have names."),A_tuple_member_cannot_be_both_optional_and_rest:t(5085,e.DiagnosticCategory.Error,"A_tuple_member_cannot_be_both_optional_and_rest_5085","A tuple member cannot be both optional and rest."),A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type:t(5086,e.DiagnosticCategory.Error,"A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086","A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type."),A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type:t(5087,e.DiagnosticCategory.Error,"A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087","A labeled tuple element is declared as rest with a `...` before the name, rather than before the type."),The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary:t(5088,e.DiagnosticCategory.Error,"The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088","The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary."),Generates_a_sourcemap_for_each_corresponding_d_ts_file:t(6e3,e.DiagnosticCategory.Message,"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000","Generates a sourcemap for each corresponding '.d.ts' file."),Concatenate_and_emit_output_to_single_file:t(6001,e.DiagnosticCategory.Message,"Concatenate_and_emit_output_to_single_file_6001","Concatenate and emit output to single file."),Generates_corresponding_d_ts_file:t(6002,e.DiagnosticCategory.Message,"Generates_corresponding_d_ts_file_6002","Generates corresponding '.d.ts' file."),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:t(6003,e.DiagnosticCategory.Message,"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6003","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:t(6004,e.DiagnosticCategory.Message,"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004","Specify the location where debugger should locate TypeScript files instead of source locations."),Watch_input_files:t(6005,e.DiagnosticCategory.Message,"Watch_input_files_6005","Watch input files."),Redirect_output_structure_to_the_directory:t(6006,e.DiagnosticCategory.Message,"Redirect_output_structure_to_the_directory_6006","Redirect output structure to the directory."),Do_not_erase_const_enum_declarations_in_generated_code:t(6007,e.DiagnosticCategory.Message,"Do_not_erase_const_enum_declarations_in_generated_code_6007","Do not erase const enum declarations in generated code."),Do_not_emit_outputs_if_any_errors_were_reported:t(6008,e.DiagnosticCategory.Message,"Do_not_emit_outputs_if_any_errors_were_reported_6008","Do not emit outputs if any errors were reported."),Do_not_emit_comments_to_output:t(6009,e.DiagnosticCategory.Message,"Do_not_emit_comments_to_output_6009","Do not emit comments to output."),Do_not_emit_outputs:t(6010,e.DiagnosticCategory.Message,"Do_not_emit_outputs_6010","Do not emit outputs."),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:t(6011,e.DiagnosticCategory.Message,"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011","Allow default imports from modules with no default export. This does not affect code emit, just typechecking."),Skip_type_checking_of_declaration_files:t(6012,e.DiagnosticCategory.Message,"Skip_type_checking_of_declaration_files_6012","Skip type checking of declaration files."),Do_not_resolve_the_real_path_of_symlinks:t(6013,e.DiagnosticCategory.Message,"Do_not_resolve_the_real_path_of_symlinks_6013","Do not resolve the real path of symlinks."),Only_emit_d_ts_declaration_files:t(6014,e.DiagnosticCategory.Message,"Only_emit_d_ts_declaration_files_6014","Only emit '.d.ts' declaration files."),Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_ES2019_ES2020_or_ESNEXT:t(6015,e.DiagnosticCategory.Message,"Specify_ECMAScript_target_version_Colon_ES3_default_ES5_ES2015_ES2016_ES2017_ES2018_ES2019_ES2020_or_6015","Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'."),Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_es2020_or_ESNext:t(6016,e.DiagnosticCategory.Message,"Specify_module_code_generation_Colon_none_commonjs_amd_system_umd_es2015_es2020_or_ESNext_6016","Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'."),Print_this_message:t(6017,e.DiagnosticCategory.Message,"Print_this_message_6017","Print this message."),Print_the_compiler_s_version:t(6019,e.DiagnosticCategory.Message,"Print_the_compiler_s_version_6019","Print the compiler's version."),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:t(6020,e.DiagnosticCategory.Message,"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020","Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."),Syntax_Colon_0:t(6023,e.DiagnosticCategory.Message,"Syntax_Colon_0_6023","Syntax: {0}"),options:t(6024,e.DiagnosticCategory.Message,"options_6024","options"),file:t(6025,e.DiagnosticCategory.Message,"file_6025","file"),Examples_Colon_0:t(6026,e.DiagnosticCategory.Message,"Examples_Colon_0_6026","Examples: {0}"),Options_Colon:t(6027,e.DiagnosticCategory.Message,"Options_Colon_6027","Options:"),Version_0:t(6029,e.DiagnosticCategory.Message,"Version_0_6029","Version {0}"),Insert_command_line_options_and_files_from_a_file:t(6030,e.DiagnosticCategory.Message,"Insert_command_line_options_and_files_from_a_file_6030","Insert command line options and files from a file."),Starting_compilation_in_watch_mode:t(6031,e.DiagnosticCategory.Message,"Starting_compilation_in_watch_mode_6031","Starting compilation in watch mode..."),File_change_detected_Starting_incremental_compilation:t(6032,e.DiagnosticCategory.Message,"File_change_detected_Starting_incremental_compilation_6032","File change detected. Starting incremental compilation..."),KIND:t(6034,e.DiagnosticCategory.Message,"KIND_6034","KIND"),FILE:t(6035,e.DiagnosticCategory.Message,"FILE_6035","FILE"),VERSION:t(6036,e.DiagnosticCategory.Message,"VERSION_6036","VERSION"),LOCATION:t(6037,e.DiagnosticCategory.Message,"LOCATION_6037","LOCATION"),DIRECTORY:t(6038,e.DiagnosticCategory.Message,"DIRECTORY_6038","DIRECTORY"),STRATEGY:t(6039,e.DiagnosticCategory.Message,"STRATEGY_6039","STRATEGY"),FILE_OR_DIRECTORY:t(6040,e.DiagnosticCategory.Message,"FILE_OR_DIRECTORY_6040","FILE OR DIRECTORY"),Generates_corresponding_map_file:t(6043,e.DiagnosticCategory.Message,"Generates_corresponding_map_file_6043","Generates corresponding '.map' file."),Compiler_option_0_expects_an_argument:t(6044,e.DiagnosticCategory.Error,"Compiler_option_0_expects_an_argument_6044","Compiler option '{0}' expects an argument."),Unterminated_quoted_string_in_response_file_0:t(6045,e.DiagnosticCategory.Error,"Unterminated_quoted_string_in_response_file_0_6045","Unterminated quoted string in response file '{0}'."),Argument_for_0_option_must_be_Colon_1:t(6046,e.DiagnosticCategory.Error,"Argument_for_0_option_must_be_Colon_1_6046","Argument for '{0}' option must be: {1}."),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:t(6048,e.DiagnosticCategory.Error,"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048","Locale must be of the form or -. For example '{0}' or '{1}'."),Unsupported_locale_0:t(6049,e.DiagnosticCategory.Error,"Unsupported_locale_0_6049","Unsupported locale '{0}'."),Unable_to_open_file_0:t(6050,e.DiagnosticCategory.Error,"Unable_to_open_file_0_6050","Unable to open file '{0}'."),Corrupted_locale_file_0:t(6051,e.DiagnosticCategory.Error,"Corrupted_locale_file_0_6051","Corrupted locale file {0}."),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:t(6052,e.DiagnosticCategory.Message,"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052","Raise error on expressions and declarations with an implied 'any' type."),File_0_not_found:t(6053,e.DiagnosticCategory.Error,"File_0_not_found_6053","File '{0}' not found."),File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1:t(6054,e.DiagnosticCategory.Error,"File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054","File '{0}' has an unsupported extension. The only supported extensions are {1}."),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:t(6055,e.DiagnosticCategory.Message,"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055","Suppress noImplicitAny errors for indexing objects lacking index signatures."),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:t(6056,e.DiagnosticCategory.Message,"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056","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:t(6058,e.DiagnosticCategory.Message,"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058","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:t(6059,e.DiagnosticCategory.Error,"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059","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:t(6060,e.DiagnosticCategory.Message,"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060","Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."),NEWLINE:t(6061,e.DiagnosticCategory.Message,"NEWLINE_6061","NEWLINE"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line:t(6064,e.DiagnosticCategory.Error,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line."),Enables_experimental_support_for_ES7_decorators:t(6065,e.DiagnosticCategory.Message,"Enables_experimental_support_for_ES7_decorators_6065","Enables experimental support for ES7 decorators."),Enables_experimental_support_for_emitting_type_metadata_for_decorators:t(6066,e.DiagnosticCategory.Message,"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066","Enables experimental support for emitting type metadata for decorators."),Enables_experimental_support_for_ES7_async_functions:t(6068,e.DiagnosticCategory.Message,"Enables_experimental_support_for_ES7_async_functions_6068","Enables experimental support for ES7 async functions."),Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6:t(6069,e.DiagnosticCategory.Message,"Specify_module_resolution_strategy_Colon_node_Node_js_or_classic_TypeScript_pre_1_6_6069","Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6)."),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:t(6070,e.DiagnosticCategory.Message,"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070","Initializes a TypeScript project and creates a tsconfig.json file."),Successfully_created_a_tsconfig_json_file:t(6071,e.DiagnosticCategory.Message,"Successfully_created_a_tsconfig_json_file_6071","Successfully created a tsconfig.json file."),Suppress_excess_property_checks_for_object_literals:t(6072,e.DiagnosticCategory.Message,"Suppress_excess_property_checks_for_object_literals_6072","Suppress excess property checks for object literals."),Stylize_errors_and_messages_using_color_and_context_experimental:t(6073,e.DiagnosticCategory.Message,"Stylize_errors_and_messages_using_color_and_context_experimental_6073","Stylize errors and messages using color and context (experimental)."),Do_not_report_errors_on_unused_labels:t(6074,e.DiagnosticCategory.Message,"Do_not_report_errors_on_unused_labels_6074","Do not report errors on unused labels."),Report_error_when_not_all_code_paths_in_function_return_a_value:t(6075,e.DiagnosticCategory.Message,"Report_error_when_not_all_code_paths_in_function_return_a_value_6075","Report error when not all code paths in function return a value."),Report_errors_for_fallthrough_cases_in_switch_statement:t(6076,e.DiagnosticCategory.Message,"Report_errors_for_fallthrough_cases_in_switch_statement_6076","Report errors for fallthrough cases in switch statement."),Do_not_report_errors_on_unreachable_code:t(6077,e.DiagnosticCategory.Message,"Do_not_report_errors_on_unreachable_code_6077","Do not report errors on unreachable code."),Disallow_inconsistently_cased_references_to_the_same_file:t(6078,e.DiagnosticCategory.Message,"Disallow_inconsistently_cased_references_to_the_same_file_6078","Disallow inconsistently-cased references to the same file."),Specify_library_files_to_be_included_in_the_compilation:t(6079,e.DiagnosticCategory.Message,"Specify_library_files_to_be_included_in_the_compilation_6079","Specify library files to be included in the compilation."),Specify_JSX_code_generation_Colon_preserve_react_native_or_react:t(6080,e.DiagnosticCategory.Message,"Specify_JSX_code_generation_Colon_preserve_react_native_or_react_6080","Specify JSX code generation: 'preserve', 'react-native', or 'react'."),File_0_has_an_unsupported_extension_so_skipping_it:t(6081,e.DiagnosticCategory.Message,"File_0_has_an_unsupported_extension_so_skipping_it_6081","File '{0}' has an unsupported extension, so skipping it."),Only_amd_and_system_modules_are_supported_alongside_0:t(6082,e.DiagnosticCategory.Error,"Only_amd_and_system_modules_are_supported_alongside_0_6082","Only 'amd' and 'system' modules are supported alongside --{0}."),Base_directory_to_resolve_non_absolute_module_names:t(6083,e.DiagnosticCategory.Message,"Base_directory_to_resolve_non_absolute_module_names_6083","Base directory to resolve non-absolute module names."),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:t(6084,e.DiagnosticCategory.Message,"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084","[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"),Enable_tracing_of_the_name_resolution_process:t(6085,e.DiagnosticCategory.Message,"Enable_tracing_of_the_name_resolution_process_6085","Enable tracing of the name resolution process."),Resolving_module_0_from_1:t(6086,e.DiagnosticCategory.Message,"Resolving_module_0_from_1_6086","======== Resolving module '{0}' from '{1}'. ========"),Explicitly_specified_module_resolution_kind_Colon_0:t(6087,e.DiagnosticCategory.Message,"Explicitly_specified_module_resolution_kind_Colon_0_6087","Explicitly specified module resolution kind: '{0}'."),Module_resolution_kind_is_not_specified_using_0:t(6088,e.DiagnosticCategory.Message,"Module_resolution_kind_is_not_specified_using_0_6088","Module resolution kind is not specified, using '{0}'."),Module_name_0_was_successfully_resolved_to_1:t(6089,e.DiagnosticCategory.Message,"Module_name_0_was_successfully_resolved_to_1_6089","======== Module name '{0}' was successfully resolved to '{1}'. ========"),Module_name_0_was_not_resolved:t(6090,e.DiagnosticCategory.Message,"Module_name_0_was_not_resolved_6090","======== Module name '{0}' was not resolved. ========"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:t(6091,e.DiagnosticCategory.Message,"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091","'paths' option is specified, looking for a pattern to match module name '{0}'."),Module_name_0_matched_pattern_1:t(6092,e.DiagnosticCategory.Message,"Module_name_0_matched_pattern_1_6092","Module name '{0}', matched pattern '{1}'."),Trying_substitution_0_candidate_module_location_Colon_1:t(6093,e.DiagnosticCategory.Message,"Trying_substitution_0_candidate_module_location_Colon_1_6093","Trying substitution '{0}', candidate module location: '{1}'."),Resolving_module_name_0_relative_to_base_url_1_2:t(6094,e.DiagnosticCategory.Message,"Resolving_module_name_0_relative_to_base_url_1_2_6094","Resolving module name '{0}' relative to base url '{1}' - '{2}'."),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1:t(6095,e.DiagnosticCategory.Message,"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_type_1_6095","Loading module as file / folder, candidate module location '{0}', target file type '{1}'."),File_0_does_not_exist:t(6096,e.DiagnosticCategory.Message,"File_0_does_not_exist_6096","File '{0}' does not exist."),File_0_exist_use_it_as_a_name_resolution_result:t(6097,e.DiagnosticCategory.Message,"File_0_exist_use_it_as_a_name_resolution_result_6097","File '{0}' exist - use it as a name resolution result."),Loading_module_0_from_node_modules_folder_target_file_type_1:t(6098,e.DiagnosticCategory.Message,"Loading_module_0_from_node_modules_folder_target_file_type_1_6098","Loading module '{0}' from 'node_modules' folder, target file type '{1}'."),Found_package_json_at_0:t(6099,e.DiagnosticCategory.Message,"Found_package_json_at_0_6099","Found 'package.json' at '{0}'."),package_json_does_not_have_a_0_field:t(6100,e.DiagnosticCategory.Message,"package_json_does_not_have_a_0_field_6100","'package.json' does not have a '{0}' field."),package_json_has_0_field_1_that_references_2:t(6101,e.DiagnosticCategory.Message,"package_json_has_0_field_1_that_references_2_6101","'package.json' has '{0}' field '{1}' that references '{2}'."),Allow_javascript_files_to_be_compiled:t(6102,e.DiagnosticCategory.Message,"Allow_javascript_files_to_be_compiled_6102","Allow javascript files to be compiled."),Option_0_should_have_array_of_strings_as_a_value:t(6103,e.DiagnosticCategory.Error,"Option_0_should_have_array_of_strings_as_a_value_6103","Option '{0}' should have array of strings as a value."),Checking_if_0_is_the_longest_matching_prefix_for_1_2:t(6104,e.DiagnosticCategory.Message,"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104","Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."),Expected_type_of_0_field_in_package_json_to_be_1_got_2:t(6105,e.DiagnosticCategory.Message,"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105","Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'."),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:t(6106,e.DiagnosticCategory.Message,"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106","'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:t(6107,e.DiagnosticCategory.Message,"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107","'rootDirs' option is set, using it to resolve relative module name '{0}'."),Longest_matching_prefix_for_0_is_1:t(6108,e.DiagnosticCategory.Message,"Longest_matching_prefix_for_0_is_1_6108","Longest matching prefix for '{0}' is '{1}'."),Loading_0_from_the_root_dir_1_candidate_location_2:t(6109,e.DiagnosticCategory.Message,"Loading_0_from_the_root_dir_1_candidate_location_2_6109","Loading '{0}' from the root dir '{1}', candidate location '{2}'."),Trying_other_entries_in_rootDirs:t(6110,e.DiagnosticCategory.Message,"Trying_other_entries_in_rootDirs_6110","Trying other entries in 'rootDirs'."),Module_resolution_using_rootDirs_has_failed:t(6111,e.DiagnosticCategory.Message,"Module_resolution_using_rootDirs_has_failed_6111","Module resolution using 'rootDirs' has failed."),Do_not_emit_use_strict_directives_in_module_output:t(6112,e.DiagnosticCategory.Message,"Do_not_emit_use_strict_directives_in_module_output_6112","Do not emit 'use strict' directives in module output."),Enable_strict_null_checks:t(6113,e.DiagnosticCategory.Message,"Enable_strict_null_checks_6113","Enable strict null checks."),Unknown_option_excludes_Did_you_mean_exclude:t(6114,e.DiagnosticCategory.Error,"Unknown_option_excludes_Did_you_mean_exclude_6114","Unknown option 'excludes'. Did you mean 'exclude'?"),Raise_error_on_this_expressions_with_an_implied_any_type:t(6115,e.DiagnosticCategory.Message,"Raise_error_on_this_expressions_with_an_implied_any_type_6115","Raise error on 'this' expressions with an implied 'any' type."),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:t(6116,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116","======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"),Resolving_using_primary_search_paths:t(6117,e.DiagnosticCategory.Message,"Resolving_using_primary_search_paths_6117","Resolving using primary search paths..."),Resolving_from_node_modules_folder:t(6118,e.DiagnosticCategory.Message,"Resolving_from_node_modules_folder_6118","Resolving from node_modules folder..."),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:t(6119,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119","======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"),Type_reference_directive_0_was_not_resolved:t(6120,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_not_resolved_6120","======== Type reference directive '{0}' was not resolved. ========"),Resolving_with_primary_search_path_0:t(6121,e.DiagnosticCategory.Message,"Resolving_with_primary_search_path_0_6121","Resolving with primary search path '{0}'."),Root_directory_cannot_be_determined_skipping_primary_search_paths:t(6122,e.DiagnosticCategory.Message,"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122","Root directory cannot be determined, skipping primary search paths."),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:t(6123,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123","======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"),Type_declaration_files_to_be_included_in_compilation:t(6124,e.DiagnosticCategory.Message,"Type_declaration_files_to_be_included_in_compilation_6124","Type declaration files to be included in compilation."),Looking_up_in_node_modules_folder_initial_location_0:t(6125,e.DiagnosticCategory.Message,"Looking_up_in_node_modules_folder_initial_location_0_6125","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:t(6126,e.DiagnosticCategory.Message,"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126","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:t(6127,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127","======== 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:t(6128,e.DiagnosticCategory.Message,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128","======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"),Resolving_real_path_for_0_result_1:t(6130,e.DiagnosticCategory.Message,"Resolving_real_path_for_0_result_1_6130","Resolving real path for '{0}', result '{1}'."),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:t(6131,e.DiagnosticCategory.Error,"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131","Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."),File_name_0_has_a_1_extension_stripping_it:t(6132,e.DiagnosticCategory.Message,"File_name_0_has_a_1_extension_stripping_it_6132","File name '{0}' has a '{1}' extension - stripping it."),_0_is_declared_but_its_value_is_never_read:t(6133,e.DiagnosticCategory.Error,"_0_is_declared_but_its_value_is_never_read_6133","'{0}' is declared but its value is never read.",!0),Report_errors_on_unused_locals:t(6134,e.DiagnosticCategory.Message,"Report_errors_on_unused_locals_6134","Report errors on unused locals."),Report_errors_on_unused_parameters:t(6135,e.DiagnosticCategory.Message,"Report_errors_on_unused_parameters_6135","Report errors on unused parameters."),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:t(6136,e.DiagnosticCategory.Message,"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136","The maximum dependency depth to search under node_modules and load JavaScript files."),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:t(6137,e.DiagnosticCategory.Error,"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137","Cannot import type declaration files. Consider importing '{0}' instead of '{1}'."),Property_0_is_declared_but_its_value_is_never_read:t(6138,e.DiagnosticCategory.Error,"Property_0_is_declared_but_its_value_is_never_read_6138","Property '{0}' is declared but its value is never read.",!0),Import_emit_helpers_from_tslib:t(6139,e.DiagnosticCategory.Message,"Import_emit_helpers_from_tslib_6139","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:t(6140,e.DiagnosticCategory.Error,"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140","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:t(6141,e.DiagnosticCategory.Message,"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",'Parse in strict mode and emit "use strict" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:t(6142,e.DiagnosticCategory.Error,"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142","Module '{0}' was resolved to '{1}', but '--jsx' is not set."),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:t(6144,e.DiagnosticCategory.Message,"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144","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:t(6145,e.DiagnosticCategory.Message,"Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified_6145","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:t(6146,e.DiagnosticCategory.Message,"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146","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_from_location_1:t(6147,e.DiagnosticCategory.Message,"Resolution_for_module_0_was_found_in_cache_from_location_1_6147","Resolution for module '{0}' was found in cache from location '{1}'."),Directory_0_does_not_exist_skipping_all_lookups_in_it:t(6148,e.DiagnosticCategory.Message,"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148","Directory '{0}' does not exist, skipping all lookups in it."),Show_diagnostic_information:t(6149,e.DiagnosticCategory.Message,"Show_diagnostic_information_6149","Show diagnostic information."),Show_verbose_diagnostic_information:t(6150,e.DiagnosticCategory.Message,"Show_verbose_diagnostic_information_6150","Show verbose diagnostic information."),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:t(6151,e.DiagnosticCategory.Message,"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151","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:t(6152,e.DiagnosticCategory.Message,"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152","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:t(6153,e.DiagnosticCategory.Message,"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153","Transpile each file as a separate module (similar to 'ts.transpileModule')."),Print_names_of_generated_files_part_of_the_compilation:t(6154,e.DiagnosticCategory.Message,"Print_names_of_generated_files_part_of_the_compilation_6154","Print names of generated files part of the compilation."),Print_names_of_files_part_of_the_compilation:t(6155,e.DiagnosticCategory.Message,"Print_names_of_files_part_of_the_compilation_6155","Print names of files part of the compilation."),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:t(6156,e.DiagnosticCategory.Message,"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156","The locale used when displaying messages to the user (e.g. 'en-us')"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:t(6157,e.DiagnosticCategory.Message,"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157","Do not generate custom helper functions like '__extends' in compiled output."),Do_not_include_the_default_library_file_lib_d_ts:t(6158,e.DiagnosticCategory.Message,"Do_not_include_the_default_library_file_lib_d_ts_6158","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:t(6159,e.DiagnosticCategory.Message,"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159","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:t(6160,e.DiagnosticCategory.Message,"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160","[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."),List_of_folders_to_include_type_definitions_from:t(6161,e.DiagnosticCategory.Message,"List_of_folders_to_include_type_definitions_from_6161","List of folders to include type definitions from."),Disable_size_limitations_on_JavaScript_projects:t(6162,e.DiagnosticCategory.Message,"Disable_size_limitations_on_JavaScript_projects_6162","Disable size limitations on JavaScript projects."),The_character_set_of_the_input_files:t(6163,e.DiagnosticCategory.Message,"The_character_set_of_the_input_files_6163","The character set of the input files."),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:t(6164,e.DiagnosticCategory.Message,"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6164","Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."),Do_not_truncate_error_messages:t(6165,e.DiagnosticCategory.Message,"Do_not_truncate_error_messages_6165","Do not truncate error messages."),Output_directory_for_generated_declaration_files:t(6166,e.DiagnosticCategory.Message,"Output_directory_for_generated_declaration_files_6166","Output directory for generated declaration files."),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:t(6167,e.DiagnosticCategory.Message,"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167","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:t(6168,e.DiagnosticCategory.Message,"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168","List of root folders whose combined content represents the structure of the project at runtime."),Show_all_compiler_options:t(6169,e.DiagnosticCategory.Message,"Show_all_compiler_options_6169","Show all compiler options."),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:t(6170,e.DiagnosticCategory.Message,"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170","[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"),Command_line_Options:t(6171,e.DiagnosticCategory.Message,"Command_line_Options_6171","Command-line Options"),Basic_Options:t(6172,e.DiagnosticCategory.Message,"Basic_Options_6172","Basic Options"),Strict_Type_Checking_Options:t(6173,e.DiagnosticCategory.Message,"Strict_Type_Checking_Options_6173","Strict Type-Checking Options"),Module_Resolution_Options:t(6174,e.DiagnosticCategory.Message,"Module_Resolution_Options_6174","Module Resolution Options"),Source_Map_Options:t(6175,e.DiagnosticCategory.Message,"Source_Map_Options_6175","Source Map Options"),Additional_Checks:t(6176,e.DiagnosticCategory.Message,"Additional_Checks_6176","Additional Checks"),Experimental_Options:t(6177,e.DiagnosticCategory.Message,"Experimental_Options_6177","Experimental Options"),Advanced_Options:t(6178,e.DiagnosticCategory.Message,"Advanced_Options_6178","Advanced Options"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3:t(6179,e.DiagnosticCategory.Message,"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_or_ES3_6179","Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'."),Enable_all_strict_type_checking_options:t(6180,e.DiagnosticCategory.Message,"Enable_all_strict_type_checking_options_6180","Enable all strict type-checking options."),List_of_language_service_plugins:t(6181,e.DiagnosticCategory.Message,"List_of_language_service_plugins_6181","List of language service plugins."),Scoped_package_detected_looking_in_0:t(6182,e.DiagnosticCategory.Message,"Scoped_package_detected_looking_in_0_6182","Scoped package detected, looking in '{0}'"),Reusing_resolution_of_module_0_to_file_1_from_old_program:t(6183,e.DiagnosticCategory.Message,"Reusing_resolution_of_module_0_to_file_1_from_old_program_6183","Reusing resolution of module '{0}' to file '{1}' from old program."),Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program:t(6184,e.DiagnosticCategory.Message,"Reusing_module_resolutions_originating_in_0_since_resolutions_are_unchanged_from_old_program_6184","Reusing module resolutions originating in '{0}' since resolutions are unchanged from old program."),Disable_strict_checking_of_generic_signatures_in_function_types:t(6185,e.DiagnosticCategory.Message,"Disable_strict_checking_of_generic_signatures_in_function_types_6185","Disable strict checking of generic signatures in function types."),Enable_strict_checking_of_function_types:t(6186,e.DiagnosticCategory.Message,"Enable_strict_checking_of_function_types_6186","Enable strict checking of function types."),Enable_strict_checking_of_property_initialization_in_classes:t(6187,e.DiagnosticCategory.Message,"Enable_strict_checking_of_property_initialization_in_classes_6187","Enable strict checking of property initialization in classes."),Numeric_separators_are_not_allowed_here:t(6188,e.DiagnosticCategory.Error,"Numeric_separators_are_not_allowed_here_6188","Numeric separators are not allowed here."),Multiple_consecutive_numeric_separators_are_not_permitted:t(6189,e.DiagnosticCategory.Error,"Multiple_consecutive_numeric_separators_are_not_permitted_6189","Multiple consecutive numeric separators are not permitted."),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:t(6191,e.DiagnosticCategory.Message,"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191","Whether to keep outdated console output in watch mode instead of clearing the screen."),All_imports_in_import_declaration_are_unused:t(6192,e.DiagnosticCategory.Error,"All_imports_in_import_declaration_are_unused_6192","All imports in import declaration are unused.",!0),Found_1_error_Watching_for_file_changes:t(6193,e.DiagnosticCategory.Message,"Found_1_error_Watching_for_file_changes_6193","Found 1 error. Watching for file changes."),Found_0_errors_Watching_for_file_changes:t(6194,e.DiagnosticCategory.Message,"Found_0_errors_Watching_for_file_changes_6194","Found {0} errors. Watching for file changes."),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:t(6195,e.DiagnosticCategory.Message,"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195","Resolve 'keyof' to string valued property names only (no numbers or symbols)."),_0_is_declared_but_never_used:t(6196,e.DiagnosticCategory.Error,"_0_is_declared_but_never_used_6196","'{0}' is declared but never used.",!0),Include_modules_imported_with_json_extension:t(6197,e.DiagnosticCategory.Message,"Include_modules_imported_with_json_extension_6197","Include modules imported with '.json' extension"),All_destructured_elements_are_unused:t(6198,e.DiagnosticCategory.Error,"All_destructured_elements_are_unused_6198","All destructured elements are unused.",!0),All_variables_are_unused:t(6199,e.DiagnosticCategory.Error,"All_variables_are_unused_6199","All variables are unused.",!0),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:t(6200,e.DiagnosticCategory.Error,"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200","Definitions of the following identifiers conflict with those in another file: {0}"),Conflicts_are_in_this_file:t(6201,e.DiagnosticCategory.Message,"Conflicts_are_in_this_file_6201","Conflicts are in this file."),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:t(6202,e.DiagnosticCategory.Error,"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202","Project references may not form a circular graph. Cycle detected: {0}"),_0_was_also_declared_here:t(6203,e.DiagnosticCategory.Message,"_0_was_also_declared_here_6203","'{0}' was also declared here."),and_here:t(6204,e.DiagnosticCategory.Message,"and_here_6204","and here."),All_type_parameters_are_unused:t(6205,e.DiagnosticCategory.Error,"All_type_parameters_are_unused_6205","All type parameters are unused"),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:t(6206,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206","'package.json' has a 'typesVersions' field with version-specific path mappings."),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:t(6207,e.DiagnosticCategory.Message,"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207","'package.json' does not have a 'typesVersions' entry that matches version '{0}'."),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:t(6208,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208","'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'."),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:t(6209,e.DiagnosticCategory.Message,"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209","'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range."),An_argument_for_0_was_not_provided:t(6210,e.DiagnosticCategory.Message,"An_argument_for_0_was_not_provided_6210","An argument for '{0}' was not provided."),An_argument_matching_this_binding_pattern_was_not_provided:t(6211,e.DiagnosticCategory.Message,"An_argument_matching_this_binding_pattern_was_not_provided_6211","An argument matching this binding pattern was not provided."),Did_you_mean_to_call_this_expression:t(6212,e.DiagnosticCategory.Message,"Did_you_mean_to_call_this_expression_6212","Did you mean to call this expression?"),Did_you_mean_to_use_new_with_this_expression:t(6213,e.DiagnosticCategory.Message,"Did_you_mean_to_use_new_with_this_expression_6213","Did you mean to use 'new' with this expression?"),Enable_strict_bind_call_and_apply_methods_on_functions:t(6214,e.DiagnosticCategory.Message,"Enable_strict_bind_call_and_apply_methods_on_functions_6214","Enable strict 'bind', 'call', and 'apply' methods on functions."),Using_compiler_options_of_project_reference_redirect_0:t(6215,e.DiagnosticCategory.Message,"Using_compiler_options_of_project_reference_redirect_0_6215","Using compiler options of project reference redirect '{0}'."),Found_1_error:t(6216,e.DiagnosticCategory.Message,"Found_1_error_6216","Found 1 error."),Found_0_errors:t(6217,e.DiagnosticCategory.Message,"Found_0_errors_6217","Found {0} errors."),Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2:t(6218,e.DiagnosticCategory.Message,"Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218","======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3:t(6219,e.DiagnosticCategory.Message,"Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219","======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========"),package_json_had_a_falsy_0_field:t(6220,e.DiagnosticCategory.Message,"package_json_had_a_falsy_0_field_6220","'package.json' had a falsy '{0}' field."),Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects:t(6221,e.DiagnosticCategory.Message,"Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221","Disable use of source files instead of declaration files from referenced projects."),Emit_class_fields_with_Define_instead_of_Set:t(6222,e.DiagnosticCategory.Message,"Emit_class_fields_with_Define_instead_of_Set_6222","Emit class fields with Define instead of Set."),Generates_a_CPU_profile:t(6223,e.DiagnosticCategory.Message,"Generates_a_CPU_profile_6223","Generates a CPU profile."),Disable_solution_searching_for_this_project:t(6224,e.DiagnosticCategory.Message,"Disable_solution_searching_for_this_project_6224","Disable solution searching for this project."),Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_UseFsEvents_UseFsEventsOnParentDirectory:t(6225,e.DiagnosticCategory.Message,"Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225","Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'."),Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling:t(6226,e.DiagnosticCategory.Message,"Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226","Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling'."),Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority:t(6227,e.DiagnosticCategory.Message,"Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227","Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority'."),Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively:t(6228,e.DiagnosticCategory.Message,"Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6228","Synchronously call callbacks and update the state of directory watchers on platforms that don't support recursive watching natively."),Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3:t(6229,e.DiagnosticCategory.Error,"Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229","Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'."),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line:t(6230,e.DiagnosticCategory.Error,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line."),Could_not_resolve_the_path_0_with_the_extensions_Colon_1:t(6231,e.DiagnosticCategory.Error,"Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231","Could not resolve the path '{0}' with the extensions: {1}."),Declaration_augments_declaration_in_another_file_This_cannot_be_serialized:t(6232,e.DiagnosticCategory.Error,"Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232","Declaration augments declaration in another file. This cannot be serialized."),This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file:t(6233,e.DiagnosticCategory.Error,"This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233","This is the declaration being augmented. Consider moving the augmenting declaration into the same file."),This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without:t(6234,e.DiagnosticCategory.Error,"This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234","This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?"),Disable_loading_referenced_projects:t(6235,e.DiagnosticCategory.Message,"Disable_loading_referenced_projects_6235","Disable loading referenced projects."),Arguments_for_the_rest_parameter_0_were_not_provided:t(6236,e.DiagnosticCategory.Error,"Arguments_for_the_rest_parameter_0_were_not_provided_6236","Arguments for the rest parameter '{0}' were not provided."),Projects_to_reference:t(6300,e.DiagnosticCategory.Message,"Projects_to_reference_6300","Projects to reference"),Enable_project_compilation:t(6302,e.DiagnosticCategory.Message,"Enable_project_compilation_6302","Enable project compilation"),Composite_projects_may_not_disable_declaration_emit:t(6304,e.DiagnosticCategory.Error,"Composite_projects_may_not_disable_declaration_emit_6304","Composite projects may not disable declaration emit."),Output_file_0_has_not_been_built_from_source_file_1:t(6305,e.DiagnosticCategory.Error,"Output_file_0_has_not_been_built_from_source_file_1_6305","Output file '{0}' has not been built from source file '{1}'."),Referenced_project_0_must_have_setting_composite_Colon_true:t(6306,e.DiagnosticCategory.Error,"Referenced_project_0_must_have_setting_composite_Colon_true_6306","Referenced project '{0}' must have setting \"composite\": true."),File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern:t(6307,e.DiagnosticCategory.Error,"File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307","File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern."),Cannot_prepend_project_0_because_it_does_not_have_outFile_set:t(6308,e.DiagnosticCategory.Error,"Cannot_prepend_project_0_because_it_does_not_have_outFile_set_6308","Cannot prepend project '{0}' because it does not have 'outFile' set"),Output_file_0_from_project_1_does_not_exist:t(6309,e.DiagnosticCategory.Error,"Output_file_0_from_project_1_does_not_exist_6309","Output file '{0}' from project '{1}' does not exist"),Referenced_project_0_may_not_disable_emit:t(6310,e.DiagnosticCategory.Error,"Referenced_project_0_may_not_disable_emit_6310","Referenced project '{0}' may not disable emit."),Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2:t(6350,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_oldest_output_1_is_older_than_newest_input_2_6350","Project '{0}' is out of date because oldest output '{1}' is older than newest input '{2}'"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2:t(6351,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_because_newest_input_1_is_older_than_oldest_output_2_6351","Project '{0}' is up to date because newest input '{1}' is older than oldest output '{2}'"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:t(6352,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352","Project '{0}' is out of date because output file '{1}' does not exist"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:t(6353,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353","Project '{0}' is out of date because its dependency '{1}' is out of date"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:t(6354,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354","Project '{0}' is up to date with .d.ts files from its dependencies"),Projects_in_this_build_Colon_0:t(6355,e.DiagnosticCategory.Message,"Projects_in_this_build_Colon_0_6355","Projects in this build: {0}"),A_non_dry_build_would_delete_the_following_files_Colon_0:t(6356,e.DiagnosticCategory.Message,"A_non_dry_build_would_delete_the_following_files_Colon_0_6356","A non-dry build would delete the following files: {0}"),A_non_dry_build_would_build_project_0:t(6357,e.DiagnosticCategory.Message,"A_non_dry_build_would_build_project_0_6357","A non-dry build would build project '{0}'"),Building_project_0:t(6358,e.DiagnosticCategory.Message,"Building_project_0_6358","Building project '{0}'..."),Updating_output_timestamps_of_project_0:t(6359,e.DiagnosticCategory.Message,"Updating_output_timestamps_of_project_0_6359","Updating output timestamps of project '{0}'..."),delete_this_Project_0_is_up_to_date_because_it_was_previously_built:t(6360,e.DiagnosticCategory.Message,"delete_this_Project_0_is_up_to_date_because_it_was_previously_built_6360","delete this - Project '{0}' is up to date because it was previously built"),Project_0_is_up_to_date:t(6361,e.DiagnosticCategory.Message,"Project_0_is_up_to_date_6361","Project '{0}' is up to date"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:t(6362,e.DiagnosticCategory.Message,"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362","Skipping build of project '{0}' because its dependency '{1}' has errors"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:t(6363,e.DiagnosticCategory.Message,"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363","Project '{0}' can't be built because its dependency '{1}' has errors"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:t(6364,e.DiagnosticCategory.Message,"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364","Build one or more projects and their dependencies, if out of date"),Delete_the_outputs_of_all_projects:t(6365,e.DiagnosticCategory.Message,"Delete_the_outputs_of_all_projects_6365","Delete the outputs of all projects"),Enable_verbose_logging:t(6366,e.DiagnosticCategory.Message,"Enable_verbose_logging_6366","Enable verbose logging"),Show_what_would_be_built_or_deleted_if_specified_with_clean:t(6367,e.DiagnosticCategory.Message,"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367","Show what would be built (or deleted, if specified with '--clean')"),Build_all_projects_including_those_that_appear_to_be_up_to_date:t(6368,e.DiagnosticCategory.Message,"Build_all_projects_including_those_that_appear_to_be_up_to_date_6368","Build all projects, including those that appear to be up to date"),Option_build_must_be_the_first_command_line_argument:t(6369,e.DiagnosticCategory.Error,"Option_build_must_be_the_first_command_line_argument_6369","Option '--build' must be the first command line argument."),Options_0_and_1_cannot_be_combined:t(6370,e.DiagnosticCategory.Error,"Options_0_and_1_cannot_be_combined_6370","Options '{0}' and '{1}' cannot be combined."),Updating_unchanged_output_timestamps_of_project_0:t(6371,e.DiagnosticCategory.Message,"Updating_unchanged_output_timestamps_of_project_0_6371","Updating unchanged output timestamps of project '{0}'..."),Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed:t(6372,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_output_of_its_dependency_1_has_changed_6372","Project '{0}' is out of date because output of its dependency '{1}' has changed"),Updating_output_of_project_0:t(6373,e.DiagnosticCategory.Message,"Updating_output_of_project_0_6373","Updating output of project '{0}'..."),A_non_dry_build_would_update_timestamps_for_output_of_project_0:t(6374,e.DiagnosticCategory.Message,"A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374","A non-dry build would update timestamps for output of project '{0}'"),A_non_dry_build_would_update_output_of_project_0:t(6375,e.DiagnosticCategory.Message,"A_non_dry_build_would_update_output_of_project_0_6375","A non-dry build would update output of project '{0}'"),Cannot_update_output_of_project_0_because_there_was_error_reading_file_1:t(6376,e.DiagnosticCategory.Message,"Cannot_update_output_of_project_0_because_there_was_error_reading_file_1_6376","Cannot update output of project '{0}' because there was error reading file '{1}'"),Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1:t(6377,e.DiagnosticCategory.Error,"Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377","Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'"),Enable_incremental_compilation:t(6378,e.DiagnosticCategory.Message,"Enable_incremental_compilation_6378","Enable incremental compilation"),Composite_projects_may_not_disable_incremental_compilation:t(6379,e.DiagnosticCategory.Error,"Composite_projects_may_not_disable_incremental_compilation_6379","Composite projects may not disable incremental compilation."),Specify_file_to_store_incremental_compilation_information:t(6380,e.DiagnosticCategory.Message,"Specify_file_to_store_incremental_compilation_information_6380","Specify file to store incremental compilation information"),Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2:t(6381,e.DiagnosticCategory.Message,"Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381","Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'"),Skipping_build_of_project_0_because_its_dependency_1_was_not_built:t(6382,e.DiagnosticCategory.Message,"Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382","Skipping build of project '{0}' because its dependency '{1}' was not built"),Project_0_can_t_be_built_because_its_dependency_1_was_not_built:t(6383,e.DiagnosticCategory.Message,"Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383","Project '{0}' can't be built because its dependency '{1}' was not built"),Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:t(6384,e.DiagnosticCategory.Message,"Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384","Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it."),_0_is_deprecated:t(6385,e.DiagnosticCategory.Suggestion,"_0_is_deprecated_6385","'{0}' is deprecated",void 0,void 0,!0),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:t(6500,e.DiagnosticCategory.Message,"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500","The expected type comes from property '{0}' which is declared here on type '{1}'"),The_expected_type_comes_from_this_index_signature:t(6501,e.DiagnosticCategory.Message,"The_expected_type_comes_from_this_index_signature_6501","The expected type comes from this index signature."),The_expected_type_comes_from_the_return_type_of_this_signature:t(6502,e.DiagnosticCategory.Message,"The_expected_type_comes_from_the_return_type_of_this_signature_6502","The expected type comes from the return type of this signature."),Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing:t(6503,e.DiagnosticCategory.Message,"Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503","Print names of files that are part of the compilation and then stop processing."),File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option:t(6504,e.DiagnosticCategory.Error,"File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504","File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?"),Variable_0_implicitly_has_an_1_type:t(7005,e.DiagnosticCategory.Error,"Variable_0_implicitly_has_an_1_type_7005","Variable '{0}' implicitly has an '{1}' type."),Parameter_0_implicitly_has_an_1_type:t(7006,e.DiagnosticCategory.Error,"Parameter_0_implicitly_has_an_1_type_7006","Parameter '{0}' implicitly has an '{1}' type."),Member_0_implicitly_has_an_1_type:t(7008,e.DiagnosticCategory.Error,"Member_0_implicitly_has_an_1_type_7008","Member '{0}' implicitly has an '{1}' type."),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:t(7009,e.DiagnosticCategory.Error,"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009","'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:t(7010,e.DiagnosticCategory.Error,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010","'{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:t(7011,e.DiagnosticCategory.Error,"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011","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:t(7013,e.DiagnosticCategory.Error,"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013","Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:t(7014,e.DiagnosticCategory.Error,"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014","Function type, which lacks return-type annotation, implicitly has an '{0}' return type."),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:t(7015,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015","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:t(7016,e.DiagnosticCategory.Error,"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016","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:t(7017,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017","Element implicitly has an 'any' type because type '{0}' has no index signature."),Object_literal_s_property_0_implicitly_has_an_1_type:t(7018,e.DiagnosticCategory.Error,"Object_literal_s_property_0_implicitly_has_an_1_type_7018","Object literal's property '{0}' implicitly has an '{1}' type."),Rest_parameter_0_implicitly_has_an_any_type:t(7019,e.DiagnosticCategory.Error,"Rest_parameter_0_implicitly_has_an_any_type_7019","Rest parameter '{0}' implicitly has an 'any[]' type."),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:t(7020,e.DiagnosticCategory.Error,"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020","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:t(7022,e.DiagnosticCategory.Error,"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022","'{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:t(7023,e.DiagnosticCategory.Error,"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023","'{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:t(7024,e.DiagnosticCategory.Error,"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024","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_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_return_type_annotation:t(7025,e.DiagnosticCategory.Error,"Generator_implicitly_has_yield_type_0_because_it_does_not_yield_any_values_Consider_supplying_a_retu_7025","Generator implicitly has yield type '{0}' because it does not yield any values. Consider supplying a return type annotation."),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:t(7026,e.DiagnosticCategory.Error,"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026","JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."),Unreachable_code_detected:t(7027,e.DiagnosticCategory.Error,"Unreachable_code_detected_7027","Unreachable code detected.",!0),Unused_label:t(7028,e.DiagnosticCategory.Error,"Unused_label_7028","Unused label.",!0),Fallthrough_case_in_switch:t(7029,e.DiagnosticCategory.Error,"Fallthrough_case_in_switch_7029","Fallthrough case in switch."),Not_all_code_paths_return_a_value:t(7030,e.DiagnosticCategory.Error,"Not_all_code_paths_return_a_value_7030","Not all code paths return a value."),Binding_element_0_implicitly_has_an_1_type:t(7031,e.DiagnosticCategory.Error,"Binding_element_0_implicitly_has_an_1_type_7031","Binding element '{0}' implicitly has an '{1}' type."),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:t(7032,e.DiagnosticCategory.Error,"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032","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:t(7033,e.DiagnosticCategory.Error,"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033","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:t(7034,e.DiagnosticCategory.Error,"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034","Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."),Try_npm_install_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:t(7035,e.DiagnosticCategory.Error,"Try_npm_install_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_mod_7035","Try `npm install @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:t(7036,e.DiagnosticCategory.Error,"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036","Dynamic import's specifier must be of type 'string', but here has type '{0}'."),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:t(7037,e.DiagnosticCategory.Message,"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037","Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'."),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:t(7038,e.DiagnosticCategory.Message,"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038","Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead."),Mapped_object_type_implicitly_has_an_any_template_type:t(7039,e.DiagnosticCategory.Error,"Mapped_object_type_implicitly_has_an_any_template_type_7039","Mapped object type implicitly has an 'any' template type."),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:t(7040,e.DiagnosticCategory.Error,"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040","If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}`"),The_containing_arrow_function_captures_the_global_value_of_this:t(7041,e.DiagnosticCategory.Error,"The_containing_arrow_function_captures_the_global_value_of_this_7041","The containing arrow function captures the global value of 'this'."),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:t(7042,e.DiagnosticCategory.Error,"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042","Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used."),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:t(7043,e.DiagnosticCategory.Suggestion,"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043","Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:t(7044,e.DiagnosticCategory.Suggestion,"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044","Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:t(7045,e.DiagnosticCategory.Suggestion,"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045","Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:t(7046,e.DiagnosticCategory.Suggestion,"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046","Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage."),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:t(7047,e.DiagnosticCategory.Suggestion,"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047","Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:t(7048,e.DiagnosticCategory.Suggestion,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048","Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:t(7049,e.DiagnosticCategory.Suggestion,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049","Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage."),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:t(7050,e.DiagnosticCategory.Suggestion,"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050","'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage."),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:t(7051,e.DiagnosticCategory.Error,"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051","Parameter has a name but no type. Did you mean '{0}: {1}'?"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1:t(7052,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052","Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?"),Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1:t(7053,e.DiagnosticCategory.Error,"Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053","Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'."),No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1:t(7054,e.DiagnosticCategory.Error,"No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054","No index signature with a parameter of type '{0}' was found on type '{1}'."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:t(7055,e.DiagnosticCategory.Error,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055","'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type."),You_cannot_rename_this_element:t(8e3,e.DiagnosticCategory.Error,"You_cannot_rename_this_element_8000","You cannot rename this element."),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:t(8001,e.DiagnosticCategory.Error,"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001","You cannot rename elements that are defined in the standard TypeScript library."),import_can_only_be_used_in_TypeScript_files:t(8002,e.DiagnosticCategory.Error,"import_can_only_be_used_in_TypeScript_files_8002","'import ... =' can only be used in TypeScript files."),export_can_only_be_used_in_TypeScript_files:t(8003,e.DiagnosticCategory.Error,"export_can_only_be_used_in_TypeScript_files_8003","'export =' can only be used in TypeScript files."),Type_parameter_declarations_can_only_be_used_in_TypeScript_files:t(8004,e.DiagnosticCategory.Error,"Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004","Type parameter declarations can only be used in TypeScript files."),implements_clauses_can_only_be_used_in_TypeScript_files:t(8005,e.DiagnosticCategory.Error,"implements_clauses_can_only_be_used_in_TypeScript_files_8005","'implements' clauses can only be used in TypeScript files."),_0_declarations_can_only_be_used_in_TypeScript_files:t(8006,e.DiagnosticCategory.Error,"_0_declarations_can_only_be_used_in_TypeScript_files_8006","'{0}' declarations can only be used in TypeScript files."),Type_aliases_can_only_be_used_in_TypeScript_files:t(8008,e.DiagnosticCategory.Error,"Type_aliases_can_only_be_used_in_TypeScript_files_8008","Type aliases can only be used in TypeScript files."),The_0_modifier_can_only_be_used_in_TypeScript_files:t(8009,e.DiagnosticCategory.Error,"The_0_modifier_can_only_be_used_in_TypeScript_files_8009","The '{0}' modifier can only be used in TypeScript files."),Type_annotations_can_only_be_used_in_TypeScript_files:t(8010,e.DiagnosticCategory.Error,"Type_annotations_can_only_be_used_in_TypeScript_files_8010","Type annotations can only be used in TypeScript files."),Type_arguments_can_only_be_used_in_TypeScript_files:t(8011,e.DiagnosticCategory.Error,"Type_arguments_can_only_be_used_in_TypeScript_files_8011","Type arguments can only be used in TypeScript files."),Parameter_modifiers_can_only_be_used_in_TypeScript_files:t(8012,e.DiagnosticCategory.Error,"Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012","Parameter modifiers can only be used in TypeScript files."),Non_null_assertions_can_only_be_used_in_TypeScript_files:t(8013,e.DiagnosticCategory.Error,"Non_null_assertions_can_only_be_used_in_TypeScript_files_8013","Non-null assertions can only be used in TypeScript files."),Type_assertion_expressions_can_only_be_used_in_TypeScript_files:t(8016,e.DiagnosticCategory.Error,"Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016","Type assertion expressions can only be used in TypeScript files."),Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0:t(8017,e.DiagnosticCategory.Error,"Octal_literal_types_must_use_ES2015_syntax_Use_the_syntax_0_8017","Octal literal types must use ES2015 syntax. Use the syntax '{0}'."),Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0:t(8018,e.DiagnosticCategory.Error,"Octal_literals_are_not_allowed_in_enums_members_initializer_Use_the_syntax_0_8018","Octal literals are not allowed in enums members initializer. Use the syntax '{0}'."),Report_errors_in_js_files:t(8019,e.DiagnosticCategory.Message,"Report_errors_in_js_files_8019","Report errors in .js files."),JSDoc_types_can_only_be_used_inside_documentation_comments:t(8020,e.DiagnosticCategory.Error,"JSDoc_types_can_only_be_used_inside_documentation_comments_8020","JSDoc types can only be used inside documentation comments."),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:t(8021,e.DiagnosticCategory.Error,"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021","JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."),JSDoc_0_is_not_attached_to_a_class:t(8022,e.DiagnosticCategory.Error,"JSDoc_0_is_not_attached_to_a_class_8022","JSDoc '@{0}' is not attached to a class."),JSDoc_0_1_does_not_match_the_extends_2_clause:t(8023,e.DiagnosticCategory.Error,"JSDoc_0_1_does_not_match_the_extends_2_clause_8023","JSDoc '@{0} {1}' does not match the 'extends {2}' clause."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:t(8024,e.DiagnosticCategory.Error,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024","JSDoc '@param' tag has name '{0}', but there is no parameter with that name."),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:t(8025,e.DiagnosticCategory.Error,"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025","Class declarations cannot have more than one `@augments` or `@extends` tag."),Expected_0_type_arguments_provide_these_with_an_extends_tag:t(8026,e.DiagnosticCategory.Error,"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026","Expected {0} type arguments; provide these with an '@extends' tag."),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:t(8027,e.DiagnosticCategory.Error,"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027","Expected {0}-{1} type arguments; provide these with an '@extends' tag."),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:t(8028,e.DiagnosticCategory.Error,"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028","JSDoc '...' may only appear in the last parameter of a signature."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:t(8029,e.DiagnosticCategory.Error,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029","JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type."),The_type_of_a_function_declaration_must_match_the_function_s_signature:t(8030,e.DiagnosticCategory.Error,"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030","The type of a function declaration must match the function's signature."),You_cannot_rename_a_module_via_a_global_import:t(8031,e.DiagnosticCategory.Error,"You_cannot_rename_a_module_via_a_global_import_8031","You cannot rename a module via a global import."),Qualified_name_0_is_not_allowed_without_a_leading_param_object_1:t(8032,e.DiagnosticCategory.Error,"Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032","Qualified name '{0}' is not allowed without a leading '@param {object} {1}'."),A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags:t(8033,e.DiagnosticCategory.Error,"A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033","A JSDoc '@typedef' comment may not contain multiple '@type' tags."),The_tag_was_first_specified_here:t(8034,e.DiagnosticCategory.Error,"The_tag_was_first_specified_here_8034","The tag was first specified here."),Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_class_extends_clause:t(9002,e.DiagnosticCategory.Error,"Only_identifiers_Slashqualified_names_with_optional_type_arguments_are_currently_supported_in_a_clas_9002","Only identifiers/qualified-names with optional type arguments are currently supported in a class 'extends' clause."),class_expressions_are_not_currently_supported:t(9003,e.DiagnosticCategory.Error,"class_expressions_are_not_currently_supported_9003","'class' expressions are not currently supported."),Language_service_is_disabled:t(9004,e.DiagnosticCategory.Error,"Language_service_is_disabled_9004","Language service is disabled."),Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit:t(9005,e.DiagnosticCategory.Error,"Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005","Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."),Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:t(9006,e.DiagnosticCategory.Error,"Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006","Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."),JSX_attributes_must_only_be_assigned_a_non_empty_expression:t(17e3,e.DiagnosticCategory.Error,"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000","JSX attributes must only be assigned a non-empty 'expression'."),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:t(17001,e.DiagnosticCategory.Error,"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001","JSX elements cannot have multiple attributes with the same name."),Expected_corresponding_JSX_closing_tag_for_0:t(17002,e.DiagnosticCategory.Error,"Expected_corresponding_JSX_closing_tag_for_0_17002","Expected corresponding JSX closing tag for '{0}'."),JSX_attribute_expected:t(17003,e.DiagnosticCategory.Error,"JSX_attribute_expected_17003","JSX attribute expected."),Cannot_use_JSX_unless_the_jsx_flag_is_provided:t(17004,e.DiagnosticCategory.Error,"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004","Cannot use JSX unless the '--jsx' flag is provided."),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:t(17005,e.DiagnosticCategory.Error,"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005","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:t(17006,e.DiagnosticCategory.Error,"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006","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:t(17007,e.DiagnosticCategory.Error,"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007","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:t(17008,e.DiagnosticCategory.Error,"JSX_element_0_has_no_corresponding_closing_tag_17008","JSX element '{0}' has no corresponding closing tag."),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:t(17009,e.DiagnosticCategory.Error,"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009","'super' must be called before accessing 'this' in the constructor of a derived class."),Unknown_type_acquisition_option_0:t(17010,e.DiagnosticCategory.Error,"Unknown_type_acquisition_option_0_17010","Unknown type acquisition option '{0}'."),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:t(17011,e.DiagnosticCategory.Error,"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011","'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:t(17012,e.DiagnosticCategory.Error,"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012","'{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:t(17013,e.DiagnosticCategory.Error,"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013","Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."),JSX_fragment_has_no_corresponding_closing_tag:t(17014,e.DiagnosticCategory.Error,"JSX_fragment_has_no_corresponding_closing_tag_17014","JSX fragment has no corresponding closing tag."),Expected_corresponding_closing_tag_for_JSX_fragment:t(17015,e.DiagnosticCategory.Error,"Expected_corresponding_closing_tag_for_JSX_fragment_17015","Expected corresponding closing tag for JSX fragment."),The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:t(17016,e.DiagnosticCategory.Error,"The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016","The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option."),An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments:t(17017,e.DiagnosticCategory.Error,"An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017","An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments."),Unknown_type_acquisition_option_0_Did_you_mean_1:t(17018,e.DiagnosticCategory.Error,"Unknown_type_acquisition_option_0_Did_you_mean_1_17018","Unknown type acquisition option '{0}'. Did you mean '{1}'?"),Circularity_detected_while_resolving_configuration_Colon_0:t(18e3,e.DiagnosticCategory.Error,"Circularity_detected_while_resolving_configuration_Colon_0_18000","Circularity detected while resolving configuration: {0}"),A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not:t(18001,e.DiagnosticCategory.Error,"A_path_in_an_extends_option_must_be_relative_or_rooted_but_0_is_not_18001","A path in an 'extends' option must be relative or rooted, but '{0}' is not."),The_files_list_in_config_file_0_is_empty:t(18002,e.DiagnosticCategory.Error,"The_files_list_in_config_file_0_is_empty_18002","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:t(18003,e.DiagnosticCategory.Error,"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003","No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module:t(80001,e.DiagnosticCategory.Suggestion,"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES6_module_80001","File is a CommonJS module; it may be converted to an ES6 module."),This_constructor_function_may_be_converted_to_a_class_declaration:t(80002,e.DiagnosticCategory.Suggestion,"This_constructor_function_may_be_converted_to_a_class_declaration_80002","This constructor function may be converted to a class declaration."),Import_may_be_converted_to_a_default_import:t(80003,e.DiagnosticCategory.Suggestion,"Import_may_be_converted_to_a_default_import_80003","Import may be converted to a default import."),JSDoc_types_may_be_moved_to_TypeScript_types:t(80004,e.DiagnosticCategory.Suggestion,"JSDoc_types_may_be_moved_to_TypeScript_types_80004","JSDoc types may be moved to TypeScript types."),require_call_may_be_converted_to_an_import:t(80005,e.DiagnosticCategory.Suggestion,"require_call_may_be_converted_to_an_import_80005","'require' call may be converted to an import."),This_may_be_converted_to_an_async_function:t(80006,e.DiagnosticCategory.Suggestion,"This_may_be_converted_to_an_async_function_80006","This may be converted to an async function."),await_has_no_effect_on_the_type_of_this_expression:t(80007,e.DiagnosticCategory.Suggestion,"await_has_no_effect_on_the_type_of_this_expression_80007","'await' has no effect on the type of this expression."),Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers:t(80008,e.DiagnosticCategory.Suggestion,"Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008","Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers."),Add_missing_super_call:t(90001,e.DiagnosticCategory.Message,"Add_missing_super_call_90001","Add missing 'super()' call"),Make_super_call_the_first_statement_in_the_constructor:t(90002,e.DiagnosticCategory.Message,"Make_super_call_the_first_statement_in_the_constructor_90002","Make 'super()' call the first statement in the constructor"),Change_extends_to_implements:t(90003,e.DiagnosticCategory.Message,"Change_extends_to_implements_90003","Change 'extends' to 'implements'"),Remove_unused_declaration_for_Colon_0:t(90004,e.DiagnosticCategory.Message,"Remove_unused_declaration_for_Colon_0_90004","Remove unused declaration for: '{0}'"),Remove_import_from_0:t(90005,e.DiagnosticCategory.Message,"Remove_import_from_0_90005","Remove import from '{0}'"),Implement_interface_0:t(90006,e.DiagnosticCategory.Message,"Implement_interface_0_90006","Implement interface '{0}'"),Implement_inherited_abstract_class:t(90007,e.DiagnosticCategory.Message,"Implement_inherited_abstract_class_90007","Implement inherited abstract class"),Add_0_to_unresolved_variable:t(90008,e.DiagnosticCategory.Message,"Add_0_to_unresolved_variable_90008","Add '{0}.' to unresolved variable"),Remove_variable_statement:t(90010,e.DiagnosticCategory.Message,"Remove_variable_statement_90010","Remove variable statement"),Remove_template_tag:t(90011,e.DiagnosticCategory.Message,"Remove_template_tag_90011","Remove template tag"),Remove_type_parameters:t(90012,e.DiagnosticCategory.Message,"Remove_type_parameters_90012","Remove type parameters"),Import_0_from_module_1:t(90013,e.DiagnosticCategory.Message,"Import_0_from_module_1_90013","Import '{0}' from module \"{1}\""),Change_0_to_1:t(90014,e.DiagnosticCategory.Message,"Change_0_to_1_90014","Change '{0}' to '{1}'"),Add_0_to_existing_import_declaration_from_1:t(90015,e.DiagnosticCategory.Message,"Add_0_to_existing_import_declaration_from_1_90015","Add '{0}' to existing import declaration from \"{1}\""),Declare_property_0:t(90016,e.DiagnosticCategory.Message,"Declare_property_0_90016","Declare property '{0}'"),Add_index_signature_for_property_0:t(90017,e.DiagnosticCategory.Message,"Add_index_signature_for_property_0_90017","Add index signature for property '{0}'"),Disable_checking_for_this_file:t(90018,e.DiagnosticCategory.Message,"Disable_checking_for_this_file_90018","Disable checking for this file"),Ignore_this_error_message:t(90019,e.DiagnosticCategory.Message,"Ignore_this_error_message_90019","Ignore this error message"),Initialize_property_0_in_the_constructor:t(90020,e.DiagnosticCategory.Message,"Initialize_property_0_in_the_constructor_90020","Initialize property '{0}' in the constructor"),Initialize_static_property_0:t(90021,e.DiagnosticCategory.Message,"Initialize_static_property_0_90021","Initialize static property '{0}'"),Change_spelling_to_0:t(90022,e.DiagnosticCategory.Message,"Change_spelling_to_0_90022","Change spelling to '{0}'"),Declare_method_0:t(90023,e.DiagnosticCategory.Message,"Declare_method_0_90023","Declare method '{0}'"),Declare_static_method_0:t(90024,e.DiagnosticCategory.Message,"Declare_static_method_0_90024","Declare static method '{0}'"),Prefix_0_with_an_underscore:t(90025,e.DiagnosticCategory.Message,"Prefix_0_with_an_underscore_90025","Prefix '{0}' with an underscore"),Rewrite_as_the_indexed_access_type_0:t(90026,e.DiagnosticCategory.Message,"Rewrite_as_the_indexed_access_type_0_90026","Rewrite as the indexed access type '{0}'"),Declare_static_property_0:t(90027,e.DiagnosticCategory.Message,"Declare_static_property_0_90027","Declare static property '{0}'"),Call_decorator_expression:t(90028,e.DiagnosticCategory.Message,"Call_decorator_expression_90028","Call decorator expression"),Add_async_modifier_to_containing_function:t(90029,e.DiagnosticCategory.Message,"Add_async_modifier_to_containing_function_90029","Add async modifier to containing function"),Replace_infer_0_with_unknown:t(90030,e.DiagnosticCategory.Message,"Replace_infer_0_with_unknown_90030","Replace 'infer {0}' with 'unknown'"),Replace_all_unused_infer_with_unknown:t(90031,e.DiagnosticCategory.Message,"Replace_all_unused_infer_with_unknown_90031","Replace all unused 'infer' with 'unknown'"),Import_default_0_from_module_1:t(90032,e.DiagnosticCategory.Message,"Import_default_0_from_module_1_90032","Import default '{0}' from module \"{1}\""),Add_default_import_0_to_existing_import_declaration_from_1:t(90033,e.DiagnosticCategory.Message,"Add_default_import_0_to_existing_import_declaration_from_1_90033","Add default import '{0}' to existing import declaration from \"{1}\""),Add_parameter_name:t(90034,e.DiagnosticCategory.Message,"Add_parameter_name_90034","Add parameter name"),Declare_private_property_0:t(90035,e.DiagnosticCategory.Message,"Declare_private_property_0_90035","Declare private property '{0}'"),Replace_0_with_Promise_1:t(90036,e.DiagnosticCategory.Message,"Replace_0_with_Promise_1_90036","Replace '{0}' with 'Promise<{1}>'"),Fix_all_incorrect_return_type_of_an_async_functions:t(90037,e.DiagnosticCategory.Message,"Fix_all_incorrect_return_type_of_an_async_functions_90037","Fix all incorrect return type of an async functions"),Declare_private_method_0:t(90038,e.DiagnosticCategory.Message,"Declare_private_method_0_90038","Declare private method '{0}'"),Remove_unused_destructuring_declaration:t(90039,e.DiagnosticCategory.Message,"Remove_unused_destructuring_declaration_90039","Remove unused destructuring declaration"),Remove_unused_declarations_for_Colon_0:t(90041,e.DiagnosticCategory.Message,"Remove_unused_declarations_for_Colon_0_90041","Remove unused declarations for: '{0}'"),Declare_a_private_field_named_0:t(90053,e.DiagnosticCategory.Message,"Declare_a_private_field_named_0_90053","Declare a private field named '{0}'."),Convert_function_to_an_ES2015_class:t(95001,e.DiagnosticCategory.Message,"Convert_function_to_an_ES2015_class_95001","Convert function to an ES2015 class"),Convert_function_0_to_class:t(95002,e.DiagnosticCategory.Message,"Convert_function_0_to_class_95002","Convert function '{0}' to class"),Extract_to_0_in_1:t(95004,e.DiagnosticCategory.Message,"Extract_to_0_in_1_95004","Extract to {0} in {1}"),Extract_function:t(95005,e.DiagnosticCategory.Message,"Extract_function_95005","Extract function"),Extract_constant:t(95006,e.DiagnosticCategory.Message,"Extract_constant_95006","Extract constant"),Extract_to_0_in_enclosing_scope:t(95007,e.DiagnosticCategory.Message,"Extract_to_0_in_enclosing_scope_95007","Extract to {0} in enclosing scope"),Extract_to_0_in_1_scope:t(95008,e.DiagnosticCategory.Message,"Extract_to_0_in_1_scope_95008","Extract to {0} in {1} scope"),Annotate_with_type_from_JSDoc:t(95009,e.DiagnosticCategory.Message,"Annotate_with_type_from_JSDoc_95009","Annotate with type from JSDoc"),Annotate_with_types_from_JSDoc:t(95010,e.DiagnosticCategory.Message,"Annotate_with_types_from_JSDoc_95010","Annotate with types from JSDoc"),Infer_type_of_0_from_usage:t(95011,e.DiagnosticCategory.Message,"Infer_type_of_0_from_usage_95011","Infer type of '{0}' from usage"),Infer_parameter_types_from_usage:t(95012,e.DiagnosticCategory.Message,"Infer_parameter_types_from_usage_95012","Infer parameter types from usage"),Convert_to_default_import:t(95013,e.DiagnosticCategory.Message,"Convert_to_default_import_95013","Convert to default import"),Install_0:t(95014,e.DiagnosticCategory.Message,"Install_0_95014","Install '{0}'"),Replace_import_with_0:t(95015,e.DiagnosticCategory.Message,"Replace_import_with_0_95015","Replace import with '{0}'."),Use_synthetic_default_member:t(95016,e.DiagnosticCategory.Message,"Use_synthetic_default_member_95016","Use synthetic 'default' member."),Convert_to_ES6_module:t(95017,e.DiagnosticCategory.Message,"Convert_to_ES6_module_95017","Convert to ES6 module"),Add_undefined_type_to_property_0:t(95018,e.DiagnosticCategory.Message,"Add_undefined_type_to_property_0_95018","Add 'undefined' type to property '{0}'"),Add_initializer_to_property_0:t(95019,e.DiagnosticCategory.Message,"Add_initializer_to_property_0_95019","Add initializer to property '{0}'"),Add_definite_assignment_assertion_to_property_0:t(95020,e.DiagnosticCategory.Message,"Add_definite_assignment_assertion_to_property_0_95020","Add definite assignment assertion to property '{0}'"),Add_all_missing_members:t(95022,e.DiagnosticCategory.Message,"Add_all_missing_members_95022","Add all missing members"),Infer_all_types_from_usage:t(95023,e.DiagnosticCategory.Message,"Infer_all_types_from_usage_95023","Infer all types from usage"),Delete_all_unused_declarations:t(95024,e.DiagnosticCategory.Message,"Delete_all_unused_declarations_95024","Delete all unused declarations"),Prefix_all_unused_declarations_with_where_possible:t(95025,e.DiagnosticCategory.Message,"Prefix_all_unused_declarations_with_where_possible_95025","Prefix all unused declarations with '_' where possible"),Fix_all_detected_spelling_errors:t(95026,e.DiagnosticCategory.Message,"Fix_all_detected_spelling_errors_95026","Fix all detected spelling errors"),Add_initializers_to_all_uninitialized_properties:t(95027,e.DiagnosticCategory.Message,"Add_initializers_to_all_uninitialized_properties_95027","Add initializers to all uninitialized properties"),Add_definite_assignment_assertions_to_all_uninitialized_properties:t(95028,e.DiagnosticCategory.Message,"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028","Add definite assignment assertions to all uninitialized properties"),Add_undefined_type_to_all_uninitialized_properties:t(95029,e.DiagnosticCategory.Message,"Add_undefined_type_to_all_uninitialized_properties_95029","Add undefined type to all uninitialized properties"),Change_all_jsdoc_style_types_to_TypeScript:t(95030,e.DiagnosticCategory.Message,"Change_all_jsdoc_style_types_to_TypeScript_95030","Change all jsdoc-style types to TypeScript"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:t(95031,e.DiagnosticCategory.Message,"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031","Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)"),Implement_all_unimplemented_interfaces:t(95032,e.DiagnosticCategory.Message,"Implement_all_unimplemented_interfaces_95032","Implement all unimplemented interfaces"),Install_all_missing_types_packages:t(95033,e.DiagnosticCategory.Message,"Install_all_missing_types_packages_95033","Install all missing types packages"),Rewrite_all_as_indexed_access_types:t(95034,e.DiagnosticCategory.Message,"Rewrite_all_as_indexed_access_types_95034","Rewrite all as indexed access types"),Convert_all_to_default_imports:t(95035,e.DiagnosticCategory.Message,"Convert_all_to_default_imports_95035","Convert all to default imports"),Make_all_super_calls_the_first_statement_in_their_constructor:t(95036,e.DiagnosticCategory.Message,"Make_all_super_calls_the_first_statement_in_their_constructor_95036","Make all 'super()' calls the first statement in their constructor"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:t(95037,e.DiagnosticCategory.Message,"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037","Add qualifier to all unresolved variables matching a member name"),Change_all_extended_interfaces_to_implements:t(95038,e.DiagnosticCategory.Message,"Change_all_extended_interfaces_to_implements_95038","Change all extended interfaces to 'implements'"),Add_all_missing_super_calls:t(95039,e.DiagnosticCategory.Message,"Add_all_missing_super_calls_95039","Add all missing super calls"),Implement_all_inherited_abstract_classes:t(95040,e.DiagnosticCategory.Message,"Implement_all_inherited_abstract_classes_95040","Implement all inherited abstract classes"),Add_all_missing_async_modifiers:t(95041,e.DiagnosticCategory.Message,"Add_all_missing_async_modifiers_95041","Add all missing 'async' modifiers"),Add_ts_ignore_to_all_error_messages:t(95042,e.DiagnosticCategory.Message,"Add_ts_ignore_to_all_error_messages_95042","Add '@ts-ignore' to all error messages"),Annotate_everything_with_types_from_JSDoc:t(95043,e.DiagnosticCategory.Message,"Annotate_everything_with_types_from_JSDoc_95043","Annotate everything with types from JSDoc"),Add_to_all_uncalled_decorators:t(95044,e.DiagnosticCategory.Message,"Add_to_all_uncalled_decorators_95044","Add '()' to all uncalled decorators"),Convert_all_constructor_functions_to_classes:t(95045,e.DiagnosticCategory.Message,"Convert_all_constructor_functions_to_classes_95045","Convert all constructor functions to classes"),Generate_get_and_set_accessors:t(95046,e.DiagnosticCategory.Message,"Generate_get_and_set_accessors_95046","Generate 'get' and 'set' accessors"),Convert_require_to_import:t(95047,e.DiagnosticCategory.Message,"Convert_require_to_import_95047","Convert 'require' to 'import'"),Convert_all_require_to_import:t(95048,e.DiagnosticCategory.Message,"Convert_all_require_to_import_95048","Convert all 'require' to 'import'"),Move_to_a_new_file:t(95049,e.DiagnosticCategory.Message,"Move_to_a_new_file_95049","Move to a new file"),Remove_unreachable_code:t(95050,e.DiagnosticCategory.Message,"Remove_unreachable_code_95050","Remove unreachable code"),Remove_all_unreachable_code:t(95051,e.DiagnosticCategory.Message,"Remove_all_unreachable_code_95051","Remove all unreachable code"),Add_missing_typeof:t(95052,e.DiagnosticCategory.Message,"Add_missing_typeof_95052","Add missing 'typeof'"),Remove_unused_label:t(95053,e.DiagnosticCategory.Message,"Remove_unused_label_95053","Remove unused label"),Remove_all_unused_labels:t(95054,e.DiagnosticCategory.Message,"Remove_all_unused_labels_95054","Remove all unused labels"),Convert_0_to_mapped_object_type:t(95055,e.DiagnosticCategory.Message,"Convert_0_to_mapped_object_type_95055","Convert '{0}' to mapped object type"),Convert_namespace_import_to_named_imports:t(95056,e.DiagnosticCategory.Message,"Convert_namespace_import_to_named_imports_95056","Convert namespace import to named imports"),Convert_named_imports_to_namespace_import:t(95057,e.DiagnosticCategory.Message,"Convert_named_imports_to_namespace_import_95057","Convert named imports to namespace import"),Add_or_remove_braces_in_an_arrow_function:t(95058,e.DiagnosticCategory.Message,"Add_or_remove_braces_in_an_arrow_function_95058","Add or remove braces in an arrow function"),Add_braces_to_arrow_function:t(95059,e.DiagnosticCategory.Message,"Add_braces_to_arrow_function_95059","Add braces to arrow function"),Remove_braces_from_arrow_function:t(95060,e.DiagnosticCategory.Message,"Remove_braces_from_arrow_function_95060","Remove braces from arrow function"),Convert_default_export_to_named_export:t(95061,e.DiagnosticCategory.Message,"Convert_default_export_to_named_export_95061","Convert default export to named export"),Convert_named_export_to_default_export:t(95062,e.DiagnosticCategory.Message,"Convert_named_export_to_default_export_95062","Convert named export to default export"),Add_missing_enum_member_0:t(95063,e.DiagnosticCategory.Message,"Add_missing_enum_member_0_95063","Add missing enum member '{0}'"),Add_all_missing_imports:t(95064,e.DiagnosticCategory.Message,"Add_all_missing_imports_95064","Add all missing imports"),Convert_to_async_function:t(95065,e.DiagnosticCategory.Message,"Convert_to_async_function_95065","Convert to async function"),Convert_all_to_async_functions:t(95066,e.DiagnosticCategory.Message,"Convert_all_to_async_functions_95066","Convert all to async functions"),Add_missing_call_parentheses:t(95067,e.DiagnosticCategory.Message,"Add_missing_call_parentheses_95067","Add missing call parentheses"),Add_all_missing_call_parentheses:t(95068,e.DiagnosticCategory.Message,"Add_all_missing_call_parentheses_95068","Add all missing call parentheses"),Add_unknown_conversion_for_non_overlapping_types:t(95069,e.DiagnosticCategory.Message,"Add_unknown_conversion_for_non_overlapping_types_95069","Add 'unknown' conversion for non-overlapping types"),Add_unknown_to_all_conversions_of_non_overlapping_types:t(95070,e.DiagnosticCategory.Message,"Add_unknown_to_all_conversions_of_non_overlapping_types_95070","Add 'unknown' to all conversions of non-overlapping types"),Add_missing_new_operator_to_call:t(95071,e.DiagnosticCategory.Message,"Add_missing_new_operator_to_call_95071","Add missing 'new' operator to call"),Add_missing_new_operator_to_all_calls:t(95072,e.DiagnosticCategory.Message,"Add_missing_new_operator_to_all_calls_95072","Add missing 'new' operator to all calls"),Add_names_to_all_parameters_without_names:t(95073,e.DiagnosticCategory.Message,"Add_names_to_all_parameters_without_names_95073","Add names to all parameters without names"),Enable_the_experimentalDecorators_option_in_your_configuration_file:t(95074,e.DiagnosticCategory.Message,"Enable_the_experimentalDecorators_option_in_your_configuration_file_95074","Enable the 'experimentalDecorators' option in your configuration file"),Convert_parameters_to_destructured_object:t(95075,e.DiagnosticCategory.Message,"Convert_parameters_to_destructured_object_95075","Convert parameters to destructured object"),Allow_accessing_UMD_globals_from_modules:t(95076,e.DiagnosticCategory.Message,"Allow_accessing_UMD_globals_from_modules_95076","Allow accessing UMD globals from modules."),Extract_type:t(95077,e.DiagnosticCategory.Message,"Extract_type_95077","Extract type"),Extract_to_type_alias:t(95078,e.DiagnosticCategory.Message,"Extract_to_type_alias_95078","Extract to type alias"),Extract_to_typedef:t(95079,e.DiagnosticCategory.Message,"Extract_to_typedef_95079","Extract to typedef"),Infer_this_type_of_0_from_usage:t(95080,e.DiagnosticCategory.Message,"Infer_this_type_of_0_from_usage_95080","Infer 'this' type of '{0}' from usage"),Add_const_to_unresolved_variable:t(95081,e.DiagnosticCategory.Message,"Add_const_to_unresolved_variable_95081","Add 'const' to unresolved variable"),Add_const_to_all_unresolved_variables:t(95082,e.DiagnosticCategory.Message,"Add_const_to_all_unresolved_variables_95082","Add 'const' to all unresolved variables"),Add_await:t(95083,e.DiagnosticCategory.Message,"Add_await_95083","Add 'await'"),Add_await_to_initializer_for_0:t(95084,e.DiagnosticCategory.Message,"Add_await_to_initializer_for_0_95084","Add 'await' to initializer for '{0}'"),Fix_all_expressions_possibly_missing_await:t(95085,e.DiagnosticCategory.Message,"Fix_all_expressions_possibly_missing_await_95085","Fix all expressions possibly missing 'await'"),Remove_unnecessary_await:t(95086,e.DiagnosticCategory.Message,"Remove_unnecessary_await_95086","Remove unnecessary 'await'"),Remove_all_unnecessary_uses_of_await:t(95087,e.DiagnosticCategory.Message,"Remove_all_unnecessary_uses_of_await_95087","Remove all unnecessary uses of 'await'"),Enable_the_jsx_flag_in_your_configuration_file:t(95088,e.DiagnosticCategory.Message,"Enable_the_jsx_flag_in_your_configuration_file_95088","Enable the '--jsx' flag in your configuration file"),Add_await_to_initializers:t(95089,e.DiagnosticCategory.Message,"Add_await_to_initializers_95089","Add 'await' to initializers"),Extract_to_interface:t(95090,e.DiagnosticCategory.Message,"Extract_to_interface_95090","Extract to interface"),Convert_to_a_bigint_numeric_literal:t(95091,e.DiagnosticCategory.Message,"Convert_to_a_bigint_numeric_literal_95091","Convert to a bigint numeric literal"),Convert_all_to_bigint_numeric_literals:t(95092,e.DiagnosticCategory.Message,"Convert_all_to_bigint_numeric_literals_95092","Convert all to bigint numeric literals"),Convert_const_to_let:t(95093,e.DiagnosticCategory.Message,"Convert_const_to_let_95093","Convert 'const' to 'let'"),Prefix_with_declare:t(95094,e.DiagnosticCategory.Message,"Prefix_with_declare_95094","Prefix with 'declare'"),Prefix_all_incorrect_property_declarations_with_declare:t(95095,e.DiagnosticCategory.Message,"Prefix_all_incorrect_property_declarations_with_declare_95095","Prefix all incorrect property declarations with 'declare'"),Convert_to_template_string:t(95096,e.DiagnosticCategory.Message,"Convert_to_template_string_95096","Convert to template string"),Add_export_to_make_this_file_into_a_module:t(95097,e.DiagnosticCategory.Message,"Add_export_to_make_this_file_into_a_module_95097","Add 'export {}' to make this file into a module"),Set_the_target_option_in_your_configuration_file_to_0:t(95098,e.DiagnosticCategory.Message,"Set_the_target_option_in_your_configuration_file_to_0_95098","Set the 'target' option in your configuration file to '{0}'"),Set_the_module_option_in_your_configuration_file_to_0:t(95099,e.DiagnosticCategory.Message,"Set_the_module_option_in_your_configuration_file_to_0_95099","Set the 'module' option in your configuration file to '{0}'"),Convert_invalid_character_to_its_html_entity_code:t(95100,e.DiagnosticCategory.Message,"Convert_invalid_character_to_its_html_entity_code_95100","Convert invalid character to its html entity code"),Convert_all_invalid_characters_to_HTML_entity_code:t(95101,e.DiagnosticCategory.Message,"Convert_all_invalid_characters_to_HTML_entity_code_95101","Convert all invalid characters to HTML entity code"),Add_class_tag:t(95102,e.DiagnosticCategory.Message,"Add_class_tag_95102","Add '@class' tag"),Add_this_tag:t(95103,e.DiagnosticCategory.Message,"Add_this_tag_95103","Add '@this' tag"),Add_this_parameter:t(95104,e.DiagnosticCategory.Message,"Add_this_parameter_95104","Add 'this' parameter."),Convert_function_expression_0_to_arrow_function:t(95105,e.DiagnosticCategory.Message,"Convert_function_expression_0_to_arrow_function_95105","Convert function expression '{0}' to arrow function"),Convert_function_declaration_0_to_arrow_function:t(95106,e.DiagnosticCategory.Message,"Convert_function_declaration_0_to_arrow_function_95106","Convert function declaration '{0}' to arrow function"),Fix_all_implicit_this_errors:t(95107,e.DiagnosticCategory.Message,"Fix_all_implicit_this_errors_95107","Fix all implicit-'this' errors"),Wrap_invalid_character_in_an_expression_container:t(95108,e.DiagnosticCategory.Message,"Wrap_invalid_character_in_an_expression_container_95108","Wrap invalid character in an expression container"),Wrap_all_invalid_characters_in_an_expression_container:t(95109,e.DiagnosticCategory.Message,"Wrap_all_invalid_characters_in_an_expression_container_95109","Wrap all invalid characters in an expression container"),Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file:t(95110,e.DiagnosticCategory.Message,"Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file_95110","Visit https://aka.ms/tsconfig.json to read more about this file"),Add_a_return_statement:t(95111,e.DiagnosticCategory.Message,"Add_a_return_statement_95111","Add a return statement"),Remove_braces_from_arrow_function_body:t(95112,e.DiagnosticCategory.Message,"Remove_braces_from_arrow_function_body_95112","Remove braces from arrow function body"),Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal:t(95113,e.DiagnosticCategory.Message,"Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113","Wrap the following body with parentheses which should be an object literal"),Add_all_missing_return_statement:t(95114,e.DiagnosticCategory.Message,"Add_all_missing_return_statement_95114","Add all missing return statement"),Remove_braces_from_all_arrow_function_bodies_with_relevant_issues:t(95115,e.DiagnosticCategory.Message,"Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115","Remove braces from all arrow function bodies with relevant issues"),Wrap_all_object_literal_with_parentheses:t(95116,e.DiagnosticCategory.Message,"Wrap_all_object_literal_with_parentheses_95116","Wrap all object literal with parentheses"),Move_labeled_tuple_element_modifiers_to_labels:t(95117,e.DiagnosticCategory.Message,"Move_labeled_tuple_element_modifiers_to_labels_95117","Move labeled tuple element modifiers to labels"),Convert_overload_list_to_single_signature:t(95118,e.DiagnosticCategory.Message,"Convert_overload_list_to_single_signature_95118","Convert overload list to single signature"),Generate_get_and_set_accessors_for_all_overriding_properties:t(95119,e.DiagnosticCategory.Message,"Generate_get_and_set_accessors_for_all_overriding_properties_95119","Generate 'get' and 'set' accessors for all overriding properties"),Wrap_in_JSX_fragment:t(95120,e.DiagnosticCategory.Message,"Wrap_in_JSX_fragment_95120","Wrap in JSX fragment"),Wrap_all_unparented_JSX_in_JSX_fragment:t(95121,e.DiagnosticCategory.Message,"Wrap_all_unparented_JSX_in_JSX_fragment_95121","Wrap all unparented JSX in JSX fragment"),Convert_arrow_function_or_function_expression:t(95122,e.DiagnosticCategory.Message,"Convert_arrow_function_or_function_expression_95122","Convert arrow function or function expression"),Convert_to_anonymous_function:t(95123,e.DiagnosticCategory.Message,"Convert_to_anonymous_function_95123","Convert to anonymous function"),Convert_to_named_function:t(95124,e.DiagnosticCategory.Message,"Convert_to_named_function_95124","Convert to named function"),Convert_to_arrow_function:t(95125,e.DiagnosticCategory.Message,"Convert_to_arrow_function_95125","Convert to arrow function"),Remove_parentheses:t(95126,e.DiagnosticCategory.Message,"Remove_parentheses_95126","Remove parentheses"),Could_not_find_a_containing_arrow_function:t(95127,e.DiagnosticCategory.Message,"Could_not_find_a_containing_arrow_function_95127","Could not find a containing arrow function"),Containing_function_is_not_an_arrow_function:t(95128,e.DiagnosticCategory.Message,"Containing_function_is_not_an_arrow_function_95128","Containing function is not an arrow function"),Could_not_find_export_statement:t(95129,e.DiagnosticCategory.Message,"Could_not_find_export_statement_95129","Could not find export statement"),This_file_already_has_a_default_export:t(95130,e.DiagnosticCategory.Message,"This_file_already_has_a_default_export_95130","This file already has a default export"),Could_not_find_import_clause:t(95131,e.DiagnosticCategory.Message,"Could_not_find_import_clause_95131","Could not find import clause"),Could_not_find_namespace_import_or_named_imports:t(95132,e.DiagnosticCategory.Message,"Could_not_find_namespace_import_or_named_imports_95132","Could not find namespace import or named imports"),Selection_is_not_a_valid_type_node:t(95133,e.DiagnosticCategory.Message,"Selection_is_not_a_valid_type_node_95133","Selection is not a valid type node"),No_type_could_be_extracted_from_this_type_node:t(95134,e.DiagnosticCategory.Message,"No_type_could_be_extracted_from_this_type_node_95134","No type could be extracted from this type node"),Could_not_find_property_for_which_to_generate_accessor:t(95135,e.DiagnosticCategory.Message,"Could_not_find_property_for_which_to_generate_accessor_95135","Could not find property for which to generate accessor"),Name_is_not_valid:t(95136,e.DiagnosticCategory.Message,"Name_is_not_valid_95136","Name is not valid"),Can_only_convert_property_with_modifier:t(95137,e.DiagnosticCategory.Message,"Can_only_convert_property_with_modifier_95137","Can only convert property with modifier"),Switch_each_misused_0_to_1:t(95138,e.DiagnosticCategory.Message,"Switch_each_misused_0_to_1_95138","Switch each misused '{0}' to '{1}'"),Convert_to_optional_chain_expression:t(95139,e.DiagnosticCategory.Message,"Convert_to_optional_chain_expression_95139","Convert to optional chain expression"),Could_not_find_convertible_access_expression:t(95140,e.DiagnosticCategory.Message,"Could_not_find_convertible_access_expression_95140","Could not find convertible access expression"),Could_not_find_matching_access_expressions:t(95141,e.DiagnosticCategory.Message,"Could_not_find_matching_access_expressions_95141","Could not find matching access expressions"),Can_only_convert_logical_AND_access_chains:t(95142,e.DiagnosticCategory.Message,"Can_only_convert_logical_AND_access_chains_95142","Can only convert logical AND access chains"),No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:t(18004,e.DiagnosticCategory.Error,"No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004","No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."),Classes_may_not_have_a_field_named_constructor:t(18006,e.DiagnosticCategory.Error,"Classes_may_not_have_a_field_named_constructor_18006","Classes may not have a field named 'constructor'."),JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array:t(18007,e.DiagnosticCategory.Error,"JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007","JSX expressions may not use the comma operator. Did you mean to write an array?"),Private_identifiers_cannot_be_used_as_parameters:t(18009,e.DiagnosticCategory.Error,"Private_identifiers_cannot_be_used_as_parameters_18009","Private identifiers cannot be used as parameters"),An_accessibility_modifier_cannot_be_used_with_a_private_identifier:t(18010,e.DiagnosticCategory.Error,"An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010","An accessibility modifier cannot be used with a private identifier."),The_operand_of_a_delete_operator_cannot_be_a_private_identifier:t(18011,e.DiagnosticCategory.Error,"The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011","The operand of a 'delete' operator cannot be a private identifier."),constructor_is_a_reserved_word:t(18012,e.DiagnosticCategory.Error,"constructor_is_a_reserved_word_18012","'#constructor' is a reserved word."),Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier:t(18013,e.DiagnosticCategory.Error,"Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013","Property '{0}' is not accessible outside class '{1}' because it has a private identifier."),The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling:t(18014,e.DiagnosticCategory.Error,"The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014","The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling."),Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2:t(18015,e.DiagnosticCategory.Error,"Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015","Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'."),Private_identifiers_are_not_allowed_outside_class_bodies:t(18016,e.DiagnosticCategory.Error,"Private_identifiers_are_not_allowed_outside_class_bodies_18016","Private identifiers are not allowed outside class bodies."),The_shadowing_declaration_of_0_is_defined_here:t(18017,e.DiagnosticCategory.Error,"The_shadowing_declaration_of_0_is_defined_here_18017","The shadowing declaration of '{0}' is defined here"),The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here:t(18018,e.DiagnosticCategory.Error,"The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018","The declaration of '{0}' that you probably intended to use is defined here"),_0_modifier_cannot_be_used_with_a_private_identifier:t(18019,e.DiagnosticCategory.Error,"_0_modifier_cannot_be_used_with_a_private_identifier_18019","'{0}' modifier cannot be used with a private identifier"),A_method_cannot_be_named_with_a_private_identifier:t(18022,e.DiagnosticCategory.Error,"A_method_cannot_be_named_with_a_private_identifier_18022","A method cannot be named with a private identifier."),An_accessor_cannot_be_named_with_a_private_identifier:t(18023,e.DiagnosticCategory.Error,"An_accessor_cannot_be_named_with_a_private_identifier_18023","An accessor cannot be named with a private identifier."),An_enum_member_cannot_be_named_with_a_private_identifier:t(18024,e.DiagnosticCategory.Error,"An_enum_member_cannot_be_named_with_a_private_identifier_18024","An enum member cannot be named with a private identifier."),can_only_be_used_at_the_start_of_a_file:t(18026,e.DiagnosticCategory.Error,"can_only_be_used_at_the_start_of_a_file_18026","'#!' can only be used at the start of a file."),Compiler_reserves_name_0_when_emitting_private_identifier_downlevel:t(18027,e.DiagnosticCategory.Error,"Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027","Compiler reserves name '{0}' when emitting private identifier downlevel."),Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher:t(18028,e.DiagnosticCategory.Error,"Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028","Private identifiers are only available when targeting ECMAScript 2015 and higher."),Private_identifiers_are_not_allowed_in_variable_declarations:t(18029,e.DiagnosticCategory.Error,"Private_identifiers_are_not_allowed_in_variable_declarations_18029","Private identifiers are not allowed in variable declarations."),An_optional_chain_cannot_contain_private_identifiers:t(18030,e.DiagnosticCategory.Error,"An_optional_chain_cannot_contain_private_identifiers_18030","An optional chain cannot contain private identifiers."),The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents:t(18031,e.DiagnosticCategory.Error,"The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031","The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents."),The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some:t(18032,e.DiagnosticCategory.Error,"The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032","The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some."),Only_numeric_enums_can_have_computed_members_but_this_expression_has_type_0_If_you_do_not_need_exhaustiveness_checks_consider_using_an_object_literal_instead:t(18033,e.DiagnosticCategory.Error,"Only_numeric_enums_can_have_computed_members_but_this_expression_has_type_0_If_you_do_not_need_exhau_18033","Only numeric enums can have computed members, but this expression has type '{0}'. If you do not need exhaustiveness checks, consider using an object literal instead."),Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment:t(18034,e.DiagnosticCategory.Message,"Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034","Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'."),Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name:t(18035,e.DiagnosticCategory.Error,"Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035","Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name.")}}(ts=ts||{}),function(K){var e;function q(e){return 78<=e}K.tokenIsIdentifierOrKeyword=q,K.tokenIsIdentifierOrKeywordOrGreaterThan=function(e){return 31===e||q(e)};var t=((e={abstract:125,any:128,as:126,asserts:127,bigint:154,boolean:131,break:80,case:81,catch:82,class:83,continue:85,const:84}).constructor=132,e.debugger=86,e.declare=133,e.default=87,e.delete=88,e.do=89,e.else=90,e.enum=91,e.export=92,e.extends=93,e.false=94,e.finally=95,e.for=96,e.from=152,e.function=97,e.get=134,e.if=98,e.implements=116,e.import=99,e.in=100,e.infer=135,e.instanceof=101,e.interface=117,e.is=136,e.keyof=137,e.let=118,e.module=138,e.namespace=139,e.never=140,e.new=102,e.null=103,e.number=143,e.object=144,e.package=119,e.private=120,e.protected=121,e.public=122,e.readonly=141,e.require=142,e.global=153,e.return=104,e.set=145,e.static=123,e.string=146,e.super=105,e.switch=106,e.symbol=147,e.this=107,e.throw=108,e.true=109,e.try=110,e.type=148,e.typeof=111,e.undefined=149,e.unique=150,e.unknown=151,e.var=112,e.void=113,e.while=114,e.with=115,e.yield=124,e.async=129,e.await=130,e.of=155,e),W=new K.Map(K.getEntries(t)),r=new K.Map(K.getEntries(__assign(__assign({},t),{"{":18,"}":19,"(":20,")":21,"[":22,"]":23,".":24,"...":25,";":26,",":27,"<":29,">":31,"<=":32,">=":33,"==":34,"!=":35,"===":36,"!==":37,"=>":38,"+":39,"-":40,"**":42,"*":41,"/":43,"%":44,"++":45,"--":46,"<<":47,">":48,">>>":49,"&":50,"|":51,"^":52,"!":53,"~":54,"&&":55,"||":56,"?":57,"??":60,"?.":28,":":58,"=":62,"+=":63,"-=":64,"*=":65,"**=":66,"/=":67,"%=":68,"<<=":69,">>=":70,">>>=":71,"&=":72,"|=":73,"^=":77,"||=":74,"&&=":75,"??=":76,"@":59,"`":61}))),n=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1569,1594,1600,1610,1649,1747,1749,1749,1765,1766,1786,1788,1808,1808,1810,1836,1920,1957,2309,2361,2365,2365,2384,2384,2392,2401,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2784,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2877,2908,2909,2911,2913,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3294,3294,3296,3297,3333,3340,3342,3344,3346,3368,3370,3385,3424,3425,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3805,3840,3840,3904,3911,3913,3946,3976,3979,4096,4129,4131,4135,4137,4138,4176,4181,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6067,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12329,12337,12341,12344,12346,12353,12436,12445,12446,12449,12538,12540,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65138,65140,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],i=[170,170,181,181,186,186,192,214,216,246,248,543,546,563,592,685,688,696,699,705,720,721,736,740,750,750,768,846,864,866,890,890,902,902,904,906,908,908,910,929,931,974,976,983,986,1011,1024,1153,1155,1158,1164,1220,1223,1224,1227,1228,1232,1269,1272,1273,1329,1366,1369,1369,1377,1415,1425,1441,1443,1465,1467,1469,1471,1471,1473,1474,1476,1476,1488,1514,1520,1522,1569,1594,1600,1621,1632,1641,1648,1747,1749,1756,1759,1768,1770,1773,1776,1788,1808,1836,1840,1866,1920,1968,2305,2307,2309,2361,2364,2381,2384,2388,2392,2403,2406,2415,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2524,2525,2527,2531,2534,2545,2562,2562,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2649,2652,2654,2654,2662,2676,2689,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2784,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2876,2883,2887,2888,2891,2893,2902,2903,2908,2909,2911,2913,2918,2927,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3010,3014,3016,3018,3021,3031,3031,3047,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3134,3140,3142,3144,3146,3149,3157,3158,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3395,3398,3400,3402,3405,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3805,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3946,3953,3972,3974,3979,3984,3991,3993,4028,4038,4038,4096,4129,4131,4135,4137,4138,4140,4146,4150,4153,4160,4169,4176,4185,4256,4293,4304,4342,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4969,4977,5024,5108,5121,5740,5743,5750,5761,5786,5792,5866,6016,6099,6112,6121,6160,6169,6176,6263,6272,6313,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8255,8256,8319,8319,8400,8412,8417,8417,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8544,8579,12293,12295,12321,12335,12337,12341,12344,12346,12353,12436,12441,12442,12445,12446,12449,12542,12549,12588,12593,12686,12704,12727,13312,19893,19968,40869,40960,42124,44032,55203,63744,64045,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65056,65059,65075,65076,65101,65103,65136,65138,65140,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500],a=[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],o=[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],s=[65,90,97,122,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,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,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,2144,2154,2208,2228,2230,2237,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,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,2809,2809,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,3129,3133,3133,3160,3162,3168,3169,3200,3200,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,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,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,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,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,8472,8477,8484,8484,8486,8486,8488,8488,8490,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,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12443,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42735,42775,42783,42786,42888,42891,42943,42946,42950,42999,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,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,43824,43866,43868,43879,43888,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,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66335,66349,66378,66384,66421,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69376,69404,69415,69415,69424,69445,69600,69622,69635,69687,69763,69807,69840,69864,69891,69926,69956,69956,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70751,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71680,71723,71840,71903,71935,71935,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72384,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,123136,123180,123191,123197,123214,123214,123584,123627,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101],c=[48,57,65,90,95,95,97,122,170,170,181,181,183,183,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,895,895,902,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1327,1329,1366,1369,1369,1376,1416,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1519,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2045,2045,2048,2093,2112,2139,2144,2154,2208,2228,2230,2237,2259,2273,2275,2403,2406,2415,2417,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,2556,2556,2558,2558,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,2809,2815,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,3072,3084,3086,3088,3090,3112,3114,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3162,3168,3171,3174,3183,3200,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,3328,3331,3333,3340,3342,3344,3346,3396,3398,3400,3402,3406,3412,3415,3423,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,3558,3567,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,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,4969,4977,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,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,6264,6272,6314,6320,6389,6400,6430,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6618,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6832,6845,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7376,7378,7380,7418,7424,7673,7675,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,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,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,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12730,12784,12799,13312,19893,19968,40943,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42737,42775,42783,42786,42888,42891,42943,42946,42950,42999,43047,43072,43123,43136,43205,43216,43225,43232,43255,43259,43259,43261,43309,43312,43347,43360,43388,43392,43456,43471,43481,43488,43518,43520,43574,43584,43597,43600,43609,43616,43638,43642,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43879,43888,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,65071,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,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66045,66045,66176,66204,66208,66256,66272,66272,66304,66335,66349,66378,66384,66426,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68099,68101,68102,68108,68115,68117,68119,68121,68149,68152,68154,68159,68159,68192,68220,68224,68252,68288,68295,68297,68326,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68903,68912,68921,69376,69404,69415,69415,69424,69456,69600,69622,69632,69702,69734,69743,69759,69818,69840,69864,69872,69881,69888,69940,69942,69951,69956,69958,69968,70003,70006,70006,70016,70084,70089,70092,70096,70106,70108,70108,70144,70161,70163,70199,70206,70206,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70378,70384,70393,70400,70403,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70459,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70730,70736,70745,70750,70751,70784,70853,70855,70855,70864,70873,71040,71093,71096,71104,71128,71133,71168,71232,71236,71236,71248,71257,71296,71352,71360,71369,71424,71450,71453,71467,71472,71481,71680,71738,71840,71913,71935,71935,72096,72103,72106,72151,72154,72161,72163,72164,72192,72254,72263,72263,72272,72345,72349,72349,72384,72440,72704,72712,72714,72758,72760,72768,72784,72793,72818,72847,72850,72871,72873,72886,72960,72966,72968,72969,72971,73014,73018,73018,73020,73021,73023,73031,73040,73049,73056,73061,73063,73064,73066,73102,73104,73105,73107,73112,73120,73129,73440,73462,73728,74649,74752,74862,74880,75075,77824,78894,82944,83526,92160,92728,92736,92766,92768,92777,92880,92909,92912,92916,92928,92982,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94031,94087,94095,94111,94176,94177,94179,94179,94208,100343,100352,101106,110592,110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113821,113822,119141,119145,119149,119154,119163,119170,119173,119179,119210,119213,119362,119364,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,121344,121398,121403,121452,121461,121461,121476,121476,121499,121503,121505,121519,122880,122886,122888,122904,122907,122913,122915,122916,122918,122922,123136,123180,123184,123197,123200,123209,123214,123214,123584,123641,124928,125124,125136,125142,125184,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173782,173824,177972,177984,178205,178208,183969,183984,191456,194560,195101,917760,917999],H=/^\s*\/\/\/?\s*@(ts-expect-error|ts-ignore)/,G=/^\s*(?:\/|\*)*\s*@(ts-expect-error|ts-ignore)/;function u(e,t){if(e=e.length)&&(i?t=t<0?0:t>=e.length?e.length-1:t:K.Debug.fail("Bad line number. Line: "+t+", lineStarts.length: "+e.length+" , line map is correct? "+(void 0!==n?K.arraysEqual(e,p(n)):"unknown")));var a=e[t]+r;return i?a>e[t+1]?e[t+1]:"string"==typeof n&&a>n.length?n.length:a:(t=e.start&&t=e.pos&&t<=e.end},d.textSpanContainsTextSpan=function(e,t){return t.start>=e.start&&p(t)<=p(e)},d.textSpanOverlapsWith=function(e,t){return void 0!==r(e,t)},d.textSpanOverlap=r,d.textSpanIntersectsWithTextSpan=function(e,t){return n(e.start,e.length,t.start,t.length)},d.textSpanIntersectsWith=function(e,t,r){return n(e.start,e.length,t,r)},d.decodedTextSpanIntersectsWith=n,d.textSpanIntersectsWithPosition=function(e,t){return t<=p(e)&&t>=e.start},d.textSpanIntersection=i,d.createTextSpan=a,d.createTextSpanFromBounds=f,d.textChangeRangeNewSpan=function(e){return a(e.span.start,e.newLength)},d.textChangeRangeIsUnchanged=function(e){return t(e.span)&&0===e.newLength},d.createTextChangeRange=g,d.unchangedTextChangeRange=g(a(0,0),0),d.collapseTextChangeRangesAcrossMultipleVersions=function(e){if(0===e.length)return d.unchangedTextChangeRange;if(1===e.length)return e[0];for(var t=e[0],r=t.span.start,n=p(t.span),i=r+t.newLength,a=1;a=r.pos,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809"),C.Debug.assert(s<=r.end,"This failure could trigger https://github.com/Microsoft/TypeScript/issues/20809")),C.createTextSpanFromBounds(s,r.end)}function B(e){return 6===e.scriptKind}function j(e){return!!(2&C.getCombinedNodeFlags(e))}function J(e){return 200===e.kind&&99===e.expression.kind}function z(e){return C.isImportTypeNode(e)&&C.isLiteralTypeNode(e.argument)&&C.isStringLiteral(e.argument.literal)}function U(e){return 230===e.kind&&10===e.expression.kind}function V(e){return!!(1048576&x(e))}function K(e){return C.isIdentifier(e.name)&&!e.initializer}C.changesAffectModuleResolution=function(e,t){return e.configFilePath!==t.configFilePath||i(e,t)},C.optionsHaveModuleResolutionChanges=i,C.findAncestor=a,C.forEachAncestor=function(e,t){for(;;){var r=t(e);if("quit"===r)return;if(void 0!==r)return r;if(C.isSourceFile(e))return;e=e.parent}},C.forEachEntry=function(e,t){for(var r=e.entries(),n=r.next();!n.done;n=r.next()){var i=n.value,a=i[0],o=t(i[1],a);if(o)return o}},C.forEachKey=function(e,t){for(var r=e.keys(),n=r.next();!n.done;n=r.next()){var i=t(n.value);if(i)return i}},C.copyEntries=function(e,r){e.forEach(function(e,t){r.set(t,e)})},C.usingSingleLineStringWriter=function(e){var t=r.getText();try{return e(r),r.getText()}finally{r.clear(),r.writeKeyword(t)}},C.getFullWidth=o,C.getResolvedModule=function(e,t){return e&&e.resolvedModules&&e.resolvedModules.get(t)},C.setResolvedModule=function(e,t,r){e.resolvedModules||(e.resolvedModules=new C.Map),e.resolvedModules.set(t,r)},C.setResolvedTypeReferenceDirective=function(e,t,r){e.resolvedTypeReferenceDirectiveNames||(e.resolvedTypeReferenceDirectiveNames=new C.Map),e.resolvedTypeReferenceDirectiveNames.set(t,r)},C.projectReferenceIsEqualTo=function(e,t){return e.path===t.path&&!e.prepend==!t.prepend&&!e.circular==!t.circular},C.moduleResolutionIsEqualTo=function(e,t){return e.isExternalLibraryImport===t.isExternalLibraryImport&&e.extension===t.extension&&e.resolvedFileName===t.resolvedFileName&&e.originalPath===t.originalPath&&(r=e.packageId,n=t.packageId,r===n||!!r&&!!n&&r.name===n.name&&r.subModuleName===n.subModuleName&&r.version===n.version);var r,n},C.packageIdToString=function(e){var t=e.name,r=e.subModuleName;return(r?t+"/"+r:t)+"@"+e.version},C.typeDirectiveIsEqualTo=function(e,t){return e.resolvedFileName===t.resolvedFileName&&e.primary===t.primary},C.hasChangesInResolutions=function(e,t,r,n){C.Debug.assert(e.length===t.length);for(var i=0;i=C.ModuleKind.ES2015||!t.noImplicitUseStrict)))},C.isBlockScope=A,C.isDeclarationWithTypeParameters=function(e){switch(e.kind){case 320:case 327:case 309:return!0;default:return C.assertType(e),F(e)}},C.isDeclarationWithTypeParameterChildren=F,C.isAnyImportSyntax=P,C.isLateVisibilityPaintedStatement=function(e){switch(e.kind){case 258:case 257:case 229:case 249:case 248:case 253:case 251:case 250:case 252:return!0;default:return!1}},C.isAnyImportOrReExport=function(e){return P(e)||C.isExportDeclaration(e)},C.getEnclosingBlockScopeContainer=function(e){return a(e.parent,function(e){return A(e,e.parent)})},C.declarationNameToString=w,C.getNameFromIndexInfo=function(e){return e.declaration?w(e.declaration.parameters[0].name):void 0},C.isComputedNonLiteralName=function(e){return 157===e.kind&&!ut(e.expression)},C.getTextOfPropertyName=I,C.entityNameToString=O,C.createDiagnosticForNode=function(e,t,r,n,i,a){return M(c(e),e,t,r,n,i,a)},C.createDiagnosticForNodeArray=function(e,t,r,n,i,a,o){var s=C.skipTrivia(e.text,t.pos);return an(e,s,t.end-s,r,n,i,a,o)},C.createDiagnosticForNodeInSourceFile=M,C.createDiagnosticForNodeFromMessageChain=function(e,t,r){var n=c(e),i=R(n,e);return{file:n,start:i.start,length:i.length,code:t.code,category:t.category,messageText:t.next?t:t.messageText,relatedInformation:r}},C.createDiagnosticForRange=function(e,t,r){return{file:e,start:t.pos,length:t.end-t.pos,code:r.code,category:r.category,messageText:r.message}},C.getSpanOfTokenAtPosition=L,C.getErrorSpanForNode=R,C.isExternalOrCommonJsModule=function(e){return void 0!==(e.externalModuleIndicator||e.commonJsModuleIndicator)},C.isJsonSourceFile=B,C.isEnumConst=function(e){return!!(2048&C.getCombinedModifierFlags(e))},C.isDeclarationReadonly=function(e){return!(!(64&C.getCombinedModifierFlags(e))||C.isParameterPropertyDeclaration(e,e.parent))},C.isVarConst=j,C.isLet=function(e){return!!(1&C.getCombinedNodeFlags(e))},C.isSuperCall=function(e){return 200===e.kind&&105===e.expression.kind},C.isImportCall=J,C.isImportMeta=function(e){return C.isMetaProperty(e)&&99===e.keywordToken&&"meta"===e.name.escapedText},C.isLiteralImportTypeNode=z,C.isPrologueDirective=U,C.isCustomPrologue=V,C.isHoistedFunction=function(e){return V(e)&&C.isFunctionDeclaration(e)},C.isHoistedVariableStatement=function(e){return V(e)&&C.isVariableStatement(e)&&C.every(e.declarationList.declarations,K)},C.getLeadingCommentRangesOfNode=function(e,t){return 11!==e.kind?C.getLeadingCommentRanges(t.text,e.pos):void 0},C.getJSDocCommentRanges=function(e,t){var r=159===e.kind||158===e.kind||205===e.kind||206===e.kind||204===e.kind?C.concatenate(C.getTrailingCommentRanges(t,e.pos),C.getLeadingCommentRanges(t,e.pos)):C.getLeadingCommentRanges(t,e.pos);return C.filter(r,function(e){return 42===t.charCodeAt(e.pos+1)&&42===t.charCodeAt(e.pos+2)&&47!==t.charCodeAt(e.pos+3)})},C.fullTripleSlashReferencePathRegEx=/^(\/\/\/\s*/;var q=/^(\/\/\/\s*/;C.fullTripleSlashAMDReferencePathRegEx=/^(\/\/\/\s*/;var e,W,H,G,Q=/^(\/\/\/\s*/;function X(e){if(171<=e.kind&&e.kind<=192)return!0;switch(e.kind){case 128:case 151:case 143:case 154:case 146:case 131:case 147:case 144:case 149:case 140:return!0;case 113:return 209!==e.parent.kind;case 220:return!Er(e);case 158:return 189===e.parent.kind||184===e.parent.kind;case 78:(156===e.parent.kind&&e.parent.right===e||198===e.parent.kind&&e.parent.name===e)&&(e=e.parent),C.Debug.assert(78===e.kind||156===e.kind||198===e.kind,"'node' was expected to be a qualified name, identifier or property access in 'isPartOfTypeNode'.");case 156:case 198:case 107:var t=e.parent;if(175===t.kind)return!1;if(192===t.kind)return!t.isTypeOf;if(171<=t.kind&&t.kind<=192)return!0;switch(t.kind){case 220:return!Er(t);case 158:case 326:return e===t.constraint;case 162:case 161:case 159:case 246:return e===t.type;case 248:case 205:case 206:case 165:case 164:case 163:case 166:case 167:return e===t.type;case 168:case 169:case 170:case 203:return e===t.type;case 200:case 201:return C.contains(t.typeArguments,e);case 202:return!1}}return!1}function Y(e){if(e)switch(e.kind){case 195:case 288:case 159:case 285:case 162:case 161:case 286:case 246:return!0}return!1}function Z(e){return 247===e.parent.kind&&229===e.parent.parent.kind}function $(e,r,n){return e.properties.filter(function(e){if(285!==e.kind)return!1;var t=I(e.name);return r===t||!!n&&n===t})}function ee(e){if(e&&e.statements.length){var t=e.statements[0].expression;return C.tryCast(t,C.isObjectLiteralExpression)}}function te(e,t){var r=ee(e);return r?$(r,t):C.emptyArray}function re(e,t){for(C.Debug.assert(294!==e.kind);;){if(!(e=e.parent))return C.Debug.fail();switch(e.kind){case 157:if(C.isClassLike(e.parent.parent))return e;e=e.parent;break;case 160:159===e.parent.kind&&C.isClassElement(e.parent.parent)?e=e.parent.parent:C.isClassElement(e.parent)&&(e=e.parent);break;case 206:if(!t)continue;case 248:case 205:case 253:case 162:case 161:case 164:case 163:case 165:case 166:case 167:case 168:case 169:case 170:case 252:case 294:return e}}}function ne(e){var t=e.kind;return(198===t||199===t)&&105===e.expression.kind}function ie(e,t,r){if(C.isNamedDeclaration(e)&&C.isPrivateIdentifier(e.name))return!1;switch(e.kind){case 249:return!0;case 162:return 249===t.kind;case 166:case 167:case 164:return void 0!==e.body&&249===t.kind;case 159:return void 0!==t.body&&(165===t.kind||164===t.kind||167===t.kind)&&249===r.kind}return!1}function ae(e,t,r){return void 0!==e.decorators&&ie(e,t,r)}function oe(e,t,r){return ae(e,t,r)||se(e,t)}function se(t,r){switch(t.kind){case 249:return C.some(t.members,function(e){return oe(e,t,r)});case 164:case 167:return C.some(t.parameters,function(e){return ae(e,t,r)});default:return!1}}function ce(e){var t=e.parent;return(272===t.kind||271===t.kind||273===t.kind)&&t.tagName===e}function ue(e){switch(e.kind){case 105:case 103:case 109:case 94:case 13:case 196:case 197:case 198:case 199:case 200:case 201:case 202:case 221:case 203:case 222:case 204:case 205:case 218:case 206:case 209:case 207:case 208:case 211:case 212:case 213:case 214:case 217:case 215:case 219:case 270:case 271:case 274:case 216:case 210:case 223:return!0;case 156:for(;156===e.parent.kind;)e=e.parent;return 175===e.parent.kind||ce(e);case 78:if(175===e.parent.kind||ce(e))return!0;case 8:case 9:case 10:case 14:case 107:return le(e);default:return!1}}function le(e){var t=e.parent;switch(t.kind){case 246:case 159:case 162:case 161:case 288:case 285:case 195:return t.initializer===e;case 230:case 231:case 232:case 233:case 239:case 240:case 241:case 281:case 243:return t.expression===e;case 234:return t.initializer===e&&247!==t.initializer.kind||t.condition===e||t.incrementor===e;case 235:case 236:return t.initializer===e&&247!==t.initializer.kind||t.expression===e;case 203:case 221:case 225:case 157:return e===t.expression;case 160:case 280:case 279:case 287:return!0;case 220:return t.expression===e&&Er(t);case 286:return t.objectAssignmentInitializer===e;default:return ue(t)}}function _e(e){for(;156===e.kind||78===e.kind;)e=e.parent;return 175===e.kind}function de(e){return 257===e.kind&&269===e.moduleReference.kind}function pe(e){return fe(e)}function fe(e){return!!e&&!!(131072&e.flags)}function ge(e,t){if(200!==e.kind)return!1;var r=e.expression,n=e.arguments;if(78!==r.kind||"require"!==r.escapedText)return!1;if(1!==n.length)return!1;var i=n[0];return!t||C.isStringLiteralLike(i)}function me(e,t){return C.isVariableDeclaration(e)&&!!e.initializer&&ge(e.initializer,t)}function ye(e){return C.isBinaryExpression(e)||Hr(e)||C.isIdentifier(e)||C.isCallExpression(e)}function ve(e){return fe(e)&&e.initializer&&C.isBinaryExpression(e.initializer)&&(56===e.initializer.operatorToken.kind||60===e.initializer.operatorToken.kind)&&e.name&&kr(e.name)&&be(e.name,e.initializer.left)?e.initializer.right:e.initializer}function he(e,t){if(C.isCallExpression(e)){var r=Ye(e.expression);return 205===r.kind||206===r.kind?e:void 0}return 205===e.kind||218===e.kind||206===e.kind||C.isObjectLiteralExpression(e)&&(0===e.properties.length||t)?e:void 0}function be(e,t){if(gt(e)&>(t))return mt(e)===mt(t);if(C.isIdentifier(e)&&ke(t)&&(107===t.expression.kind||C.isIdentifier(t.expression)&&("window"===t.expression.escapedText||"self"===t.expression.escapedText||"global"===t.expression.escapedText))){var r=we(t);return C.isPrivateIdentifier(r)&&C.Debug.fail("Unexpected PrivateIdentifier in name expression with literal-like access."),be(e,r)}return!(!ke(e)||!ke(t))&&(Oe(e)===Oe(t)&&be(e.expression,t.expression))}function xe(e){for(;Cr(e,!0);)e=e.right;return e}function De(e){return C.isIdentifier(e)&&"exports"===e.escapedText}function Se(e){return C.isIdentifier(e)&&"module"===e.escapedText}function Te(e){return(C.isPropertyAccessExpression(e)||Ne(e))&&Se(e.expression)&&"exports"===Oe(e)}function Ce(e){var t=function(e){if(C.isCallExpression(e)){if(!Ee(e))return 0;var t=e.arguments[0];return De(t)||Te(t)?8:Ae(t)&&"prototype"===Oe(t)?9:7}if(62!==e.operatorToken.kind||!Hr(e.left)||function(e){return C.isVoidExpression(e)&&C.isNumericLiteral(e.expression)&&"0"===e.expression.text}(xe(e)))return 0;if(Pe(e.left.expression,!0)&&"prototype"===Oe(e.left)&&C.isObjectLiteralExpression(Le(e)))return 6;return Me(e.left)}(e);return 5===t||fe(e)?t:0}function Ee(e){return 3===C.length(e.arguments)&&C.isPropertyAccessExpression(e.expression)&&C.isIdentifier(e.expression.expression)&&"Object"===C.idText(e.expression.expression)&&"defineProperty"===C.idText(e.expression.name)&&ut(e.arguments[1])&&Pe(e.arguments[0],!0)}function ke(e){return C.isPropertyAccessExpression(e)||Ne(e)}function Ne(e){return C.isElementAccessExpression(e)&&(ut(e.argumentExpression)||pt(e.argumentExpression))}function Ae(e,t){return C.isPropertyAccessExpression(e)&&(!t&&107===e.expression.kind||C.isIdentifier(e.name)&&Pe(e.expression,!0))||Fe(e,t)}function Fe(e,t){return Ne(e)&&(!t&&107===e.expression.kind||kr(e.expression)||Ae(e.expression,!0))}function Pe(e,t){return kr(e)||Ae(e,t)}function we(e){return C.isPropertyAccessExpression(e)?e.name:e.argumentExpression}function Ie(e){if(C.isPropertyAccessExpression(e))return e.name;var t=Ye(e.argumentExpression);return C.isNumericLiteral(t)||C.isStringLiteralLike(t)?t:e}function Oe(e){var t=Ie(e);if(t){if(C.isIdentifier(t))return t.escapedText;if(C.isStringLiteralLike(t)||C.isNumericLiteral(t))return C.escapeLeadingUnderscores(t.text)}if(C.isElementAccessExpression(e)&&pt(e.argumentExpression))return yt(C.idText(e.argumentExpression.name))}function Me(e){if(107===e.expression.kind)return 4;if(Te(e))return 2;if(Pe(e.expression,!0)){if(Ar(e.expression))return 3;for(var t=e;!C.isIdentifier(t.expression);)t=t.expression;var r=t.expression;if(("exports"===r.escapedText||"module"===r.escapedText&&"exports"===Oe(t))&&Ae(e))return 1;if(Pe(e,!0)||C.isElementAccessExpression(e)&&dt(e))return 5}return 0}function Le(e){for(;C.isBinaryExpression(e.right);)e=e.right;return e.right}function Re(e){switch(e.parent.kind){case 258:case 264:return e.parent;case 269:return e.parent.parent;case 200:return J(e.parent)||ge(e.parent,!1)?e.parent:void 0;case 190:return C.Debug.assert(C.isStringLiteral(e)),C.tryCast(e.parent.parent,C.isImportTypeNode);default:return}}function Be(e){return 327===e.kind||320===e.kind||321===e.kind}function je(e){return C.isExpressionStatement(e)&&C.isBinaryExpression(e.expression)&&0!==Ce(e.expression)&&C.isBinaryExpression(e.expression.right)&&(56===e.expression.right.operatorToken.kind||60===e.expression.right.operatorToken.kind)?e.expression.right.right:void 0}function Je(e){switch(e.kind){case 229:var t=ze(e);return t&&t.initializer;case 162:case 285:return e.initializer}}function ze(e){return C.isVariableStatement(e)?C.firstOrUndefined(e.declarationList.declarations):void 0}function Ue(e){return C.isModuleDeclaration(e)&&e.body&&253===e.body.kind?e.body:void 0}function Ve(e){var t=e.parent;return 285===t.kind||263===t.kind||162===t.kind||230===t.kind&&198===e.kind||Ue(t)||C.isBinaryExpression(e)&&62===e.operatorToken.kind?t:t.parent&&(ze(t.parent)===e||C.isBinaryExpression(t)&&62===t.operatorToken.kind)?t.parent:t.parent&&t.parent.parent&&(ze(t.parent.parent)||Je(t.parent.parent)===e||je(t.parent.parent))?t.parent.parent:void 0}function Ke(e){var t=qe(e);return t&&C.isFunctionLike(t)?t:void 0}function qe(e){var t,r=We(e);return je(r)||(t=r,C.isExpressionStatement(t)&&C.isBinaryExpression(t.expression)&&62===t.expression.operatorToken.kind?xe(t.expression):void 0)||Je(r)||ze(r)||Ue(r)||r}function We(e){return C.Debug.checkDefined(a(e.parent,C.isJSDoc)).parent}function He(e){var t=C.isJSDocParameterTag(e)?e.typeExpression&&e.typeExpression.type:e.type;return void 0!==e.dotDotDotToken||!!t&&305===t.kind}function Ge(e){for(var t=e.parent;;){switch(t.kind){case 213:var r=t.operatorToken.kind;return Dr(r)&&t.left===e?62===r||xr(r)?1:2:0;case 211:case 212:var n=t.operator;return 45===n||46===n?2:0;case 235:case 236:return t.initializer===e?1:0;case 204:case 196:case 217:case 222:e=t;break;case 286:if(t.name!==e)return 0;e=t.parent;break;case 285:if(t.name===e)return 0;e=t.parent;break;default:return 0}t=e.parent}}function Qe(e,t){for(;e&&e.kind===t;)e=e.parent;return e}function Xe(e){return Qe(e,204)}function Ye(e){return C.skipOuterExpressions(e,1)}function Ze(e){return kr(e)||C.isClassExpression(e)}function $e(e){return Ze(et(e))}function et(e){return C.isExportAssignment(e)?e.expression:e.right}function tt(e){var t=rt(e);if(t&&fe(e)){var r=C.getJSDocAugmentsTag(e);if(r)return r.class}return t}function rt(e){var t=at(e.heritageClauses,93);return t&&0C.getRootLength(t)&&!n(t)&&(e(C.getDirectoryPath(t),r,n),r(t))}(C.getDirectoryPath(C.normalizePath(t)),a,o),i(t,r,n)}},C.getLineOfLocalPosition=function(e,t){var r=C.getLineStarts(e);return C.computeLineOfPosition(r,t)},C.getLineOfLocalPositionFromLineMap=Yt,C.getFirstConstructorWithBody=function(e){return C.find(e.members,function(e){return C.isConstructorDeclaration(e)&&_(e.body)})},C.getSetAccessorValueParameter=Zt,C.getSetAccessorTypeAnnotationNode=function(e){var t=Zt(e);return t&&t.type},C.getThisParameter=function(e){if(e.parameters.length&&!C.isJSDocSignature(e)){var t=e.parameters[0];if($t(t))return t}},C.parameterIsThisKeyword=$t,C.isThisIdentifier=er,C.identifierIsThisKeyword=tr,C.getAllAccessorDeclarations=function(e,t){var r,n,i,a;return _t(t)?166===(r=t).kind?i=t:167===t.kind?a=t:C.Debug.fail("Accessor has wrong kind"):C.forEach(e,function(e){C.isAccessor(e)&&ur(e,32)===ur(t,32)&&ft(e.name)===ft(t.name)&&(r?n=n||e:r=e,166!==e.kind||i||(i=e),167!==e.kind||a||(a=e))}),{firstAccessor:r,secondAccessor:n,getAccessor:i,setAccessor:a}},C.getEffectiveTypeAnnotationNode=rr,C.getTypeAnnotationNode=function(e){return e.type},C.getEffectiveReturnTypeNode=function(e){return C.isJSDocSignature(e)?e.type&&e.type.typeExpression&&e.type.typeExpression.type:e.type||(fe(e)?C.getJSDocReturnType(e):void 0)},C.getJSDocTypeParameterDeclarations=function(e){return C.flatMap(C.getJSDocTags(e),function(e){return t=e,!C.isJSDocTemplateTag(t)||307===t.parent.kind&&t.parent.tags.some(Be)?void 0:e.typeParameters;var t})},C.getEffectiveSetAccessorTypeAnnotationNode=function(e){var t=Zt(e);return t&&rr(t)},C.emitNewLineBeforeLeadingComments=nr,C.emitNewLineBeforeLeadingCommentsOfPosition=ir,C.emitNewLineBeforeLeadingCommentOfPosition=function(e,t,r,n){r!==n&&Yt(e,r)!==Yt(e,n)&&t.writeLine()},C.emitComments=ar,C.emitDetachedComments=function(t,e,r,n,i,a,o){var s,c;if(o?0===i.pos&&(s=C.filter(C.getLeadingCommentRanges(t,i.pos),function(e){return g(t,e.pos)})):s=C.getLeadingCommentRanges(t,i.pos),s){for(var u=[],l=void 0,_=0,d=s;_>6|192),t.push(63&i|128)):i<65536?(t.push(i>>12|224),t.push(i>>6&63|128),t.push(63&i|128)):i<131072?(t.push(i>>18|240),t.push(i>>12&63|128),t.push(i>>6&63|128),t.push(63&i|128)):C.Debug.assert(!1,"Unexpected code point")}return t}(e),s=0,c=o.length;s>2,r=(3&o[s])<<4|o[s+1]>>4,n=(15&o[s+1])<<2|o[s+2]>>6,i=63&o[s+2],c<=s+1?n=i=64:c<=s+2&&(i=64),a+=Fr.charAt(t)+Fr.charAt(r)+Fr.charAt(n)+Fr.charAt(i),s+=3;return a}C.convertToBase64=Pr,C.base64encode=function(e,t){return e&&e.base64encode?e.base64encode(t):Pr(t)},C.base64decode=function(e,t){if(e&&e.base64decode)return e.base64decode(t);for(var r=t.length,n=[],i=0;i>4&3,l=(15&o)<<4|s>>2&15,_=(3&s)<<6|63&c;0==l&&0!==s?n.push(u):0==_&&0!==c?n.push(u,l):n.push(u,l,_),i+=4}return function(e){for(var t="",r=0,n=e.length;rr.next.length)return 1}return 0}(e.messageText,t.messageText)||0}function ln(e){return e.target||0}function _n(e){return"number"==typeof e.module?e.module:2<=ln(e)?C.ModuleKind.ES2015:C.ModuleKind.CommonJS}function dn(e){return!(!e.declaration&&!e.composite)}function pn(e,t){return void 0===e[t]?!!e.strict:!!e[t]}function fn(e,t){return t.strictFlag?pn(e,t.name):e[t.name]}function gn(e){for(var t=!1,r=0;rt;)if(!C.isWhiteSpaceLike(r.text.charCodeAt(e)))return e}(i,t,r);return C.getLinesBetweenPositions(r,null!=a?a:t,i)},C.getLinesBetweenPositionAndNextNonWhitespaceCharacter=function(e,t,r,n){var i=C.skipTrivia(r.text,e,!1,n);return C.getLinesBetweenPositions(r,e,Math.min(t,i))},C.isDeclarationNameOfEnumOrNamespace=function(e){var t=C.getParseTreeNode(e);if(t)switch(t.parent.kind){case 252:case 253:return t===t.parent.name}return!1},C.getInitializedVariables=function(e){return C.filter(e.declarations,Jr)},C.isWatchSet=function(e){return e.watch&&e.hasOwnProperty("watch")},C.closeFileWatcher=function(e){e.close()},C.getCheckFlags=zr,C.getDeclarationModifierFlagsFromSymbol=function(e){if(e.valueDeclaration){var t=C.getCombinedModifierFlags(e.valueDeclaration);return e.parent&&32&e.parent.flags?t:-29&t}if(6&zr(e)){var r=e.checkFlags;return(1024&r?8:256&r?4:16)|(2048&r?32:0)}return 4194304&e.flags?36:0},C.skipAlias=function(e,t){return 2097152&e.flags?t.getAliasedSymbol(e):e},C.getCombinedLocalAndExportSymbolFlags=function(e){return e.exportSymbol?e.exportSymbol.flags|e.flags:e.flags},C.isWriteOnlyAccess=function(e){return 1===Ur(e)},C.isWriteAccess=function(e){return 0!==Ur(e)},(Ir=wr=wr||{})[Ir.Read=0]="Read",Ir[Ir.Write=1]="Write",Ir[Ir.ReadWrite=2]="ReadWrite",C.compareDataObjects=function e(t,r){if(!t||!r||Object.keys(t).length!==Object.keys(r).length)return!1;for(var n in t)if("object"==typeof t[n]){if(!e(t[n],r[n]))return!1}else if("function"!=typeof t[n]&&t[n]!==r[n])return!1;return!0},C.clearMap=function(e,t){e.forEach(t),e.clear()},C.mutateMapSkippingNewValues=Vr,C.mutateMap=function(r,e,t){Vr(r,e,t);var n=t.createNewValue;e.forEach(function(e,t){r.has(t)||r.set(t,n(t,e))})},C.isAbstractConstructorType=function(e){return!!(16&Wr(e))&&!!e.symbol&&Kr(e.symbol)},C.isAbstractConstructorSymbol=Kr,C.getClassLikeDeclarationOfSymbol=qr,C.getObjectFlags=Wr,C.typeHasCallOrConstructSignatures=function(e,t){return 0!==t.getSignaturesOfType(e,0).length||0!==t.getSignaturesOfType(e,1).length},C.forSomeAncestorDirectory=function(e,t){return!!C.forEachAncestorDirectory(e,function(e){return!!t(e)||void 0})},C.isUMDExportSymbol=function(e){return!!e&&!!e.declarations&&!!e.declarations[0]&&C.isNamespaceExportDeclaration(e.declarations[0])},C.showModuleSpecifier=function(e){var t=e.moduleSpecifier;return C.isStringLiteral(t)?t.text:h(t)},C.getLastChild=function(e){var r;return C.forEachChild(e,function(e){_(e)&&(r=e)},function(e){for(var t=e.length-1;0<=t;t--)if(_(e[t])){r=e[t];break}}),r},C.addToSeen=function(e,t,r){return void 0===r&&(r=!0),t=String(t),!e.has(t)&&(e.set(t,r),!0)},C.isObjectTypeDeclaration=function(e){return C.isClassLike(e)||C.isInterfaceDeclaration(e)||C.isTypeLiteralNode(e)},C.isTypeNodeKind=function(e){return 171<=e&&e<=192||128===e||151===e||143===e||154===e||144===e||131===e||146===e||147===e||113===e||149===e||140===e||220===e||299===e||300===e||301===e||302===e||303===e||304===e||305===e},C.isAccessExpression=Hr,C.getNameOfAccessExpression=function(e){return 198===e.kind?e.name:(C.Debug.assert(199===e.kind),e.argumentExpression)},C.isBundleFileTextLike=function(e){switch(e.kind){case"text":case"internal":return!0;default:return!1}},C.isNamedImportsOrExports=function(e){return 261===e.kind||265===e.kind},C.getLeftmostExpression=function(e,t){for(;;){switch(e.kind){case 212:e=e.operand;continue;case 213:e=e.left;continue;case 214:e=e.condition;continue;case 202:e=e.tag;continue;case 200:if(t)return e;case 221:case 199:case 198:case 222:case 331:e=e.expression;continue}return e}},C.objectAllocator={getNodeConstructor:function(){return Yr},getTokenConstructor:function(){return Zr},getIdentifierConstructor:function(){return $r},getPrivateIdentifierConstructor:function(){return Yr},getSourceFileConstructor:function(){return Yr},getSymbolConstructor:function(){return Gr},getTypeConstructor:function(){return Qr},getSignatureConstructor:function(){return Xr},getSourceMapSourceConstructor:function(){return en}},C.setObjectAllocator=function(e){C.objectAllocator=e},C.formatStringFromArgs=tn,C.setLocalizedDiagnosticMessages=function(e){C.localizedDiagnosticMessages=e},C.getLocaleSpecificMessage=rn,C.createDetachedDiagnostic=function(e,t,r,n){C.Debug.assertGreaterThanOrEqual(t,0),C.Debug.assertGreaterThanOrEqual(r,0);var i=rn(n);return 4>>4)+(15&a?1:0)),s=i-1,c=0;2<=s;s--,c+=t){var u=c>>>4,l=e.charCodeAt(s),_=(l<=57?l-48:10+l-(l<=70?65:97))<<(15&c);o[u]|=_;var d=_>>>16;d&&(o[u+1]|=d)}for(var p="",f=o.length-1,g=!0;g;){for(var m=0,g=!1,u=f;0<=u;u--){var y=m<<16|o[u],v=y/10|0,m=y-10*(o[u]=v);v&&!g&&(f=u,g=!0)}p=m+p}return p},C.pseudoBigIntToString=function(e){var t=e.negative,r=e.base10Value;return(t&&"0"!==r?"-":"")+r},C.isValidTypeOnlyAliasUseSite=function(e){return!!(8388608&e.flags)||_e(e)||function(e){if(78!==e.kind)return!1;var t=a(e.parent,function(e){switch(e.kind){case 283:return!0;case 198:case 220:return!1;default:return"quit"}});return 116===(null==t?void 0:t.token)||250===(null==t?void 0:t.parent.kind)}(e)||function(e){for(;78===e.kind||198===e.kind;)e=e.parent;if(157!==e.kind)return!1;if(ur(e.parent,128))return!0;var t=e.parent.parent.kind;return 250===t||176===t}(e)||!ue(e)},C.typeOnlyDeclarationIsExport=function(e){return 267===e.kind},C.isIdentifierTypeReference=function(e){return C.isTypeReferenceNode(e)&&C.isIdentifier(e.typeName)},C.arrayIsHomogeneous=function(e,t){if(void 0===t&&(t=C.equateValues),e.length<2)return!0;for(var r=e[0],n=1,i=e.length;n= 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 };'},d.metadataHelper={name:"typescript:metadata",importName:"__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 };'},d.paramHelper={name:"typescript:param",importName:"__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 };"},d.assignHelper={name:"typescript:assign",importName:"__assign",scoped:!1,priority:1,text:"\n var __assign = (this && this.__assign) || function () {\n __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 };\n return __assign.apply(this, arguments);\n };"},d.awaitHelper={name:"typescript:await",importName:"__await",scoped:!1,text:"\n var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }"},d.asyncGeneratorHelper={name:"typescript:asyncGenerator",importName:"__asyncGenerator",scoped:!1,dependencies:[d.awaitHelper],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 };'},d.asyncDelegator={name:"typescript:asyncDelegator",importName:"__asyncDelegator",scoped:!1,dependencies:[d.awaitHelper],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) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }\n };'},d.asyncValues={name:"typescript:asyncValues",importName:"__asyncValues",scoped:!1,text:'\n var __asyncValues = (this && this.__asyncValues) || function (o) {\n if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n };'},d.restHelper={name:"typescript:rest",importName:"__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++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n };'},d.awaiterHelper={name:"typescript:awaiter",importName:"__awaiter",scoped:!1,priority:5,text:'\n var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\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) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n };'},d.extendsHelper={name:"typescript:extends",importName:"__extends",scoped:!1,priority:0,text:"\n var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n\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 })();"},d.templateObjectHelper={name:"typescript:makeTemplateObject",importName:"__makeTemplateObject",scoped:!1,priority:0,text:'\n var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n };'},d.readHelper={name:"typescript:read",importName:"__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 };'},d.spreadHelper={name:"typescript:spread",importName:"__spread",scoped:!1,dependencies:[d.readHelper],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 };"},d.spreadArraysHelper={name:"typescript:spreadArrays",importName:"__spreadArrays",scoped:!1,text:"\n var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n };"},d.valuesHelper={name:"typescript:values",importName:"__values",scoped:!1,text:'\n var __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === "number") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");\n };'},d.generatorHelper={name:"typescript:generator",importName:"__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 = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, 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 };'},d.createBindingHelper={name:"typescript:commonjscreatebinding",importName:"__createBinding",scoped:!1,priority:1,text:"\n var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n }) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n }));"},d.setModuleDefaultHelper={name:"typescript:commonjscreatevalue",importName:"__setModuleDefault",scoped:!1,priority:1,text:'\n var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, "default", { enumerable: true, value: v });\n }) : function(o, v) {\n o["default"] = v;\n });'},d.importStarHelper={name:"typescript:commonjsimportstar",importName:"__importStar",scoped:!1,dependencies:[d.createBindingHelper,d.setModuleDefaultHelper],priority:2,text:'\n var __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n };'},d.importDefaultHelper={name:"typescript:commonjsimportdefault",importName:"__importDefault",scoped:!1,text:'\n var __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { "default": mod };\n };'},d.exportStarHelper={name:"typescript:export-star",importName:"__exportStar",scoped:!1,dependencies:[d.createBindingHelper],priority:2,text:'\n var __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n };'},d.classPrivateFieldGetHelper={name:"typescript:classPrivateFieldGet",importName:"__classPrivateFieldGet",scoped:!1,text:'\n var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError("attempted to get private field on non-instance");\n }\n return privateMap.get(receiver);\n };'},d.classPrivateFieldSetHelper={name:"typescript:classPrivateFieldSet",importName:"__classPrivateFieldSet",scoped:!1,text:'\n var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError("attempted to set private field on non-instance");\n }\n privateMap.set(receiver, value);\n return value;\n };'},d.getAllUnscopedEmitHelpers=function(){return t=t||d.arrayToMap([d.decorateHelper,d.metadataHelper,d.paramHelper,d.assignHelper,d.awaitHelper,d.asyncGeneratorHelper,d.asyncDelegator,d.asyncValues,d.restHelper,d.awaiterHelper,d.extendsHelper,d.templateObjectHelper,d.spreadHelper,d.spreadArraysHelper,d.valuesHelper,d.readHelper,d.generatorHelper,d.importStarHelper,d.importDefaultHelper,d.exportStarHelper,d.classPrivateFieldGetHelper,d.classPrivateFieldSetHelper,d.createBindingHelper,d.setModuleDefaultHelper],function(e){return e.name})},d.asyncSuperHelper={name:"typescript:async-super",scoped:!0,text:e(__makeTemplateObject(["\n const "," = name => super[name];"],["\n const "," = name => super[name];"]),"_superIndex")},d.advancedAsyncSuperHelper={name:"typescript:advanced-async-super",scoped:!0,text:e(__makeTemplateObject(["\n const "," = (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 const "," = (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);"]),"_superIndex")}}(ts=ts||{}),function(e){e.isNumericLiteral=function(e){return 8===e.kind},e.isBigIntLiteral=function(e){return 9===e.kind},e.isStringLiteral=function(e){return 10===e.kind},e.isJsxText=function(e){return 11===e.kind},e.isRegularExpressionLiteral=function(e){return 13===e.kind},e.isNoSubstitutionTemplateLiteral=function(e){return 14===e.kind},e.isTemplateHead=function(e){return 15===e.kind},e.isTemplateMiddle=function(e){return 16===e.kind},e.isTemplateTail=function(e){return 17===e.kind},e.isIdentifier=function(e){return 78===e.kind},e.isQualifiedName=function(e){return 156===e.kind},e.isComputedPropertyName=function(e){return 157===e.kind},e.isPrivateIdentifier=function(e){return 79===e.kind},e.isSuperKeyword=function(e){return 105===e.kind},e.isImportKeyword=function(e){return 99===e.kind},e.isCommaToken=function(e){return 27===e.kind},e.isQuestionToken=function(e){return 57===e.kind},e.isExclamationToken=function(e){return 53===e.kind},e.isTypeParameterDeclaration=function(e){return 158===e.kind},e.isParameter=function(e){return 159===e.kind},e.isDecorator=function(e){return 160===e.kind},e.isPropertySignature=function(e){return 161===e.kind},e.isPropertyDeclaration=function(e){return 162===e.kind},e.isMethodSignature=function(e){return 163===e.kind},e.isMethodDeclaration=function(e){return 164===e.kind},e.isConstructorDeclaration=function(e){return 165===e.kind},e.isGetAccessorDeclaration=function(e){return 166===e.kind},e.isSetAccessorDeclaration=function(e){return 167===e.kind},e.isCallSignatureDeclaration=function(e){return 168===e.kind},e.isConstructSignatureDeclaration=function(e){return 169===e.kind},e.isIndexSignatureDeclaration=function(e){return 170===e.kind},e.isTypePredicateNode=function(e){return 171===e.kind},e.isTypeReferenceNode=function(e){return 172===e.kind},e.isFunctionTypeNode=function(e){return 173===e.kind},e.isConstructorTypeNode=function(e){return 174===e.kind},e.isTypeQueryNode=function(e){return 175===e.kind},e.isTypeLiteralNode=function(e){return 176===e.kind},e.isArrayTypeNode=function(e){return 177===e.kind},e.isTupleTypeNode=function(e){return 178===e.kind},e.isNamedTupleMember=function(e){return 191===e.kind},e.isOptionalTypeNode=function(e){return 179===e.kind},e.isRestTypeNode=function(e){return 180===e.kind},e.isUnionTypeNode=function(e){return 181===e.kind},e.isIntersectionTypeNode=function(e){return 182===e.kind},e.isConditionalTypeNode=function(e){return 183===e.kind},e.isInferTypeNode=function(e){return 184===e.kind},e.isParenthesizedTypeNode=function(e){return 185===e.kind},e.isThisTypeNode=function(e){return 186===e.kind},e.isTypeOperatorNode=function(e){return 187===e.kind},e.isIndexedAccessTypeNode=function(e){return 188===e.kind},e.isMappedTypeNode=function(e){return 189===e.kind},e.isLiteralTypeNode=function(e){return 190===e.kind},e.isImportTypeNode=function(e){return 192===e.kind},e.isObjectBindingPattern=function(e){return 193===e.kind},e.isArrayBindingPattern=function(e){return 194===e.kind},e.isBindingElement=function(e){return 195===e.kind},e.isArrayLiteralExpression=function(e){return 196===e.kind},e.isObjectLiteralExpression=function(e){return 197===e.kind},e.isPropertyAccessExpression=function(e){return 198===e.kind},e.isElementAccessExpression=function(e){return 199===e.kind},e.isCallExpression=function(e){return 200===e.kind},e.isNewExpression=function(e){return 201===e.kind},e.isTaggedTemplateExpression=function(e){return 202===e.kind},e.isTypeAssertionExpression=function(e){return 203===e.kind},e.isParenthesizedExpression=function(e){return 204===e.kind},e.isFunctionExpression=function(e){return 205===e.kind},e.isArrowFunction=function(e){return 206===e.kind},e.isDeleteExpression=function(e){return 207===e.kind},e.isTypeOfExpression=function(e){return 208===e.kind},e.isVoidExpression=function(e){return 209===e.kind},e.isAwaitExpression=function(e){return 210===e.kind},e.isPrefixUnaryExpression=function(e){return 211===e.kind},e.isPostfixUnaryExpression=function(e){return 212===e.kind},e.isBinaryExpression=function(e){return 213===e.kind},e.isConditionalExpression=function(e){return 214===e.kind},e.isTemplateExpression=function(e){return 215===e.kind},e.isYieldExpression=function(e){return 216===e.kind},e.isSpreadElement=function(e){return 217===e.kind},e.isClassExpression=function(e){return 218===e.kind},e.isOmittedExpression=function(e){return 219===e.kind},e.isExpressionWithTypeArguments=function(e){return 220===e.kind},e.isAsExpression=function(e){return 221===e.kind},e.isNonNullExpression=function(e){return 222===e.kind},e.isMetaProperty=function(e){return 223===e.kind},e.isSyntheticExpression=function(e){return 224===e.kind},e.isPartiallyEmittedExpression=function(e){return 331===e.kind},e.isCommaListExpression=function(e){return 332===e.kind},e.isTemplateSpan=function(e){return 225===e.kind},e.isSemicolonClassElement=function(e){return 226===e.kind},e.isBlock=function(e){return 227===e.kind},e.isVariableStatement=function(e){return 229===e.kind},e.isEmptyStatement=function(e){return 228===e.kind},e.isExpressionStatement=function(e){return 230===e.kind},e.isIfStatement=function(e){return 231===e.kind},e.isDoStatement=function(e){return 232===e.kind},e.isWhileStatement=function(e){return 233===e.kind},e.isForStatement=function(e){return 234===e.kind},e.isForInStatement=function(e){return 235===e.kind},e.isForOfStatement=function(e){return 236===e.kind},e.isContinueStatement=function(e){return 237===e.kind},e.isBreakStatement=function(e){return 238===e.kind},e.isReturnStatement=function(e){return 239===e.kind},e.isWithStatement=function(e){return 240===e.kind},e.isSwitchStatement=function(e){return 241===e.kind},e.isLabeledStatement=function(e){return 242===e.kind},e.isThrowStatement=function(e){return 243===e.kind},e.isTryStatement=function(e){return 244===e.kind},e.isDebuggerStatement=function(e){return 245===e.kind},e.isVariableDeclaration=function(e){return 246===e.kind},e.isVariableDeclarationList=function(e){return 247===e.kind},e.isFunctionDeclaration=function(e){return 248===e.kind},e.isClassDeclaration=function(e){return 249===e.kind},e.isInterfaceDeclaration=function(e){return 250===e.kind},e.isTypeAliasDeclaration=function(e){return 251===e.kind},e.isEnumDeclaration=function(e){return 252===e.kind},e.isModuleDeclaration=function(e){return 253===e.kind},e.isModuleBlock=function(e){return 254===e.kind},e.isCaseBlock=function(e){return 255===e.kind},e.isNamespaceExportDeclaration=function(e){return 256===e.kind},e.isImportEqualsDeclaration=function(e){return 257===e.kind},e.isImportDeclaration=function(e){return 258===e.kind},e.isImportClause=function(e){return 259===e.kind},e.isNamespaceImport=function(e){return 260===e.kind},e.isNamespaceExport=function(e){return 266===e.kind},e.isNamedImports=function(e){return 261===e.kind},e.isImportSpecifier=function(e){return 262===e.kind},e.isExportAssignment=function(e){return 263===e.kind},e.isExportDeclaration=function(e){return 264===e.kind},e.isNamedExports=function(e){return 265===e.kind},e.isExportSpecifier=function(e){return 267===e.kind},e.isMissingDeclaration=function(e){return 268===e.kind},e.isNotEmittedStatement=function(e){return 330===e.kind},e.isSyntheticReference=function(e){return 335===e.kind},e.isMergeDeclarationMarker=function(e){return 333===e.kind},e.isEndOfDeclarationMarker=function(e){return 334===e.kind},e.isExternalModuleReference=function(e){return 269===e.kind},e.isJsxElement=function(e){return 270===e.kind},e.isJsxSelfClosingElement=function(e){return 271===e.kind},e.isJsxOpeningElement=function(e){return 272===e.kind},e.isJsxClosingElement=function(e){return 273===e.kind},e.isJsxFragment=function(e){return 274===e.kind},e.isJsxOpeningFragment=function(e){return 275===e.kind},e.isJsxClosingFragment=function(e){return 276===e.kind},e.isJsxAttribute=function(e){return 277===e.kind},e.isJsxAttributes=function(e){return 278===e.kind},e.isJsxSpreadAttribute=function(e){return 279===e.kind},e.isJsxExpression=function(e){return 280===e.kind},e.isCaseClause=function(e){return 281===e.kind},e.isDefaultClause=function(e){return 282===e.kind},e.isHeritageClause=function(e){return 283===e.kind},e.isCatchClause=function(e){return 284===e.kind},e.isPropertyAssignment=function(e){return 285===e.kind},e.isShorthandPropertyAssignment=function(e){return 286===e.kind},e.isSpreadAssignment=function(e){return 287===e.kind},e.isEnumMember=function(e){return 288===e.kind},e.isUnparsedPrepend=function(e){return 290===e.kind},e.isSourceFile=function(e){return 294===e.kind},e.isBundle=function(e){return 295===e.kind},e.isUnparsedSource=function(e){return 296===e.kind},e.isJSDocTypeExpression=function(e){return 298===e.kind},e.isJSDocAllType=function(e){return 299===e.kind},e.isJSDocUnknownType=function(e){return 300===e.kind},e.isJSDocNullableType=function(e){return 301===e.kind},e.isJSDocNonNullableType=function(e){return 302===e.kind},e.isJSDocOptionalType=function(e){return 303===e.kind},e.isJSDocFunctionType=function(e){return 304===e.kind},e.isJSDocVariadicType=function(e){return 305===e.kind},e.isJSDocNamepathType=function(e){return 306===e.kind},e.isJSDoc=function(e){return 307===e.kind},e.isJSDocTypeLiteral=function(e){return 308===e.kind},e.isJSDocSignature=function(e){return 309===e.kind},e.isJSDocAugmentsTag=function(e){return 311===e.kind},e.isJSDocAuthorTag=function(e){return 313===e.kind},e.isJSDocClassTag=function(e){return 315===e.kind},e.isJSDocCallbackTag=function(e){return 320===e.kind},e.isJSDocPublicTag=function(e){return 316===e.kind},e.isJSDocPrivateTag=function(e){return 317===e.kind},e.isJSDocProtectedTag=function(e){return 318===e.kind},e.isJSDocReadonlyTag=function(e){return 319===e.kind},e.isJSDocDeprecatedTag=function(e){return 314===e.kind},e.isJSDocEnumTag=function(e){return 321===e.kind},e.isJSDocParameterTag=function(e){return 322===e.kind},e.isJSDocReturnTag=function(e){return 323===e.kind},e.isJSDocThisTag=function(e){return 324===e.kind},e.isJSDocTypeTag=function(e){return 325===e.kind},e.isJSDocTemplateTag=function(e){return 326===e.kind},e.isJSDocTypedefTag=function(e){return 327===e.kind},e.isJSDocUnknownTag=function(e){return 310===e.kind},e.isJSDocPropertyTag=function(e){return 328===e.kind},e.isJSDocImplementsTag=function(e){return 312===e.kind},e.isSyntaxList=function(e){return 329===e.kind}}(ts=ts||{}),function(v){function p(e,t,r,n){if(v.isComputedPropertyName(r))return v.setTextRange(e.createElementAccessExpression(t,r.expression),n);var i=v.setTextRange(v.isIdentifierOrPrivateIdentifier(r)?e.createPropertyAccessExpression(t,r):e.createElementAccessExpression(t,r),r);return v.getOrCreateEmitNode(i).flags|=64,i}function g(e,t){var r=v.parseNodeFactory.createIdentifier(e||"React");return v.setParent(r,v.getParseTreeNode(t)),r}function m(e,t,r){if(v.isQualifiedName(t)){var n=m(e,t.left,r),i=e.createIdentifier(v.idText(t.right));return i.escapedText=t.right.escapedText,e.createPropertyAccessExpression(n,i)}return g(v.idText(t),r)}function y(e,t,r,n){return t?m(e,t,n):e.createPropertyAccessExpression(g(r,n),"createElement")}function f(e,t){return v.isIdentifier(t)?e.createStringLiteralFromNode(t):v.isComputedPropertyName(t)?v.setParent(v.setTextRange(e.cloneNode(t.expression),t.expression),t.expression.parent):v.setParent(v.setTextRange(e.cloneNode(t),t),t.parent)}function i(e){return v.isStringLiteral(e.expression)&&"use strict"===e.expression.text}function r(e,t){switch(void 0===t&&(t=15),e.kind){case 204:return 0!=(1&t);case 203:case 221:return 0!=(2&t);case 222:return 0!=(4&t);case 331:return 0!=(8&t)}return!1}function t(e,t){for(void 0===t&&(t=15);r(e,t);)e=e.expression;return e}function h(e){return v.setStartsOnNewLine(e,!0)}function b(e){var t=v.getOriginalNode(e,v.isSourceFile),r=t&&t.emitNode;return r&&r.externalHelpersModuleName}function x(e,t,r,n,i){if(r.importHelpers&&v.isEffectiveExternalModule(t,r)){var a=b(t);if(a)return a;var o=v.getEmitModuleKind(r),s=(n||r.esModuleInterop&&i)&&o!==v.ModuleKind.System&&o=v.ModuleKind.ES2015&&c<=v.ModuleKind.ESNext){var u=v.getEmitHelpers(n);if(u){for(var l,_=[],d=0,p=u;d=t,"Adjusting an element that was entirely before the change range"),Ei.Debug.assert(e.pos<=r,"Adjusting an element that was entirely after the change range"),Ei.Debug.assert(e.pos<=e.end);var a=Math.min(e.pos,n),o=e.end>=r?e.end+i:Math.min(e.end,n);Ei.Debug.assert(a<=o),e.parent&&(Ei.Debug.assertGreaterThanOrEqual(a,e.parent.pos),Ei.Debug.assertLessThanOrEqual(o,e.parent.end)),Ei.setTextRangePosEnd(e,a,o)}function S(e,t){if(t){var r=e.pos,n=function(e){Ei.Debug.assert(e.pos>=r),r=e.end};if(Ei.hasJSDocNodes(e))for(var i=0,a=e.jsDoc;ir),!0;if(t.pos>=i.pos&&(i=t),ri.pos&&(i=t),i}function C(e,t,r,n){var i,a,o,s,c=e.text;r&&(Ei.Debug.assert(c.length-r.span.length+r.newLength===t.length),(n||Ei.Debug.shouldAssert(3))&&(i=c.substr(0,r.span.start),a=t.substr(0,r.span.start),Ei.Debug.assert(i===a),o=c.substring(Ei.textSpanEnd(r.span),c.length),s=t.substring(Ei.textSpanEnd(Ei.textChangeRangeNewSpan(r)),t.length),Ei.Debug.assert(o===s)))}function E(t){var o=t.statements,s=0;Ei.Debug.assert(s=e.pos&&a=e.pos&&ac.checkJsDirective.pos)&&(c.checkJsDirective={enabled:"ts-check"===t,end:e.range.end,pos:e.range.pos})});break;case"jsx":case"jsxfrag":return;default:Ei.Debug.fail("Unhandled pragma kind")}})}(t=e=e||{})[t.None=0]="None",t[t.Yield=1]="Yield",t[t.Await=2]="Await",t[t.Type=4]="Type",t[t.IgnoreMissingOpenBrace=16]="IgnoreMissingOpenBrace",t[t.JSDoc=32]="JSDoc",(n=r=r||{})[n.TryParse=0]="TryParse",n[n.Lookahead=1]="Lookahead",n[n.Reparse=2]="Reparse",Ei.parseBaseNodeFactory={createBaseSourceFileNode:function(e){return new(c=c||Ei.objectAllocator.getSourceFileConstructor())(e,-1,-1)},createBaseIdentifierNode:function(e){return new(o=o||Ei.objectAllocator.getIdentifierConstructor())(e,-1,-1)},createBasePrivateIdentifierNode:function(e){return new(s=s||Ei.objectAllocator.getPrivateIdentifierConstructor())(e,-1,-1)},createBaseTokenNode:function(e){return new(a=a||Ei.objectAllocator.getTokenConstructor())(e,-1,-1)},createBaseNode:function(e){return new(i=i||Ei.objectAllocator.getNodeConstructor())(e,-1,-1)}},Ei.parseNodeFactory=Ei.createNodeFactory(1,Ei.parseBaseNodeFactory),Ei.isJSDocLikeText=Ni,Ei.forEachChild=Ai,Ei.forEachChildRecursively=function(e,c,u){for(var l=[e];l.length;){var t=l.pop(),r=i(t,n(t));if(r)return r}return;function n(e){var t=[];return Ai(e,r,r),t;function r(e){t.unshift(e)}}function i(e,t){for(var r=0,n=t;r=t.pos}),r=0<=e?Ei.findIndex(n,function(e){return e.start>=i.pos},e):-1;0<=e&&Ei.addRange(H,n,e,0<=r?r:void 0),Ce(function(){var e=S;for(S|=32768,q.setTextPos(i.pos),ve();1!==G;){var t=q.getStartPos(),r=pt(0,Fn);if(o.push(r),t===q.getStartPos()&&ve(),0<=s){var n=a.statements[s];if(r.end===n.pos)break;r.end>n.pos&&(s=d(a.statements,s+1))}}S=e},2),c=0<=s?_(a.statements,s):-1};-1!==c;)u();return 0<=s&&(t=a.statements[s],Ei.addRange(o,a.statements,s),0<=(i=Ei.findIndex(n,function(e){return e.start>=t.pos}))&&Ei.addRange(H,n,i)),m=e,Q.updateSourceFile(a,Ei.setTextRange(Q.createNodeArray(o),a.statements));function l(e){return!(32768&e.flags)&&8388608&e.transformFlags}function _(e,t){for(var r=t;r");var n=Q.createParameterDeclaration(void 0,void 0,void 0,t,void 0,void 0,void 0);je(n,t.pos);var i=Be([n],n.pos,n.end),a=Oe(38),o=Mr(!!r);return j(je(Q.createArrowFunction(r,void 0,i,void 0,a,o),e))}function Pr(){if(129===G){if(ve(),q.hasPrecedingLineBreak())return 0;if(20!==G&&29!==G)return 0}var e=G,t=ve();if(20!==e)return Ei.Debug.assert(29===e),Ae()?1!==f?2:Ee(function(){var e=ve();if(93===e)switch(ve()){case 62:case 31:return!1;default:return!0}else if(27===e)return!0;return!1})?1:0:0;if(21===t)switch(ve()){case 38:case 58:case 18:return 1;default:return 0}if(22===t||18===t)return 2;if(25===t)return 1;if(Ei.isModifierKind(t)&&129!==t&&Ee(at))return 1;if(!Ae()&&107!==t)return 0;switch(ve()){case 58:return 1;case 57:return ve(),58===G||27===G||62===G||21===G?1:0;case 27:case 62:case 21:return 2}return 0}function wr(){var e=q.getTokenPos();if(null==r||!r.has(e)){var t=Or(!1);return t||(r=r||new Ei.Set).add(e),t}}function Ir(){if(129===G){if(ve(),q.hasPrecedingLineBreak()||38===G)return 0;var e=Lr(0);if(!q.hasPrecedingLineBreak()&&78===e.kind&&38===G)return 1}return 0}function Or(e){var t,r=fe(),n=ge(),i=ni(),a=Ei.some(i,Ei.isAsyncModifier)?2:0,o=It();if(Fe(20)){if(t=jt(a),!Fe(21)&&!e)return}else{if(!e)return;t=vt()}var s=Bt(58,!1);if(!s||e||!function e(t){switch(t.kind){case 172:return Ei.nodeIsMissing(t.typeName);case 173:case 174:var r=t.parameters,n=t.type;return!!r.isMissingList||e(n);case 185:return e(t.type);default:return!1}}(s)){var c=s&&Ei.isJSDocFunctionType(s);if(e||38===G||!c&&18===G){var u=G,l=Oe(38),_=38===u||18===u?Mr(Ei.some(i,Ei.isAsyncModifier)):Ke();return A(je(Q.createArrowFunction(i,o,t,s,l,_),r),n)}}}function Mr(e){if(18===G)return mn(e?2:0);if(26!==G&&97!==G&&83!==G&&Nn()&&(18===G||97===G||83===G||59===G||!Er()))return mn(16|(e?2:0));var t=T;T=!1;var r=e?ne(Ar):ee(32768,Ar);return T=t,r}function Lr(e){var t=fe();return Br(e,zr(),t)}function Rr(e){return 100===e||155===e}function Br(e,t,r){for(;;){be();var n=Ei.getBinaryOperatorPrecedence(G);if(!(42===G?e<=n:et&&p.push(s.slice(t-i-1)),i+=s.length;break;case 1:break e;default:n=2,a(q.getTokenText())}he()}return f(p),g(p),e=p.length?p.join(""):void 0,r=A&&Be(A,_,d),je(Q.createJSDocComment(e,r),c,l)})}function f(e){for(;e.length&&("\n"===e[0]||"\r"===e[0]);)e.shift()}function g(e){for(;e.length&&""===e[e.length-1].trim();)e.pop()}function n(){for(;;){if(he(),1===G)return!0;if(5!==G&&4!==G)return!1}}function F(){if(5!==G&&4!==G||!Ee(n))for(;5===G||4===G;)he()}function P(){if((5===G||4===G)&&Ee(n))return"";for(var e=q.hasPrecedingLineBreak(),t=!1,r="";e&&41===G||5===G||4===G;)r+=q.getTokenText(),4===G?(t=e=!0,r=""):41===G&&(e=!1),he();return t?r:""}function w(e){Ei.Debug.assert(59===G);var t=q.getTokenPos();he();var r,n,i,a,o,s,c,u,l,_,d,p,f,g,m,y,v,h,b,x,D,S,T,C,E,k=K(void 0),N=P();switch(k.escapedText){case"author":r=function(e,t,r,n){var i=ke(function(){var e=[],t=!1,r=!1,n=q.getToken();e:for(;;){switch(n){case 78:case 5:case 24:case 59:e.push(q.getTokenText());break;case 29:if(t||r)return;t=!0,e.push(q.getTokenText());break;case 31:if(!t||r)return;r=!0,e.push(q.getTokenText()),q.setTextPos(q.getTokenPos()+1);break e;case 4:case 1:break e}n=he()}if(t&&r)return 0===e.length?void 0:e.join("")});if(!i){var a=fe();return je(Q.createJSDocAuthorTag(t,I(e,a,r,n)),e,a)}var o=i;{var s;!Ee(function(){return 4!==ve()})||(s=O(r))&&(o+=s)}return je(Q.createJSDocAuthorTag(t,o),e)}(t,k,e,N);break;case"implements":x=t,D=k,S=e,T=N,C=j(),E=fe(),r=je(Q.createJSDocImplementsTag(D,C,I(x,E,S,T)),x,E);break;case"augments":case"extends":g=t,m=k,y=e,v=N,h=j(),b=fe(),r=je(Q.createJSDocAugmentsTag(m,h,I(g,b,y,v)),g,b);break;case"class":case"constructor":r=J(t,Q.createJSDocClassTag,k,e,N);break;case"public":r=J(t,Q.createJSDocPublicTag,k,e,N);break;case"private":r=J(t,Q.createJSDocPrivateTag,k,e,N);break;case"protected":r=J(t,Q.createJSDocProtectedTag,k,e,N);break;case"readonly":r=J(t,Q.createJSDocReadonlyTag,k,e,N);break;case"deprecated":X=!0,r=J(t,Q.createJSDocDeprecatedTag,k,e,N);break;case"this":r=function(e,t,r,n){var i=Ti(!0);F();var a=fe();return je(Q.createJSDocThisTag(t,i,I(e,a,r,n)),e,a)}(t,k,e,N);break;case"enum":r=function(e,t,r,n){var i=Ti(!0);F();var a=fe();return je(Q.createJSDocEnumTag(t,i,I(e,a,r,n)),e,a)}(t,k,e,N);break;case"arg":case"argument":case"param":return R(t,k,2,e);case"return":case"returns":r=function(e,t,r,n){Ei.some(A,Ei.isJSDocReturnTag)&&_e(t.pos,q.getTokenPos(),Ei.Diagnostics._0_tag_already_specified,t.escapedText);var i=M(),a=fe();return je(Q.createJSDocReturnTag(t,i,I(e,a,r,n)),e,a)}(t,k,e,N);break;case"template":c=t,u=k,l=e,_=N,d=18===G?Ti():void 0,p=function(){var e=fe(),t=[];for(;F(),t.push((0,r=fe(),n=K(Ei.Diagnostics.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces),je(Q.createTypeParameterDeclaration(n,void 0,void 0),r))),P(),V(27););var r,n;return Be(t,e)}(),f=fe(),r=je(Q.createJSDocTemplateTag(u,d,p,I(c,f,l,_)),c,f);break;case"type":r=B(t,k,e,N);break;case"typedef":r=function(e,t,r,n){var i,a=M();P();var o=z();F();var s,c=O(r);if(!a||L(a.type)){for(var u,l,_=void 0,d=void 0,p=void 0,f=!1;_=ke(function(){return U(1,r)});)if(f=!0,325===_.kind){if(d){ue(Ei.Diagnostics.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);var g=Ei.lastOrUndefined(H);g&&Ei.addRelatedInfo(g,Ei.createDetachedDiagnostic(W,0,0,Ei.Diagnostics.The_tag_was_first_specified_here));break}d=_}else p=Ei.append(p,_);f&&(u=a&&177===a.type.kind,l=Q.createJSDocTypeLiteral(p,u),a=d&&d.typeExpression&&!L(d.typeExpression.type)?d.typeExpression:je(l,e),s=a.end)}s=s||void 0!==c?fe():(null!==(i=null!=o?o:a)&&void 0!==i?i:t).end,c=c||I(e,s,r,n);return je(Q.createJSDocTypedefTag(t,a,o,c),e,s)}(t,k,e,N);break;case"callback":r=function(e,t,r,n){var i=z();F();var a=O(r),o=function(e){var t,r,n=fe();for(;t=ke(function(){return U(4,e)});)r=Ei.append(r,t);return Be(r||[],n)}(r),s=ke(function(){if(V(59)){var e=w(r);if(e&&323===e.kind)return e}}),c=je(Q.createJSDocSignature(void 0,o,s),e),u=fe();a=a||I(e,u,r,n);return je(Q.createJSDocCallbackTag(t,c,i,a),e,u)}(t,k,e,N);break;default:n=t,i=k,a=e,o=N,s=fe(),r=je(Q.createJSDocUnknownTag(i,I(n,s,a,o)),n,s)}return r}function I(e,t,r,n){return n||(r+=t-e),O(r,n.slice(r))}function O(t,e){var r,n=[],i=0;function a(e){r=r||t,n.push(e),t+=e.length}void 0!==e&&(""!==e&&a(e),i=1);var o,s=G;e:for(;;){switch(s){case 4:i=0,n.push(q.getTokenText()),t=0;break;case 59:if(3===i){n.push(q.getTokenText());break}q.setTextPos(q.getTextPos()-1);case 1:break e;case 5:2===i||3===i?a(q.getTokenText()):(o=q.getTokenText(),void 0!==r&&t+o.length>r&&n.push(o.slice(r-t)),t+=o.length);break;case 18:i=2,Ee(function(){return 59===he()&&Ei.tokenIsIdentifierOrKeyword(he())&&"link"===q.getTokenText()})&&(a(q.getTokenText()),he(),a(q.getTokenText()),he()),a(q.getTokenText());break;case 61:i=3===i?2:3,a(q.getTokenText());break;case 41:if(0===i){t+=i=1;break}default:3!==i&&(i=2),a(q.getTokenText())}s=he()}return f(n),g(n),0===n.length?void 0:n.join("")}function m(e){e&&(A?A.push(e):(A=[e],_=e.pos),d=e.end)}function M(){return P(),18===G?Ti():void 0}function y(){var e=V(22);e&&F();var t,r=V(61),n=function(){var e=K();Pe(22)&&Fe(23);for(;Pe(24);){var t=K();Pe(22)&&Fe(23),r=e,n=t,e=je(Q.createQualifiedName(r,n),r.pos)}var r,n;return e}();return r&&(Ie(t=61)||Je(t,!1,Ei.Diagnostics._0_expected,Ei.tokenToString(t))),e&&(F(),we(62)&&kr(),Fe(23)),{name:n,isBracketed:e}}function L(e){switch(e.kind){case 144:return!0;case 177:return L(e.elementType);default:return Ei.isTypeReferenceNode(e)&&Ei.isIdentifier(e.typeName)&&"Object"===e.typeName.escapedText&&!e.typeArguments}}function R(e,t,r,n){var i=M(),a=!i;P();var o=y(),s=o.name,c=o.isBracketed;F(),a&&(i=M());var u=O(n+q.getStartPos()-e),l=4!==r&&function(e,t,r,n){if(e&&L(e.type)){for(var i=fe(),a=void 0,o=void 0;a=ke(function(){return U(r,n,t)});)322!==a.kind&&328!==a.kind||(o=Ei.append(o,a));if(o){var s=je(Q.createJSDocTypeLiteral(o,177===e.type.kind),i);return je(Q.createJSDocTypeExpression(s),i)}}}(i,s,r,n);return l&&(i=l,a=!0),je(1===r?Q.createJSDocPropertyTag(t,s,c,i,a,u):Q.createJSDocParameterTag(t,s,c,i,a,u),e)}function B(e,t,r,n){Ei.some(A,Ei.isJSDocTypeTag)&&_e(t.pos,q.getTokenPos(),Ei.Diagnostics._0_tag_already_specified,t.escapedText);var i=Ti(!0),a=fe(),o=void 0!==r&&void 0!==n?I(e,a,r,n):void 0;return je(Q.createJSDocTypeTag(t,i,o),e,a)}function j(){var e=Pe(18),t=fe(),r=function(){var e=fe(),t=K();for(;Pe(24);){var r=K();t=je(Q.createPropertyAccessExpression(t,r),e)}return t}(),n=li(),i=je(Q.createExpressionWithTypeArguments(r,n),t);return e&&Fe(19),i}function J(e,t,r,n,i){var a=fe();return je(t(r,I(e,a,n,i)),e,a)}function z(e){var t=q.getTokenPos();if(Ei.tokenIsIdentifierOrKeyword(G)){var r=K();if(Pe(24)){var n=z(!0);return je(Q.createModuleDeclaration(void 0,void 0,r,n,e?4:void 0),t)}return e&&(r.isInJSDocNamespace=!0),r}}function o(e,t){for(;!Ei.isIdentifier(e)||!Ei.isIdentifier(t);){if(Ei.isIdentifier(e)||Ei.isIdentifier(t)||e.right.escapedText!==t.right.escapedText)return;e=e.left,t=t.left}return e.escapedText===t.escapedText}function U(e,t,r){for(var n=!0,i=!1;;)switch(he()){case 59:if(n){var a=s(e,t);return!a||322!==a.kind&&328!==a.kind||4===e||!r||!Ei.isIdentifier(a.name)&&o(r,a.name.left)?a:!1}i=!1;break;case 4:i=!(n=!0);break;case 41:i&&(n=!1),i=!0;break;case 78:n=!1;break;case 1:return!1}}function s(e,t){Ei.Debug.assert(59===G);var r=q.getStartPos();he();var n,i=K();switch(F(),i.escapedText){case"type":return 1===e&&B(r,i);case"prop":case"property":n=1;break;case"arg":case"argument":case"param":n=6;break;default:return!1}return!!(e&n)&&R(r,i,e,t)}function V(e){return G===e&&(he(),!0)}function K(e){if(!Ei.tokenIsIdentifierOrKeyword(G))return Je(78,!e,e||Ei.Diagnostics.Identifier_expected);x++;var t=q.getTokenPos(),r=q.getTextPos(),n=G,i=ze(q.getTokenValue()),a=je(Q.createIdentifier(i,void 0,n),t,r);return he(),a}}e.fixupParentReferences=z,(F=i=i||{})[F.SourceElements=0]="SourceElements",F[F.BlockStatements=1]="BlockStatements",F[F.SwitchClauses=2]="SwitchClauses",F[F.SwitchClauseStatements=3]="SwitchClauseStatements",F[F.TypeMembers=4]="TypeMembers",F[F.ClassMembers=5]="ClassMembers",F[F.EnumMembers=6]="EnumMembers",F[F.HeritageClauseElement=7]="HeritageClauseElement",F[F.VariableDeclarations=8]="VariableDeclarations",F[F.ObjectBindingElements=9]="ObjectBindingElements",F[F.ArrayBindingElements=10]="ArrayBindingElements",F[F.ArgumentExpressions=11]="ArgumentExpressions",F[F.ObjectLiteralMembers=12]="ObjectLiteralMembers",F[F.JsxAttributes=13]="JsxAttributes",F[F.JsxChildren=14]="JsxChildren",F[F.ArrayLiteralMembers=15]="ArrayLiteralMembers",F[F.Parameters=16]="Parameters",F[F.JSDocParameters=17]="JSDocParameters",F[F.RestProperties=18]="RestProperties",F[F.TypeParameters=19]="TypeParameters",F[F.TypeArguments=20]="TypeArguments",F[F.TupleElementTypes=21]="TupleElementTypes",F[F.HeritageClauses=22]="HeritageClauses",F[F.ImportOrExportSpecifiers=23]="ImportOrExportSpecifiers",F[F.Count=24]="Count",(w=P=P||{})[w.False=0]="False",w[w.True=1]="True",w[w.Unknown=2]="Unknown",(O=I=e.JSDocParser||(e.JSDocParser={})).parseJSDocTypeExpressionForTests=function(e,t,r){k("file.js",e,99,void 0,1),q.setText(e,t,r),G=q.scan();var n=Ti(),i=U("file.js",99,1,!1,[],Q.createToken(1),0),a=Ei.attachFileToDiagnostics(H,i);return g&&(i.jsDocDiagnostics=Ei.attachFileToDiagnostics(g,i)),N(),n?{jsDocTypeExpression:n,diagnostics:a}:void 0},O.parseJSDocTypeExpression=Ti,O.parseIsolatedJSDocComment=function(e,t,r){k("",e,99,void 0,1);var n=te(4194304,function(){return Ci(t,r)}),i={languageVariant:0,text:e},a=Ei.attachFileToDiagnostics(H,i);return N(),n?{jsDoc:n,diagnostics:a}:void 0},O.parseJSDocComment=function(e,t,r){var n=G,i=H.length,a=C,o=te(4194304,function(){return Ci(t,r)});return Ei.setParent(o,e),131072&S&&(g=g||[]).push.apply(g,H),G=n,H.length=i,C=a,o},(L=M=M||{})[L.BeginningOfLine=0]="BeginningOfLine",L[L.SawAsterisk=1]="SawAsterisk",L[L.SavingComments=2]="SavingComments",L[L.SavingBackticks=3]="SavingBackticks",(B=R=R||{})[B.Property=1]="Property",B[B.Parameter=2]="Parameter",B[B.CallbackParameter=4]="CallbackParameter"}(b=b||{}),(u=ki=ki||{}).updateSourceFile=function(e,t,r,n){if(C(e,t,r,n=n||Ei.Debug.shouldAssert(2)),Ei.textChangeRangeIsUnchanged(r))return e;if(0===e.statements.length)return b.parseSourceFile(e.fileName,t,e.languageVersion,void 0,!0,e.scriptKind);var i=e;Ei.Debug.assert(!i.hasBeenIncrementallyParsed),i.hasBeenIncrementallyParsed=!0,b.fixupParentReferences(i);var a=e.text,o=E(e),s=function(e,t){for(var r=t.span.start,n=0;0l)x(e,!1,d,p,f,g);else{var t=e.end;if(u<=t){if(e.intersectsChange=!0,e._children=void 0,D(e,u,l,_,d),Ai(e,y,v),Ei.hasJSDocNodes(e))for(var r=0,n=e.jsDoc;rl)x(e,!0,d,p,f,g);else{var t=e.end;if(u<=t){e.intersectsChange=!0,e._children=void 0,D(e,u,l,_,d);for(var r=0,n=e;rn&&(m(),d={range:{pos:f.pos+i,end:f.end+i},type:g},c=Ei.append(c,d),s&&Ei.Debug.assert(a.substring(f.pos,f.end)===o.substring(d.range.pos,d.range.end)))}return m(),c;function m(){u||(u=!0,c?t&&c.push.apply(c,t):c=t)}}(e.commentDirectives,h.commentDirectives,s.span.start,Ei.textSpanEnd(s.span),m,a,t,n),h},u.createSyntaxCursor=E,(_=l=l||{})[_.Value=-1]="Value",Ei.isDeclarationFileName=Pi,Ei.processCommentPragmas=wi,Ei.processPragmasIntoFields=Ii;var g=new Ei.Map;function m(e){if(g.has(e))return g.get(e);var t=new RegExp("(\\s"+e+"\\s*=\\s*)('|\")(.+?)\\2","im");return g.set(e,t),t}var y=/^\/\/\/\s*<(\S+)\s.*?\/>/im,v=/^\/\/\/?\s*@(\S+)\s*(.*)\s*$/im;function h(e,t,r){var n=2===t.kind&&y.exec(r);if(n){var i=n[1].toLowerCase(),a=Ei.commentPragmas[i];if(!(a&&1&a.kind))return;if(a.args){for(var o={},s=0,c=a.args;s=t.length)break;var i=n;if(34===t.charCodeAt(i)){for(n++;n "))),{raw:e||I(t,o)};var u,l,_,d,p=e?function(e,t,r,n,i){P.hasProperty(e,"excludes")&&i.push(P.createCompilerDiagnostic(P.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude));var a,o=ee(e.compilerOptions,r,i,n),s=re(e.typeAcquisition||e.typingOptions,r,i,n),c=function(e,t,r){return ne(F(),e,t,void 0,N,r)}(e.watchOptions,r,i);{var u;e.compileOnSave=function(e,t,r){if(!P.hasProperty(e,P.compileOnSaveCommandLineOption.name))return!1;var n=ie(P.compileOnSaveCommandLineOption,e.compileOnSave,t,r);return"boolean"==typeof n&&n}(e,r,i),e.extends&&(P.isString(e.extends)?(u=n?q(n,r):r,a=Z(e.extends,t,u,i,P.createCompilerDiagnostic)):i.push(P.createCompilerDiagnostic(P.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,"extends","string")))}return{raw:e,options:o,watchOptions:c,typeAcquisition:s,extendedConfigPath:a}}(e,r,n,i,o):function(a,o,s,c,u){var i,l,_,d,p=$(c),e={onSetValidOptionKeyValueInParent:function(e,t,r){var n;switch(e){case"compilerOptions":n=p;break;case"watchOptions":n=_=_||{};break;case"typeAcquisition":n=i=i||te(c);break;case"typingOptions":n=l=l||te(c);break;default:P.Debug.fail("Unknown option")}n[t.name]=function t(e,r,n){if(K(n))return;{if("list"===e.type){var i=e;return i.element.isFilePath||!P.isString(i.element.type)?P.filter(P.map(n,function(e){return t(i.element,r,e)}),function(e){return!!e}):n}if(!P.isString(e.type))return e.type.get(P.isString(n)?n.toLowerCase():n)}return ae(e,r,n)}(t,s,r)},onSetValidOptionKeyValueInRoot:function(e,t,r,n){switch(e){case"extends":var i=c?q(c,s):s;return void(d=Z(r,o,i,u,function(e,t){return P.createDiagnosticForNodeInSourceFile(a,n,e,t)}))}},onSetUnknownOptionKeyValueInRoot:function(e,t,r,n){"excludes"===e&&u.push(P.createDiagnosticForNodeInSourceFile(a,t,P.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude))}},t=O(a,u,!0,(void 0===k&&(k={name:void 0,type:"object",elementOptions:b([{name:"compilerOptions",type:"object",elementOptions:A(),extraKeyDiagnostics:P.compilerOptionsDidYouMeanDiagnostics},{name:"watchOptions",type:"object",elementOptions:F(),extraKeyDiagnostics:N},{name:"typingOptions",type:"object",elementOptions:w(),extraKeyDiagnostics:D},{name:"typeAcquisition",type:"object",elementOptions:w(),extraKeyDiagnostics:D},{name:"extends",type:"string"},{name:"references",type:"list",element:{name:"references",type:"object"}},{name:"files",type:"list",element:{name:"files",type:"string"}},{name:"include",type:"list",element:{name:"include",type:"string"}},{name:"exclude",type:"list",element:{name:"exclude",type:"string"}},P.compileOnSaveCommandLineOption])}),k),e);i=i||(l?void 0!==l.enableAutoDiscovery?{enable:l.enableAutoDiscovery,include:l.include,exclude:l.exclude}:l:te(c));return{raw:t,options:p,watchOptions:_,typeAcquisition:i,extendedConfigPath:d}}(t,r,n,i,o);return p.extendedConfigPath&&(a=a.concat([c]),(u=function(e,t,r,n,i,a,o){var s,c,u,l,_=r.useCaseSensitiveFileNames?t:P.toFileNameLowerCase(t);{var d,p,f,g,m;o&&(c=o.get(_))?(u=c.extendedResult,l=c.extendedConfig):((u=v(t,function(e){return r.readFile(e)})).parseDiagnostics.length||(d=P.getDirectoryPath(t),X(l=Y(void 0,u,r,d,P.getBaseFileName(t),i,a,o))&&(p=P.convertToRelativePath(d,n,P.identity),f=function(e){return P.isRootedDiskPath(e)?e:P.combinePaths(p,e)},g=function(e){m[e]&&(m[e]=P.map(m[e],f))},m=l.raw,g("include"),g("exclude"),g("files"))),o&&o.set(_,{extendedResult:u,extendedConfig:l}))}e&&(e.extendedSourceFiles=[u.fileName],u.extendedSourceFiles&&(s=e.extendedSourceFiles).push.apply(s,u.extendedSourceFiles));if(u.parseDiagnostics.length)return void a.push.apply(a,u.parseDiagnostics);return l}(t,p.extendedConfigPath,r,n,a,o,s))&&X(u)&&(l=u.raw,_=p.raw,(d=function(e){var t=_[e]||l[e];t&&(_[e]=t)})("include"),d("exclude"),d("files"),void 0===_.compileOnSave&&(_.compileOnSave=l.compileOnSave),p.options=P.assign({},u.options,p.options),p.watchOptions=p.watchOptions&&u.watchOptions?P.assign({},u.watchOptions,p.watchOptions):p.watchOptions||u.watchOptions)),p}function Z(e,t,r,n,i){if(e=P.normalizeSlashes(e),P.isRootedDiskPath(e)||P.startsWith(e,"./")||P.startsWith(e,"../")){var a=P.getNormalizedAbsolutePath(e,r);return t.fileExists(a)||P.endsWith(a,".json")||(a+=".json",t.fileExists(a))?a:void n.push(i(P.Diagnostics.File_0_not_found,e))}var o=P.nodeModuleNameResolver(e,P.combinePaths(r,"tsconfig.json"),{moduleResolution:P.ModuleResolutionKind.NodeJs},t,void 0,void 0,!0);if(o.resolvedModule)return o.resolvedModule.resolvedFileName;n.push(i(P.Diagnostics.File_0_not_found,e))}function $(e){return e&&"jsconfig.json"===P.getBaseFileName(e)?{allowJs:!0,maxNodeModuleJsDepth:2,allowSyntheticDefaultImports:!0,skipLibCheck:!0,noEmit:!0}:{}}function ee(e,t,r,n){var i=$(n);return ne(A(),e,t,i,P.compilerOptionsDidYouMeanDiagnostics,r),n&&(i.configFilePath=P.normalizeSlashes(n)),i}function te(e){return{enable:!!e&&"jsconfig.json"===P.getBaseFileName(e),include:[],exclude:[]}}function re(e,t,r,n){var i=te(n),a=o(e);return ne(w(),a,t,i,D,r),i}function ne(e,t,r,n,i,a){if(t){for(var o in t){var s=e.get(o);s?(n=n||{})[s.name]=ie(s,t[o],r,a):a.push(y(o,i,P.createCompilerDiagnostic))}return n}}function ie(e,t,r,n){if(L(e,t)){var i=e.type;return"list"===i&&P.isArray(t)?(a=e,o=t,s=r,c=n,P.filter(P.map(o,function(e){return ie(a.element,e,s,c)}),function(e){return!!e})):P.isString(i)?ae(e,r,t):oe(e,t,n)}var a,o,s,c;n.push(P.createCompilerDiagnostic(P.Diagnostics.Compiler_option_0_requires_a_value_of_type_1,e.name,M(e)))}function ae(e,t,r){return e.isFilePath&&""===(r=P.getNormalizedAbsolutePath(r,t))&&(r="."),r}function oe(e,t,r){if(!K(t)){var n=t.toLowerCase(),i=e.type.get(n);if(void 0!==i)return i;r.push(s(e))}}function se(e){return"function"==typeof e.trim?e.trim():e.replace(/^[\s]+|[\s]+$/g,"")}P.convertToObject=I,P.convertToObjectWorker=O,P.convertToTSConfig=function(e,t,r){var n,i=P.createGetCanonicalFileName(r.useCaseSensitiveFileNames),a=P.map(P.filter(e.fileNames,e.configFileSpecs&&e.configFileSpecs.validatedIncludeSpecs?function(e,t,r,n){if(!t)return function(e){return!0};var i=P.getFileMatcherPatterns(e,r,t,n.useCaseSensitiveFileNames,n.getCurrentDirectory()),a=i.excludePattern&&P.getRegexFromPattern(i.excludePattern,n.useCaseSensitiveFileNames),o=i.includeFilePattern&&P.getRegexFromPattern(i.includeFilePattern,n.useCaseSensitiveFileNames);if(o)return a?function(e){return!(o.test(e)&&!a.test(e))}:function(e){return!o.test(e)};if(a)return function(e){return a.test(e)};return function(e){return!0}}(t,e.configFileSpecs.validatedIncludeSpecs,e.configFileSpecs.validatedExcludeSpecs,r):function(e){return!0}),function(e){return P.getRelativePathFromFile(P.getNormalizedAbsolutePath(t,r.getCurrentDirectory()),P.getNormalizedAbsolutePath(e,r.getCurrentDirectory()),i)}),o=j(e.options,{configFilePath:P.getNormalizedAbsolutePath(t,r.getCurrentDirectory()),useCaseSensitiveFileNames:r.useCaseSensitiveFileNames}),s=e.watchOptions&&J(e.watchOptions,S());return __assign(__assign({compilerOptions:__assign(__assign({},R(o)),{showConfig:void 0,configFile:void 0,configFilePath:void 0,help:void 0,init:void 0,listFiles:void 0,listEmittedFiles:void 0,project:void 0,build:void 0,version:void 0}),watchOptions:s&&R(s),references:P.map(e.projectReferences,function(e){return __assign(__assign({},e),{path:e.originalPath?e.originalPath:"",originalPath:void 0})}),files:P.length(a)?a:void 0},e.configFileSpecs?{include:(n=e.configFileSpecs.validatedIncludeSpecs,!P.length(n)||1===P.length(n)&&"**/*"===n[0]?void 0:n),exclude:e.configFileSpecs.validatedExcludeSpecs}:{}),{compileOnSave:!!e.compileOnSave||void 0})},P.generateTSConfig=function(e,b,x){var D=j(P.extend(e,P.defaultInitCompilerOptions));return function(){for(var e=P.createMultiMap(),t=0,r=P.optionDeclarations;t"+e.moduleSpecifier.text:">"});if(i.length!==n.length)for(var a=function(t){1(1&e.flags?rS.noTruncationMaximumTruncationLength:rS.defaultMaximumTruncationLength)}function U(e,x){E&&E.throwIfCancellationRequested&&E.throwIfCancellationRequested();var t=8388608&x.flags;if(x.flags&=-8388609,!e)return 262144&x.flags?(x.approximateLength+=3,rS.factory.createKeywordTypeNode(128)):void(x.encounteredError=!0);if(536870912&x.flags||(e=$s(e)),1&e.flags)return x.approximateLength+=3,rS.factory.createKeywordTypeNode(128);if(2&e.flags)return rS.factory.createKeywordTypeNode(151);if(4&e.flags)return x.approximateLength+=6,rS.factory.createKeywordTypeNode(146);if(8&e.flags)return x.approximateLength+=6,rS.factory.createKeywordTypeNode(143);if(64&e.flags)return x.approximateLength+=6,rS.factory.createKeywordTypeNode(154);if(16&e.flags)return x.approximateLength+=7,rS.factory.createKeywordTypeNode(131);if(1024&e.flags&&!(1048576&e.flags)){var r=ki(e.symbol),n=B(r,x,788968);return Mo(r)===e?n:T(n,rS.factory.createTypeReferenceNode(rS.symbolName(e.symbol),void 0))}if(1056&e.flags)return B(e.symbol,x,788968);if(128&e.flags)return x.approximateLength+=e.value.length+2,rS.factory.createLiteralTypeNode(rS.setEmitFlags(rS.factory.createStringLiteral(e.value,!!(268435456&x.flags)),16777216));if(256&e.flags){var i=e.value;return x.approximateLength+=(""+i).length,rS.factory.createLiteralTypeNode(i<0?rS.factory.createPrefixUnaryExpression(40,rS.factory.createNumericLiteral(-i)):rS.factory.createNumericLiteral(i))}if(2048&e.flags)return x.approximateLength+=rS.pseudoBigIntToString(e.value).length+1,rS.factory.createLiteralTypeNode(rS.factory.createBigIntLiteral(e.value));if(512&e.flags)return x.approximateLength+=e.intrinsicName.length,rS.factory.createLiteralTypeNode("true"===e.intrinsicName?rS.factory.createTrue():rS.factory.createFalse());if(8192&e.flags){if(!(1048576&x.flags)){if(Qi(e.symbol,x.enclosingDeclaration))return x.approximateLength+=6,B(e.symbol,x,111551);x.tracker.reportInaccessibleUniqueSymbolError&&x.tracker.reportInaccessibleUniqueSymbolError()}return x.approximateLength+=13,rS.factory.createTypeOperatorNode(150,rS.factory.createKeywordTypeNode(147))}if(16384&e.flags)return x.approximateLength+=4,rS.factory.createKeywordTypeNode(113);if(32768&e.flags)return x.approximateLength+=9,rS.factory.createKeywordTypeNode(149);if(65536&e.flags)return x.approximateLength+=4,rS.factory.createLiteralTypeNode(rS.factory.createNull());if(131072&e.flags)return x.approximateLength+=5,rS.factory.createKeywordTypeNode(140);if(4096&e.flags)return x.approximateLength+=6,rS.factory.createKeywordTypeNode(147);if(67108864&e.flags)return x.approximateLength+=6,rS.factory.createKeywordTypeNode(144);if(cl(e))return 4194304&x.flags&&(x.encounteredError||32768&x.flags||(x.encounteredError=!0),x.tracker.reportInaccessibleThisError&&x.tracker.reportInaccessibleThisError()),x.approximateLength+=4,rS.factory.createThisTypeNode();if(!t&&e.aliasSymbol&&(16384&x.flags||Gi(e.aliasSymbol,x.enclosingDeclaration))){var a=F(e.aliasTypeArguments,x);return!Ji(e.aliasSymbol.escapedName)||32&e.aliasSymbol.flags?B(e.aliasSymbol,x,788968,a):rS.factory.createTypeReferenceNode(rS.factory.createIdentifier(""),a)}var o=rS.getObjectFlags(e);if(4&o)return rS.Debug.assert(!!(524288&e.flags)),e.node?h(e,S):S(e);if(262144&e.flags||3&o){if(262144&e.flags&&rS.contains(x.inferTypeParameters,e))return x.approximateLength+=rS.symbolName(e.symbol).length+6,rS.factory.createInferTypeNode(P(e,x,void 0));if(4&x.flags&&262144&e.flags&&!Gi(e.symbol,x.enclosingDeclaration)){var s=Q(e,x);return x.approximateLength+=rS.idText(s).length,rS.factory.createTypeReferenceNode(rS.factory.createIdentifier(rS.idText(s)),void 0)}return e.symbol?B(e.symbol,x,788968):rS.factory.createTypeReferenceNode(rS.factory.createIdentifier("?"),void 0)}if(3145728&e.flags){var c=1048576&e.flags?function(e){for(var t=[],r=0,n=0;n=hc(t.target.typeParameters)}function se(e,t,r,n,i,a){if(t!==Fe&&n){var o=ae(r,n);if(o&&!rS.isFunctionLikeDeclaration(o)){var s=rS.getEffectiveTypeAnnotationNode(o);if(ql(s)===t&&oe(s,t)){var c=ce(e,s,i,a);if(c)return c}}}var u=e.flags;8192&t.flags&&t.symbol===r&&(e.flags|=1048576);var l=U(t,e);return e.flags=u,l}function ce(_,e,d,p){E&&E.throwIfCancellationRequested&&E.throwIfCancellationRequested();var f=!1,g=rS.getSourceFileOfNode(e),t=rS.visitNode(e,function i(a){var e,t;if(rS.isJSDocAllType(a)||306===a.kind)return rS.factory.createKeywordTypeNode(128);if(rS.isJSDocUnknownType(a))return rS.factory.createKeywordTypeNode(151);if(rS.isJSDocNullableType(a))return rS.factory.createUnionTypeNode([rS.visitNode(a.type,i),rS.factory.createLiteralTypeNode(rS.factory.createNull())]);if(rS.isJSDocOptionalType(a))return rS.factory.createUnionTypeNode([rS.visitNode(a.type,i),rS.factory.createKeywordTypeNode(149)]);if(rS.isJSDocNonNullableType(a))return rS.visitNode(a.type,i);if(rS.isJSDocVariadicType(a))return rS.factory.createArrayTypeNode(rS.visitNode(a.type,i));if(rS.isJSDocTypeLiteral(a))return rS.factory.createTypeLiteralNode(rS.map(a.jsDocPropertyTags,function(e){var t=rS.isIdentifier(e.name)?e.name:e.name.right,r=Ta(ql(a),t.escapedText),n=r&&e.typeExpression&&ql(e.typeExpression.type)!==r?U(r,_):void 0;return rS.factory.createPropertySignature(void 0,t,e.typeExpression&&rS.isJSDocOptionalType(e.typeExpression.type)?rS.factory.createToken(57):void 0,n||e.typeExpression&&rS.visitNode(e.typeExpression.type,i)||rS.factory.createKeywordTypeNode(128))}));if(rS.isTypeReferenceNode(a)&&rS.isIdentifier(a.typeName)&&""===a.typeName.escapedText)return rS.setOriginalNode(rS.factory.createKeywordTypeNode(128),a);if((rS.isExpressionWithTypeArguments(a)||rS.isTypeReferenceNode(a))&&rS.isJSDocIndexSignature(a))return rS.factory.createTypeLiteralNode([rS.factory.createIndexSignature(void 0,void 0,[rS.factory.createParameterDeclaration(void 0,void 0,void 0,"x",void 0,rS.visitNode(a.typeArguments[0],i))],rS.visitNode(a.typeArguments[1],i))]);if(rS.isJSDocFunctionType(a)){var r;return rS.isJSDocConstructSignature(a)?rS.factory.createConstructorTypeNode(rS.visitNodes(a.typeParameters,i),rS.mapDefined(a.parameters,function(e,t){return e.name&&rS.isIdentifier(e.name)&&"new"===e.name.escapedText?void(r=e.type):rS.factory.createParameterDeclaration(void 0,void 0,c(e),u(e,t),e.questionToken,rS.visitNode(e.type,i),void 0)}),rS.visitNode(r||a.type,i)||rS.factory.createKeywordTypeNode(128)):rS.factory.createFunctionTypeNode(rS.visitNodes(a.typeParameters,i),rS.map(a.parameters,function(e,t){return rS.factory.createParameterDeclaration(void 0,void 0,c(e),u(e,t),e.questionToken,rS.visitNode(e.type,i),void 0)}),rS.visitNode(a.type,i)||rS.factory.createKeywordTypeNode(128))}if(rS.isTypeReferenceNode(a)&&rS.isInJSDoc(a)&&(!oe(a,ql(a))||uu(a)||Ce===tu(eu(a),788968,!0)))return rS.setOriginalNode(U(ql(a),_),a);if(rS.isLiteralImportTypeNode(a))return rS.factory.updateImportTypeNode(a,rS.factory.updateLiteralTypeNode(a.argument,l(a,a.argument.literal)),a.qualifier,rS.visitNodes(a.typeArguments,i,rS.isTypeNode),a.isTypeOf);if(rS.isEntityName(a)||rS.isEntityNameExpression(a)){var n=rS.getFirstIdentifier(a);if(rS.isInJSFile(a)&&(rS.isExportsIdentifier(n)||rS.isModuleExportsAccessExpression(n.parent)||rS.isQualifiedName(n.parent)&&rS.isModuleIdentifier(n.parent.left)&&rS.isExportsIdentifier(n.parent.right)))return f=!0,a;var o=li(n,67108863,!0,!0);if(o&&(0!==Yi(o,_.enclosingDeclaration,67108863,!1).accessibility?f=!0:(null!==(t=null===(e=_.tracker)||void 0===e?void 0:e.trackSymbol)&&void 0!==t&&t.call(e,o,_.enclosingDeclaration,67108863),null!=d&&d(o)),rS.isIdentifier(a))){var s=262144&o.flags?Q(Mo(o),_):rS.factory.cloneNode(a);return s.symbol=o,rS.setEmitFlags(rS.setOriginalNode(s,a),16777216)}}g&&rS.isTupleTypeNode(a)&&rS.getLineAndCharacterOfPosition(g,a.pos).line===rS.getLineAndCharacterOfPosition(g,a.end).line&&rS.setEmitFlags(a,1);return rS.visitEachChild(a,i,rS.nullTransformationContext);function c(e){return e.dotDotDotToken||(e.type&&rS.isJSDocVariadicType(e.type)?rS.factory.createToken(25):void 0)}function u(e,t){return e.name&&rS.isIdentifier(e.name)&&"this"===e.name.escapedText?"this":c(e)?"args":"arg"+t}function l(e,t){var r;if(p){if(_.tracker&&_.tracker.moduleResolverHost){var n=SD(e);if(n){var i=rS.createGetCanonicalFileName(!!b.useCaseSensitiveFileNames),a={getCanonicalFileName:i,getCurrentDirectory:function(){return _.tracker.moduleResolverHost.getCurrentDirectory()},getCommonSourceDirectory:function(){return _.tracker.moduleResolverHost.getCommonSourceDirectory()}},o=rS.getResolvedExternalModuleName(a,n);return rS.factory.createStringLiteral(o)}}}else _.tracker&&_.tracker.trackExternalModuleSymbolOfImportTypeNode&&((r=pi(t,t,void 0))&&_.tracker.trackExternalModuleSymbolOfImportTypeNode(r));return t}});if(!f)return t===e?rS.setTextRange(rS.factory.cloneNode(e),e):t}var ue=rS.createSymbolTable(),le=yn(4,"undefined");le.declarations=[];var _e=yn(1536,"globalThis",8);_e.exports=ue,_e.declarations=[],ue.set(_e.escapedName,_e);var de,pe=yn(4,"arguments"),fe=yn(4,"require"),ge={getNodeCount:function(){return rS.sum(b.getSourceFiles(),"nodeCount")},getIdentifierCount:function(){return rS.sum(b.getSourceFiles(),"identifierCount")},getSymbolCount:function(){return rS.sum(b.getSourceFiles(),"symbolCount")+a},getTypeCount:function(){return n},getInstantiationCount:function(){return o},getRelationCacheSizes:function(){return{assignable:on.size,identity:cn.size,subtype:nn.size,strictSubtype:an.size}},isUndefinedSymbol:function(e){return e===le},isArgumentsSymbol:function(e){return e===pe},isUnknownSymbol:function(e){return e===Ce},getMergedSymbol:Ci,getDiagnostics:Ax,getGlobalDiagnostics:function(){return Fx(),$r.getGlobalDiagnostics()},getTypeOfSymbolAtLocation:function(e,t){var r=rS.getParseTreeNode(t);return r?function(e,t){if(e=e.exportSymbol||e,78===t.kind&&(rS.isRightSideOfQualifiedNameOrPropertyAccess(t)&&(t=t.parent),rS.isExpressionNode(t)&&!rS.isAssignmentTarget(t))){var r=nh(t);if(wi(kn(t).resolvedSymbol)===e)return r}return uo(e)}(e,r):Fe},getSymbolsOfParameterPropertyDeclaration:function(e,t){var r=rS.getParseTreeNode(e,rS.isParameter);return void 0===r?rS.Debug.fail("Cannot get symbols of a synthetic parameter that cannot be resolved to a parse-tree node."):function(e,t){var r=e.parent,n=e.parent.parent,i=An(r.locals,t,111551),a=An($o(n.symbol),t,111551);if(i&&a)return[i,a];return rS.Debug.fail("There should exist two symbols, one as property declaration and one as parameter declaration")}(r,rS.escapeLeadingUnderscores(t))},getDeclaredTypeOfSymbol:Mo,getPropertiesOfType:Os,getPropertyOfType:function(e,t){return ic(e,rS.escapeLeadingUnderscores(t))},getPrivateIdentifierPropertyOfType:function(e,t,r){var n=rS.getParseTreeNode(r);if(n){var i=Nm(rS.escapeLeadingUnderscores(t),n);return i?Am(e,i):void 0}},getTypeOfPropertyOfType:function(e,t){return Ta(e,rS.escapeLeadingUnderscores(t))},getIndexInfoOfType:uc,getSignaturesOfType:oc,getIndexTypeOfType:lc,getBaseTypes:Co,getBaseTypeOfLiteralType:Rd,getWidenedType:fp,getTypeFromTypeNode:function(e){var t=rS.getParseTreeNode(e,rS.isTypeNode);return t?ql(t):Fe},getParameterType:$y,getPromisedTypeOfPromise:Ah,getAwaitedType:function(e){return Ph(e)},getReturnTypeOfSignature:kc,isNullableType:vm,getNullableType:$d,getNonNullableType:tp,getNonOptionalType:ip,getTypeArguments:Xc,typeToTypeNode:h.typeToTypeNode,indexInfoToIndexSignatureDeclaration:h.indexInfoToIndexSignatureDeclaration,signatureToSignatureDeclaration:h.signatureToSignatureDeclaration,symbolToEntityName:h.symbolToEntityName,symbolToExpression:h.symbolToExpression,symbolToTypeParameterDeclarations:h.symbolToTypeParameterDeclarations,symbolToParameterDeclaration:h.symbolToParameterDeclaration,typeParameterToDeclaration:h.typeParameterToDeclaration,getSymbolsInScope:function(e,t){var r=rS.getParseTreeNode(e);return r?function(e,t){if(16777216&e.flags)return[];var n=rS.createSymbolTable(),r=!1;return function(){for(;e;){switch(e.locals&&!Nn(e)&&a(e.locals,t),e.kind){case 294:if(!rS.isExternalOrCommonJsModule(e))break;case 253:a(Ei(e).exports,2623475&t);break;case 252:a(Ei(e).exports,8&t);break;case 218:e.name&&i(e.symbol,t);case 249:case 250:r||a($o(Ei(e)),788968&t);break;case 205:e.name&&i(e.symbol,t)}rS.introducesArgumentsExoticObject(e)&&i(pe,t),r=rS.hasSyntacticModifier(e,32),e=e.parent}a(ue,t)}(),n.delete("this"),pc(n);function i(e,t){var r;rS.getCombinedLocalAndExportSymbolFlags(e)&t&&(r=e.escapedName,n.has(r)||n.set(r,e))}function a(e,t){t&&e.forEach(function(e){i(e,t)})}}(r,t):[]},getSymbolAtLocation:function(e){var t=rS.getParseTreeNode(e);return t?Rx(t,!0):void 0},getShorthandAssignmentValueSymbol:function(e){var t=rS.getParseTreeNode(e);return t?function(e){if(e&&286===e.kind)return li(e.name,2208703);return}(t):void 0},getExportSpecifierLocalTargetSymbol:function(e){var t,r=rS.getParseTreeNode(e,rS.isExportSpecifier);return r?(t=r).parent.parent.moduleSpecifier?Xn(t.parent.parent,t):li(t.propertyName||t.name,2998271):void 0},getExportSymbolOfSymbol:function(e){return Ci(e.exportSymbol||e)},getTypeAtLocation:function(e){var t=rS.getParseTreeNode(e);return t?Bx(t):Fe},getTypeOfAssignmentPattern:function(e){var t=rS.getParseTreeNode(e,rS.isAssignmentPattern);return t&&jx(t)||Fe},getPropertySymbolOfDestructuringAssignment:function(e){var t,r,n=rS.getParseTreeNode(e,rS.isIdentifier);return n?(t=n,(r=jx(rS.cast(t.parent.parent,rS.isAssignmentPattern)))&&ic(r,t.escapedText)):void 0},signatureToString:function(e,t,r,n){return aa(e,rS.getParseTreeNode(t),r,n)},typeToString:function(e,t,r){return oa(e,rS.getParseTreeNode(t),r)},symbolToString:function(e,t,r,n){return ia(e,rS.getParseTreeNode(t),r,n)},typePredicateToString:function(e,t,r){return _a(e,rS.getParseTreeNode(t),r)},writeSignature:function(e,t,r,n,i){return aa(e,rS.getParseTreeNode(t),r,n,i)},writeType:function(e,t,r,n){return oa(e,rS.getParseTreeNode(t),r,n)},writeSymbol:function(e,t,r,n,i){return ia(e,rS.getParseTreeNode(t),r,n,i)},writeTypePredicate:function(e,t,r,n){return _a(e,rS.getParseTreeNode(t),r,n)},getAugmentedPropertiesOfType:zx,getRootSymbols:function e(t){var r=Vx(t);return r?rS.flatMap(r,e):[t]},getContextualType:function(e,t){var r=rS.getParseTreeNode(e,rS.isExpression);if(r){var n=rS.findAncestor(r,rS.isCallLikeExpression),i=n&&kn(n).resolvedSignature;if(4&t&&n){for(var a=r;kn(a).skipDirectInference=!0,(a=a.parent)&&a!==n;);kn(n).resolvedSignature=void 0}var o=Ng(r,t);if(4&t&&n){for(a=r;kn(a).skipDirectInference=void 0,(a=a.parent)&&a!==n;);kn(n).resolvedSignature=i}return o}},getContextualTypeForObjectLiteralElement:function(e){var t=rS.getParseTreeNode(e,rS.isObjectLiteralElementLike);return t?bg(t):void 0},getContextualTypeForArgumentAtIndex:function(e,t){var r=rS.getParseTreeNode(e,rS.isCallLikeExpression);return r&&mg(r,t)},getContextualTypeForJsxAttribute:function(e){var t=rS.getParseTreeNode(e,rS.isJsxAttributeLike);return t&&Sg(t)},isContextSensitive:x_,getFullyQualifiedName:ui,getResolvedSignature:function(e,t,r){return me(e,t,r,0)},getResolvedSignatureForSignatureHelp:function(e,t,r){return me(e,t,r,16)},getExpandedParameters:ss,hasEffectiveRestParameter:iv,getConstantValue:function(e){var t=rS.getParseTreeNode(e,uD);return t?lD(t):void 0},isValidPropertyAccess:function(e,t){var r=rS.getParseTreeNode(e,rS.isPropertyAccessOrQualifiedNameOrImportTypeNode);return!!r&&function(e,t){switch(e.kind){case 198:return Um(e,105===e.expression.kind,t,fp(oh(e.expression)));case 156:return Um(e,!1,t,fp(oh(e.left)));case 192:return Um(e,!1,t,ql(e))}}(r,rS.escapeLeadingUnderscores(t))},isValidPropertyAccessForCompletions:function(e,t,r){var n,i,a,o=rS.getParseTreeNode(e,rS.isPropertyAccessExpression);return!!o&&(i=t,a=r,Um(n=o,198===n.kind&&105===n.expression.kind,a.escapedName,i))},getSignatureFromDeclaration:function(e){var t=rS.getParseTreeNode(e,rS.isFunctionLike);return t?xc(t):void 0},isImplementationOfOverload:function(e){var t=rS.getParseTreeNode(e,rS.isFunctionLike);return t?rD(t):void 0},getImmediateAliasedSymbol:Kg,getAliasedSymbol:ri,getEmitResolver:function(e,t){return Ax(e,t),v},getExportsOfModule:hi,getExportsAndPropertiesOfModule:function(e){var t=hi(e),r=mi(e);r!==e&&rS.addRange(t,Os(uo(r)));return t},getSymbolWalker:rS.createGetSymbolWalker(function(e){return Fc(e)||ke},Ec,kc,Co,Fs,uo,Gp,cc,Ls,rS.getFirstIdentifier,Xc),getAmbientModules:function(){mt||(mt=[],ue.forEach(function(e,t){nS.test(t)&&mt.push(e)}));return mt},getJsxIntrinsicTagNamesAt:function(e){var t=$g(uS.IntrinsicElements,e);return t?Os(t):rS.emptyArray},isOptionalParameter:function(e){var t=rS.getParseTreeNode(e,rS.isParameter);return!!t&&mc(t)},tryGetMemberInModuleExports:function(e,t){return bi(rS.escapeLeadingUnderscores(e),t)},tryGetMemberInModuleExportsAndProperties:function(e,t){return function(e,t){var r=bi(e,t);if(r)return r;var n=mi(t);if(n===t)return;var i=uo(n);return 131068&i.flags||1&rS.getObjectFlags(i)||Id(i)?void 0:ic(i,e)}(rS.escapeLeadingUnderscores(e),t)},tryFindAmbientModuleWithoutAugmentations:function(e){return gc(e,!1)},getApparentType:Gs,getUnionType:zu,isTypeAssignableTo:P_,createAnonymousType:Vi,createSignature:ns,createSymbol:yn,createIndexInfo:Jc,getAnyType:function(){return ke},getStringType:function(){return Be},getNumberType:function(){return je},createPromiseType:_v,createArrayType:Cu,getElementTypeOfArrayType:Ad,getBooleanType:function(){return qe},getFalseType:function(e){return e?ze:Ue},getTrueType:function(e){return e?Ve:Ke},getVoidType:function(){return He},getUndefinedType:function(){return Ie},getNullType:function(){return Le},getESSymbolType:function(){return We},getNeverType:function(){return Ge},getOptionalType:function(){return Me},isSymbolAccessible:Yi,isArrayType:Ed,isTupleType:Ud,isArrayLikeType:Fd,isTypeInvalidDueToUnionDiscriminant:function(i,e){return e.properties.some(function(e){var t=e.name&&Qu(e.name),r=t&&qo(t)?Xo(t):void 0,n=void 0===r?void 0:Ta(i,r);return!!n&&Ld(n)&&!P_(Bx(e),n)})},getAllPossiblePropertiesOfTypes:function(e){var t=zu(e);if(!(1048576&t.flags))return zx(t);for(var r=rS.createSymbolTable(),n=0,i=e;n>",0,ke),lr=ns(void 0,void 0,void 0,rS.emptyArray,ke,void 0,0,0),_r=ns(void 0,void 0,void 0,rS.emptyArray,Fe,void 0,0,0),dr=ns(void 0,void 0,void 0,rS.emptyArray,ke,void 0,0,0),pr=ns(void 0,void 0,void 0,rS.emptyArray,Qe,void 0,0,0),fr=Jc(Be,!0),gr=new rS.Map,mr={get yieldType(){return rS.Debug.fail("Not supported")},get returnType(){return rS.Debug.fail("Not supported")},get nextType(){return rS.Debug.fail("Not supported")}},yr=Tb(ke,ke,ke),vr=Tb(ke,ke,we),hr=Tb(Ge,ke,Ie),br={iterableCacheKey:"iterationTypesOfAsyncIterable",iteratorCacheKey:"iterationTypesOfAsyncIterator",iteratorSymbolName:"asyncIterator",getGlobalIteratorType:function(e){return(Gt=Gt||mu("AsyncIterator",3,e))||ct},getGlobalIterableType:function(e){return(Ht=Ht||mu("AsyncIterable",1,e))||ct},getGlobalIterableIteratorType:function(e){return(Qt=Qt||mu("AsyncIterableIterator",1,e))||ct},getGlobalGeneratorType:function(e){return(Xt=Xt||mu("AsyncGenerator",3,e))||ct},resolveIterationType:Ph,mustHaveANextMethodDiagnostic:rS.Diagnostics.An_async_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:rS.Diagnostics.The_0_property_of_an_async_iterator_must_be_a_method,mustHaveAValueDiagnostic:rS.Diagnostics.The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property},xr={iterableCacheKey:"iterationTypesOfIterable",iteratorCacheKey:"iterationTypesOfIterator",iteratorSymbolName:"iterator",getGlobalIteratorType:function(e){return(Ut=Ut||mu("Iterator",3,e))||ct},getGlobalIterableType:xu,getGlobalIterableIteratorType:function(e){return(Vt=Vt||mu("IterableIterator",1,e))||ct},getGlobalGeneratorType:function(e){return(Kt=Kt||mu("Generator",3,e))||ct},resolveIterationType:function(e,t){return e},mustHaveANextMethodDiagnostic:rS.Diagnostics.An_iterator_must_have_a_next_method,mustBeAMethodDiagnostic:rS.Diagnostics.The_0_property_of_an_iterator_must_be_a_method,mustHaveAValueDiagnostic:rS.Diagnostics.The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property},Dr=new rS.Map,Sr=!1,Tr=new rS.Map,Cr=0,Er=0,kr=0,Nr=!1,Ar=0,Fr=Jl(""),Pr=Jl(0),wr=Jl({negative:!1,base10Value:"0"}),Ir=[],Or=[],Mr=[],Lr=0,Rr=10,Br=[],jr=[],Jr=[],zr=[],Ur=[],Vr=[],Kr=[],qr=[],Wr=[],Hr=[],Gr=[],Qr=[],Xr=[],Yr=[],Zr=[],$r=rS.createDiagnosticCollection(),en=rS.createDiagnosticCollection(),tn=new rS.Map(rS.getEntries({string:Be,number:je,bigint:Je,boolean:qe,symbol:We,undefined:Ie})),rn=zu(rS.arrayFrom(sS.keys(),Jl)),nn=new rS.Map,an=new rS.Map,on=new rS.Map,sn=new rS.Map,cn=new rS.Map,un=new rS.Map,ln=rS.createSymbolTable();return ln.set(le.escapedName,le),function(){for(var e,t=0,r=b.getSourceFiles();tt.end)&&void 0===rS.findAncestor(e,function(e){if(e===t)return"quit";switch(e.kind){case 206:return!0;case 162:return!r||!(rS.isPropertyDeclaration(t)&&e.parent===t.parent||rS.isParameterPropertyDeclaration(t,t.parent)&&e.parent===t.parent.parent)||"quit";case 227:switch(e.parent.kind){case 166:case 164:case 167:return!0;default:return!1}default:return!1}})}}function Pn(e,t,r){var n=rS.getEmitScriptTarget(Y),i=t;if(rS.isParameter(r)&&i.body&&e.valueDeclaration.pos>=i.body.pos&&e.valueDeclaration.end<=i.body.end&&2<=n){var a=kn(i);return void 0===a.declarationRequiresScopeChange&&(a.declarationRequiresScopeChange=rS.forEach(i.parameters,function(e){return o(e.name)||!!e.initializer&&o(e.initializer)})||!1),!a.declarationRequiresScopeChange}return;function o(e){switch(e.kind){case 206:case 205:case 248:case 165:return!1;case 164:case 166:case 167:case 285:return o(e.name);case 162:return rS.hasStaticModifier(e)?n<99||!Y.useDefineForClassFields:o(e.name);default:return rS.isNullishCoalesce(e)||rS.isOptionalChain(e)?n<7:rS.isBindingElement(e)&&e.dotDotDotToken&&rS.isObjectBindingPattern(e.parent)?n<4:!rS.isTypeNode(e)&&rS.forEachChild(e,o)||!1}}}function wn(e,t,r,n,i,a,o,s){return void 0===o&&(o=!1),In(e,t,r,n,i,a,o,An,s)}function In(e,t,r,n,i,a,o,s,c){var u,l,_,d,p,f,g,m,y,v,h,b,x,D,S=e,T=!1,C=e,E=!1;e:for(;e;){if(e.locals&&!Nn(e)&&(u=s(e.locals,t,r))){var k=!0;if(rS.isFunctionLike(e)&&l&&l!==e.body?(r&u.flags&788968&&307!==l.kind&&(k=!!(262144&u.flags)&&(l===e.type||159===l.kind||158===l.kind)),r&u.flags&3&&(Pn(u,e,l)?k=!1:1&u.flags&&(k=159===l.kind||l===e.type&&!!rS.findAncestor(u.valueDeclaration,rS.isParameter)))):183===e.kind&&(k=l===e.trueType),k)break e;u=void 0}switch(T=T||On(e,l),e.kind){case 294:if(!rS.isExternalOrCommonJsModule(e))break;E=!0;case 253:var N=Ei(e).exports||M;if(294===e.kind||rS.isModuleDeclaration(e)&&8388608&e.flags&&!rS.isGlobalScopeAugmentation(e)){if(u=N.get("default")){var A=rS.getLocalSymbolForExportDefault(u);if(A&&u.flags&r&&A.escapedName===t)break e;u=void 0}var F=N.get(t);if(F&&2097152===F.flags&&(rS.getDeclarationOfKind(F,267)||rS.getDeclarationOfKind(F,266)))break}if("default"!==t&&(u=s(N,t,2623475&r))){if(!rS.isSourceFile(e)||!e.commonJsModuleIndicator||u.declarations.some(rS.isJSDocTypeAlias))break e;u=void 0}break;case 252:if(u=s(Ei(e).exports,t,8&r))break e;break;case 162:rS.hasSyntacticModifier(e,32)||(g=Oi(e.parent))&&g.locals&&s(g.locals,t,111551&r)&&(d=e);break;case 249:case 218:case 250:if(u=s(Ei(e).members||M,t,788968&r)){if(!Rn(u,e)){u=void 0;break}if(l&&rS.hasSyntacticModifier(l,32))return void pn(C,rS.Diagnostics.Static_members_cannot_reference_class_type_parameters);break e}if(218===e.kind&&32&r){var P=e.name;if(P&&t===P.escapedText){u=e.symbol;break e}}break;case 220:if(l===e.expression&&93===e.parent.token){var w=e.parent.parent;if(rS.isClassLike(w)&&(u=s(Ei(w).members,t,788968&r)))return void(n&&pn(C,rS.Diagnostics.Base_class_expressions_cannot_reference_class_type_parameters))}break;case 157:if(f=e.parent.parent,(rS.isClassLike(f)||250===f.kind)&&(u=s(Ei(f).members,t,788968&r)))return void pn(C,rS.Diagnostics.A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type);break;case 206:if(2<=Y.target)break;case 164:case 165:case 166:case 167:case 248:if(3&r&&"arguments"===t){u=pe;break e}break;case 205:if(3&r&&"arguments"===t){u=pe;break e}if(16&r){var I=e.name;if(I&&t===I.escapedText){u=e.symbol;break e}}break;case 160:e.parent&&159===e.parent.kind&&(e=e.parent),e.parent&&(rS.isClassElement(e.parent)||249===e.parent.kind)&&(e=e.parent);break;case 327:case 320:case 321:e=rS.getJSDocHost(e);break;case 159:l&&(l===e.initializer||l===e.name&&rS.isBindingPattern(l))&&(p=p||e);break;case 195:l&&(l===e.initializer||l===e.name&&rS.isBindingPattern(l))&&159===(h=rS.getRootDeclaration(e)).kind&&(p=p||e)}Mn(e)&&(_=e),e=(l=e).parent}if(!a||!u||_&&u===_.symbol||(u.isReferenced|=r),!u){if(l&&(rS.Debug.assert(294===l.kind),l.commonJsModuleIndicator&&"exports"===t&&r&l.symbol.flags))return l.symbol;o||(u=s(ue,t,r))}if(!u&&S&&rS.isInJSFile(S)&&S.parent&&rS.isRequireCall(S.parent,!1))return fe;if(u){if(n){if(d&&(99!==Y.target||!Y.useDefineForClassFields)){var O=d.name;return void pn(C,rS.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor,rS.declarationNameToString(O),Ln(i))}C&&(2&r||(32&r||384&r)&&111551==(111551&r))&&(2&(m=wi(u)).flags||32&m.flags||384&m.flags)&&function(e,t){if(rS.Debug.assert(!!(2&e.flags||32&e.flags||384&e.flags)),67108881&e.flags&&32&e.flags)return;var r=rS.find(e.declarations,function(e){return rS.isBlockOrCatchScoped(e)||rS.isClassLike(e)||252===e.kind});if(void 0===r)return rS.Debug.fail("checkResolvedBlockScopedVariable could not find block-scoped declaration");{var n,i;8388608&r.flags||Fn(r,t)||(n=void 0,i=rS.declarationNameToString(rS.getNameOfDeclaration(r)),2&e.flags?n=pn(t,rS.Diagnostics.Block_scoped_variable_0_used_before_its_declaration,i):32&e.flags?n=pn(t,rS.Diagnostics.Class_0_used_before_its_declaration,i):256&e.flags?n=pn(t,rS.Diagnostics.Enum_0_used_before_its_declaration,i):(rS.Debug.assert(!!(128&e.flags)),Y.preserveConstEnums&&(n=pn(t,rS.Diagnostics.Enum_0_used_before_its_declaration,i))),n&&rS.addRelatedInfo(n,rS.createDiagnosticForNode(r,rS.Diagnostics._0_is_declared_here,i)))}}(m,C),!u||!E||111551!=(111551&r)||4194304&S.flags||(y=Ci(u),rS.length(y.declarations)&&rS.every(y.declarations,function(e){return rS.isNamespaceExportDeclaration(e)||rS.isSourceFile(e)&&!!e.symbol.globalExports})&&gn(!Y.allowUmdGlobalAccess,C,rS.Diagnostics._0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead,rS.unescapeLeadingUnderscores(t))),u&&p&&!T&&111551==(111551&r)&&(v=Ci(es(u)),h=rS.getRootDeclaration(p),v===Ei(p)?pn(C,rS.Diagnostics.Parameter_0_cannot_reference_itself,rS.declarationNameToString(p.name)):v.valueDeclaration&&v.valueDeclaration.pos>p.pos&&h.parent.locals&&s(h.parent.locals,v.escapedName,r)===v&&pn(C,rS.Diagnostics.Parameter_0_cannot_reference_identifier_1_declared_after_it,rS.declarationNameToString(p.name),rS.declarationNameToString(C))),u&&C&&111551&r&&2097152&u.flags&&function(e,t,r){{var n,i,a,o,s;rS.isValidTypeOnlyAliasUseSite(r)||(n=ai(e))&&(i=rS.typeOnlyDeclarationIsExport(n),a=i?rS.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:rS.Diagnostics._0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type,o=i?rS.Diagnostics._0_was_exported_here:rS.Diagnostics._0_was_imported_here,s=rS.unescapeLeadingUnderscores(t),rS.addRelatedInfo(pn(r,a,s),rS.createDiagnosticForNode(n,o,s)))}}(u,t,C)}return u}n&&(C&&(function(e,t,r){if(!rS.isIdentifier(e)||e.escapedText!==t||wx(e)||Qp(e))return;var n=rS.getThisContainer(e,!1),i=n;for(;i;){if(rS.isClassLike(i.parent)){var a=Ei(i.parent);if(!a)break;if(ic(uo(a),t))return pn(e,rS.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0,Ln(r),ia(a)),1;if(i===n&&!rS.hasSyntacticModifier(i,32))if(ic(Mo(a).thisType,t))return pn(e,rS.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0,Ln(r)),1}i=i.parent}return}(C,t,i)||Bn(C)||function(e,t,r){var n=1920|(rS.isInJSFile(e)?111551:0);if(r===n){var i=ti(wn(e,t,788968&~n,void 0,void 0,!1)),a=e.parent;if(i){if(rS.isQualifiedName(a)){rS.Debug.assert(a.left===e,"Should only be resolving left side of qualified name as a namespace");var o=a.right.escapedText;if(ic(Mo(i),o))return pn(a,rS.Diagnostics.Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1,rS.unescapeLeadingUnderscores(t),rS.unescapeLeadingUnderscores(o)),1}return pn(e,rS.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here,rS.unescapeLeadingUnderscores(t)),1}}return}(C,t,r)||function(e,t){if(jn(t)&&267===e.parent.kind)return pn(e,rS.Diagnostics.Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module,t),1;return}(C,t)||function(e,t,r){if(111551&r){if(jn(t))return pn(e,rS.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here,rS.unescapeLeadingUnderscores(t)),1;var n=ti(wn(e,t,788544,void 0,void 0,!1));if(n&&!(1024&n.flags)){var i=function(e){switch(e){case"Promise":case"Symbol":case"Map":case"WeakMap":case"Set":case"WeakSet":return 1}return}(t)?rS.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:rS.Diagnostics._0_only_refers_to_a_type_but_is_being_used_as_a_value_here;return pn(e,i,rS.unescapeLeadingUnderscores(t)),1}}return}(C,t,r)||function(e,t,r){if(111127&r){if(ti(wn(e,t,1024,void 0,void 0,!1)))return pn(e,rS.Diagnostics.Cannot_use_namespace_0_as_a_value,rS.unescapeLeadingUnderscores(t)),1}else if(788544&r){if(ti(wn(e,t,1536,void 0,void 0,!1)))return pn(e,rS.Diagnostics.Cannot_use_namespace_0_as_a_type,rS.unescapeLeadingUnderscores(t)),1}return}(C,t,r)||function(e,t,r){if(788584&r){var n=ti(wn(e,t,111127,void 0,void 0,!1));if(n&&!(1920&n.flags))return pn(e,rS.Diagnostics._0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0,rS.unescapeLeadingUnderscores(t)),1}return}(C,t,r))||(D=void 0,c&&Lr=rS.ModuleKind.ES2015?"allowSyntheticDefaultImports":"esModuleInterop",i=r.exports.get("export=").valueDeclaration,a=pn(e.name,rS.Diagnostics.Module_0_can_only_be_default_imported_using_the_1_flag,ia(r),n),rS.addRelatedInfo(a,rS.createDiagnosticForNode(i,rS.Diagnostics.This_module_is_declared_with_using_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag,n))):function(e,t){var r,n;{var i,a,o;null!==(r=e.exports)&&void 0!==r&&r.has(t.symbol.escapedName)?pn(t.name,rS.Diagnostics.Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead,ia(e),ia(t.symbol)):(i=pn(t.name,rS.Diagnostics.Module_0_has_no_default_export,ia(e)),!(a=null===(n=e.exports)||void 0===n?void 0:n.get("__export"))||(o=rS.find(a.declarations,function(e){var t,r;return!!(rS.isExportDeclaration(e)&&e.moduleSpecifier&&null!==(r=null===(t=di(e,e.moduleSpecifier))||void 0===t?void 0:t.exports)&&void 0!==r&&r.has("default"))}))&&rS.addRelatedInfo(i,rS.createDiagnosticForNode(o,rS.Diagnostics.export_Asterisk_does_not_re_export_a_default)))}}(r,e);return ni(e,o,void 0,!1),o}}function Xn(e,t,r){var n;void 0===r&&(r=!1);var i=di(e,e.moduleSpecifier),a=t.propertyName||t.name,o="default"===a.escapedText&&!(!Y.allowSyntheticDefaultImports&&!Y.esModuleInterop),s=yi(i,e.moduleSpecifier,r,o);if(s&&a.escapedText){if(rS.isShorthandAmbientModuleSymbol(i))return i;var c=void 0,c=i&&i.exports&&i.exports.get("export=")?ic(uo(s),a.escapedText):function(e,t){if(3&e.flags){var r=e.valueDeclaration.type;if(r)return ti(ic(ql(r),t))}}(s,a.escapedText);c=ti(c,r);var u=function(e,t,r){var n;if(1536&e.flags){var i=(null!==(n=t.propertyName)&&void 0!==n?n:t.name).escapedText,a=xi(e).get(i),o=ti(a,r);return ni(t,a,o,!1),o}}(s,t,r);void 0===u&&"default"===a.escapedText&&Gn(rS.find(i.declarations,rS.isSourceFile),i,r)&&(u=mi(i,r)||ti(i,r));var l,_,d,p,f,g=u&&c&&u!==c?function(e,t){if(e===Ce&&t===Ce)return Ce;if(790504&e.flags)return e;var r=yn(e.flags|t.flags,e.escapedName);return r.declarations=rS.deduplicate(rS.concatenate(e.declarations,t.declarations),rS.equateValues),r.parent=e.parent||t.parent,e.valueDeclaration&&(r.valueDeclaration=e.valueDeclaration),t.members&&(r.members=new rS.Map(t.members)),e.exports&&(r.exports=new rS.Map(e.exports)),r}(c,u):u||c;return g||(l=ui(i,e),_=rS.declarationNameToString(a),void 0!==(d=jm(a,s))?(p=ia(d),f=pn(a,rS.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_2,l,_,p),d.valueDeclaration&&rS.addRelatedInfo(f,rS.createDiagnosticForNode(d.valueDeclaration,rS.Diagnostics._0_is_declared_here,p))):null!==(n=i.exports)&&void 0!==n&&n.has("default")?pn(a,rS.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead,l,_):function(e,t,r,n,i){var a,o=null===(a=n.valueDeclaration.locals)||void 0===a?void 0:a.get(t.escapedText),s=n.exports;{var c,u,l;o?(c=null==s?void 0:s.get("export="))?Pi(c,o)?function(e,t,r,n){{var i;T>=rS.ModuleKind.ES2015?(i=Y.esModuleInterop?rS.Diagnostics._0_can_only_be_imported_by_using_a_default_import:rS.Diagnostics._0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,pn(t,i,r)):rS.isInJSFile(e)?(i=Y.esModuleInterop?rS.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:rS.Diagnostics._0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,pn(t,i,r)):(i=Y.esModuleInterop?rS.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:rS.Diagnostics._0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import,pn(t,i,r,r,n))}}(e,t,r,i):pn(t,rS.Diagnostics.Module_0_has_no_exported_member_1,i,r):(u=s?rS.find(pc(s),function(e){return!!Pi(e,o)}):void 0,l=u?pn(t,rS.Diagnostics.Module_0_declares_1_locally_but_it_is_exported_as_2,i,r,ia(u)):pn(t,rS.Diagnostics.Module_0_declares_1_locally_but_it_is_not_exported,i,r),rS.addRelatedInfo.apply(void 0,__spreadArrays([l],rS.map(o.declarations,function(e,t){return rS.createDiagnosticForNode(e,0===t?rS.Diagnostics._0_is_declared_here:rS.Diagnostics.and_here,r)})))):pn(t,rS.Diagnostics.Module_0_has_no_exported_member_1,i,r)}}(e,a,_,i,l)),g}}function Yn(e,t,r){var n=e.parent.parent.moduleSpecifier?Xn(e.parent.parent,e,r):li(e.propertyName||e.name,t,!1,r);return ni(e,void 0,n,!1),n}function Zn(e,t){if(rS.isClassExpression(e))return Vv(e).symbol;if(rS.isEntityName(e)||rS.isEntityNameExpression(e)){var r=li(e,901119,!0,t);return r?r:(Vv(e),kn(e).resolvedSymbol)}}function $n(e,t){switch(void 0===t&&(t=!1),e.kind){case 257:return qn(e,t);case 259:return Qn(e,t);case 260:return v=t,h=(y=e).parent.parent.moduleSpecifier,b=di(y,h),x=yi(b,h,v,!1),ni(y,b,x,!1),x;case 266:return p=t,f=(d=e).parent.moduleSpecifier,g=f&&di(d,f),m=f&&yi(g,f,p,!1),ni(d,g,m,!1),m;case 262:return l=t,_=Xn((u=e).parent.parent.parent,u,l),ni(u,void 0,_,!1),_;case 267:return Yn(e,901119,t);case 263:case 213:return o=e,s=t,c=Zn(rS.isExportAssignment(o)?o.expression:o.right,s),ni(o,void 0,c,!1),c;case 256:return i=t,a=mi((n=e).parent.symbol,i),ni(n,void 0,a,!1),a;case 286:return li(e.name,901119,!0,t);case 285:return r=t,Zn(e.initializer,r);case 198:return function(e,t){if(rS.isBinaryExpression(e.parent)&&e.parent.left===e&&62===e.parent.operatorToken.kind)return Zn(e.parent.right,t)}(e,t);default:return rS.Debug.fail()}var r,n,i,a,o,s,c,u,l,_,d,p,f,g,m,y,v,h,b,x}function ei(e,t){return void 0===t&&(t=901119),e&&(2097152==(e.flags&(2097152|t))||2097152&e.flags&&67108864&e.flags)}function ti(e,t){return!t&&ei(e)?ri(e):e}function ri(e){rS.Debug.assert(0!=(2097152&e.flags),"Should only get Alias here.");var t=En(e);if(t.target)t.target===Ee&&(t.target=Ce);else{t.target=Ee;var r=Un(e);if(!r)return rS.Debug.fail();var n=$n(r);t.target===Ee?t.target=n||Ce:pn(r,rS.Diagnostics.Circular_definition_of_import_alias_0,ia(e))}return t.target}function ni(e,t,r,n){if(e){var i=Ei(e);if(rS.isTypeOnlyImportOrExportDeclaration(e))return En(i).typeOnlyDeclaration=e,1;var a=En(i);return ii(a,t,n)||ii(a,r,n)}}function ii(e,t,r){var n,i,a,o,s;return t&&(void 0===e.typeOnlyDeclaration||r&&!1===e.typeOnlyDeclaration)&&(s=(o=null!==(i=null===(n=t.exports)||void 0===n?void 0:n.get("export="))&&void 0!==i?i:t).declarations&&rS.find(o.declarations,rS.isTypeOnlyImportOrExportDeclaration),e.typeOnlyDeclaration=null!==(a=null!=s?s:En(o).typeOnlyDeclaration)&&void 0!==a&&a),!!e.typeOnlyDeclaration}function ai(e){if(2097152&e.flags)return En(e).typeOnlyDeclaration||void 0}function oi(e){var t=Ei(e),r=ri(t);r&&(r===Ce||111551&r.flags&&!eD(r)&&!ai(t))&&si(t)}function si(e){var t=En(e);if(!t.referenced){t.referenced=!0;var r,n=Un(e);if(!n)return rS.Debug.fail();!rS.isInternalModuleImportEqualsDeclaration(n)||((r=ti(e))===Ce||111551&r.flags)&&Vv(n.moduleReference)}}function ci(e,t){return 78===e.kind&&rS.isRightSideOfQualifiedNameOrPropertyAccess(e)&&(e=e.parent),78===e.kind||156===e.parent.kind?li(e,1920,!1,t):(rS.Debug.assert(257===e.parent.kind),li(e,901119,!1,t))}function ui(e,t){return e.parent?ui(e.parent,t)+"."+ia(e):ia(e,t,void 0,20)}function li(e,t,r,n,i){if(!rS.nodeIsMissing(e)){var a=1920|(rS.isInJSFile(e)?111551&t:0);if(78===e.kind){var o,s=t===a||rS.nodeIsSynthesized(e)?rS.Diagnostics.Cannot_find_namespace_0:Hp(rS.getFirstIdentifier(e)),c=rS.isInJSFile(e)&&!rS.nodeIsSynthesized(e)?function(e,t){if(su(e.parent)){var r=function(e){if(rS.findAncestor(e,function(e){return rS.isJSDocNode(e)||4194304&e.flags?rS.isJSDocTypeAlias(e):"quit"}))return;var t=rS.getJSDocHost(e);if(rS.isExpressionStatement(t)&&rS.isBinaryExpression(t.expression)&&3===rS.getAssignmentDeclarationKind(t.expression)){if(n=Ei(t.expression.left))return _i(n)}if((rS.isObjectLiteralMethod(t)||rS.isPropertyAssignment(t))&&rS.isBinaryExpression(t.parent.parent)&&6===rS.getAssignmentDeclarationKind(t.parent.parent)){if(n=Ei(t.parent.parent.left))return _i(n)}var r=rS.getEffectiveJSDocHost(e);if(r&&rS.isFunctionLike(r)){var n;return(n=Ei(r))&&n.valueDeclaration}}(e.parent);if(r)return wn(r,e.escapedText,t,void 0,e,!0)}}(e,t):void 0;if(!(o=Ci(wn(i||e,e.escapedText,t,r||c?void 0:s,e,!0))))return Ci(c)}else{if(156!==e.kind&&198!==e.kind)throw rS.Debug.assertNever(e,"Unknown entity name kind.");var u,l,_,d=156===e.kind?e.left:e.expression,p=156===e.kind?e.right:e.name,f=li(d,a,r,!1,i);if(!f||rS.nodeIsMissing(p))return;if(f===Ce)return f;if(rS.isInJSFile(e)&&f.valueDeclaration&&rS.isVariableDeclaration(f.valueDeclaration)&&f.valueDeclaration.initializer&&Vy(f.valueDeclaration.initializer)&&(!(l=di(u=f.valueDeclaration.initializer.arguments[0],u))||(_=mi(l))&&(f=_)),!(o=Ci(An(xi(f),p.escapedText,t))))return void(r||pn(p,rS.Diagnostics.Namespace_0_has_no_exported_member_1,ui(f),rS.declarationNameToString(p)))}return rS.Debug.assert(0==(1&rS.getCheckFlags(o)),"Should never get an instantiated symbol here."),!rS.nodeIsSynthesized(e)&&rS.isEntityName(e)&&(2097152&o.flags||263===e.parent.kind)&&ni(rS.getAliasDeclarationFromName(e),o,void 0,!0),o.flags&t||n?o:ri(o)}}function _i(e){var t=e.parent.valueDeclaration;if(t)return(rS.isAssignmentDeclaration(t)?rS.getAssignedExpandoInitializer(t):rS.hasOnlyExpressionInitializer(t)?rS.getDeclaredExpandoInitializer(t):void 0)||t}function di(e,t,r){var n=rS.getEmitModuleResolutionKind(Y)===rS.ModuleResolutionKind.Classic?rS.Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_node_or_to_add_aliases_to_the_paths_option:rS.Diagnostics.Cannot_find_module_0_or_its_corresponding_type_declarations;return pi(e,t,r?void 0:n)}function pi(e,t,r,n){return void 0===n&&(n=!1),rS.isStringLiteralLike(t)?fi(e,t.text,r,t,n):void 0}function fi(e,t,r,n,i){void 0===i&&(i=!1),rS.startsWith(t,"@types/")&&pn(n,rS.Diagnostics.Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1,rS.removePrefix(t,"@types/"),t);var a=gc(t,!0);if(a)return a;var o,s=rS.getSourceFileOfNode(e),c=rS.getResolvedModule(s,t),u=c&&rS.getResolutionDiagnostic(Y,c),l=c&&!u&&b.getSourceFile(c.resolvedFileName);if(l)return l.symbol?(c.isExternalLibraryImport&&!rS.resolutionExtensionIsTSOrJson(c.extension)&&gi(!1,n,c,t),Ci(l.symbol)):void(r&&pn(n,rS.Diagnostics.File_0_is_not_a_module,l.fileName));if(yt){var _=rS.findBestPatternMatch(yt,function(e){return e.pattern},t);if(_){var d=vt&&vt.get(t);return d?Ci(d):Ci(_.symbol)}}if(c&&!rS.resolutionExtensionIsTSOrJson(c.extension)&&void 0===u||u===rS.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type)i?pn(n,rS.Diagnostics.Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented,t,c.resolvedFileName):gi($&&!!r,n,c,t);else if(r){if(c){var p=b.getProjectReferenceRedirect(c.resolvedFileName);if(p)return void pn(n,rS.Diagnostics.Output_file_0_has_not_been_built_from_source_file_1,p,c.resolvedFileName)}u?pn(n,u,t,c.resolvedFileName):(o=rS.tryExtractTSExtension(t))?pn(n,rS.Diagnostics.An_import_path_cannot_end_with_a_0_extension_Consider_importing_1_instead,o,rS.removeExtension(t,o)):!Y.resolveJsonModule&&rS.fileExtensionIs(t,".json")&&rS.getEmitModuleResolutionKind(Y)===rS.ModuleResolutionKind.NodeJs&&rS.hasJsonModuleEmitEnabled(Y)?pn(n,rS.Diagnostics.Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension,t):pn(n,r,t)}}function gi(e,t,r,n){var i,a=r.packageId,o=r.resolvedFileName,s=!rS.isExternalModuleNameRelative(n)&&a?(i=a.name,u().has(rS.getTypesPackageName(i))?rS.chainDiagnosticMessages(void 0,rS.Diagnostics.If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1,a.name,rS.mangleScopedPackageName(a.name)):rS.chainDiagnosticMessages(void 0,rS.Diagnostics.Try_npm_install_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0,n,rS.mangleScopedPackageName(a.name))):void 0;gn(e,t,rS.chainDiagnosticMessages(s,rS.Diagnostics.Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type,n,o))}function mi(e,t){if(null!=e&&e.exports){var r=function(e,t){if(!e||e===Ce||e===t||1===t.exports.size||2097152&e.flags)return e;var r=En(e);if(r.cjsExportMerged)return r.cjsExportMerged;var n=33554432&e.flags?e:bn(e);n.flags=512|n.flags,void 0===n.exports&&(n.exports=rS.createSymbolTable());return t.exports.forEach(function(e,t){"export="!==t&&n.exports.set(t,n.exports.has(t)?xn(n.exports.get(t),e):e)}),En(n).cjsExportMerged=n,r.cjsExportMerged=n}(Ci(ti(e.exports.get("export="),t)),Ci(e));return Ci(r)||e}}function yi(e,t,r,n){var i=mi(e,r);if(!r&&i){if(!(n||1539&i.flags||rS.getDeclarationOfKind(i,294))){var a=T>=rS.ModuleKind.ES2015?"allowSyntheticDefaultImports":"esModuleInterop";return pn(t,rS.Diagnostics.This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export,a),i}if(Y.esModuleInterop){var o=t.parent;if(rS.isImportDeclaration(o)&&rS.getNamespaceDeclarationNode(o)||rS.isImportCall(o)){var s=uo(i),c=ac(s,0);if(c&&c.length||(c=ac(s,1)),c&&c.length){var u=Uy(s,i,e),l=yn(i.flags,i.escapedName);l.declarations=i.declarations?i.declarations.slice():[],l.parent=i.parent,l.target=i,l.originatingImport=o,i.valueDeclaration&&(l.valueDeclaration=i.valueDeclaration),i.constEnumOnlyModule&&(l.constEnumOnlyModule=!0),i.members&&(l.members=new rS.Map(i.members)),i.exports&&(l.exports=new rS.Map(i.exports));var _=Fs(u);return l.type=Vi(l,_.members,rS.emptyArray,rS.emptyArray,_.stringIndexInfo,_.numberIndexInfo),l}}}}return i}function vi(e){return void 0!==e.exports.get("export=")}function hi(e){return pc(Di(e))}function bi(e,t){var r=Di(t);if(r)return r.get(e)}function xi(e){return 6256&e.flags?Zo(e,"resolvedExports"):1536&e.flags?Di(e):e.exports||M}function Di(e){var t=En(e);return t.resolvedExports||(t.resolvedExports=Ti(e))}function Si(i,e,a,o){e&&e.forEach(function(e,t){var r,n;"default"!==t&&((r=i.get(t))?a&&o&&r&&ti(r)!==ti(e)&&((n=a.get(t)).exportsWithDuplicate?n.exportsWithDuplicate.push(o):n.exportsWithDuplicate=[o]):(i.set(t,e),a&&o&&a.set(t,{specifierText:rS.getTextOfNode(o.moduleSpecifier)})))})}function Ti(e){var _=[];return function e(t){if(!(t&&t.exports&&rS.pushIfUnique(_,t)))return;var o=new rS.Map(t.exports);var r=t.exports.get("__export");if(r){for(var n=rS.createSymbolTable(),s=new rS.Map,i=0,a=r.declarations;i=u?c.substr(0,u-"...".length)+"...":c}function sa(e,t){var r=ua(e.symbol)?oa(e,e.symbol.valueDeclaration):oa(e),n=ua(t.symbol)?oa(t,t.symbol.valueDeclaration):oa(t);return r===n&&(r=ca(e),n=ca(t)),[r,n]}function ca(e){return oa(e,void 0,64)}function ua(e){return e&&e.valueDeclaration&&rS.isExpression(e.valueDeclaration)&&!x_(e.valueDeclaration)}function la(e){return void 0===e&&(e=0),814775659&e}function _a(i,a,o,e){return void 0===o&&(o=16384),e?t(e).getText():rS.usingSingleLineStringWriter(t);function t(e){var t=rS.factory.createTypePredicateNode(2===i.kind||3===i.kind?rS.factory.createToken(127):void 0,1===i.kind||3===i.kind?rS.factory.createIdentifier(i.parameterName):rS.factory.createThisTypeNode(),i.type&&h.typeToTypeNode(i.type,a,70222336|la(o))),r=rS.createPrinter({removeComments:!0}),n=a&&rS.getSourceFileOfNode(a);return r.writeNode(4,t,n,e),e}}function da(e){return 8===e?"private":16===e?"protected":"public"}function pa(e){return e&&e.parent&&254===e.parent.kind&&rS.isExternalModuleAugmentation(e.parent.parent)}function fa(e){return 294===e.kind||rS.isAmbientModule(e)}function ga(e,t){var r=En(e).nameType;if(r){if(384&r.flags){var n=""+r.value;return rS.isIdentifierText(n,Y.target)||zg(n)?zg(n)&&rS.startsWith(n,"-")?"["+n+"]":n:'"'+rS.escapeString(n,34)+'"'}if(8192&r.flags)return"["+ma(r.symbol,t)+"]"}}function ma(e,t){if(t&&"default"===e.escapedName&&!(16384&t.flags)&&(!(16777216&t.flags)||!e.declarations||t.enclosingDeclaration&&rS.findAncestor(e.declarations[0],fa)!==rS.findAncestor(t.enclosingDeclaration,fa)))return"default";if(e.declarations&&e.declarations.length){var r=rS.firstDefined(e.declarations,function(e){return rS.getNameOfDeclaration(e)?e:void 0}),n=r&&rS.getNameOfDeclaration(r);if(r&&n){if(rS.isCallExpression(r)&&rS.isBindableObjectDefinePropertyCall(r))return rS.symbolName(e);if(rS.isComputedPropertyName(n)&&!(4096&rS.getCheckFlags(e))){var i=En(e).nameType;if(i&&384&i.flags){var a=ga(e,t);if(void 0!==a)return a}}return rS.declarationNameToString(n)}if((r=r||e.declarations[0]).parent&&246===r.parent.kind)return rS.declarationNameToString(r.parent.name);switch(r.kind){case 218:case 205:case 206:return!t||t.encounteredError||131072&t.flags||(t.encounteredError=!0),218===r.kind?"(Anonymous class)":"(Anonymous function)"}}var o=ga(e,t);return void 0!==o?o:rS.symbolName(e)}function ya(t){if(t){var e=kn(t);return void 0===e.isVisible&&(e.isVisible=!!function(){switch(t.kind){case 320:case 327:case 321:return t.parent&&t.parent.parent&&t.parent.parent.parent&&rS.isSourceFile(t.parent.parent.parent);case 195:return ya(t.parent.parent);case 246:if(rS.isBindingPattern(t.name)&&!t.name.elements.length)return;case 253:case 249:case 250:case 251:case 248:case 252:case 257:if(rS.isExternalModuleAugmentation(t))return 1;var e=Sa(t);return 1&rS.getCombinedModifierFlags(t)||257!==t.kind&&294!==e.kind&&8388608&e.flags?ya(e):Nn(e);case 162:case 161:case 166:case 167:case 164:case 163:if(rS.hasEffectiveModifier(t,24))return;case 165:case 169:case 168:case 170:case 159:case 254:case 173:case 174:case 176:case 172:case 177:case 178:case 181:case 182:case 185:case 191:return ya(t.parent);case 259:case 260:case 262:return;case 158:case 294:case 256:return 1;case 263:default:return}}()),e.isVisible}return!1}function va(e,o){var t,s,c;return e.parent&&263===e.parent.kind?t=wn(e,e.escapedText,2998271,void 0,e,!1):267===e.parent.kind&&(t=Yn(e.parent,2998271)),t&&((c=new rS.Set).add(fS(t)),function a(e){rS.forEach(e,function(e){var t,r,n,i=zn(e)||e;o?kn(e).isVisible=!0:(s=s||[],rS.pushIfUnique(s,i)),rS.isInternalModuleImportEqualsDeclaration(e)&&(t=e.moduleReference,r=rS.getFirstIdentifier(t),(n=wn(e,r.escapedText,901119,void 0,void 0,!1))&&c&&rS.tryAddToSet(c,fS(n))&&a(n.declarations))})}(t.declarations)),s}function ha(e,t){var r=ba(e,t);if(!(0<=r))return Ir.push(e),Or.push(!0),Mr.push(t),1;for(var n=Ir.length,i=r;i=hc(e.typeParameters))&&n<=rS.length(e.typeParameters)})}function Do(e,t,r){var n=xo(e,t,r),i=rS.map(t,ql);return rS.sameMap(n,function(e){return rS.some(e.typeParameters)?Pc(e,i,rS.isInJSFile(r)):e})}function So(e){if(!e.resolvedBaseConstructorType){var t=e.symbol.valueDeclaration,r=rS.getEffectiveBaseTypeNode(t),n=bo(e);if(!n)return e.resolvedBaseConstructorType=Ie;if(!ha(e,1))return Fe;var i=oh(n.expression);if(r&&n!==r&&(rS.Debug.assert(!r.typeArguments),oh(r.expression)),2621440&i.flags&&Fs(i),!Da())return pn(e.symbol.valueDeclaration,rS.Diagnostics._0_is_referenced_directly_or_indirectly_in_its_own_base_expression,ia(e.symbol)),e.resolvedBaseConstructorType=Fe;if(!(1&i.flags||i===Re||ho(i))){var a,o,s,c=pn(n.expression,rS.Diagnostics.Type_0_is_not_a_constructor_function_type,oa(i));return 262144&i.flags&&(a=Vc(i),o=we,!a||(s=oc(a,1))[0]&&(o=kc(s[0])),rS.addRelatedInfo(c,rS.createDiagnosticForNode(i.symbol.declarations[0],rS.Diagnostics.Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1,ia(i.symbol),oa(o)))),e.resolvedBaseConstructorType=Fe}e.resolvedBaseConstructorType=i}return e.resolvedBaseConstructorType}function To(e,t){pn(e,rS.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,oa(t,void 0,2))}function Co(e){if(!e.baseTypesResolved){if(ha(e,7)&&(8&e.objectFlags?e.resolvedBaseTypes=[(i=e,Cu(zu(rS.sameMap(i.typeParameters,function(e,t){return 8&i.elementFlags[t]?pl(e,je):e})||rS.emptyArray),i.readonly))]:96&e.symbol.flags?(32&e.symbol.flags&&function(e){e.resolvedBaseTypes=rS.resolvingEmptyArray;var t=Gs(So(e));if(!(2621441&t.flags))return e.resolvedBaseTypes=rS.emptyArray;var r,n=bo(e),i=t.symbol?Mo(t.symbol):void 0;if(t.symbol&&32&t.symbol.flags&&function(e){var t=e.outerTypeParameters;if(t){var r=t.length-1,n=Xc(e);return t[r].symbol!==n[r].symbol}return 1}(i))r=Zc(n,t.symbol);else if(1&t.flags)r=t;else{var a=Do(t,n.typeArguments,n);if(!a.length)return pn(n.expression,rS.Diagnostics.No_base_constructor_has_the_specified_number_of_type_arguments),e.resolvedBaseTypes=rS.emptyArray;r=kc(a[0])}if(r===Fe)return e.resolvedBaseTypes=rS.emptyArray;var o=$s(r);if(!Eo(o)){var s=nc(void 0,r),c=rS.chainDiagnosticMessages(s,rS.Diagnostics.Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members,oa(o));return $r.add(rS.createDiagnosticForNodeFromMessageChain(n.expression,c)),e.resolvedBaseTypes=rS.emptyArray}if(e===o||po(o,e))return pn(e.symbol.valueDeclaration,rS.Diagnostics.Type_0_recursively_references_itself_as_a_base_type,oa(e,void 0,2)),e.resolvedBaseTypes=rS.emptyArray;e.resolvedBaseTypes===rS.resolvingEmptyArray&&(e.members=void 0);e.resolvedBaseTypes=[o]}(e),64&e.symbol.flags&&function(e){e.resolvedBaseTypes=e.resolvedBaseTypes||rS.emptyArray;for(var t=0,r=e.symbol.declarations;t=nv(i)&&l>=nv(a),m=r<=l?void 0:Xy(e,l),y=n<=l?void 0:Xy(t,l),v=yn(1|(g&&!f?16777216:0),(m===y?m:m?y?void 0:m:y)||"arg"+l);v.type=f?Cu(p):p,u[l]=v}{var h;c&&((h=yn(1,"args")).type=Cu($y(a,o)),u[o]=h)}return u}(t,r),a=function(e,t){if(!e||!t)return e||t;var r=Hu([uo(e),uo(t)]);return cp(e,r)}(t.thisParameter,r.thisParameter),o=Math.max(t.minArgumentCount,r.minArgumentCount),(s=ns(n,t.typeParameters||r.typeParameters,a,i,void 0,void 0,o,19&(t.flags|r.flags))).unionSignatures=rS.concatenate(t.unionSignatures||[t],[r]),s;var t,r,n,i,a,o,s})))return"break"}},f=0,g=e;f=nv(t,!0)}var n=rS.getImmediatelyInvokedFunctionExpression(e.parent);return!!n&&(!e.type&&!e.dotDotDotToken&&e.parent.parameters.indexOf(e)>=n.arguments.length)}function yc(e){if(!rS.isJSDocPropertyLikeTag(e))return!1;var t=e.isBracketed,r=e.typeExpression;return t||!!r&&303===r.type.kind}function vc(e,t,r,n){return{kind:e,parameterName:t,parameterIndex:r,type:n}}function hc(e){var t,r=0;if(e)for(var n=0;nc.arguments.length&&!g||fc(p)||(a=n.length)}166!==e.kind&&167!==e.kind||Qo(e)||s&&o||(l=166===e.kind?167:166,(_=rS.getDeclarationOfKind(Ei(e),l))&&(o=(t=zD(_))&&t.symbol));var m=165===e.kind?ko(Ci(e.parent.symbol)):void 0,y=m?m.localTypeParameters:dc(e);(rS.hasRestParameter(e)||rS.isInJSFile(e)&&function(e,t){if(rS.isJSDocSignature(e)||!Sc(e))return;var r=rS.lastOrUndefined(e.parameters),n=r?rS.getJSDocParameterTags(r):rS.getJSDocTags(e).filter(rS.isJSDocParameterTag),i=rS.firstDefined(n,function(e){return e.typeExpression&&rS.isJSDocVariadicType(e.typeExpression.type)?e.typeExpression.type:void 0}),a=yn(3,"args",32768);a.type=i?Cu(ql(i.type)):Ft,i&&t.pop();return t.push(a),1}(e,n))&&(i|=1),r.resolvedSignature=ns(e,y,o,n,void 0,void 0,a,i)}return r.resolvedSignature}function Dc(e){if(rS.isInJSFile(e)&&rS.isFunctionLikeDeclaration(e)){var t=rS.getJSDocTypeTag(e),r=t&&t.typeExpression&&ty(ql(t.typeExpression));return r&&Oc(r)}}function Sc(e){var t=kn(e);return void 0===t.containsArgumentsReference&&(8192&t.flags?t.containsArgumentsReference=!0:t.containsArgumentsReference=function e(t){if(!t)return!1;switch(t.kind){case 78:return"arguments"===t.escapedText&&rS.isExpressionNode(t);case 162:case 164:case 166:case 167:return 157===t.name.kind&&e(t.name);default:return!rS.nodeStartsNewLexicalEnvironment(t)&&!rS.isPartOfTypeNode(t)&&!!rS.forEachChild(t,e)}}(e.body)),t.containsArgumentsReference}function Tc(e){if(!e)return rS.emptyArray;for(var t=[],r=0;rn.length)){var s=o&&rS.isExpressionWithTypeArguments(e)&&!rS.isJSDocAugmentsTag(e.parent);if(pn(e,a===n.length?s?rS.Diagnostics.Expected_0_type_arguments_provide_these_with_an_extends_tag:rS.Diagnostics.Generic_type_0_requires_1_type_argument_s:s?rS.Diagnostics.Expected_0_1_type_arguments_provide_these_with_an_extends_tag:rS.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,oa(r,void 0,2),a,n.length),!o)return Fe}return 172===e.kind&&Au(e,rS.length(e.typeArguments)!==n.length)?Qc(r,e,void 0):Hc(r,rS.concatenate(r.outerTypeParameters,bc(_u(e),n,a,o)))}return cu(e,t)?r:Fe}function $c(e,t){var r=Mo(e),n=En(e),i=n.typeParameters,a=qc(t),o=n.instantiations.get(a);return o||n.instantiations.set(a,o=m_(r,Xl(i,bc(t,i,hc(i),rS.isInJSFile(e.valueDeclaration))))),o}function eu(e){switch(e.kind){case 172:return e.typeName;case 220:var t=e.expression;if(rS.isEntityNameExpression(t))return t}}function tu(e,t,r){return e&&li(e,t,r)||Ce}function ru(e,t){if(t===Ce)return Fe;if(96&(t=function(e){var t=e.valueDeclaration;if(t&&rS.isInJSFile(t)&&!(524288&e.flags)&&!rS.getExpandoInitializer(t,!1)){var r=rS.isVariableDeclaration(t)?rS.getDeclaredExpandoInitializer(t):rS.getAssignedExpandoInitializer(t);if(r){var n=Ei(r);if(n)return Ly(n,e)}}}(t)||t).flags)return Zc(e,t);if(524288&t.flags)return function(e,t){var r=Mo(t),n=En(t).typeParameters;if(n){var i=rS.length(e.typeArguments),a=hc(n);return in.length?(pn(e,a===n.length?rS.Diagnostics.Generic_type_0_requires_1_type_argument_s:rS.Diagnostics.Generic_type_0_requires_between_1_and_2_type_arguments,ia(t),a,n.length),Fe):$c(t,_u(e))}return cu(e,t)?r:Fe}(e,t);var r=Lo(t);if(r)return cu(e,t)?Bl(r):Fe;if(111551&t.flags&&su(e)){var n=function(e,t){var r=kn(e);if(!r.resolvedJSDocType){var n=uo(t),i=n;if(t.valueDeclaration){var a=rS.getRootDeclaration(t.valueDeclaration),o=!1;if(rS.isVariableDeclaration(a)&&a.initializer){for(var s=a.initializer;rS.isPropertyAccessExpression(s);)s=s.expression;o=rS.isCallExpression(s)&&rS.isRequireCall(s,!0)&&!!n.symbol}var c=192===e.kind&&e.qualifier;n.symbol&&(o||c)&&(i=ru(e,n.symbol))}r.resolvedJSDocType=i}return r.resolvedJSDocType}(e,t);return n||(tu(eu(e),788968),uo(t))}return Fe}function nu(e,t){if(3&t.flags||t===e)return e;var r=Lu(e)+">"+Lu(t),n=De.get(r);if(n)return n;var i=Mi(33554432);return i.baseType=e,i.substitute=t,De.set(r,i),i}function iu(e){return 178===e.kind&&1===e.elements.length}function au(e,t,r){return iu(t)&&iu(r)?au(e,t.elements[0],r.elements[0]):vl(ql(t))===e?ql(r):void 0}function ou(e,t){for(var r;t&&!rS.isStatement(t)&&307!==t.kind;){var n,i=t.parent;183!==i.kind||t!==i.trueType||(n=au(e,i.checkType,i.extendsType))&&(r=rS.append(r,n)),t=i}return r?nu(e,Hu(rS.append(r,e))):e}function su(e){return!!(4194304&e.flags)&&(172===e.kind||192===e.kind)}function cu(e,t){if(!e.typeArguments)return 1;pn(e,rS.Diagnostics.Type_0_is_not_generic,t?ia(t):e.typeName?rS.declarationNameToString(e.typeName):iS)}function uu(e){if(rS.isIdentifier(e.typeName)){var t=e.typeArguments;switch(e.typeName.escapedText){case"String":return cu(e),Be;case"Number":return cu(e),je;case"Boolean":return cu(e),qe;case"Void":return cu(e),He;case"Undefined":return cu(e),Ie;case"Null":return cu(e),Le;case"Function":case"function":return cu(e),bt;case"array":return t&&t.length||$?void 0:Ft;case"promise":return t&&t.length||$?void 0:_v(ke);case"Object":if(t&&2===t.length){if(rS.isJSDocIndexSignature(e)){var r=ql(t[0]),n=Jc(ql(t[1]),!1);return Vi(void 0,M,rS.emptyArray,rS.emptyArray,r===Be?n:void 0,r===je?n:void 0)}return ke}return cu(e),$?void 0:ke}}}function lu(e){var t=kn(e);if(!t.resolvedType){if(rS.isConstTypeReference(e)&&rS.isAssertionExpression(e.parent))return t.resolvedSymbol=Ce,t.resolvedType=Vv(e.parent.expression);var r=void 0,n=void 0,i=788968;su(e)&&((n=uu(e))||((r=tu(eu(e),i,!0))===Ce?r=tu(eu(e),900095):tu(eu(e),i),n=ru(e,r))),n=n||ru(e,r=tu(eu(e),i)),t.resolvedSymbol=r,t.resolvedType=n}return t.resolvedType}function _u(e){return rS.map(e.typeArguments,ql)}function du(e){var t=kn(e);return t.resolvedType||(t.resolvedType=Bl(fp(oh(e.exprName)))),t.resolvedType}function pu(e,t){function r(e){for(var t=0,r=e.declarations;ti.fixedLength?(n=qd(e))&&Cu(n)||Pu(rS.emptyArray):Pu(Xc(e).slice(t,a),i.elementFlags.slice(t,a),!1,i.labeledElementDeclarations&&i.labeledElementDeclarations.slice(t,a))}function Mu(e){return zu(rS.append(rS.arrayOf(e.target.fixedLength,function(e){return Jl(""+e)}),$u(e.target.readonly?Tt:St)))}function Lu(e){return e.id}function Ru(e,t){return 0<=rS.binarySearch(e,t,Lu,rS.compareValues)}function Bu(e,t){var r=rS.binarySearch(e,t,Lu,rS.compareValues);return r<0&&(e.splice(~r,0,t),1)}function ju(e,t,r){for(var n,i,a,o,s,c,u=0,l=r;un[o-1].id?~o:rS.binarySearch(n,a,Lu,rS.compareValues))<0&&n.splice(~s,0,a)),i)}return t}function Ju(e,t){var r=e.length;if(0===r||function(e){var t=e[0];if(1024&t.flags){for(var r=ki(t.symbol),n=1;nu:nv(e)>u))return 0;e.typeParameters&&e.typeParameters!==t.typeParameters&&(e=iy(e,t=Mc(t),void 0,o));var l=rv(e),_=ov(e),d=ov(t);if((_||d)&&m_(_||d,s),_&&d&&l!==u)return 0;var p=t.declaration?t.declaration.kind:0,f=!(3&r)&&z&&164!==p&&163!==p&&165!==p,g=-1,m=Cc(e);if(m&&m!==He){var y=Cc(t);if(y){if(!(x=!f&&o(m,y,!1)||o(y,m,n)))return n&&i(rS.Diagnostics.The_this_types_of_each_signature_are_incompatible),0;g&=x}}for(var v=_||d?Math.min(l,u):Math.max(l,u),h=_||d?v-1:-1,b=0;b=nv(e)&&b":n+="-"+s.id}return n}function md(e,t,r,n){var i;n===cn&&e.id>t.id&&(i=e,e=t,t=i);var a=r?":"+r:"";if(fd(e)&&fd(t)){var o=[];return gd(e,o)+","+gd(t,o)+a}return e.id+","+t.id+a}function yd(e,t){if(!(6&rS.getCheckFlags(e)))return t(e);for(var r=0,n=e.containingType.types;ro.target.minLength||!s.target.hasRestElement&&(o.target.hasRestElement||s.target.fixedLength=l?we:t})),(u=e).nonFixingMapper)))):a=Op(_),_.inferredType=a||qp(!!(2&e.flags)),(s=Ls(_.typeParameter))&&(c=m_(s,e.nonFixingMapper),a&&e.compareTypes(a,ts(c,a))||(_.inferredType=a=c))),_.inferredType}function qp(e){return e?ke:we}function Wp(e){for(var t=[],r=0;r=nv(r)&&(iv(r)||l=n&&t.length<=r}function ty(e){return ny(e,0,!1)}function ry(e){return ny(e,0,!1)||ny(e,1,!1)}function ny(e,t,r){if(524288&e.flags){var n=Fs(e);if(r||0===n.properties.length&&!n.stringIndexInfo&&!n.numberIndexInfo){if(0===t&&1===n.callSignatures.length&&0===n.constructSignatures.length)return n.callSignatures[0];if(1===t&&1===n.constructSignatures.length&&0===n.callSignatures.length)return n.constructSignatures[0]}}}function iy(e,t,r,n){var i=bp(e.typeParameters,e,0,n),a=av(t),o=r&&(a&&262144&a.flags?r.nonFixingMapper:r.mapper);return vp(o?s_(t,o):t,e,function(e,t){Rp(i.inferences,e,t)}),r||hp(t,e,function(e,t){Rp(i.inferences,e,t,64)}),Pc(e,Wp(i),rS.isInJSFile(t.declaration))}function ay(e,t,r,n,i){if(rS.isJsxOpeningLikeElement(e))return o=n,s=i,c=Fg(t,a=e),u=Uv(a.attributes,c,s,o),Rp(s.inferences,u,c),Wp(s);var a,o,s,c,u,l,_,d,p,f,g,m,y,v,h,b,x;160===e.kind||(l=Ng(e,rS.every(t.typeParameters,function(e){return!!Ws(e)})?8:0))&&(_=Ag(e),f=(p=ty(d=m_(l,Ep((void 0===(x=1)&&(x=0),(b=_)&&xp(rS.map(b.inferences,Cp),b.signature,b.flags|x,b.compareTypes))))))&&p.typeParameters?Rc(wc(p,p.typeParameters)):d,g=kc(t),Rp(i.inferences,f,g,64),m=bp(t.typeParameters,t,i.flags),y=m_(l,_&&_.returnMapper),Rp(m.inferences,y,g),i.returnMapper=rS.some(m.inferences,$v)?Ep((v=m,(h=rS.filter(v.inferences,$v)).length?xp(rS.map(h,Cp),v.signature,v.flags,v.compareTypes):void 0)):void 0);var D,S=ov(t),T=S?Math.min(rv(t)-1,r.length):r.length;S&&262144&S.flags&&((D=rS.find(i.inferences,function(e){return e.typeParameter===S}))&&(D.impliedArity=rS.findIndex(r,Xm,T)<0?r.length-T:void 0));var C,E,k=Cc(t);k&&(E=(C=dy(e))?oh(C):He,Rp(i.inferences,E,k));for(var N,A=0;Ac&&n.declaration&&((v=n.declaration.parameters[n.thisParameter?c+1:c])&&(f=rS.createDiagnosticForNode(v,rS.isBindingPattern(v.name)?rS.Diagnostics.An_argument_matching_this_binding_pattern_was_not_provided:rS.isRestParameter(v)?rS.Diagnostics.Arguments_for_the_rest_parameter_0_were_not_provided:rS.Diagnostics.An_argument_for_0_was_not_provided,v.name?rS.isBindingPattern(v.name)?void 0:rS.idText(rS.getFirstIdentifier(v.name)):c))),it.length;)n.pop();for(;n.length=rS.ModuleKind.ES2015||(rb(e,t,"require")||rb(e,t,"exports"))&&(rS.isModuleDeclaration(e)&&1!==rS.getModuleInstanceState(e)||294===(r=Sa(e)).kind&&rS.isExternalOrCommonJsModule(r)&&dn("noEmit",t,rS.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module,rS.declarationNameToString(t),rS.declarationNameToString(t)))}function sb(e,t){var r;4<=J||!rb(e,t,"Promise")||rS.isModuleDeclaration(e)&&1!==rS.getModuleInstanceState(e)||294===(r=Sa(e)).kind&&rS.isExternalOrCommonJsModule(r)&&2048&r.flags&&dn("noEmit",t,rS.Diagnostics.Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions,rS.declarationNameToString(t),rS.declarationNameToString(t))}function cb(e){return e===Ne?ke:e===Pt?Ft:e}function ub(t){var e,r,n,i,a,o,s,c,u,l,_,d,p,f;jh(t),rS.isBindingElement(t)||Dx(t.type),t.name&&(157===t.name.kind&&(Ug(t.name),t.initializer&&Vv(t.initializer)),195===t.kind&&(193===t.parent.kind&&J<99&&TD(t,4),t.propertyName&&157===t.propertyName.kind&&Ug(t.propertyName),n=Ea(r=t.parent.parent),i=t.propertyName||t.name,n&&!rS.isBindingPattern(i)&&(!qo(a=Qu(i))||(o=ic(n,Xo(a)))&&(zm(o,void 0,!1),gm(r,!!r.initializer&&105===r.initializer.kind,n,o)))),rS.isBindingPattern(t.name)&&(194===t.name.kind&&J<2&&Y.downlevelIteration&&TD(t,512),rS.forEach(t.name.elements,Dx)),t.initializer&&159===rS.getRootDeclaration(t).kind&&rS.nodeIsMissing(rS.getContainingFunction(t).body)?pn(t,rS.Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation):rS.isBindingPattern(t.name)?(s=t.initializer&&235!==t.parent.parent.kind,c=0===t.name.elements.length,(s||c)&&(u=Qa(t),s&&(l=Vv(t.initializer),Z&&c?Tm(l,t):L_(l,Qa(t),t,t.initializer)),c&&(rS.isArrayBindingPattern(t.name)?xb(65,u,Ie,t):Z&&Tm(u,t)))):(d=cb(uo(_=Ei(t))),t===_.valueDeclaration?((p=rS.getEffectiveInitializer(t))&&(rS.isInJSFile(t)&&rS.isObjectLiteralExpression(p)&&(0===p.properties.length||rS.isPrototypeAccess(t.name))&&!(null===(e=_.exports)||void 0===e||!e.size)||235===t.parent.parent.kind||L_(Vv(p),d,t,p,void 0)),1<_.declarations.length&&rS.some(_.declarations,function(e){return e!==t&&rS.isVariableLike(e)&&!_b(e,t)})&&pn(t.name,rS.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,rS.declarationNameToString(t.name))):(f=cb(Qa(t)),d===Fe||f===Fe||E_(d,f)||67108864&_.flags||lb(_.valueDeclaration,d,t,f),t.initializer&&L_(Vv(t.initializer),f,t,t.initializer,void 0),_b(t,_.valueDeclaration)||pn(t.name,rS.Diagnostics.All_declarations_of_0_must_have_identical_modifiers,rS.declarationNameToString(t.name))),162!==t.kind&&161!==t.kind&&(kh(t),246!==t.kind&&195!==t.kind||function(e){if(0==(3&rS.getCombinedNodeFlags(e))&&!rS.isParameterDeclaration(e)&&(246!==e.kind||e.initializer)){var t=Ei(e);if(1&t.flags){if(!rS.isIdentifier(e.name))return rS.Debug.fail();var r,n,i,a=wn(e,e.name.escapedText,3,void 0,void 0,!1);a&&a!==t&&2&a.flags&&3&pm(a)&&((n=229===(r=rS.getAncestor(a.valueDeclaration,247)).parent.kind&&r.parent.parent?r.parent.parent:void 0)&&(227===n.kind&&rS.isFunctionLike(n.parent)||254===n.kind||253===n.kind||294===n.kind)||(i=ia(a),pn(e,rS.Diagnostics.Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1,i,i)))}}}(t),ob(t,t.name),sb(t,t.name),J<99&&rb(t,t.name,"WeakMap")&&Yr.push(t))))}function lb(e,t,r,n){var i=rS.getNameOfDeclaration(r),a=162===r.kind||161===r.kind?rS.Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:rS.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2,o=rS.declarationNameToString(i),s=pn(i,a,o,oa(t),oa(n));e&&rS.addRelatedInfo(s,rS.createDiagnosticForNode(e,rS.Diagnostics._0_was_also_declared_here,o))}function _b(e,t){if(159===e.kind&&246===t.kind||246===e.kind&&159===t.kind)return 1;if(rS.hasQuestionToken(e)===rS.hasQuestionToken(t)){return rS.getSelectedEffectiveModifierFlags(e,504)===rS.getSelectedEffectiveModifierFlags(t,504)}}function db(e){return function(e){if(235!==e.parent.parent.kind&&236!==e.parent.parent.kind)if(8388608&e.flags)qD(e);else if(!e.initializer){if(rS.isBindingPattern(e.name)&&!rS.isBindingPattern(e.parent))return YD(e,rS.Diagnostics.A_destructuring_declaration_must_have_an_initializer);if(rS.isVarConst(e))return YD(e,rS.Diagnostics.const_declarations_must_be_initialized)}if(e.exclamationToken&&(229!==e.parent.parent.kind||!e.type||e.initializer||8388608&e.flags))return YD(e.exclamationToken,rS.Diagnostics.Definite_assignment_assertions_can_only_be_used_along_with_a_type_annotation);var t=rS.getEmitModuleKind(Y);t>i;case 49:return n>>>i;case 47:return n<=rS.ModuleKind.ES2015&&!(8388608&e.flags)&&YD(e,rS.Diagnostics.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead)))}(e);case 264:return yx(e);case 263:return function(e){var t,r,n,i;vx(e,rS.Diagnostics.An_export_assignment_can_only_be_used_in_a_module)||(253!==(t=294===e.parent.kind?e.parent:e.parent.parent).kind||rS.isAmbientModule(t)?(!ED(e)&&rS.hasEffectiveModifiers(e)&&GD(e,rS.Diagnostics.An_export_assignment_cannot_have_modifiers),78===e.expression.kind?((n=li(r=e.expression,67108863,!0,!0,e))&&(Zf(n,r),((i=2097152&n.flags?ri(n):n)===Ce||111551&i.flags)&&Vv(e.expression)),rS.getEmitDeclarations(Y)&&va(e.expression,!0)):Vv(e.expression),xx(t),8388608&e.flags&&!rS.isEntityNameExpression(e.expression)&&YD(e.expression,rS.Diagnostics.The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context),!e.isExportEquals||8388608&e.flags||(T>=rS.ModuleKind.ES2015?YD(e,rS.Diagnostics.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead):T===rS.ModuleKind.System&&YD(e,rS.Diagnostics.Export_assignment_is_not_supported_when_module_flag_is_system))):e.isExportEquals?pn(e,rS.Diagnostics.An_export_assignment_cannot_be_used_in_a_namespace):pn(e,rS.Diagnostics.A_default_export_can_only_be_used_in_an_ECMAScript_style_module))}(e);case 228:case 245:return $D(e);case 268:(function(e){jh(e)})(e)}}(j=e),j=t)}function Sx(e){rS.isInJSFile(e)||YD(e,rS.Diagnostics.JSDoc_types_can_only_be_used_inside_documentation_comments)}function Tx(e){var t,r=kn(rS.getSourceFileOfNode(e));1&r.flags||(r.deferredNodes=r.deferredNodes||new rS.Map,t=pS(e),r.deferredNodes.set(t,e))}function Cx(e){var t,r,n,i=j;switch(_=0,(j=e).kind){case 200:case 201:case 202:case 160:case 272:Gm(e);break;case 205:case 206:case 164:case 163:!function(e){rS.Debug.assert(164!==e.kind||rS.isObjectLiteralMethod(e));var t,r,n=rS.getFunctionFlags(e),i=Nc(e);xv(e,i),e.body&&(rS.getEffectiveReturnTypeNode(e)||kc(xc(e)),227===e.body.kind?Dx(e.body):(t=oh(e.body),(r=i&&Hb(i,n))&&L_(2==(3&n)?Fh(t,e.body,rS.Diagnostics.The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member):t,r,e.body,e.body)))}(e);break;case 166:case 167:mh(e);break;case 218:n=e,rS.forEach(n.members,Dx),Uh(n);break;case 271:um(r=e),Gm(r);break;case 270:um((t=e).openingElement),Gg(t.closingElement.tagName)?em(t.closingElement):oh(t.closingElement.tagName),Xg(t)}j=i}function Ex(e){rS.performance.mark("beforeCheck"),function(e){var t=kn(e);if(!(1&t.flags)){if(rS.skipTypeChecking(e,Y,b))return;!function(e){8388608&e.flags&&function(e){for(var t=0,r=e.statements;t".length-r,rS.Diagnostics.Type_parameter_list_cannot_be_empty)}return!1}function FD(e){if(3<=J){var t=e.body&&rS.isBlock(e.body)&&rS.findUseStrictPrologue(e.body.statements);if(t){var r=(i=e.parameters,rS.filter(i,function(e){return!!e.initializer||rS.isBindingPattern(e.name)||rS.isRestParameter(e)}));if(rS.length(r)){rS.forEach(r,function(e){rS.addRelatedInfo(pn(e,rS.Diagnostics.This_parameter_is_not_allowed_with_use_strict_directive),rS.createDiagnosticForNode(t,rS.Diagnostics.use_strict_directive_used_here))});var n=r.map(function(e,t){return 0===t?rS.createDiagnosticForNode(e,rS.Diagnostics.Non_simple_parameter_declared_here):rS.createDiagnosticForNode(e,rS.Diagnostics.and_here)});return rS.addRelatedInfo.apply(void 0,__spreadArrays([pn(t,rS.Diagnostics.use_strict_directive_cannot_be_used_with_non_simple_parameter_list)],n)),!0}}}var i;return!1}function PD(e){var t=rS.getSourceFileOfNode(e);return ED(e)||AD(e.typeParameters,t)||function(e){for(var t=!1,r=e.length,n=0;n".length-n,rS.Diagnostics.Type_argument_list_cannot_be_empty)}return!1}(e,t)}function ID(e){return function(e){if(e)for(var t=0,r=e;ta.line||b.generatedLine===a.line&&b.generatedCharacter>a.character))break;i&&(b.generatedLine=a.length)return f("Error in decoding base64VLQFormatDecode, past the mapping string"),-1;var i=65<=(e=a.charCodeAt(o))&&e<=90?e-65:97<=e&&e<=122?e-97+26:48<=e&&e<=57?e-48+52:43===e?62:47===e?63:-1;if(-1==i)return f("Invalid character in VLQ"),-1;t=0!=(32&i),n|=(31&i)<>=1:n=-(n>>=1),n}}function f(e){return void 0!==e.sourceIndex&&void 0!==e.sourceLine&&void 0!==e.sourceCharacter}function j(e){e<0?e=1+(-e<<1):e<<=1;var t,r="";do{var n=31&e;0<(e>>=5)&&(n|=32),r+=String.fromCharCode(0<=(t=n)&&t<26?65+t:26<=t&&t<52?97+t-26:52<=t&&t<62?48+t-52:62===t?43:63===t?47:R.Debug.fail(t+": not a base64 value"))}while(0=Je.ModuleKind.ES2015)&&!Je.isJsonSourceFile(e);return D.updateSourceFile(e,Je.visitLexicalEnvironment(e.statements,i,g,0,t))}function B(e){return void 0!==e.decorators&&0=e.end)return;var n=we.getEnclosingBlockScopeContainer(e);for(;r;){if(r===n||r===e)return;if(we.isClassElement(r)&&r.parent===e)return 1;r=r.parent}return}(t,e)))return we.setTextRange(v.getGeneratedNameForNode(we.getNameOfDeclaration(t)),e)}return e}(e);case 107:return function(e){if(1&i&&16&g)return we.setTextRange(v.createUniqueName("_this",48),e);return e}(e)}return e}(t);if(we.isIdentifier(t))return function(e){if(2&i&&!we.isInternalName(e)){var t=we.getParseTreeNode(e,we.isIdentifier);if(t&&function(e){switch(e.parent.kind){case 195:case 249:case 252:case 246:return e.parent.name===e&&d.isDeclarationWithCollidingName(e.parent)}return}(t))return we.setTextRange(v.getGeneratedNameForNode(t),e)}return e}(t);return t},we.chainBundle(f,function(e){if(e.isDeclarationFile)return e;c=(p=e).text;var t=function(e){var t=l(8064,64),r=[],n=[];h();var i=v.copyPrologue(e.statements,r,!1,S);we.addRange(n,we.visitNodes(e.statements,S,we.isStatement,i)),a&&n.push(v.createVariableStatement(void 0,v.createVariableDeclarationList(a)));return v.mergeLexicalEnvironment(r,x()),M(r,e),_(t,0,0),v.updateSourceFile(e,we.setTextRange(v.createNodeArray(we.concatenate(r,n)),e.statements))}(e);return we.addEmitHelpers(t,f.readEmitHelpers()),a=c=p=void 0,g=0,t});function l(e,t){var r=g;return g=16383&(g&~e|t),r}function _(e,t,r){g=-16384&(g&~t|r)|e}function n(e){return 0!=(8192&g)&&239===e.kind&&!e.expression}function s(e){return 0!=(256&e.transformFlags)||void 0!==y||8192&g&&(1048576&(t=e).transformFlags&&(we.isReturnStatement(t)||we.isIfStatement(t)||we.isWithStatement(t)||we.isSwitchStatement(t)||we.isCaseBlock(t)||we.isCaseClause(t)||we.isDefaultClause(t)||we.isTryStatement(t)||we.isCatchClause(t)||we.isLabeledStatement(t)||we.isIterationStatement(t,!1)||we.isBlock(t)))||we.isIterationStatement(e,!1)&&se(e)||0!=(33554432&we.getEmitFlags(e));var t}function S(e){return s(e)?function(e){switch(e.kind){case 123:return;case 249:return function(e){var t=v.createVariableDeclaration(v.getLocalName(e,!0),void 0,void 0,k(e));we.setOriginalNode(t,e);var r=[],n=v.createVariableStatement(void 0,v.createVariableDeclarationList([t]));{var i;we.setOriginalNode(n,e),we.setTextRange(n,e),we.startOnNewLine(n),r.push(n),we.hasSyntacticModifier(e,1)&&(i=we.hasSyntacticModifier(e,512)?v.createExportDefault(v.getLocalName(e)):v.createExternalModuleExport(v.getLocalName(e)),we.setOriginalNode(i,n),r.push(i))}var a=we.getEmitFlags(e);0==(4194304&a)&&(r.push(v.createEndOfDeclarationMarker(e)),we.setEmitFlags(n,4194304|a));return we.singleOrMany(r)}(e);case 218:return k(e);case 159:return function(e){return e.dotDotDotToken?void 0:we.isBindingPattern(e.name)?we.setOriginalNode(we.setTextRange(v.createParameterDeclaration(void 0,void 0,void 0,v.getGeneratedNameForNode(e),void 0,void 0,void 0),e),e):e.initializer?we.setOriginalNode(we.setTextRange(v.createParameterDeclaration(void 0,void 0,void 0,e.name,void 0,void 0,void 0),e),e):e}(e);case 248:return function(e){var t=y;y=void 0;var r=l(16286,65),n=we.visitParameterList(e.parameters,S,f),i=U(e),a=16384&g?v.getLocalName(e):e.name;return _(r,49152,0),y=t,v.updateFunctionDeclaration(e,void 0,we.visitNodes(e.modifiers,S,we.isModifier),e.asteriskToken,a,void 0,n,void 0,i)}(e);case 206:return function(e){4096&e.transformFlags&&(g|=32768);var t=y;y=void 0;var r=l(15232,66),n=v.createFunctionExpression(void 0,void 0,void 0,void 0,we.visitParameterList(e.parameters,S,f),void 0,U(e));we.setTextRange(n,e),we.setOriginalNode(n,e),we.setEmitFlags(n,8),32768&g&&Fe();return _(r,0,0),y=t,n}(e);case 205:return function(e){var t=262144&we.getEmitFlags(e)?l(16278,69):l(16286,65),r=y;y=void 0;var n=we.visitParameterList(e.parameters,S,f),i=U(e),a=16384&g?v.getLocalName(e):e.name;return _(t,49152,0),y=r,v.updateFunctionExpression(e,void 0,e.asteriskToken,a,void 0,n,void 0,i)}(e);case 246:return W(e);case 78:return E(e);case 247:return function(e){if(3&e.flags||131072&e.transformFlags){3&e.flags&&Ae();var t=we.flatMap(e.declarations,1&e.flags?q:W),r=v.createVariableDeclarationList(t);return we.setOriginalNode(r,e),we.setTextRange(r,e),we.setCommentRange(r,e),131072&e.transformFlags&&(we.isBindingPattern(e.declarations[0].name)||we.isBindingPattern(we.last(e.declarations).name))&&we.setSourceMapRange(r,function(e){for(var t=-1,r=-1,n=0,i=e;n(Q.isExportName(t)?1:0);return!1}(e.left))return Q.flattenDestructuringAssignment(e,F,u,0,!1,t);return Q.visitEachChild(e,F,u)}(e):Q.visitEachChild(e,F,u):e}function P(e,t){var r,n=p.createUniqueName("resolve"),i=p.createUniqueName("reject"),a=[p.createParameterDeclaration(void 0,void 0,void 0,n),p.createParameterDeclaration(void 0,void 0,void 0,i)],o=p.createBlock([p.createExpressionStatement(p.createCallExpression(p.createIdentifier("require"),void 0,[p.createArrayLiteralExpression([e||p.createOmittedExpression()]),n,i]))]);2<=l?r=p.createArrowFunction(void 0,void 0,a,void 0,void 0,o):(r=p.createFunctionExpression(void 0,void 0,void 0,void 0,a,void 0,o),t&&Q.setEmitFlags(r,8));var s=p.createNewExpression(p.createIdentifier("Promise"),void 0,[r]);return f.esModuleInterop?p.createCallExpression(p.createPropertyAccessExpression(s,p.createIdentifier("then")),void 0,[c().createImportStarCallbackHelper()]):s}function w(e,t){var r,n=p.createCallExpression(p.createPropertyAccessExpression(p.createIdentifier("Promise"),"resolve"),void 0,[]),i=p.createCallExpression(p.createIdentifier("require"),void 0,e?[e]:[]);return f.esModuleInterop&&(i=c().createImportStarHelper(i)),2<=l?r=p.createArrowFunction(void 0,void 0,[],void 0,void 0,i):(r=p.createFunctionExpression(void 0,void 0,void 0,void 0,[],void 0,p.createBlock([p.createReturnStatement(i)])),t&&Q.setEmitFlags(r,8)),p.createCallExpression(p.createPropertyAccessExpression(n,"then"),void 0,[r])}function I(e,t){return!f.esModuleInterop||67108864&Q.getEmitFlags(e)?t:Q.getImportNeedsImportStarHelper(e)?c().createImportStarHelper(t):Q.getImportNeedsImportDefaultHelper(e)?c().createImportDefaultHelper(t):t}function O(e){var t=Q.getExternalModuleNameLiteral(p,e,y,m,g,f),r=[];return t&&r.push(t),p.createCallExpression(p.createIdentifier("require"),void 0,r)}function t(e,t,r){var n=G(e);if(n){for(var i=Q.isExportName(e)?t:p.createAssignment(e,t),a=0,o=n;al.ModuleKind.ES2015)return e;if(!e.exportClause||!l.isNamespaceExport(e.exportClause)||!e.moduleSpecifier)return e;var t=e.exportClause.name,r=a.getGeneratedNameForNode(t),n=a.createImportDeclaration(void 0,void 0,a.createImportClause(!1,void 0,a.createNamespaceImport(r)),e.moduleSpecifier);l.setOriginalNode(n,e.exportClause);var i=a.createExportDeclaration(void 0,void 0,!1,a.createNamedExports([a.createExportSpecifier(r,t)]));return l.setOriginalNode(i,e),[n,i]}(e)}var t;return e}}}(ts=ts||{}),function(i){function e(n){return i.isVariableDeclaration(n)||i.isPropertyDeclaration(n)||i.isPropertySignature(n)||i.isPropertyAccessExpression(n)||i.isBindingElement(n)||i.isConstructorDeclaration(n)?e:i.isSetAccessor(n)||i.isGetAccessor(n)?function(e){var t;t=167===n.kind?i.hasSyntacticModifier(n,32)?e.errorModuleName?i.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:e.errorModuleName?i.Diagnostics.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:i.hasSyntacticModifier(n,32)?e.errorModuleName?2===e.accessibility?i.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:e.errorModuleName?2===e.accessibility?i.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1;return{diagnosticMessage:t,errorNode:n.name,typeName:n.name}}:i.isConstructSignatureDeclaration(n)||i.isCallSignatureDeclaration(n)||i.isMethodDeclaration(n)||i.isMethodSignature(n)||i.isFunctionDeclaration(n)||i.isIndexSignatureDeclaration(n)?function(e){var t;switch(n.kind){case 169:t=e.errorModuleName?i.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i.Diagnostics.Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 168:t=e.errorModuleName?i.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i.Diagnostics.Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 170:t=e.errorModuleName?i.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i.Diagnostics.Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0;break;case 164:case 163:t=i.hasSyntacticModifier(n,32)?e.errorModuleName?2===e.accessibility?i.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:i.Diagnostics.Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:249===n.parent.kind?e.errorModuleName?2===e.accessibility?i.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:i.Diagnostics.Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:e.errorModuleName?i.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:i.Diagnostics.Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0;break;case 248:t=e.errorModuleName?2===e.accessibility?i.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:i.Diagnostics.Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:i.Diagnostics.Return_type_of_exported_function_has_or_is_using_private_name_0;break;default:return i.Debug.fail("This is unknown kind for signature: "+n.kind)}return{diagnosticMessage:t,errorNode:n.name||n}}:i.isParameter(n)?i.isParameterPropertyDeclaration(n,n.parent)&&i.hasSyntacticModifier(n.parent,8)?e:function(e){var t=function(e){switch(n.parent.kind){case 165:return e.errorModuleName?2===e.accessibility?i.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1;case 169:case 174:return e.errorModuleName?i.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;case 168:return e.errorModuleName?i.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;case 170:return e.errorModuleName?i.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1;case 164:case 163:return i.hasSyntacticModifier(n.parent,32)?e.errorModuleName?2===e.accessibility?i.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:249===n.parent.parent.kind?e.errorModuleName?2===e.accessibility?i.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:e.errorModuleName?i.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;case 248:case 173:return e.errorModuleName?2===e.accessibility?i.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Parameter_0_of_exported_function_has_or_is_using_private_name_1;case 167:case 166:return e.errorModuleName?2===e.accessibility?i.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Parameter_0_of_accessor_has_or_is_using_private_name_1;default:return i.Debug.fail("Unknown parent for parameter: "+i.SyntaxKind[n.parent.kind])}}(e);return void 0!==t?{diagnosticMessage:t,errorNode:n,typeName:n.name}:void 0}:i.isTypeParameterDeclaration(n)?function(){var e;switch(n.parent.kind){case 249:e=i.Diagnostics.Type_parameter_0_of_exported_class_has_or_is_using_private_name_1;break;case 250:e=i.Diagnostics.Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1;break;case 189:e=i.Diagnostics.Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1;break;case 174:case 169:e=i.Diagnostics.Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 168:e=i.Diagnostics.Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1;break;case 164:case 163:e=i.hasSyntacticModifier(n.parent,32)?i.Diagnostics.Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:249===n.parent.parent.kind?i.Diagnostics.Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:i.Diagnostics.Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1;break;case 173:case 248:e=i.Diagnostics.Type_parameter_0_of_exported_function_has_or_is_using_private_name_1;break;case 251:e=i.Diagnostics.Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1;break;default:return i.Debug.fail("This is unknown parent for type parameter: "+n.parent.kind)}return{diagnosticMessage:e,errorNode:n,typeName:n.name}}:i.isExpressionWithTypeArguments(n)?function(){var e;e=i.isClassDeclaration(n.parent.parent)?i.isHeritageClause(n.parent)&&116===n.parent.token?i.Diagnostics.Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:n.parent.parent.name?i.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1:i.Diagnostics.extends_clause_of_exported_class_has_or_is_using_private_name_0:i.Diagnostics.extends_clause_of_exported_interface_0_has_or_is_using_private_name_1;return{diagnosticMessage:e,errorNode:n,typeName:i.getNameOfDeclaration(n.parent.parent)}}:i.isImportEqualsDeclaration(n)?function(){return{diagnosticMessage:i.Diagnostics.Import_declaration_0_is_using_private_name_1,errorNode:n,typeName:n.name}}:i.isTypeAliasDeclaration(n)?function(){return{diagnosticMessage:i.Diagnostics.Exported_type_alias_0_has_or_is_using_private_name_1,errorNode:n.type,typeName:n.name}}:i.Debug.assertNever(n,"Attempted to set a declaration diagnostic context for unhandled node kind: "+i.SyntaxKind[n.kind]);function e(e){var t,r=(t=e,246===n.kind||195===n.kind?t.errorModuleName?2===t.accessibility?i.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i.Diagnostics.Exported_variable_0_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Exported_variable_0_has_or_is_using_private_name_1:162===n.kind||198===n.kind||161===n.kind||159===n.kind&&i.hasSyntacticModifier(n.parent,8)?i.hasSyntacticModifier(n,32)?t.errorModuleName?2===t.accessibility?i.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:249===n.parent.kind||159===n.kind?t.errorModuleName?2===t.accessibility?i.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:t.errorModuleName?i.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1:void 0);return void 0!==r?{diagnosticMessage:r,errorNode:n,typeName:n.name}:void 0}}i.canProduceDiagnostics=function(e){return i.isVariableDeclaration(e)||i.isPropertyDeclaration(e)||i.isPropertySignature(e)||i.isBindingElement(e)||i.isSetAccessor(e)||i.isGetAccessor(e)||i.isConstructSignatureDeclaration(e)||i.isCallSignatureDeclaration(e)||i.isMethodDeclaration(e)||i.isMethodSignature(e)||i.isFunctionDeclaration(e)||i.isParameter(e)||i.isTypeParameterDeclaration(e)||i.isExpressionWithTypeArguments(e)||i.isImportEqualsDeclaration(e)||i.isTypeAliasDeclaration(e)||i.isConstructorDeclaration(e)||i.isIndexSignatureDeclaration(e)||i.isPropertyAccessExpression(e)},i.createGetSymbolAccessibilityDiagnosticForNodeName=function(r){return i.isSetAccessor(r)||i.isGetAccessor(r)?function(e){var t=function(e){return i.hasSyntacticModifier(r,32)?e.errorModuleName?2===e.accessibility?i.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:249===r.parent.kind?e.errorModuleName?2===e.accessibility?i.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Public_property_0_of_exported_class_has_or_is_using_private_name_1:e.errorModuleName?i.Diagnostics.Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Property_0_of_exported_interface_has_or_is_using_private_name_1}(e);return void 0!==t?{diagnosticMessage:t,errorNode:r,typeName:r.name}:void 0}:i.isMethodSignature(r)||i.isMethodDeclaration(r)?function(e){var t=function(e){return i.hasSyntacticModifier(r,32)?e.errorModuleName?2===e.accessibility?i.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:249===r.parent.kind?e.errorModuleName?2===e.accessibility?i.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:i.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Public_method_0_of_exported_class_has_or_is_using_private_name_1:e.errorModuleName?i.Diagnostics.Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:i.Diagnostics.Method_0_of_exported_interface_has_or_is_using_private_name_1}(e);return void 0!==t?{diagnosticMessage:t,errorNode:r,typeName:r.name}:void 0}:e(r)},i.createGetSymbolAccessibilityDiagnosticForNode=e}(ts=ts||{}),function(_e){function c(e,t){var r=t.text.substring(e.pos,e.end);return _e.stringContains(r,"@internal")}function t(e,t){var r=_e.getParseTreeNode(e);if(r&&159===r.kind){var n=r.parent.parameters.indexOf(r),i=0"],e[8192]=["[","]"],e),it={pos:-1,end:-1};function a(e,t,r,n,i,a){void 0===n&&(n=!1);var o=Vr.isArray(r)?r:Vr.getSourceFilesToEmit(e,r,n),s=e.getCompilerOptions();if(Vr.outFile(s)){var c=e.getPrependNodes();if(o.length||c.length){var u=Vr.factory.createBundle(o,c);if(d=t(m(u,e,n),u))return d}}else{if(!i)for(var l=0,_=o;l<_.length;l++){var d,p=_[l];if(d=t(m(p,e,n),p))return d}if(a){var f=g(s);if(f)return t({buildInfoPath:f},void 0)}}}function g(e){var t=e.configFilePath;if(Vr.isIncrementalCompilation(e)){if(e.tsBuildInfoFile)return e.tsBuildInfoFile;var r=Vr.outFile(e);if(r)i=Vr.removeFileExtension(r);else{if(!t)return;var n=Vr.removeFileExtension(t),i=e.outDir?e.rootDir?Vr.resolvePath(e.outDir,Vr.getRelativePathFromDirectory(e.rootDir,n,!0)):Vr.combinePaths(e.outDir,Vr.getBaseFileName(n)):n}return i+".tsbuildinfo"}}function N(e,t){var r=Vr.outFile(e),n=e.emitDeclarationOnly?void 0:r,i=n&&l(n,e),a=t||Vr.getEmitDeclarations(e)?Vr.removeFileExtension(r)+".d.ts":void 0;return{jsFilePath:n,sourceMapFilePath:i,declarationFilePath:a,declarationMapPath:a&&Vr.getAreDeclarationMapsEnabled(e)?a+".map":void 0,buildInfoPath:g(e)}}function m(e,t,r){var n=t.getCompilerOptions();if(295===e.kind)return N(n,r);var i=Vr.getOwnEmitOutputFilePath(e.fileName,t,_(e,n)),a=Vr.isJsonSourceFile(e),o=a&&0===Vr.comparePaths(e.fileName,i,t.getCurrentDirectory(),!t.useCaseSensitiveFileNames()),s=n.emitDeclarationOnly||o?void 0:i,c=!s||Vr.isJsonSourceFile(e)?void 0:l(s,n),u=r||Vr.getEmitDeclarations(n)&&!a?Vr.getDeclarationEmitOutputFilePath(e.fileName,t):void 0;return{jsFilePath:s,sourceMapFilePath:c,declarationFilePath:u,declarationMapPath:u&&Vr.getAreDeclarationMapsEnabled(n)?u+".map":void 0,buildInfoPath:void 0}}function l(e,t){return t.sourceMap&&!t.inlineSourceMap?e+".map":void 0}function _(e,t){if(Vr.isJsonSourceFile(e))return".json";if(1===t.jsx)if(Vr.isSourceFileJS(e)){if(Vr.fileExtensionIs(e.fileName,".jsx"))return".jsx"}else if(1===e.languageVariant)return".jsx";return".js"}function o(e,t,r,n){return n?Vr.resolvePath(n,Vr.getRelativePathFromDirectory((i=t).options.rootDir||Vr.getDirectoryPath(Vr.Debug.checkDefined(i.options.configFilePath)),e,r)):e;var i}function s(e,t,r){return Vr.Debug.assert(!Vr.fileExtensionIs(e,".d.ts")&&!Vr.fileExtensionIs(e,".json")),Vr.changeExtension(o(e,t,r,t.options.declarationDir||t.options.outDir),".d.ts")}function c(e,t,r){if(!t.options.emitDeclarationOnly){var n=Vr.fileExtensionIs(e,".json"),i=Vr.changeExtension(o(e,t,r,t.options.outDir),n?".json":Vr.fileExtensionIs(e,".tsx")&&1===t.options.jsx?".jsx":".js");return n&&0===Vr.comparePaths(e,i,Vr.Debug.checkDefined(t.options.configFilePath),r)?void 0:i}}function u(){var t;return{addOutput:function(e){e&&(t=t||[]).push(e)},getOutputs:function(){return t||Vr.emptyArray}}}function d(e,t){var r=N(e.options,!1),n=r.jsFilePath,i=r.sourceMapFilePath,a=r.declarationFilePath,o=r.declarationMapPath,s=r.buildInfoPath;t(n),t(i),t(a),t(o),t(s)}function p(e,t,r,n){var i,a;Vr.fileExtensionIs(t,".d.ts")||(n(i=c(t,e,r)),Vr.fileExtensionIs(t,".json")||(i&&e.options.sourceMap&&n(i+".map"),Vr.getEmitDeclarations(e.options)&&(n(a=s(t,e,r)),e.options.declarationMap&&n(a+".map"))))}function A(f,g,u,e,m,t,y){var v,h,l=e.scriptTransformers,b=e.declarationTransformers,x=g.getCompilerOptions(),D=x.sourceMap||x.inlineSourceMap||Vr.getAreDeclarationMapsEnabled(x)?[]:void 0,_=x.listEmittedFiles?[]:void 0,S=Vr.createDiagnosticCollection(),T=Vr.getNewLineCharacter(x,function(){return g.getNewLine()}),C=Vr.createTextWriter(T),r=Vr.performance.createTimer("printTime","beforePrint","afterPrint"),n=r.enter,i=r.exit,E=!1;return n(),a(g,function(e,t){var r,n=e.jsFilePath,i=e.sourceMapFilePath,a=e.declarationFilePath,o=e.declarationMapPath,s=e.buildInfoPath;s&&t&&Vr.isBundle(t)&&(r=Vr.getDirectoryPath(Vr.getNormalizedAbsolutePath(s,g.getCurrentDirectory())),v={commonSourceDirectory:c(g.getCommonSourceDirectory()),sourceFiles:t.sourceFiles.map(function(e){return c(Vr.getNormalizedAbsolutePath(e.fileName,g.getCurrentDirectory()))})});(function(e,t,r,n){if(!e||m||!t)return;if(t&&g.isEmitBlocked(t)||x.noEmit)return E=!0;var i=Vr.transformNodes(f,g,Vr.factory,x,[e],l,!1),a=w({removeComments:x.removeComments,newLine:x.newLine,noEmitHelpers:x.noEmitHelpers,module:x.module,target:x.target,sourceMap:x.sourceMap,inlineSourceMap:x.inlineSourceMap,inlineSources:x.inlineSources,extendedDiagnostics:x.extendedDiagnostics,writeBundleFileInfo:!!v,relativeToBuildInfo:n},{hasGlobalName:f.hasGlobalName,onEmitNode:i.emitNodeWithNotification,isEmitNotificationEnabled:i.isEmitNotificationEnabled,substituteNode:i.substituteNode});Vr.Debug.assert(1===i.transformed.length,"Should only see one output from the transform"),N(t,r,i.transformed[0],a,x),i.dispose(),v&&(v.js=a.bundleFileInfo)})(t,n,i,c),function(e,t,r,n){if(!e)return;if(!t)return(m||x.emitDeclarationOnly)&&(E=!0);var i=Vr.isSourceFile(e)?[e]:e.sourceFiles,a=y?i:Vr.filter(i,Vr.isSourceFileNotJson),o=Vr.outFile(x)?[Vr.factory.createBundle(a,Vr.isSourceFile(e)?void 0:e.prepends)]:a;m&&!Vr.getEmitDeclarations(x)&&a.forEach(k);var s=Vr.transformNodes(f,g,Vr.factory,x,o,b,!1);if(Vr.length(s.diagnostics))for(var c=0,u=s.diagnostics;c"),vr(),St(ye.type),void Lr(ye);case 304:return me=t,gr("function"),cr(me,me.parameters),pr(":"),void St(me.type);case 174:return Mr(ge=t),gr("new"),vr(),sr(ge,ge.typeParameters),cr(ge,ge.parameters),vr(),pr("=>"),vr(),St(ge.type),void Lr(ge);case 175:return fe=t,gr("typeof"),vr(),void St(fe.exprName);case 176:return function(e){pr("{");var t=1&Vr.getEmitFlags(e)?768:32897;lr(e,e.members,524288|t),pr("}")}(t);case 177:return St(t.elementType),pr("["),void pr("]");case 178:return function(e){Rt(22,e.pos,pr,e);var t=1&Vr.getEmitFlags(e)?528:657;lr(e,e.elements,524288|t),Rt(23,e.elements.end,pr,e)}(t);case 179:return St(t.type),void pr("?");case 181:return void lr(pe=t,pe.types,516);case 182:return void lr(de=t,de.types,520);case 183:return St((_e=t).checkType),vr(),gr("extends"),vr(),St(_e.extendsType),vr(),pr("?"),vr(),St(_e.trueType),vr(),pr(":"),vr(),void St(_e.falseType);case 184:return le=t,gr("infer"),vr(),void St(le.typeParameter);case 185:return ue=t,pr("("),St(ue.type),void pr(")");case 220:return Tt((ce=t).expression),void or(ce,ce.typeArguments);case 186:return void gr("this");case 187:return Cr((se=t).operator,gr),vr(),void St(se.type);case 188:return St((oe=t).objectType),pr("["),St(oe.indexType),void pr("]");case 189:return function(e){var t=Vr.getEmitFlags(e);pr("{"),1&t?vr():(br(),xr());e.readonlyToken&&(St(e.readonlyToken),141!==e.readonlyToken.kind&&gr("readonly"),vr());pr("["),Et(3,e.typeParameter),pr("]"),e.questionToken&&(St(e.questionToken),57!==e.questionToken.kind&&pr("?"));pr(":"),vr(),St(e.type),fr(),1&t?vr():(br(),Dr());pr("}")}(t);case 190:return void Tt(t.literal);case 192:return function(e){e.isTypeOf&&(gr("typeof"),vr());gr("import"),pr("("),St(e.argument),pr(")"),e.qualifier&&(pr("."),St(e.qualifier));or(e,e.typeArguments)}(t);case 299:return void pr("*");case 300:return void pr("?");case 301:return ae=t,pr("?"),void St(ae.type);case 302:return ie=t,pr("!"),void St(ie.type);case 303:return St(t.type),void pr("=");case 180:case 305:return ne=t,pr("..."),void St(ne.type);case 191:return St((re=t).dotDotDotToken),St(re.name),St(re.questionToken),Rt(58,re.name.end,pr,re),vr(),void St(re.type);case 193:return te=t,pr("{"),lr(te,te.elements,525136),void pr("}");case 194:return ee=t,pr("["),lr(ee,ee.elements,524880),void pr("]");case 195:return function(e){St(e.dotDotDotToken),e.propertyName&&(St(e.propertyName),pr(":"),vr());St(e.name),tr(e.initializer,e.name.end,e)}(t);case 225:return Tt(($=t).expression),void St($.literal);case 226:return void fr();case 227:return void It(Z=t,!Z.multiLine&&wr(Z));case 229:return $t(Y=t,Y.modifiers),St(Y.declarationList),void fr();case 228:return Ot(!1);case 230:return Tt((X=t).expression),void(Vr.isJsonSourceFile(pt)&&!Vr.nodeIsSynthesized(X.expression)||fr());case 231:return Q=Rt(98,(G=t).pos,gr,G),vr(),Rt(20,Q,pr,G),Tt(G.expression),Rt(21,G.expression.end,pr,G),ir(G,G.thenStatement),void(G.elseStatement&&(Er(G,G.thenStatement,G.elseStatement),Rt(90,G.thenStatement.end,gr,G),231===G.elseStatement.kind?(vr(),St(G.elseStatement)):ir(G,G.elseStatement)));case 232:return function(e){Rt(89,e.pos,gr,e),ir(e,e.statement),Vr.isBlock(e.statement)&&!vt?vr():Er(e,e.statement,e.expression);Mt(e,e.statement.end),fr()}(t);case 233:return Mt(H=t,H.pos),void ir(H,H.statement);case 234:return function(e){var t=Rt(96,e.pos,gr,e);vr();var r=Rt(20,t,pr,e);Lt(e.initializer),r=Rt(26,e.initializer?e.initializer.end:r,pr,e),nr(e.condition),r=Rt(26,e.condition?e.condition.end:r,pr,e),nr(e.incrementor),Rt(21,e.incrementor?e.incrementor.end:r,pr,e),ir(e,e.statement)}(t);case 235:return W=Rt(96,(q=t).pos,gr,q),vr(),Rt(20,W,pr,q),Lt(q.initializer),vr(),Rt(100,q.initializer.end,gr,q),vr(),Tt(q.expression),Rt(21,q.expression.end,pr,q),void ir(q,q.statement);case 236:return K=Rt(96,(V=t).pos,gr,V),vr(),function(e){e&&(St(e),vr())}(V.awaitModifier),Rt(20,K,pr,V),Lt(V.initializer),vr(),Rt(155,V.initializer.end,gr,V),vr(),Tt(V.expression),Rt(21,V.expression.end,pr,V),void ir(V,V.statement);case 237:return Rt(85,(U=t).pos,gr,U),rr(U.label),void fr();case 238:return Rt(80,(z=t).pos,gr,z),rr(z.label),void fr();case 239:return Rt(104,(J=t).pos,gr,J),nr(J.expression),void fr();case 240:return j=Rt(115,(B=t).pos,gr,B),vr(),Rt(20,j,pr,B),Tt(B.expression),Rt(21,B.expression.end,pr,B),void ir(B,B.statement);case 241:return R=Rt(106,(L=t).pos,gr,L),vr(),Rt(20,R,pr,L),Tt(L.expression),Rt(21,L.expression.end,pr,L),vr(),void St(L.caseBlock);case 242:return St((M=t).label),Rt(58,M.label.end,pr,M),vr(),void St(M.statement);case 243:return Rt(108,(O=t).pos,gr,O),nr(O.expression),void fr();case 244:return function(e){Rt(110,e.pos,gr,e),vr(),St(e.tryBlock),e.catchClause&&(Er(e,e.tryBlock,e.catchClause),St(e.catchClause));e.finallyBlock&&(Er(e,e.catchClause||e.tryBlock,e.finallyBlock),Rt(95,(e.catchClause||e.tryBlock).end,gr,e),vr(),St(e.finallyBlock))}(t);case 245:return Sr(86,t.pos,gr),void fr();case 246:return St((I=t).name),St(I.exclamationToken),er(I.type),void tr(I.initializer,I.type?I.type.end:I.name.end,I);case 247:return w=t,gr(Vr.isLet(w)?"let":Vr.isVarConst(w)?"const":"var"),vr(),void lr(w,w.declarations,528);case 248:return void Bt(t);case 249:return void zt(t);case 250:return ar(P=t,P.decorators),$t(P,P.modifiers),gr("interface"),vr(),St(P.name),sr(P,P.typeParameters),lr(P,P.heritageClauses,512),vr(),pr("{"),lr(P,P.members,129),void pr("}");case 251:return ar(F=t,F.decorators),$t(F,F.modifiers),gr("type"),vr(),St(F.name),sr(F,F.typeParameters),vr(),pr("="),vr(),St(F.type),void fr();case 252:return $t(A=t,A.modifiers),gr("enum"),vr(),St(A.name),vr(),pr("{"),lr(A,A.members,145),void pr("}");case 253:return function(e){$t(e,e.modifiers),1024&~e.flags&&(gr(16&e.flags?"namespace":"module"),vr());St(e.name);var t=e.body;if(!t)return fr();for(;253===t.kind;)pr("."),St(t.name),t=t.body;vr(),St(t)}(t);case 254:return Mr(N=t),Vr.forEach(N.statements,Rr),It(N,wr(N)),void Lr(N);case 255:return Rt(18,(k=t).pos,pr,k),lr(k,k.clauses,129),void Rt(19,k.clauses.end,pr,k,!0);case 256:return E=Rt(92,(C=t).pos,gr,C),vr(),E=Rt(126,E,gr,C),vr(),E=Rt(139,E,gr,C),vr(),St(C.name),void fr();case 257:return $t(T=t,T.modifiers),Rt(99,T.modifiers?T.modifiers.end:T.pos,gr,T),vr(),St(T.name),vr(),Rt(62,T.name.end,pr,T),vr(),function(e){(78===e.kind?Tt:St)(e)}(T.moduleReference),void fr();case 258:return function(e){$t(e,e.modifiers),Rt(99,e.modifiers?e.modifiers.end:e.pos,gr,e),vr(),e.importClause&&(St(e.importClause),vr(),Rt(152,e.importClause.end,gr,e),vr());Tt(e.moduleSpecifier),fr()}(t);case 259:return function(e){e.isTypeOnly&&(Rt(148,e.pos,gr,e),vr());St(e.name),e.name&&e.namedBindings&&(Rt(27,e.name.end,pr,e),vr());St(e.namedBindings)}(t);case 260:return S=Rt(41,(D=t).pos,pr,D),vr(),Rt(126,S,gr,D),vr(),void St(D.name);case 266:return x=Rt(41,(b=t).pos,pr,b),vr(),Rt(126,x,gr,b),vr(),void St(b.name);case 261:return void Ut(t);case 262:return void Vt(t);case 263:return function(e){var t=Rt(92,e.pos,gr,e);vr(),e.isExportEquals?Rt(62,t,mr,e):Rt(87,t,gr,e);vr(),Tt(e.expression),fr()}(t);case 264:return function(e){var t=Rt(92,e.pos,gr,e);vr(),e.isTypeOnly&&(t=Rt(148,t,gr,e),vr());e.exportClause?St(e.exportClause):t=Rt(41,t,pr,e);{e.moduleSpecifier&&(vr(),Rt(152,e.exportClause?e.exportClause.end:t,gr,e),vr(),Tt(e.moduleSpecifier))}fr()}(t);case 265:return void Ut(t);case 267:return void Vt(t);case 268:return;case 269:return h=t,gr("require"),pr("("),Tt(h.expression),void pr(")");case 11:return v=t,void ft.writeLiteral(v.text);case 272:case 275:return function(e){{var t;pr("<"),Vr.isJsxOpeningElement(e)&&(t=Ar(e.tagName,e),Kt(e.tagName),or(e,e.typeArguments),e.attributes.properties&&0")}(t);case 273:case 276:return function(e){pr("")}(t);case 277:return St((y=t).name),void function(e,t,r,n){r&&(t(e),n(r))}("=",pr,y.initializer,Ct);case 278:return void lr(m=t,m.properties,262656);case 279:return g=t,pr("{..."),Tt(g.expression),void pr("}");case 280:return void((f=t).expression&&(pr("{"),St(f.dotDotDotToken),Tt(f.expression),pr("}")));case 281:return Rt(81,(p=t).pos,gr,p),vr(),Tt(p.expression),void qt(p,p.statements,p.expression.end);case 282:return d=Rt(87,(_=t).pos,gr,_),void qt(_,_.statements,d);case 283:return l=t,vr(),Cr(l.token,gr),vr(),void lr(l,l.types,528);case 284:return function(e){var t=Rt(82,e.pos,gr,e);vr(),e.variableDeclaration&&(Rt(20,t,pr,e),St(e.variableDeclaration),Rt(21,e.variableDeclaration.end,pr,e),vr());St(e.block)}(t);case 285:return function(e){St(e.name),pr(":"),vr();var t=e.initializer;{0==(512&Vr.getEmitFlags(t))&&Ur(Vr.getCommentRange(t).pos)}Tt(t)}(t);case 286:return St((u=t).name),void(u.objectAssignmentInitializer&&(vr(),pr("="),vr(),Tt(u.objectAssignmentInitializer)));case 287:return void((c=t).expression&&(Rt(25,c.pos,pr,c),Tt(c.expression)));case 288:return St((s=t).name),void tr(s.initializer,s.name.end,s);case 322:case 328:return function(e){Gt(e.tagName),Xt(e.typeExpression),vr(),e.isBracketed&&pr("[");St(e.name),e.isBracketed&&pr("]");Qt(e.comment)}(t);case 323:case 325:case 324:case 321:return Gt((o=t).tagName),Xt(o.typeExpression),void Qt(o.comment);case 312:case 311:return Gt((a=t).tagName),vr(),pr("{"),St(a.class),pr("}"),void Qt(a.comment);case 326:return Gt((i=t).tagName),Xt(i.constraint),vr(),lr(i,i.typeParameters,528),void Qt(i.comment);case 327:return function(e){Gt(e.tagName),e.typeExpression&&(298===e.typeExpression.kind?Xt(e.typeExpression):(vr(),pr("{"),ht("Object"),e.typeExpression.isArrayType&&(pr("["),pr("]")),pr("}")));e.fullName&&(vr(),St(e.fullName));Qt(e.comment),e.typeExpression&&308===e.typeExpression.kind&&Wt(e.typeExpression)}(t);case 320:return function(e){Gt(e.tagName),e.name&&(vr(),St(e.name));Qt(e.comment),Ht(e.typeExpression)}(t);case 309:return Ht(t);case 308:return Wt(t);case 315:case 310:return Gt((n=t).tagName),void Qt(n.comment);case 307:return function(e){if(ht("/**"),e.comment)for(var t=e.comment.split(/\r\n?|\n/g),r=0,n=t;r"),void Tt(at.expression);case 204:return nt=Rt(20,(rt=t).pos,pr,rt),it=Ar(rt.expression,rt),Tt(rt.expression),Fr(rt.expression,rt),Nr(it),void Rt(21,rt.expression?rt.expression.end:nt,pr,rt);case 205:return jr((tt=t).name),void Bt(tt);case 206:return ar(et=t,et.decorators),$t(et,et.modifiers),void jt(et,wt);case 207:return Rt(88,($e=t).pos,gr,$e),vr(),void Tt($e.expression);case 208:return Rt(111,(Ze=t).pos,gr,Ze),vr(),void Tt(Ze.expression);case 209:return Rt(113,(Ye=t).pos,gr,Ye),vr(),void Tt(Ye.expression);case 210:return Rt(130,(Xe=t).pos,gr,Xe),vr(),void Tt(Xe.expression);case 211:return function(e){Cr(e.operator,mr),function(e){var t=e.operand;return 211===t.kind&&(39===e.operator&&(39===t.operator||45===t.operator)||40===e.operator&&(40===t.operator||46===t.operator))}(e)&&vr();Tt(e.operand)}(t);case 212:return Tt((Qe=t).operand),void Cr(Qe.operator,mr);case 213:return function(e){var i=[e],a=[0],o=0;for(;0<=o;)switch(e=i[o],a[o]){case 0:s(e.left);break;case 1:var t=27!==e.operatorToken.kind,r=Pr(e,e.left,e.operatorToken),n=Pr(e,e.operatorToken,e.right);kr(r,t),zr(e.operatorToken.pos),Tr(e.operatorToken,100===e.operatorToken.kind?gr:mr),Ur(e.operatorToken.end,!0),kr(n,!0),s(e.right);break;case 2:r=Pr(e,e.left,e.operatorToken),n=Pr(e,e.operatorToken,e.right);Nr(r,n),o--;break;default:return Vr.Debug.fail("Invalid state "+a[o]+" for emitBinaryExpressionWorker")}function s(e){a[o]++;var t=gt,r=mt;mt=void 0;var n=kt(0,1,gt=e);n===Nt&&Vr.isBinaryExpression(e)?(a[++o]=0,i[o]=e):n(1,e),Vr.Debug.assert(gt===e),gt=t,mt=r}}(t);case 214:return qe=Pr(Ke=t,Ke.condition,Ke.questionToken),We=Pr(Ke,Ke.questionToken,Ke.whenTrue),He=Pr(Ke,Ke.whenTrue,Ke.colonToken),Ge=Pr(Ke,Ke.colonToken,Ke.whenFalse),Tt(Ke.condition),kr(qe,!0),St(Ke.questionToken),kr(We,!0),Tt(Ke.whenTrue),Nr(qe,We),kr(He,!0),St(Ke.colonToken),kr(Ge,!0),Tt(Ke.whenFalse),void Nr(He,Ge);case 215:return St((Ve=t).head),void lr(Ve,Ve.templateSpans,262144);case 216:return Rt(124,(Ue=t).pos,gr,Ue),St(Ue.asteriskToken),void nr(Ue.expression);case 217:return Rt(25,(ze=t).pos,pr,ze),void Tt(ze.expression);case 218:return jr((Je=t).name),void zt(Je);case 219:return;case 221:return Tt((je=t).expression),void(je.type&&(vr(),gr("as"),vr(),St(je.type)));case 222:return Tt(t.expression),void mr("!");case 223:return Sr((Be=t).keywordToken,Be.pos,pr),pr("."),void St(Be.name);case 270:return St((Re=t).openingElement),lr(Re,Re.children,262144),void St(Re.closingElement);case 271:return Le=t,pr("<"),Kt(Le.tagName),or(Le,Le.typeArguments),vr(),St(Le.attributes),void pr("/>");case 274:return St((Me=t).openingFragment),lr(Me,Me.children,262144),void St(Me.closingFragment);case 331:return void Tt(t.expression);case 332:return void _r(Oe=t,Oe.elements,528)}}function ce(e,t){Vr.Debug.assert(gt===t||mt===t),oe(1,e,t)(e,mt),Vr.Debug.assert(gt===t||mt===t)}function ue(e){var t=!1,r=295===e.kind?e:void 0;if(!r||k!==Vr.ModuleKind.None){for(var n=r?r.prepends.length:0,i=r?r.sourceFiles.length+n:1,a=0;a'),bt&&bt.sections.push({pos:l,end:ft.getTextPos(),kind:"no-default-lib"}),br()),pt&&pt.moduleName&&(De('/// '),br()),pt&&pt.amdDependencies)for(var i=0,a=pt.amdDependencies;i'):De('/// '),br()}for(var s=0,c=t;s'),bt&&bt.sections.push({pos:l,end:ft.getTextPos(),kind:"reference",data:u.fileName}),br()}for(var _=0,d=r;_'),bt&&bt.sections.push({pos:l,end:ft.getTextPos(),kind:"type",data:u.fileName}),br()}for(var p=0,f=n;p'),bt&&bt.sections.push({pos:l,end:ft.getTextPos(),kind:"lib",data:u.fileName}),br()}}function Yt(e){var t=e.statements;Mr(e),Vr.forEach(e.statements,Rr),ue(e);var r,n=Vr.findIndex(t,function(e){return!Vr.isPrologueDirective(e)});(r=e).isDeclarationFile&&ge(r.hasNoDefaultLib,r.referencedFiles,r.typeReferenceDirectives,r.libReferenceDirectives),lr(e,t,1,-1===n?t.length:n),Lr(e)}function me(e,t,r,n){for(var i=!!t,a=0;a=r.length||0===a;if(s&&32768&n)return x&&x(r),void(D&&D(r));if(15360&n&&(pr(nt[15360&n][0]),s&&!o&&Ur(r.pos,!0)),x&&x(r),s)!(1&n)||vt&&Vr.rangeIsOnSingleLine(t,pt)?256&n&&!(524288&n)&&vr():br();else{var c=0==(262144&n),u=c,l=Te(t,r,n);l?(br(l),u=!1):256&n&&vr(),128&n&&xr();for(var _=void 0,d=void 0,p=!1,f=0;ft&&(C.add(qt.createDiagnosticForNodeInSourceFile(j.configFile,d.elements[t],r,n,i,a)),o=!1)}}o&&C.add(qt.createCompilerDiagnostic(r,n,i,a))}function Ot(e,t,r,n){for(var i=!0,a=0,o=Mt();at?C.add(qt.createDiagnosticForNodeInSourceFile(e||j.configFile,a.elements[t],r,n,i)):C.add(qt.createCompilerDiagnostic(r,n,i))}function jt(e,t,r,n,i,a,o){var s=Jt();s&&zt(s,e,t,r,n,i,a,o)||C.add(qt.createCompilerDiagnostic(n,i,a,o))}function Jt(){if(void 0===m){m=null;var e=qt.getTsConfigObjectLiteralExpression(j.configFile);if(e)for(var t=0,r=qt.getPropertyAssignment(e,"compilerOptions");tT+1?{dir:n.slice(0,T+1).join(ee.directorySeparator),dirPath:r.slice(0,T+1).join(ee.directorySeparator)}:{dir:D,dirPath:S,nonRecursive:!1}}return R(ee.getDirectoryPath(ee.getNormalizedAbsolutePath(e,_())),ee.getDirectoryPath(t))}function R(e,t){for(;ee.pathContainsNodeModules(t);)e=ee.getDirectoryPath(e),t=ee.getDirectoryPath(t);if(ee.isNodeModulesDirectory(t))return re(ee.getDirectoryPath(t))?{dir:e,dirPath:t}:void 0;var r,n,i=!0;if(void 0!==S)for(;!N(t,S);){var a=ee.getDirectoryPath(t);if(a===t)break;i=!1,r=t,n=e,t=a,e=ee.getDirectoryPath(e)}return re(t)?{dir:n||e,dirPath:r||t,nonRecursive:i}:void 0}function B(e){return ee.fileExtensionIsOneOf(e,h)}function j(e,t,r,n){var i;t.refCount?(t.refCount++,ee.Debug.assertDefined(t.files)):(t.refCount=1,ee.Debug.assert(0===ee.length(t.files)),ee.isExternalModuleNameRelative(e)?J(t):a.add(e,t),(i=n(t))&&i.resolvedFileName&&p.add(P.toPath(i.resolvedFileName),t)),(t.files||(t.files=[])).push(r)}function J(e){ee.Debug.assert(!!e.refCount);var t=e.failedLookupLocations;if(t.length){d.push(e);for(var r=!1,n=0,i=t;n=u.length+l.length&&b.startsWith(t,u)&&b.endsWith(t,l)||!l&&t===b.removeTrailingDirectorySeparator(u)){var _=t.substr(u.length,t.length-l.length);return n.replace("*",_)}}else if(s===t||s===e)return n}}function v(l,e,_,d,t){var p=e.getCanonicalFileName,r=e.sourceDirectory;if(_.fileExists&&_.readFile){var n=function(e){var t,r,n=0,i=0,a=0;!function(e){e[e.BeforeNodeModules=0]="BeforeNodeModules",e[e.NodeModules=1]="NodeModules",e[e.Scope=2]="Scope",e[e.PackageContent=3]="PackageContent"}(r=r||{});var o=0,s=0,c=0;for(;0<=s;)switch(o=s,s=e.indexOf("/",o+1),c){case 0:e.indexOf(b.nodeModulesPathPart,o)===o&&(n=o,i=s,c=1);break;case 1:case 2:c=1===c&&"@"===e.charAt(o+1)?2:(a=s,3);break;case 3:c=e.indexOf(b.nodeModulesPathPart,o)===o?1:3}return t=o,1o)return 2;if(46===t.charCodeAt(0))return 3;if(95===t.charCodeAt(0))return 4;if(r){var n=/^@([^/]+)\/([^/]+)$/.exec(t);if(n){var i=e(n[1],!1);if(0!==i)return{name:n[1],isScopeName:!0,result:i};var a=e(n[2],!1);return 0!==a?{name:n[2],isScopeName:!1,result:a}:0}}if(encodeURIComponent(t)!==t)return 5;return 0}(e,!0)},t.renderPackageNameValidationFailure=function(e,t){return"object"==typeof e?r(t,e.result,e.name,e.isScopeName):r(t,e,t,!1)}}(C.JsTyping||(C.JsTyping={}))}(ts=ts||{}),function(e){var t,r,n,i,a,o,s,c,u,l,_,d,p,f,g,m,y,v,h;function b(e){this.text=e}function x(e){return{indentSize:4,tabSize:4,newLineCharacter:e||"\n",convertTabsToSpaces:!0,indentStyle:s.Smart,insertSpaceAfterConstructor:!1,insertSpaceAfterCommaDelimiter:!0,insertSpaceAfterSemicolonInForStatements:!0,insertSpaceBeforeAndAfterBinaryOperators:!0,insertSpaceAfterKeywordsInControlFlowStatements:!0,insertSpaceAfterFunctionKeywordForAnonymousFunctions:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces:!0,insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces:!1,insertSpaceBeforeFunctionParenthesis:!1,placeOpenBraceOnNewLineForFunctions:!1,placeOpenBraceOnNewLineForControlBlocks:!1,semicolons:u.Ignore,trimTrailingWhitespace:!0}}t=e.ScriptSnapshot||(e.ScriptSnapshot={}),b.prototype.getText=function(e,t){return 0===e&&t===this.text.length?this.text:this.text.substring(e,t)},b.prototype.getLength=function(){return this.text.length},b.prototype.getChangeRange=function(){},r=b,t.fromString=function(e){return new r(e)},(n=e.PackageJsonDependencyGroup||(e.PackageJsonDependencyGroup={}))[n.Dependencies=1]="Dependencies",n[n.DevDependencies=2]="DevDependencies",n[n.PeerDependencies=4]="PeerDependencies",n[n.OptionalDependencies=8]="OptionalDependencies",n[n.All=15]="All",(i=e.PackageJsonAutoImportPreference||(e.PackageJsonAutoImportPreference={}))[i.Off=0]="Off",i[i.On=1]="On",i[i.Auto=2]="Auto",(a=e.LanguageServiceMode||(e.LanguageServiceMode={}))[a.Semantic=0]="Semantic",a[a.PartialSemantic=1]="PartialSemantic",a[a.Syntactic=2]="Syntactic",e.emptyOptions={},(o=e.HighlightSpanKind||(e.HighlightSpanKind={})).none="none",o.definition="definition",o.reference="reference",o.writtenReference="writtenReference",(c=s=e.IndentStyle||(e.IndentStyle={}))[c.None=0]="None",c[c.Block=1]="Block",c[c.Smart=2]="Smart",(l=u=e.SemicolonPreference||(e.SemicolonPreference={})).Ignore="ignore",l.Insert="insert",l.Remove="remove",e.getDefaultFormatCodeSettings=x,e.testFormatSettings=x("\n"),(_=e.SymbolDisplayPartKind||(e.SymbolDisplayPartKind={}))[_.aliasName=0]="aliasName",_[_.className=1]="className",_[_.enumName=2]="enumName",_[_.fieldName=3]="fieldName",_[_.interfaceName=4]="interfaceName",_[_.keyword=5]="keyword",_[_.lineBreak=6]="lineBreak",_[_.numericLiteral=7]="numericLiteral",_[_.stringLiteral=8]="stringLiteral",_[_.localName=9]="localName",_[_.methodName=10]="methodName",_[_.moduleName=11]="moduleName",_[_.operator=12]="operator",_[_.parameterName=13]="parameterName",_[_.propertyName=14]="propertyName",_[_.punctuation=15]="punctuation",_[_.space=16]="space",_[_.text=17]="text",_[_.typeParameterName=18]="typeParameterName",_[_.enumMemberName=19]="enumMemberName",_[_.functionName=20]="functionName",_[_.regularExpressionLiteral=21]="regularExpressionLiteral",(d=e.OutliningSpanKind||(e.OutliningSpanKind={})).Comment="comment",d.Region="region",d.Code="code",d.Imports="imports",(p=e.OutputFileType||(e.OutputFileType={}))[p.JavaScript=0]="JavaScript",p[p.SourceMap=1]="SourceMap",p[p.Declaration=2]="Declaration",(f=e.EndOfLineState||(e.EndOfLineState={}))[f.None=0]="None",f[f.InMultiLineCommentTrivia=1]="InMultiLineCommentTrivia",f[f.InSingleQuoteStringLiteral=2]="InSingleQuoteStringLiteral",f[f.InDoubleQuoteStringLiteral=3]="InDoubleQuoteStringLiteral",f[f.InTemplateHeadOrNoSubstitutionTemplate=4]="InTemplateHeadOrNoSubstitutionTemplate",f[f.InTemplateMiddleOrTail=5]="InTemplateMiddleOrTail",f[f.InTemplateSubstitutionPosition=6]="InTemplateSubstitutionPosition",(g=e.TokenClass||(e.TokenClass={}))[g.Punctuation=0]="Punctuation",g[g.Keyword=1]="Keyword",g[g.Operator=2]="Operator",g[g.Comment=3]="Comment",g[g.Whitespace=4]="Whitespace",g[g.Identifier=5]="Identifier",g[g.NumberLiteral=6]="NumberLiteral",g[g.BigIntLiteral=7]="BigIntLiteral",g[g.StringLiteral=8]="StringLiteral",g[g.RegExpLiteral=9]="RegExpLiteral",(m=e.ScriptElementKind||(e.ScriptElementKind={})).unknown="",m.warning="warning",m.keyword="keyword",m.scriptElement="script",m.moduleElement="module",m.classElement="class",m.localClassElement="local class",m.interfaceElement="interface",m.typeElement="type",m.enumElement="enum",m.enumMemberElement="enum member",m.variableElement="var",m.localVariableElement="local var",m.functionElement="function",m.localFunctionElement="local function",m.memberFunctionElement="method",m.memberGetAccessorElement="getter",m.memberSetAccessorElement="setter",m.memberVariableElement="property",m.constructorImplementationElement="constructor",m.callSignatureElement="call",m.indexSignatureElement="index",m.constructSignatureElement="construct",m.parameterElement="parameter",m.typeParameterElement="type parameter",m.primitiveType="primitive type",m.label="label",m.alias="alias",m.constElement="const",m.letElement="let",m.directory="directory",m.externalModuleName="external module name",m.jsxAttribute="JSX attribute",m.string="string",(y=e.ScriptElementKindModifier||(e.ScriptElementKindModifier={})).none="",y.publicMemberModifier="public",y.privateMemberModifier="private",y.protectedMemberModifier="protected",y.exportedModifier="export",y.ambientModifier="declare",y.staticModifier="static",y.abstractModifier="abstract",y.optionalModifier="optional",y.deprecatedModifier="deprecated",y.dtsModifier=".d.ts",y.tsModifier=".ts",y.tsxModifier=".tsx",y.jsModifier=".js",y.jsxModifier=".jsx",y.jsonModifier=".json",(v=e.ClassificationTypeNames||(e.ClassificationTypeNames={})).comment="comment",v.identifier="identifier",v.keyword="keyword",v.numericLiteral="number",v.bigintLiteral="bigint",v.operator="operator",v.stringLiteral="string",v.whiteSpace="whitespace",v.text="text",v.punctuation="punctuation",v.className="class name",v.enumName="enum name",v.interfaceName="interface name",v.moduleName="module name",v.typeParameterName="type parameter name",v.typeAliasName="type alias name",v.parameterName="parameter name",v.docCommentTagName="doc comment tag name",v.jsxOpenTagName="jsx open tag name",v.jsxCloseTagName="jsx close tag name",v.jsxSelfClosingTagName="jsx self closing tag name",v.jsxAttribute="jsx attribute",v.jsxText="jsx text",v.jsxAttributeStringLiteralValue="jsx attribute string literal value",(h=e.ClassificationType||(e.ClassificationType={}))[h.comment=1]="comment",h[h.identifier=2]="identifier",h[h.keyword=3]="keyword",h[h.numericLiteral=4]="numericLiteral",h[h.operator=5]="operator",h[h.stringLiteral=6]="stringLiteral",h[h.regularExpressionLiteral=7]="regularExpressionLiteral",h[h.whiteSpace=8]="whiteSpace",h[h.text=9]="text",h[h.punctuation=10]="punctuation",h[h.className=11]="className",h[h.enumName=12]="enumName",h[h.interfaceName=13]="interfaceName",h[h.moduleName=14]="moduleName",h[h.typeParameterName=15]="typeParameterName",h[h.typeAliasName=16]="typeAliasName",h[h.parameterName=17]="parameterName",h[h.docCommentTagName=18]="docCommentTagName",h[h.jsxOpenTagName=19]="jsxOpenTagName",h[h.jsxCloseTagName=20]="jsxCloseTagName",h[h.jsxSelfClosingTagName=21]="jsxSelfClosingTagName",h[h.jsxAttribute=22]="jsxAttribute",h[h.jsxText=23]="jsxText",h[h.jsxAttributeStringLiteralValue=24]="jsxAttributeStringLiteralValue",h[h.bigintLiteral=25]="bigintLiteral"}(ts=ts||{}),function(y){var e;function i(e){switch(e.kind){case 246:return y.isInJSFile(e)&&y.getJSDocEnumTag(e)?7:1;case 159:case 195:case 162:case 161:case 285:case 286:case 164:case 163:case 165:case 166:case 167:case 248:case 205:case 206:case 284:case 277:return 1;case 158:case 250:case 251:case 176:return 2;case 327:return void 0===e.name?3:2;case 288:case 249:return 3;case 253:return y.isAmbientModule(e)||1===y.getModuleInstanceState(e)?5:4;case 252:case 261:case 262:case 257:case 258:case 263:case 264:return 7;case 294:return 5}return 7}function a(e){for(;156===e.parent.kind;)e=e.parent;return y.isInternalModuleImportEqualsDeclaration(e.parent)&&e.parent.moduleReference===e}function n(e){return e.expression}function o(e){return e.tag}function s(e){return e.tagName}function c(e,t,r,n,i){var a=(n?l:u)(e);return i&&(a=y.skipOuterExpressions(a)),!!a&&!!a.parent&&t(a.parent)&&r(a.parent)===a}function u(e){return _(e)?e.parent:e}function l(e){return _(e)||d(e)?e.parent:e}function t(e){var t;return y.isIdentifier(e)&&(null===(t=y.tryCast(e.parent,y.isBreakOrContinueStatement))||void 0===t?void 0:t.label)===e}function r(e){var t;return y.isIdentifier(e)&&(null===(t=y.tryCast(e.parent,y.isLabeledStatement))||void 0===t?void 0:t.label)===e}function _(e){var t;return(null===(t=y.tryCast(e.parent,y.isPropertyAccessExpression))||void 0===t?void 0:t.name)===e}function d(e){var t;return(null===(t=y.tryCast(e.parent,y.isElementAccessExpression))||void 0===t?void 0:t.argumentExpression)===e}y.scanner=y.createScanner(99,!0),(e=y.SemanticMeaning||(y.SemanticMeaning={}))[e.None=0]="None",e[e.Value=1]="Value",e[e.Type=2]="Type",e[e.Namespace=4]="Namespace",e[e.All=7]="All",y.getMeaningFromDeclaration=i,y.getMeaningFromLocation=function(e){return 294===(e=P(e)).kind?1:263===e.parent.kind||269===e.parent.kind||262===e.parent.kind||259===e.parent.kind||y.isImportEqualsDeclaration(e.parent)&&e===e.parent.name?7:a(e)?(n=156===(r=e).kind?r:y.isQualifiedName(r.parent)&&r.parent.right===r?r.parent:void 0)&&257===n.parent.kind?7:4:y.isDeclarationName(e)?i(e.parent):function(e){y.isRightSideOfQualifiedNameOrPropertyAccess(e)&&(e=e.parent);switch(e.kind){case 107:return!y.isExpressionNode(e);case 186:return 1}switch(e.parent.kind){case 172:return 1;case 192:return!e.parent.isTypeOf;case 220:return!y.isExpressionWithTypeArgumentsInClassExtendsClause(e.parent)}return}(e)?2:function(e){var t=e,r=!0;if(156===t.parent.kind){for(;t.parent&&156===t.parent.kind;)t=t.parent;r=t.right===e}return 172===t.parent.kind&&!r}(t=e)||function(e){var t=e,r=!0;if(198===t.parent.kind){for(;t.parent&&198===t.parent.kind;)t=t.parent;r=t.name===e}if(!r&&220===t.parent.kind&&283===t.parent.parent.kind){var n=t.parent.parent.parent;return 249===n.kind&&116===t.parent.parent.token||250===n.kind&&93===t.parent.parent.token}}(t)?4:y.isTypeParameterDeclaration(e.parent)?(y.Debug.assert(y.isJSDocTemplateTag(e.parent.parent)),2):y.isLiteralTypeNode(e.parent)?3:1;var t,r,n},y.isInRightSideOfInternalImportEqualsDeclaration=a,y.isCallExpressionTarget=function(e,t,r){return void 0===t&&(t=!1),void 0===r&&(r=!1),c(e,y.isCallExpression,n,t,r)},y.isNewExpressionTarget=function(e,t,r){return void 0===t&&(t=!1),void 0===r&&(r=!1),c(e,y.isNewExpression,n,t,r)},y.isCallOrNewExpressionTarget=function(e,t,r){return void 0===t&&(t=!1),void 0===r&&(r=!1),c(e,y.isCallOrNewExpression,n,t,r)},y.isTaggedTemplateTag=function(e,t,r){return void 0===t&&(t=!1),void 0===r&&(r=!1),c(e,y.isTaggedTemplateExpression,o,t,r)},y.isDecoratorTarget=function(e,t,r){return void 0===t&&(t=!1),void 0===r&&(r=!1),c(e,y.isDecorator,n,t,r)},y.isJsxOpeningLikeElementTagName=function(e,t,r){return void 0===t&&(t=!1),void 0===r&&(r=!1),c(e,y.isJsxOpeningLikeElement,s,t,r)},y.climbPastPropertyAccess=u,y.climbPastPropertyOrElementAccess=l,y.getTargetLabel=function(e,t){for(;e;){if(242===e.kind&&e.label.escapedText===t)return e.label;e=e.parent}},y.hasPropertyAccessExpressionWithName=function(e,t){return!!y.isPropertyAccessExpression(e.expression)&&e.expression.name.text===t},y.isJumpStatementTarget=t,y.isLabelOfLabeledStatement=r,y.isLabelName=function(e){return r(e)||t(e)},y.isTagName=function(e){var t;return(null===(t=y.tryCast(e.parent,y.isJSDocTag))||void 0===t?void 0:t.tagName)===e},y.isRightSideOfQualifiedName=function(e){var t;return(null===(t=y.tryCast(e.parent,y.isQualifiedName))||void 0===t?void 0:t.right)===e},y.isRightSideOfPropertyAccess=_,y.isArgumentExpressionOfElementAccess=d,y.isNameOfModuleDeclaration=function(e){var t;return(null===(t=y.tryCast(e.parent,y.isModuleDeclaration))||void 0===t?void 0:t.name)===e},y.isNameOfFunctionDeclaration=function(e){var t;return y.isIdentifier(e)&&(null===(t=y.tryCast(e.parent,y.isFunctionLike))||void 0===t?void 0:t.name)===e},y.isLiteralNameOfPropertyDeclarationOrIndexAccess=function(e){switch(e.parent.kind){case 162:case 161:case 285:case 288:case 164:case 163:case 166:case 167:case 253:return y.getNameOfDeclaration(e.parent)===e;case 199:return e.parent.argumentExpression===e;case 157:return!0;case 190:return 188===e.parent.parent.kind;default:return!1}},y.isExpressionOfExternalModuleImportEqualsDeclaration=function(e){return y.isExternalModuleImportEqualsDeclaration(e.parent.parent)&&y.getExternalModuleImportEqualsDeclarationExpression(e.parent.parent)===e},y.getContainerNode=function(e){for(y.isJSDocTypeAlias(e)&&(e=e.parent.parent);;){if(!(e=e.parent))return;switch(e.kind){case 294:case 164:case 163:case 248:case 205:case 166:case 167:case 249:case 250:case 252:case 253:return e}}},y.getNodeKind=function e(t){switch(t.kind){case 294:return y.isExternalModule(t)?"module":"script";case 253:return"module";case 249:case 218:return"class";case 250:return"interface";case 251:case 320:case 327:return"type";case 252:return"enum";case 246:return s(t);case 195:return s(y.getRootDeclaration(t));case 206:case 248:case 205:return"function";case 166:return"getter";case 167:return"setter";case 164:case 163:return"method";case 285:var r=t.initializer;return y.isFunctionLike(r)?"method":"property";case 162:case 161:case 286:case 287:return"property";case 170:return"index";case 169:return"construct";case 168:return"call";case 165:return"constructor";case 158:return"type parameter";case 288:return"enum member";case 159:return y.hasSyntacticModifier(t,92)?"property":"parameter";case 257:case 262:case 267:case 260:case 266:return"alias";case 213:var n=y.getAssignmentDeclarationKind(t),i=t.right;switch(n){case 7:case 8:case 9:case 0:return"";case 1:case 2:var a=e(i);return""===a?"const":a;case 3:return y.isFunctionExpression(i)?"method":"property";case 4:return"property";case 5:return y.isFunctionExpression(i)?"method":"property";case 6:return"local class";default:return y.assertType(n),""}case 78:return y.isImportClause(t.parent)?"alias":"";case 263:var o=e(t.expression);return""===o?"const":o;default:return""}function s(e){return y.isVarConst(e)?"const":y.isLet(e)?"let":"var"}},y.isThis=function(e){switch(e.kind){case 107:return!0;case 78:return y.identifierIsThisKeyword(e)&&159===e.parent.kind;default:return!1}};var p,f=/^\/\/\/\s*=r.end}function h(e,t,r,n){return Math.max(e,r)n.end||e.pos===n.end;return t&&W(e,i)?r(e):void 0})}(e)}function L(u,l,_,d){var e=function e(t){if(R(t)&&1!==t.kind)return t;var r=t.getChildren(l);for(var n=0;n=t})}function K(e,t){for(var r=e,n=0,i=0;r;){switch(r.kind){case 29:if((r=L(r.getFullStart(),t))&&28===r.kind&&(r=L(r.getFullStart(),t)),!r||!y.isIdentifier(r))return;if(!n)return y.isDeclarationName(r)?void 0:{called:r,nTypeArguments:i};n--;break;case 49:n=3;break;case 48:n=2;break;case 31:n++;break;case 19:if(!(r=z(r,18,t)))return;break;case 21:if(!(r=z(r,20,t)))return;break;case 23:if(!(r=z(r,22,t)))return;break;case 27:i++;break;case 38:case 78:case 10:case 8:case 9:case 109:case 94:case 111:case 93:case 137:case 24:case 51:case 57:case 58:break;default:if(y.isTypeNode(r))break;return}r=L(r.getFullStart(),t)}}function q(e,t,r){return y.formatting.getRangeOfEnclosingComment(e,t,void 0,r)}function W(e,t){return 1===e.kind?e.jsDoc:0!==e.getWidth(t)}function H(e,t,r){var n=q(e,t,void 0);return!!n&&r===f.test(e.text.substring(n.pos,n.end))}function G(e,t,r){return y.createTextSpanFromBounds(e.getStart(t),(r||e).getEnd())}function Q(e){if(!e.isUnterminated)return y.createTextSpanFromBounds(e.getStart()+1,e.getEnd()-1)}function X(e,t){return{span:e,newText:t}}function Y(e){return 148===e.kind}function Z(t,e){return{fileExists:function(e){return t.fileExists(e)},getCurrentDirectory:function(){return e.getCurrentDirectory()},readFile:y.maybeBind(e,e.readFile),useCaseSensitiveFileNames:y.maybeBind(e,e.useCaseSensitiveFileNames),getSymlinkCache:y.maybeBind(e,e.getSymlinkCache)||t.getSymlinkCache,getGlobalTypingsCacheLocation:y.maybeBind(e,e.getGlobalTypingsCacheLocation),getSourceFiles:function(){return t.getSourceFiles()},redirectTargetsMap:t.redirectTargetsMap,getProjectReferenceRedirect:function(e){return t.getProjectReferenceRedirect(e)},isSourceOfProjectReferenceRedirect:function(e){return t.isSourceOfProjectReferenceRedirect(e)}}}function $(e,t){return __assign(__assign({},Z(e,t)),{getCommonSourceDirectory:function(){return e.getCommonSourceDirectory()}})}function ee(e,t,r,n,i){return y.factory.createImportDeclaration(void 0,void 0,e||t?y.factory.createImportClause(!!i,e,t&&t.length?y.factory.createNamedImports(t):void 0):void 0,"string"==typeof r?te(r,n):r)}function te(e,t){return y.factory.createStringLiteral(e,0===t)}function re(e,t){return y.isStringDoubleQuoted(e,t)?1:0}function ne(e){return"default"!==e.escapedName?e.escapedName:y.firstDefined(e.declarations,function(e){var t=y.getNameOfDeclaration(e);return t&&78===t.kind?t.escapedText:void 0})}function ie(e,i,a,o){var t=new y.Map;return function n(e){if(!(96&e.flags&&y.addToSeen(t,y.getSymbolId(e))))return;return y.firstDefined(e.declarations,function(e){return y.firstDefined(y.getAllSuperTypeNodes(e),function(e){var t=a.getTypeAtLocation(e),r=t&&t.symbol&&a.getPropertyOfType(t,i);return t&&r&&(y.firstDefined(a.getRootSymbols(r),o)||n(t.symbol))})})}(e)}function ae(e,t){return!!e&&!!t&&e.start===t.start&&e.length===t.length}function oe(e){return e.declarations&&0=r},y.rangeOverlapsWithStartEnd=function(e,t,r){return h(e.pos,e.end,t,r)},y.nodeOverlapsWithStartEnd=function(e,t,r,n){return h(e.getStart(t),e.end,r,n)},y.startEndOverlapsWithStartEnd=h,y.positionBelongsToNode=function(e,t,r){return y.Debug.assert(e.pos<=t),tr.getStart(e)&&tr.getStart(e)},y.isInJSXText=function(e,t){var r=I(e,t);return!!y.isJsxText(r)||(!(18!==r.kind||!y.isJsxExpression(r.parent)||!y.isJsxElement(r.parent.parent))||!(29!==r.kind||!y.isJsxOpeningLikeElement(r.parent)||!y.isJsxElement(r.parent.parent)))},y.isInsideJsxElement=function(t,r){return function(e){for(;e;)if(271<=e.kind&&e.kind<=280||11===e.kind||29===e.kind||31===e.kind||78===e.kind||19===e.kind||18===e.kind||43===e.kind)e=e.parent;else{if(270!==e.kind)return!1;if(r>e.getStart(t))return!0;e=e.parent}return!1}(I(t,r))},y.findPrecedingMatchingToken=z,y.removeOptionality=U,y.isPossiblyTypeArgumentPosition=function e(t,r,n){var i=K(t,r);return void 0!==i&&(y.isPartOfTypeNode(i.called)||0!==V(i.called,i.nTypeArguments,n).length||e(i.called,r,n))},y.getPossibleGenericSignatures=V,y.getPossibleTypeArgumentsInfo=K,y.isInComment=q,y.hasDocComment=function(e,t){var r=I(e,t);return!!y.findAncestor(r,y.isJSDoc)},y.getNodeModifiers=function(e){var t=y.isDeclaration(e)?y.getCombinedNodeFlagsAlwaysIncludeJSDoc(e):0,r=[];return 8&t&&r.push("private"),16&t&&r.push("protected"),4&t&&r.push("public"),32&t&&r.push("static"),128&t&&r.push("abstract"),1&t&&r.push("export"),8192&t&&r.push("deprecated"),8388608&e.flags&&r.push("declare"),263===e.kind&&r.push("export"),0a)break;y.textSpanContainsTextSpan(e,o)&&i.push(o),n++}return i},y.getRefactorContextSpan=function(e){var t=e.startPosition,r=e.endPosition;return y.createTextSpanFromBounds(t,void 0===r?t:r)},y.mapOneOrMany=function(e,t,r){return void 0===r&&(r=y.identity),e?y.isArray(e)?r(y.map(e,t)):t(e,0):void 0},y.firstOrOnly=function(e){return y.isArray(e)?y.first(e):e},y.getNameForExportedSymbol=function(e,t){return"export="===e.escapedName||"default"===e.escapedName?y.firstDefined(e.declarations,function(e){return y.isExportAssignment(e)&&y.isIdentifier(e.expression)?e.expression.text:void 0})||y.codefix.moduleSymbolToValidIdentifier((r=e,y.Debug.checkDefined(r.parent,"Symbol parent was undefined. Flags: "+y.Debug.formatSymbolFlags(r.flags)+". Declarations: "+(null===(n=r.declarations)||void 0===n?void 0:n.map(function(e){var t=y.Debug.formatSyntaxKind(e.kind),r=y.isInJSFile(e),n=e.expression;return(r?"[JS]":"")+t+(n?" (expression: "+y.Debug.formatSyntaxKind(n.kind)+")":"")}).join(", "))+".")),t):e.name;var r,n},y.stringContainsAt=function(e,t,r){var n=t.length;if(n+r>e.length)return!1;for(var i=0;i=e.length&&(void 0!==(p=v(m,n,h.lastOrUndefined(a)))&&(l=p))}while(1!==n);function g(){switch(n){case 43:case 67:y[i]||13!==m.reScanSlashToken()||(n=13);break;case 29:78===i&&d++;break;case 31:0])*)(\/>)?)?/im.exec(n);if(!i)return;if(!(i[3]&&i[3]in h.commentPragmas))return;var a=e;p(a,i[1].length),d(a+=i[1].length,i[2].length,10),d(a+=i[2].length,i[3].length,21),a+=i[3].length;var o=i[4],s=a;for(;;){var c=r.exec(o);if(!c)break;var u=a+c.index;ss&&p(s,a-s);i[5]&&(d(a,i[5].length,10),a+=i[5].length);var l=e+t;ae.parameters.length)){var t=s.getParameterType(e,o.argumentIndex);return c=c||!!(4&t.flags),b(t,u)}}),isNewIdentifier:c}):v()}case 258:case 264:case 269:return{kind:0,paths:x(e,t,i,a,n)};default:return v()}function v(){return{kind:2,types:b(P.getContextualTypeFromParent(t,n)),isNewIdentifier:!1}}}function h(e){return e&&{kind:1,symbols:P.filter(e.getApparentProperties(),function(e){return!(e.valueDeclaration&&P.isPrivateIdentifierPropertyDeclaration(e.valueDeclaration))}),hasIndexSignature:P.hasIndexSignature(e)}}function b(e,t){return void 0===t&&(t=new P.Map),e?(e=P.skipConstraint(e)).isUnion()?P.flatMap(e.types,function(e){return b(e,t)}):!e.isStringLiteral()||1024&e.flags||!P.addToSeen(t,e.value)?P.emptyArray:[e]:P.emptyArray}function k(e,t,r){return{name:e,kind:t,extension:r}}function N(e){return k(e,"directory",void 0)}function f(e,t,r){var n,i,a,o,s,c=(n=e,i=t,a=Math.max(n.lastIndexOf(P.directorySeparator),n.lastIndexOf("\\")),o=-1!==a?a+1:0,0==(s=n.length-o)||P.isIdentifierText(n.substr(o,s),99)?void 0:P.createTextSpan(i+o,s));return r.map(function(e){return{name:e.name,kind:e.kind,extension:e.extension,span:c}})}function x(e,t,r,n,i){return f(t.text,t.getStart(e)+1,(a=e,o=t,s=r,c=n,u=i,l=P.normalizeSlashes(o.text),_=a.path,d=P.getDirectoryPath(_),function(e){if(e&&2<=e.length&&46===e.charCodeAt(0)){var t=3<=e.length&&46===e.charCodeAt(1)?2:1,r=e.charCodeAt(t);return 47===r||92===r}}(l)||!s.baseUrl&&(P.isRootedDiskPath(l)||P.isUrl(l))?function(e,t,r,n,i){var a=D(r);return r.rootDirs?function(e,t,r,n,i,a,o){var s=i.project||a.getCurrentDirectory(),c=!(a.useCaseSensitiveFileNames&&a.useCaseSensitiveFileNames()),u=function(e,t,r,n){e=e.map(function(e){return P.normalizePath(P.isRootedDiskPath(e)?e:P.combinePaths(t,e))});var i=P.firstDefined(e,function(e){return P.containsPath(e,r,t,n)?r.substr(e.length):void 0});return P.deduplicate(__spreadArrays(e.map(function(e){return P.combinePaths(e,i)}),[r]),P.equateStringsCaseSensitive,P.compareStringsCaseSensitive)}(e,s,r,c);return P.flatMap(u,function(e){return S(t,e,n,a,o)})}(r.rootDirs,e,t,a,r,n,i):S(e,t,a,n,i)}(l,d,s,c,_):function(r,e,t,n,i){var a,o,s=t.baseUrl,c=t.paths,u=[],l=D(t);s&&(a=t.project||n.getCurrentDirectory(),o=P.normalizePath(P.combinePaths(a,s)),S(r,o,l,n,void 0,u),c&&A(u,r,o,l.extensions,c,n));for(var _=T(r),d=0,p=function(t,e,r){var n=r.getAmbientModules().map(function(e){return P.stripQuotes(e.name)}).filter(function(e){return P.startsWith(e,t)});if(void 0===e)return n;var i=P.ensureTrailingDirectorySeparator(e);return n.map(function(e){return P.removePrefix(e,i)})}(r,_,i);d=e.pos&&t<=e.end});if(!o)return;var s=e.text.slice(o.pos,t),c=g.exec(s);if(!c)return;var u=c[1],l=c[2],_=c[3],d=P.getDirectoryPath(e.path),p="path"===l?S(_,d,D(r,!0),n,e.path):"types"===l?C(n,r,d,T(_),D(r)):P.Debug.fail();return f(_,o.pos+u.length,p)}(e,t,i,a))&&u(c);if(P.isInString(e,t,r)){if(!r||!P.isStringLiteralLike(r))return;return function(e,t,r,n,i,a){if(void 0===e)return;switch(e.kind){case 0:return u(e.paths);case 1:var o=[];return p.getCompletionEntriesFromSymbols(e.symbols,o,t,r,r,n,99,i,4,a),{isGlobalCompletion:!1,isMemberCompletion:!0,isNewIdentifierLocation:e.hasIndexSignature,entries:o};case 2:o=e.types.map(function(e){return{name:e.value,kindModifiers:"",kind:"string",sortText:"0",replacementSpan:P.getReplacementSpanForContextToken(t)}});return{isGlobalCompletion:!1,isMemberCompletion:!1,isNewIdentifierLocation:e.isNewIdentifier,entries:o};default:return P.Debug.assertNever(e)}}(c=_(e,r,t,n,i,a),r,e,n,o,s)}},e.getStringLiteralCompletionDetails=function(e,t,r,n,i,a,o,s){if(n&&P.isStringLiteralLike(n)){var c=_(t,n,r,i,a,o);return c&&function(t,e,r,n,i,a){switch(r.kind){case 0:return(o=P.find(r.paths,function(e){return e.name===t}))&&p.createCompletionDetails(t,l(o.extension),o.kind,[P.textPart(t)]);case 1:var o;return(o=P.find(r.symbols,function(e){return e.name===t}))&&p.createCompletionDetailsForSymbol(o,i,n,e,a);case 2:return P.find(r.types,function(e){return e.value===t})?p.createCompletionDetails(t,"","type",[P.textPart(t)]):void 0;default:return P.Debug.assertNever(r)}}(e,n,c,t,i,s)}},(r=t=t||{})[r.Paths=0]="Paths",r[r.Properties=1]="Properties",r[r.Types=2]="Types";var g=/^(\/\/\/\s*=e.pos;case 24:return 194===r;case 58:return 195===r;case 22:return 194===r;case 20:return 284===r||ae(r);case 18:return 252===r;case 29:return 249===r||218===r||250===r||251===r||he.isFunctionLikeKind(r);case 123:return 162===r&&!he.isClassLike(t.parent);case 25:return 159===r||!!t.parent&&194===t.parent.kind;case 122:case 120:case 121:return 159===r&&!he.isConstructorDeclaration(t.parent);case 126:return 262===r||267===r||260===r;case 134:case 145:return!ye(e);case 83:case 91:case 117:case 97:case 112:case 99:case 118:case 84:case 148:return!0;case 41:return he.isFunctionLike(e.parent)&&!he.isMethodDeclaration(e.parent)}if(pe(fe(e))&&ye(e))return!1;if(ie(e)&&(!he.isIdentifier(e)||he.isParameterPropertyModifier(fe(e))||ue(e)))return!1;switch(fe(e)){case 125:case 83:case 84:case 133:case 91:case 97:case 117:case 118:case 120:case 121:case 122:case 123:case 112:return!0;case 129:return he.isPropertyDeclaration(e.parent)}return he.isDeclarationName(e)&&!he.isJsxAttribute(e.parent)&&!(he.isClassLike(e.parent)&&(e!==v||p>v.end))}(S)||function(e){if(8!==e.kind)return!1;var t=e.getFullText();return"."===t.charAt(t.length-1)}(S)||function(e){if(11===e.kind)return!0;if(31===e.kind&&e.parent){if(272===e.parent.kind)return 272!==I.parent.kind;if(273===e.parent.kind||271===e.parent.kind)return!!e.parent.parent&&270===e.parent.parent.kind}return!1}(S),d("getCompletionsAtPosition: isCompletionListBlocker: "+(he.timestamp()-T)),C)return void d("Returning an empty list because completion was requested in an invalid position.");var O=D.parent;if(24===D.kind||28===D.kind)switch(k=24===D.kind,N=28===D.kind,O.kind){case 198:if(E=(u=O).expression,(he.isCallExpression(E)||he.isFunctionLike(E))&&E.end===D.pos&&E.getChildCount(h)&&21!==he.last(E.getChildren(h)).kind)return;break;case 156:E=O.left;break;case 253:E=O.name;break;case 192:case 223:E=O;break;default:return}else if(1===h.languageVariant){if(O&&198===O.kind&&(O=(D=O).parent),t.parent===I)switch(t.kind){case 31:270!==t.parent.kind&&272!==t.parent.kind||(I=t);break;case 43:271===t.parent.kind&&(I=t)}switch(O.kind){case 273:43===D.kind&&(F=!0,I=D);break;case 213:if(!ve(O))break;case 271:case 270:case 272:w=!0,29===D.kind&&(A=!0,I=D);break;case 277:switch(v.kind){case 62:P=!0;break;case 78:w=!0,O!==v.parent&&!O.initializer&&he.findChildOfKind(O,62,h)&&(P=v)}}}}var M=he.timestamp(),L=5,R=!1,B=0,j=[],J=[],z=[],U=f.getImportSuggestionsCache&&f.getImportSuggestionsCache(),V=re();if(k||N)!function(){L=2;var t=he.isLiteralImportTypeNode(E),e=y||t&&!E.isTypeOf||he.isPartOfTypeNode(E.parent)||he.isPossiblyTypeArgumentPosition(D,h,x),r=he.isInRightSideOfInternalImportEqualsDeclaration(E);if(he.isEntityName(E)||t){var n=he.isModuleDeclaration(E.parent);n&&(R=!0);var i=x.getSymbolAtLocation(E);if(i&&1920&(i=he.skipAlias(i,x)).flags){var a=x.getExportsOfModule(i);he.Debug.assertEachIsDefined(a,"getExportsOfModule() should all be defined");for(var o=function(e){return x.isValidPropertyAccess(t?E:E.parent,e.name)},s=function(e){return ne(e)},c=n?function(e){return!!(1920&e.flags)&&!e.declarations.every(function(e){return e.parent===E.parent})}:r?function(e){return s(e)||o(e)}:e?s:o,u=0,l=a;u"),kind:"class",kindModifiers:void 0,sortText:le.LocationPriority}]}}var x=[];if(F(e,r)){var D=w(o,x,void 0,l,e,t,r.target,n,s,a,_,i.isJsxIdentifierExpected,m,g,f,v);!function(e,n,i,a,o){he.getNameTable(e).forEach(function(e,t){var r;e!==n&&(r=he.unescapeLeadingUnderscores(t),!i.has(r)&&he.isIdentifierText(r,a)&&(i.add(r),o.push({name:r,kind:"warning",kindModifiers:"",sortText:le.JavascriptIdentifiers,isFromUncheckedFile:!0})))})}(e,l.pos,D,r.target,x)}else{if(!(u||o&&0!==o.length||0!==d))return;w(o,x,void 0,l,e,t,r.target,n,s,a,_,i.isJsxIdentifierExpected,m,g,f,v)}if(0!==d)for(var S=new he.Set(x.map(function(e){return e.name})),T=0,C=function(e,t){if(!t)return O(e);var r=e+7+1;return I[r]||(I[r]=O(e).filter(function(e){return!function(e){switch(e){case 125:case 128:case 154:case 131:case 133:case 91:case 153:case 116:case 135:case 117:case 136:case 137:case 138:case 139:case 140:case 143:case 144:case 120:case 121:case 122:case 141:case 146:case 147:case 148:case 150:case 151:return 1;default:return}}(he.stringToToken(e.name))}))}(d,!y&&he.isSourceFileJS(e));T=a.end;c--)if(!l.isWhiteSpaceSingleLine(t.text.charCodeAt(c))){s=!1;break}if(s){n.push({fileName:t.fileName,textSpan:l.createTextSpanFromBounds(a.getStart(),o.end),kind:"reference"}),i++;continue}}n.push(_(r[i],t))}return n}(e.parent,n):void 0;case 104:return i(e.parent,l.isReturnStatement,v);case 108:return i(e.parent,l.isThrowStatement,y);case 110:case 82:case 95:return i(82===e.kind?e.parent.parent:e.parent,l.isTryStatement,m);case 106:return i(e.parent,l.isSwitchStatement,g);case 81:case 87:return l.isDefaultClause(e.parent)||l.isCaseClause(e.parent)?i(e.parent.parent.parent,l.isSwitchStatement,g):void 0;case 80:case 85:return i(e.parent,l.isBreakOrContinueStatement,f);case 96:case 114:case 89:return i(e.parent,function(e){return l.isIterationStatement(e,!0)},p);case 132:return t(l.isConstructorDeclaration,[132]);case 134:case 145:return t(l.isAccessor,[134,145]);case 130:return i(e.parent,l.isAwaitExpression,h);case 129:return a(h(e));case 124:return a(function(e){var t=l.getContainingFunction(e);if(!t)return;var r=[];return l.forEachChild(t,function(e){b(e,function(e){l.isYieldExpression(e)&&d(r,e.getFirstToken(),124)})}),r}(e));default:return l.isModifierKind(e.kind)&&(l.isDeclaration(e.parent)||l.isVariableStatement(e.parent))?a(function(t,e){return l.mapDefined(function(e,t){var r=e.parent;switch(r.kind){case 254:case 294:case 227:case 281:case 282:return 128&t&&l.isClassDeclaration(e)?__spreadArrays(e.members,[e]):r.statements;case 165:case 164:case 248:return __spreadArrays(r.parameters,l.isClassLike(r.parent)?r.parent.members:[]);case 249:case 218:case 250:case 176:var n=r.members;if(92&t){var i=l.find(r.members,l.isConstructorDeclaration);if(i)return __spreadArrays(n,i.parameters)}else if(128&t)return __spreadArrays(n,[r]);return n;default:l.Debug.assertNever(r,"Invalid container kind.")}}(e,l.modifierToFlag(t)),function(e){return l.findModifier(e,t)})}(e.kind,e.parent)):void 0}function t(t,r){return i(e.parent,t,function(e){return l.mapDefined(e.symbol.declarations,function(e){return t(e)?l.find(e.getChildren(n),function(e){return l.contains(r,e.kind)}):void 0})})}function i(e,t,r){return t(e)?a(r(e,n)):void 0}function a(e){return e&&e.map(function(e){return _(e,n)})}}(s,a=r))&&[{fileName:a.fileName,highlightSpans:o}]}}(ts=ts||{}),function(f){function r(e,a,d){void 0===a&&(a="");var p=new f.Map,o=f.createGetCanonicalFileName(!!e);function s(e,t,r,n,i,a,o){return u(e,t,r,n,i,a,!0,o)}function c(e,t,r,n,i,a,o){return u(e,t,r,n,i,a,!1,o)}function u(e,t,r,n,i,a,o,s){var c,u=f.getOrUpdate(p,n,function(){return new f.Map}),l=u.get(t),_=6===s?100:r.target||1;return!l&&d&&(c=d.getDocument(n,t))&&(f.Debug.assert(o),l={sourceFile:c,languageServiceRefCount:0},u.set(t,l)),l?(l.sourceFile.version!==a&&(l.sourceFile=f.updateLanguageServiceSourceFile(l.sourceFile,i,a,i.getChangeRange(l.sourceFile.scriptSnapshot)),d&&d.setDocument(n,t,l.sourceFile)),o&&l.languageServiceRefCount++):(c=f.createLanguageServiceSourceFile(e,i,_,a,!1,s),d&&d.setDocument(n,t,c),l={sourceFile:c,languageServiceRefCount:1},u.set(t,l)),f.Debug.assert(0!==l.languageServiceRefCount),l.sourceFile}function r(e,t){var r=f.Debug.checkDefined(p.get(t)),n=r.get(e);n.languageServiceRefCount--,f.Debug.assert(0<=n.languageServiceRefCount),0===n.languageServiceRefCount&&r.delete(e)}return{acquireDocument:function(e,t,r,n,i){return s(e,f.toPath(e,a,o),t,l(t),r,n,i)},acquireDocumentWithKey:s,updateDocument:function(e,t,r,n,i){return c(e,f.toPath(e,a,o),t,l(t),r,n,i)},updateDocumentWithKey:c,releaseDocument:function(e,t){return r(f.toPath(e,a,o),l(t))},releaseDocumentWithKey:r,getLanguageServiceRefCounts:function(n){return f.arrayFrom(p.entries(),function(e){var t=e[0],r=e[1].get(n);return[t,r&&r.languageServiceRefCount]})},reportStats:function(){var e=f.arrayFrom(p.keys()).filter(function(e){return e&&"_"===e.charAt(0)}).map(function(e){var t=p.get(e),r=[];return t.forEach(function(e,t){r.push({name:t,refCount:e.languageServiceRefCount})}),r.sort(function(e,t){return t.refCount-e.refCount}),{bucket:e,sourceFiles:r}});return JSON.stringify(e,void 0,2)},getKeyForCompilationSettings:l}}function l(t){return f.sourceFileAffectingCompilerOptions.map(function(e){return f.getCompilerOptionValue(t,e)}).join("|")}f.createDocumentRegistry=function(e,t){return r(e,t)},f.createDocumentRegistryInternal=r}(ts=ts||{}),function(E){var e,t,r;function k(e,t){return E.forEach(294===e.kind?e.statements:e.body.statements,function(e){return t(e)||i(e)&&E.forEach(e.body&&e.body.statements,t)})}function g(e,r){if(e.externalModuleIndicator||void 0!==e.imports)for(var t=0,n=e.imports;tr.end);){var c=s+o;0!==s&&q.isIdentifierPart(i.charCodeAt(s-1),99)||c!==a&&q.isIdentifierPart(i.charCodeAt(c),99)||n.push(s),s=i.indexOf(t,s+o+1)}return n}function w(e,t){var r=e.getSourceFile(),n=t.text,i=q.mapDefined(P(r,n,e),function(e){return e===t||q.isJumpStatementTarget(e)&&q.getTargetLabel(e,n)===t?H(e):void 0});return[{definition:{type:1,node:t},references:i}]}function I(e,t,r,n){return void 0===n&&(n=!0),r.cancellationToken.throwIfCancellationRequested(),c(e,e,t,r,n)}function c(e,t,r,n,i){if(n.markSearchedSymbols(t,r.allSearchSymbols))for(var a=0,o=s(t,r.text,e);a";case 263:return z.isExportAssignment(e)&&e.isExportEquals?"export=":"default";case 206:case 248:case 205:case 249:case 218:return 512&z.getSyntacticModifierFlags(e)?"default":A(e);case 165:return"constructor";case 169:return"new()";case 168:return"()";case 170:return"[]";default:return""}}function S(e){return{text:D(e.node,e.name),kind:z.getNodeKind(e.node),kindModifiers:N(e.node),spans:C(e),nameSpan:e.name&&k(e.name),childItems:z.map(e.children,S)}}function T(e){return{text:D(e.node,e.name),kind:z.getNodeKind(e.node),kindModifiers:N(e.node),spans:C(e),childItems:z.map(e.children,function(e){return{text:D(e.node,e.name),kind:z.getNodeKind(e.node),kindModifiers:z.getNodeModifiers(e.node),spans:C(e),childItems:r,indent:0,bolded:!1,grayed:!1}})||r,indent:e.indent,bolded:!1,grayed:!1}}function C(e){var t=[k(e.node)];if(e.additionalNodes)for(var r=0,n=e.additionalNodes;r";if(z.isCallExpression(t)){var r=function e(t){{if(z.isIdentifier(t))return t.text;if(z.isPropertyAccessExpression(t)){var r=e(t.expression),n=t.name.text;return void 0===r?n:r+"."+n}return}}(t.expression);if(void 0!==r)return(r=F(r)).length>o?r+" callback":r+"("+F(z.mapDefined(t.arguments,function(e){return z.isStringLiteralLike(e)?e.getText(n):void 0}).join(", "))+") callback"}return""}function F(e){return(e=e.length>o?e.substring(0,o)+"...":e).replace(/\\?(\r?\n|\r|\u2028|\u2029)/g,"")}}(z.NavigationBar||(z.NavigationBar={}))}(ts=ts||{}),function(C){var e;function m(e,t){var r=C.isStringLiteral(t)&&t.text;return C.isString(r)&&C.some(e.moduleAugmentations,function(e){return C.isStringLiteral(e)&&e.text===r})}function _(e){return void 0!==e&&C.isStringLiteralLike(e)?e.text:void 0}function d(e){var t;if(0===e.length)return e;var r=function(e){for(var t,r={defaultImports:[],namespaceImports:[],namedImports:[]},n={defaultImports:[],namespaceImports:[],namedImports:[]},i=0,a=e;i...")}(s);case 274:return function(e){var t=v.createTextSpanFromBounds(e.openingFragment.getStart(c),e.closingFragment.getEnd());return d(t,"code",t,!1,"<>...")}(s);case 271:case 272:return function(e){return 0!==e.properties.length?y(e.getStart(c),e.getEnd(),"code"):void 0}(s.attributes);case 215:case 14:return function(e){return 14!==e.kind||0!==e.text.length?y(e.getStart(c),e.getEnd(),"code"):void 0}(s);case 194:return n(s,!1,!v.isBindingElement(s.parent),22);case 206:return function(e){if(v.isBlock(e.body)||v.positionsAreOnSameLine(e.body.getFullStart(),e.body.getEnd(),c))return;return d(v.createTextSpanFromBounds(e.body.getFullStart(),e.body.getEnd()),"code",v.createTextSpanFromNode(e))}(s);case 200:return function(e){if(!e.arguments.length)return;var t=v.findChildOfKind(e,20,c),r=v.findChildOfKind(e,21,c);return t&&r&&!v.positionsAreOnSameLine(t.pos,r.pos,c)?_(t,r,e,c,!1,!0):void 0}(s)}function r(e,t){return void 0===t&&(t=18),n(e,!1,!v.isArrayLiteralExpression(e.parent)&&!v.isCallExpression(e.parent),t)}function n(e,t,r,n,i){void 0===t&&(t=!1),void 0===r&&(r=!0),void 0===n&&(n=18),void 0===i&&(i=18===n?19:23);var a=v.findChildOfKind(s,n,c),o=v.findChildOfKind(s,i,c);return a&&o&&_(a,o,e,c,t,r)}}(e,n))&&a.push(r),o--,v.isCallExpression(e)?(o++,u(e.expression),o--,e.arguments.forEach(u),null!==(t=e.typeArguments)&&void 0!==t&&t.forEach(u)):v.isIfStatement(e)&&e.elseStatement&&v.isIfStatement(e.elseStatement)?(u(e.expression),u(e.thenStatement),o++,u(e.elseStatement),o--):e.forEachChild(u),o++)}}(e,t,r),function(e,t){for(var r=[],n=e.getLineStarts(),i=0,a=n;ie.length)return;for(var a=r.length-2,o=e.length-1;0<=a;--a,--o)i=d(i,c(e[o],r[a],n));return i}(e,t,n,r)},getMatchForLastSegmentOfPattern:function(e){return c(e,m.last(n),r)},patternContainsDots:1n)break e;if(v(e,n,_)){if(b.isBlock(_)||b.isTemplateSpan(_)||b.isTemplateHead(_)||b.isTemplateTail(_)||l&&b.isTemplateHead(l)||b.isVariableDeclarationList(_)&&b.isVariableStatement(s)||b.isSyntaxList(_)&&b.isVariableDeclarationList(s)||b.isVariableDeclaration(_)&&b.isSyntaxList(s)&&1===c.length){s=_;break}b.isTemplateSpan(s)&&d&&b.isTemplateMiddleOrTemplateTail(d)&&y(_.getFullStart()-"${".length,d.getStart()+"}".length);var p=b.isSyntaxList(_)&&(18===(a=(i=l)&&i.kind)||22===a||20===a||272===a)&&(19===(r=(t=d)&&t.kind)||23===r||21===r||273===r)&&!b.positionsAreOnSameLine(l.getStart(),d.getStart(),e),f=b.hasJSDocNodes(_)&&_.jsDoc[0].getStart(),g=p?l.getEnd():_.getStart(),m=p?d.getStart():_.getEnd();b.isNumber(f)&&y(f,m),y(g,m),(b.isStringLiteral(_)||b.isTemplateLiteral(_))&&y(g+1,m-1),s=_;break}if(u===c.length-1)break e}}return o;function y(e,t){var r;e!==t&&(r=b.createTextSpanFromBounds(e,t),o&&(b.textSpansEqual(r,o.textSpan)||!b.textSpanIntersectsWithPosition(r,n))||(o=__assign({textSpan:r},o&&{parent:o})))}};var s=b.or(b.isImportDeclaration,b.isImportEqualsDeclaration);function h(t){if(b.isSourceFile(t))return c(t.getChildAt(0).getChildren(),s);if(b.isMappedTypeNode(t)){var e=t.getChildren(),r=e[0],n=e.slice(1),i=b.Debug.checkDefined(n.pop());b.Debug.assertEqual(r.kind,18),b.Debug.assertEqual(i.kind,19);var a=c(n,function(e){return e===t.readonlyToken||141===e.kind||e===t.questionToken||57===e.kind});return[r,l(u(c(a,function(e){var t=e.kind;return 22===t||158===t||23===t}),function(e){return 58===e.kind})),i]}if(b.isPropertySignature(t))return u(n=c(t.getChildren(),function(e){return e===t.name||b.contains(t.modifiers,e)}),function(e){return 58===e.kind});if(b.isParameter(t)){var o=c(t.getChildren(),function(e){return e===t.dotDotDotToken||e===t.name});return u(c(o,function(e){return e===o[0]||e===t.questionToken}),function(e){return 62===e.kind})}return b.isBindingElement(t)?u(t.getChildren(),function(e){return 62===e.kind}):t.getChildren()}function c(e,t){for(var r,n=[],i=0,a=e;ii+1),n[i+1]}(e.parent,e,t),argumentIndex:0};var r=A.findContainingList(e);return r&&{list:r,argumentIndex:function(e,t){for(var r=0,n=0,i=e.getChildren();n=t.getStart(),"Assumed 'position' could not occur before node."),A.isTemplateLiteralToken(t))return A.isInsideTemplateLiteral(t,r,n)?0:e+2;return e+1}(_.parent.templateSpans.indexOf(_),e,t,r),r)}if(A.isJsxOpeningLikeElement(n)){var d=n.attributes.pos,p=A.skipTrivia(r.text,n.attributes.end,!1);return{isTypeParameterList:!1,invocation:{kind:0,node:n},argumentsSpan:A.createTextSpan(d,p-d),argumentIndex:0,argumentCount:1}}var f=A.getPossibleTypeArgumentsInfo(e,r);if(f){var g=f.called,m=f.nTypeArguments;return{isTypeParameterList:!0,invocation:i={kind:1,called:g},argumentsSpan:u=A.createTextSpanFromBounds(g.getStart(r),e.end),argumentIndex:m,argumentCount:m+1}}}function f(e){return A.isBinaryExpression(e.left)?f(e.left)+1:2}function v(e,t,r){var n=A.isNoSubstitutionTemplateLiteral(e.template)?1:e.template.templateSpans.length+1;return 0!==t&&A.Debug.assertLessThan(t,n),{isTypeParameterList:!1,invocation:{kind:0,node:e},argumentsSpan:function(e,t){var r=e.template,n=r.getStart(),i=r.getEnd();{215===r.kind&&0===A.last(r.templateSpans).literal.getFullWidth()&&(i=A.skipTrivia(t.text,i,!1))}return A.createTextSpan(n,i-n)}(e,r),argumentIndex:t,argumentCount:n}}function T(e){return 0===e.kind?A.getInvokedExpression(e.node):e.called}function C(e){return 0!==e.kind&&1===e.kind?e.called:e.node}(r=t=t||{})[r.Call=0]="Call",r[r.TypeArgs=1]="TypeArgs",r[r.Contextual=2]="Contextual",e.getSignatureHelpItems=function(e,l,t,r,n){var i=e.getTypeChecker(),a=A.findTokenOnLeftOfPosition(l,t);if(a){var o=!!r&&"characterTyped"===r.kind;if(!o||!A.isInString(l,t,a)&&!A.isInComment(l,t)){var s=!!r&&"invoked"===r.kind,_=function(e,a,o,s,t){for(var r=function(e){A.Debug.assert(A.rangeContainsRange(e.parent,e),"Not a subspan",function(){return"Child: "+A.Debug.formatSyntaxKind(e.kind)+", parent: "+A.Debug.formatSyntaxKind(e.parent.kind)});var t,r,n,i=(r=a,function(e,t,r){var n=function(e,t,r){if(20===e.kind||27===e.kind){var n=e.parent;switch(n.kind){case 204:case 164:case 205:case 206:var i=y(e,t);if(!i)return;var a=i.argumentIndex,o=i.argumentCount,s=i.argumentsSpan,c=A.isMethodDeclaration(n)?r.getContextualTypeForObjectLiteralElement(n):r.getContextualType(n);return c&&{contextualType:c,argumentIndex:a,argumentCount:o,argumentsSpan:s};case 213:var u=function e(t){return A.isBinaryExpression(t.parent)?e(t.parent):t}(n),l=r.getContextualType(u),_=20===e.kind?0:f(n)-1,d=f(u);return l&&{contextualType:l,argumentIndex:_,argumentCount:d,argumentsSpan:A.createTextSpanFromNode(n)};default:return}}}(e,t,r);if(n){var i=n.contextualType,a=n.argumentIndex,o=n.argumentCount,s=n.argumentsSpan,c=i.getNonNullableType(),u=c.getCallSignatures();return 1!==u.length?void 0:{isTypeParameterList:!1,invocation:{kind:2,signature:A.first(u),node:e,symbol:function(e){return"__type"===e.name&&A.firstDefined(e.declarations,function(e){return A.isFunctionTypeNode(e)?e.parent.symbol:void 0})||e}(c.symbol)},argumentsSpan:s,argumentIndex:a,argumentCount:o}}}(t=e,n=o,s)||c(t,r,n));if(i)return{value:i}},n=e;!A.isSourceFile(n)&&(t||!A.isBlock(n));n=n.parent){var i=r(n);if("object"==typeof i)return i.value}return}(a,t,l,i,s);if(_){n.throwIfCancellationRequested();var d=function(e,t,r,n,i){var a=e.invocation,o=e.argumentCount;switch(a.kind){case 0:if(i&&!function(e,t,r){if(!A.isCallOrNewExpression(t))return;var n=t.getChildren(r);switch(e.kind){case 20:return A.contains(n,e);case 27:var i=A.findContainingList(e);return i&&A.contains(n,i);case 29:return p(e,r,t.expression);default:return}}(n,a.node,r))return;var s=[],c=t.getResolvedSignatureForSignatureHelp(a.node,s,o);return 0===s.length?void 0:{kind:0,candidates:s,resolvedSignature:c};case 1:var u=a.called;if(i&&!p(n,r,A.isIdentifier(u)?u.parent:u))return;if(0!==(s=A.getPossibleGenericSignatures(u,o,t)).length)return{kind:0,candidates:s,resolvedSignature:A.first(s)};var l=t.getSymbolAtLocation(u);return l&&{kind:1,symbol:l};case 2:return{kind:0,candidates:[a.signature],resolvedSignature:a.signature};default:return A.Debug.assertNever(a)}}(_,i,l,a,o);return n.throwIfCancellationRequested(),d?i.runWithCancellationToken(n,function(e){return 0===d.kind?g(d.candidates,d.resolvedSignature,_,l,e):(t=d.symbol,n=l,i=e,a=(r=_).argumentCount,o=r.argumentsSpan,s=r.invocation,c=r.argumentIndex,(u=i.getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(t))?{items:[function(e,t,r,n,i){var a=A.symbolToDisplayParts(r,e),o=A.createPrinter({removeComments:!0}),s=t.map(function(e){return N(e,r,n,i,o)}),c=e.getDocumentationComment(r),u=e.getJsDocTags();return{isVariadic:!1,prefixDisplayParts:__spreadArrays(a,[A.punctuationPart(29)]),suffixDisplayParts:[A.punctuationPart(31)],separatorDisplayParts:k,parameters:s,documentation:c,tags:u}}(t,u,i,C(s),n)],applicableSpan:o,selectedItemIndex:0,argumentIndex:c,argumentCount:a}:void 0);var t,r,n,i,a,o,s,c,u}):A.isSourceFileJS(l)?function(i,e,a){if(2===i.invocation.kind)return;var t=T(i.invocation),r=A.isPropertyAccessExpression(t)?t.name.text:void 0,o=e.getTypeChecker();return void 0===r?void 0:A.firstDefined(e.getSourceFiles(),function(n){return A.firstDefined(n.getNamedDeclarations().get(r),function(e){var t=e.symbol&&o.getTypeOfSymbolAtLocation(e.symbol,e),r=t&&t.getCallSignatures();if(r&&r.length)return o.runWithCancellationToken(a,function(e){return g(r,r[0],i,n,e,!0)})})})}(_,e,n):void 0}}}},(i=n=n||{})[i.Candidate=0]="Candidate",i[i.Type=1]="Type",e.getArgumentInfoForCompletions=function(e,t,r){var n=c(e,t,r);return!n||n.isTypeParameterList||0!==n.invocation.kind?void 0:{invocation:n.invocation.node,argumentCount:n.argumentCount,argumentIndex:n.argumentIndex}};var E=70246400;function g(e,t,r,n,i,a){var o,s=r.isTypeParameterList,c=r.argumentCount,u=r.argumentsSpan,l=r.invocation,_=r.argumentIndex,m=C(l),d=2===l.kind?l.symbol:i.getSymbolAtLocation(T(l))||a&&(null===(o=t.declaration)||void 0===o?void 0:o.symbol),y=d?A.symbolToDisplayParts(i,d,a?n:void 0,void 0):A.emptyArray,p=A.map(e,function(e){return p=y,t=(s?function(e,n,i,a){var t=(e.target||e).typeParameters,o=A.createPrinter({removeComments:!0}),s=(t||A.emptyArray).map(function(e){return N(e,n,i,a,o)}),c=e.thisParameter?[n.symbolToParameterDeclaration(e.thisParameter,i,E)]:[];return n.getExpandedParameters(e).map(function(e){var t=A.factory.createNodeArray(__spreadArrays(c,A.map(e,function(e){return n.symbolToParameterDeclaration(e,i,E)}))),r=A.mapToDisplayParts(function(e){o.writeList(2576,t,a,e)});return{isVariadic:!1,parameters:s,prefix:[A.punctuationPart(29)],suffix:__spreadArrays([A.punctuationPart(31)],r)}})}:function(r,c,u,l){var t=c.hasEffectiveRestParameter(r),_=A.createPrinter({removeComments:!0}),n=A.mapToDisplayParts(function(e){var t;r.typeParameters&&r.typeParameters.length&&(t=A.factory.createNodeArray(r.typeParameters.map(function(e){return c.typeParameterToDeclaration(e,u,E)})),_.writeList(53776,t,l,e))}),i=c.getExpandedParameters(r);return i.map(function(e){return{isVariadic:t&&(1===i.length||!!(32768&e[e.length-1].checkFlags)),parameters:e.map(function(e){return r=e,n=c,i=u,a=l,o=_,t=A.mapToDisplayParts(function(e){var t=n.symbolToParameterDeclaration(r,i,E);o.writeNode(4,t,a,e)}),s=n.isOptionalParameter(r.valueDeclaration),{name:r.name,documentation:r.getDocumentationComment(n),displayParts:t,isOptional:s};var r,n,i,a,o,t,s}),prefix:__spreadArrays(n,[A.punctuationPart(20)]),suffix:[A.punctuationPart(21)]}})})(d=e,f=i,g=m,n),A.map(t,function(e){var r,n,i,t=e.isVariadic,a=e.parameters,o=e.prefix,s=e.suffix,c=__spreadArrays(p,o),u=__spreadArrays(s,(r=d,n=g,i=f,A.mapToDisplayParts(function(e){e.writePunctuation(":"),e.writeSpace(" ");var t=i.getTypePredicateOfSignature(r);t?i.writeTypePredicate(t,n,void 0,e):i.writeType(i.getReturnTypeOfSignature(r),n,void 0,e)}))),l=d.getDocumentationComment(f),_=d.getJsDocTags();return{isVariadic:t,prefixDisplayParts:c,suffixDisplayParts:u,separatorDisplayParts:k,parameters:a,documentation:l,tags:_}});var d,p,f,g,t});0!==_&&A.Debug.assertLessThan(_,c);for(var f=0,g=0,v=0;v=c){f=g+b;break}b++}g+=h.length}return A.Debug.assert(-1!==f),{items:A.flatMapToMutable(p,A.identity),applicableSpan:u,selectedItemIndex:f,argumentIndex:_,argumentCount:c}}var k=[A.punctuationPart(27),A.spacePart()];function N(r,n,i,a,o){var e=A.mapToDisplayParts(function(e){var t=n.typeParameterToDeclaration(r,i,E);o.writeNode(4,t,a,e)});return{name:r.symbol.name,documentation:r.symbol.getDocumentationComment(n),displayParts:e,isOptional:!1}}}(A.SignatureHelp||(A.SignatureHelp={}))}(ts=ts||{}),function(g){var f=/^data:(?:application\/json(?:;charset=[uU][tT][fF]-8);base64,([A-Za-z0-9+\/=]+)$)?/;function m(e,t,r){var n=g.tryParseRawSourceMap(t);if(n&&n.sources&&n.file&&n.mappings&&(!n.sourcesContent||!n.sourcesContent.some(g.isString)))return g.createDocumentPositionMapper(e,n,r)}g.getSourceMapper=function(s){var c=g.createGetCanonicalFileName(s.useCaseSensitiveFileNames()),u=s.getCurrentDirectory(),o=new g.Map,l=new g.Map;return{tryGetSourcePosition:function e(t){if(!g.isDeclarationFileName(t.fileName))return;var r=p(t.fileName);if(!r)return;var n=d(t.fileName).getSourcePosition(t);return n&&n!==t?e(n)||n:void 0},tryGetGeneratedPosition:function(e){if(g.isDeclarationFileName(e.fileName))return;var t=p(e.fileName);if(!t)return;var r=s.getProgram();if(r.isSourceOfProjectReferenceRedirect(t.fileName))return;var n=r.getCompilerOptions(),i=g.outFile(n),a=i?g.removeFileExtension(i)+".d.ts":g.getDeclarationEmitOutputFilePathWorker(e.fileName,r.getCompilerOptions(),u,r.getCommonSourceDirectory(),c);if(void 0===a)return;var o=d(a,e.fileName).getGeneratedPosition(e);return o===e?void 0:o},toLineColumnOffset:function(e,t){return f(e).getLineAndCharacterOfPosition(t)},clearCache:function(){o.clear(),l.clear()}};function _(e){return g.toPath(e,u,c)}function d(e,t){var r,n,i=_(e),a=l.get(i);return a||(s.getDocumentPositionMapper?n=s.getDocumentPositionMapper(e,t):s.readFile&&(n=(r=f(e))&&g.getDocumentPositionMapper({getSourceFileLike:f,getCanonicalFileName:c,log:function(e){return s.log(e)}},e,g.getLineInfo(r.text,g.getLineStarts(r)),function(e){return!s.fileExists||s.fileExists(e)?s.readFile(e):void 0})),l.set(i,n||g.identitySourceMapConsumer),n||g.identitySourceMapConsumer)}function p(e){var t=s.getProgram();if(t){var r=_(e),n=t.getSourceFileByPath(r);return n&&n.resolvedPath===r?n:void 0}}function t(e){var t=_(e),r=o.get(t);if(void 0!==r)return r||void 0;if(s.readFile&&(!s.fileExists||s.fileExists(t))){var n,i=s.readFile(t),a=!!i&&{text:i,lineMap:n,getLineAndCharacterOfPosition:function(e){return g.computeLineAndCharacterOfPosition(g.getLineStarts(this),e)}};return o.set(t,a),a||void 0}o.set(t,!1)}function f(e){return s.getSourceFileLike?s.getSourceFileLike(e):p(e)||t(e)}},g.getDocumentPositionMapper=function(e,t,r,n){var i=g.tryGetSourceMappingURL(r);if(i){var a=f.exec(i);if(a){if(a[1]){var o=a[1];return m(e,g.base64decode(g.sys,o),t)}i=void 0}}var s=[];i&&s.push(i),s.push(t+".map");for(var c=i&&g.getNormalizedAbsolutePath(i,g.getDirectoryPath(t)),u=0,l=s;u>=d;return r}(u,c),0,t),n[i]=(s=1+((a=u)>>(o=c)&p),f.Debug.assert((s&p)==s,"Adding more rules into the sub-bucket than allowed. Maximum allowed is 32 rules."),a&~(p<=t.pos?e.pos:i.end}(a,t,r),t.end,function(e){return p(t,a,j.SmartIndenter.getIndentationForNode(a,t,r,n.options),function(e,t,r){for(var n,i=-1;e;){var a=r.getLineAndCharacterOfPosition(e.getStart(r)).line;if(-1!==i&&a!==i)break;if(j.SmartIndenter.shouldIndentChildNode(t,e,n,r))return t.indentSize;i=a,e=(n=e).parent}return 0}(a,n.options,r),e,n,i,function(e,t){if(!e.length)return i;var r=e.filter(function(e){return B.rangeOverlapsWithStartEnd(t,e.start,e.start+e.length)}).sort(function(e,t){return e.start-t.start});if(!r.length)return i;var n=0;return function(e){for(;;){if(n>=r.length)return!1;var t=r[n];if(e.end<=t.start)return!1;if(B.startEndOverlapsWithStartEnd(e.pos,e.end,t.start,t.start+t.length))return!0;n++}};function i(){return!1}}(r.parseDiagnostics,t),r)})}function p(T,t,e,r,C,n,i,m,E){var y,u,l,v,a,o,s,c,_,d,k=n.options,p=n.getRules,f=n.host,g=new j.FormattingContext(E,i,k),h=-1,b=[];return C.advance(),C.isOnToken()&&(o=a=E.getLineAndCharacterOfPosition(t.getStart(E)).line,t.decorators&&(o=E.getLineAndCharacterOfPosition(B.getNonDecoratorTokenPosOfNode(t,E)).line),function b(x,e,t,r,n,i){if(!B.rangeOverlapsWithStartEnd(T,x.getStart(E),x.getEnd()))return;var a=F(x,t,n,i);var D=e;B.forEachChild(x,function(e){g(e,-1,x,a,t,r,!1)},function(e){c(e,x,t,a)});for(;C.isOnToken();){var o=C.readTokenInfo(x);if(o.token.end>x.end)break;11!==x.kind?S(o,x,a,x):C.advance()}{var s;x.parent||!C.isOnEOF()||(s=C.readEOFTokenRange()).end<=x.end&&y&&O(s,E.getLineAndCharacterOfPosition(s.pos).line,x,y,l,u,e,a)}function g(t,e,r,n,i,a,o,s){var c=t.getStart(E),u=E.getLineAndCharacterOfPosition(c).line,l=u;t.decorators&&(l=E.getLineAndCharacterOfPosition(B.getNonDecoratorTokenPosOfNode(t,E)).line);var _=-1;if(o&&B.rangeContainsRange(T,r)&&-1!==(_=N(c,t.end,i,T,e))&&(e=_),!B.rangeOverlapsWithStartEnd(T,t.pos,t.end))return t.endc){d.token.pos>c&&C.skipToStartOf(t);break}S(d,x,n,x)}if(!C.isOnToken())return e;if(B.isToken(t)){var d=C.readTokenInfo(t);if(11!==t.kind)return B.Debug.assert(d.token.end===t.end,"Token end is child end"),S(d,x,n,t),e}var p,f,g,m,y,v=160===t.kind?u:a,h=A(t,u,_,x,n,v);return b(t,D,u,l,h.indentation,h.delta),11!==t.kind||(p={pos:t.getStart(),end:t.getEnd()}).pos!==p.end&&(f=r.getChildren(E),g=B.findIndex(f,function(e){return e.pos===t.pos}),(m=f[g-1])&&E.getLineAndCharacterOfPosition(p.end).line!==E.getLineAndCharacterOfPosition(m.end).line&&(y=E.getLineAndCharacterOfPosition(p.pos).line===E.getLineAndCharacterOfPosition(m.end).line,L(p,h.indentation,y,!1,!0))),D=x,s&&196===r.kind&&-1===e&&(e=h.indentation),e}function c(e,t,r,n){B.Debug.assert(B.isNodeArray(e));var i=J(t,e),a=n,o=r;if(0!==i)for(;C.isOnToken();){var s,c,u=C.readTokenInfo(t);if(u.token.end>e.pos)break;u.token.kind===i?(o=E.getLineAndCharacterOfPosition(u.token.pos).line,S(u,t,n,t),s=void 0,s=-1!==h?h:(c=B.getLineStartPositionForPosition(u.token.pos,E),j.SmartIndenter.findFirstNonWhitespaceColumn(c,u.token.pos,E,k)),a=F(t,r,s,k.indentSize)):S(u,t,n,t)}for(var l=-1,_=0;_o||-1!==(i=D(a,o))&&(B.Debug.assert(i===a||!B.isWhiteSpaceSingleLine(E.text.charCodeAt(i-1))),S(i,o+1-i))}}function D(e,t){for(var r=t;e<=r&&B.isWhiteSpaceSingleLine(E.text.charCodeAt(r));)r--;return r!==t?r+1:-1}function S(e,t){t&&b.push(B.createTextChangeFromStartLength(e,t,""))}function R(e,t,r){(t||r)&&b.push(B.createTextChangeFromStartLength(e,t,r))}}function J(e,t){switch(e.kind){case 165:case 248:case 205:case 164:case 163:case 206:if(e.typeParameters===t)return 29;if(e.parameters===t)return 20;break;case 200:case 201:if(e.typeArguments===t)return 29;if(e.arguments===t)return 20;break;case 172:if(e.typeArguments===t)return 29;break;case 176:return 18}return 0}function z(e){switch(e){case 20:return 21;case 29:return 31;case 18:return 19}return 0}function U(e,t){if((!c||c.tabSize!==t.tabSize||c.indentSize!==t.indentSize)&&(c={tabSize:t.tabSize,indentSize:t.indentSize},u=l=void 0),t.convertTabsToSpaces){var r=void 0,n=Math.floor(e/t.indentSize),i=e%t.indentSize;return void 0===(l=l||[])[n]?(r=B.repeatString(" ",t.indentSize*n),l[n]=r):r=l[n],i?r+B.repeatString(" ",i):r}var a=Math.floor(e/t.tabSize),o=e-a*t.tabSize,s=void 0;return void 0===(u=u||[])[a]?u[a]=s=B.repeatString("\t",a):s=u[a],o?s+B.repeatString(" ",o):s}(j=B.formatting||(B.formatting={})).createTextRangeWithKind=function(e,t,r){var n={pos:e,end:t,kind:r};return B.Debug.isDebugging&&Object.defineProperty(n,"__debugKind",{get:function(){return B.Debug.formatSyntaxKind(r)}}),n},(t=e=e||{})[t.Unknown=-1]="Unknown",j.formatOnEnter=function(e,t,r){var n=t.getLineAndCharacterOfPosition(e).line;if(0===n)return[];for(var i=B.getEndLinePosition(n,t);B.isWhiteSpaceSingleLine(t.text.charCodeAt(i));)i--;return B.isLineBreak(t.text.charCodeAt(i))&&i--,d({pos:B.getStartPositionOfLine(n-1,t),end:i+1},t,r,2)},j.formatOnSemicolon=function(e,t,r){return _(o(a(e,26,t)),t,r,3)},j.formatOnOpeningCurly=function(e,t,r){var n=a(e,18,t);if(!n)return[];var i=o(n.parent);return d({pos:B.getLineStartPositionForPosition(i.getStart(t),t),end:e},t,r,4)},j.formatOnClosingCurly=function(e,t,r){return _(o(a(e,19,t)),t,r,5)},j.formatDocument=function(e,t){return d({pos:0,end:e.text.length},e,t,0)},j.formatSelection=function(e,t,r,n){return d({pos:B.getLineStartPositionForPosition(e,r),end:t},r,n,1)},j.formatNodeGivenIndentation=function(t,r,e,n,i,a){var o={pos:0,end:r.text.length};return j.getFormattingScanner(r.text,e,o.pos,o.end,function(e){return p(o,t,n,i,e,a,1,function(e){return!1},r)})},(n=r=r||{})[n.None=0]="None",n[n.LineAdded=1]="LineAdded",n[n.LineRemoved=2]="LineRemoved",j.getRangeOfEnclosingComment=function(t,r,e,n){void 0===n&&(n=B.getTokenAtPosition(t,r));var i=B.findAncestor(n,B.isJSDoc);if(i&&(n=i.parent),!(n.getStart(t)<=r&&rr.end);var f=(s=_,0,u=C(e,c=i),l=u?u.pos:s.getStart(c),c.getLineAndCharacterOfPosition(l)),g=f.line===t.line||T(_,e,t.line,i);if(p){var m=N(e,i,o,!g);if(-1!==m)return m+n;if(-1!==(m=b(e,_,t,g,i,o)))return m+n}w(o,_,e,i,a)&&!g&&(n+=o.indentSize);var y=S(_,e,t.line,i),_=(e=_).parent;t=y?i.getLineAndCharacterOfPosition(e.getStart(i)):f}return n+v(o)}function b(e,t,r,n,i,a){return!m.isDeclaration(e)&&!m.isStatementButNotDeclaration(e)||294!==t.kind&&n?-1:o(r,i,a)}function x(e,t,r,n){var i=m.findNextToken(e,t,n);return i?18===i.kind?1:19===i.kind&&r===D(i,n).line?2:0:0}function D(e,t){return t.getLineAndCharacterOfPosition(e.getStart(t))}function S(e,t,r,n){if(!m.isCallExpression(e)||!m.contains(e.arguments,t))return!1;var i=e.expression.getEnd();return m.getLineAndCharacterOfPosition(n,i).line===r}function T(e,t,r,n){if(231!==e.kind||e.elseStatement!==t)return!1;var i=m.findChildOfKind(e,90,n);return m.Debug.assert(void 0!==i),D(i,n).line===r}function C(e,t){return e.parent&&E(e.getStart(t),e.getEnd(),e.parent,t)}function E(t,r,n,i){switch(n.kind){case 172:return e(n.typeArguments);case 197:return e(n.properties);case 196:return e(n.elements);case 176:return e(n.members);case 248:case 205:case 206:case 164:case 163:case 168:case 165:case 174:case 169:return e(n.typeParameters)||e(n.parameters);case 249:case 218:case 250:case 251:case 326:return e(n.typeParameters);case 201:case 200:return e(n.typeArguments)||e(n.arguments);case 247:return e(n.declarations);case 261:case 265:return e(n.elements);case 193:case 194:return e(n.elements)}function e(e){return e&&m.rangeContainsStartEnd(function(e,t,r){for(var n=e.getChildren(r),i=1;it.text.length)return v(r);if(r.indentStyle===m.IndentStyle.None)return 0;var i=m.findPrecedingToken(e,t,void 0,!0),a=y.getRangeOfEnclosingComment(t,e,i||null);if(a&&3===a.kind)return function(e,t,r,n){var i=m.getLineAndCharacterOfPosition(e,t).line-1,a=m.getLineAndCharacterOfPosition(e,n.pos).line;if(m.Debug.assert(0<=a),i<=a)return P(m.getStartPositionOfLine(a,e),t,e,r);var o=m.getStartPositionOfLine(i,e),s=F(o,t,e,r),c=s.column,u=s.character;return 0!==c&&42===e.text.charCodeAt(o+u)?c-1:c}(t,e,r,a);if(!i)return v(r);if(m.isStringOrRegularExpressionOrTemplateLiteral(i.kind)&&i.getStart(t)<=e&&e",joiner:", "})},x.prototype.getOptionsForInsertNodeBefore=function(e,t,r){return I.isStatement(e)||I.isClassElement(e)?{suffix:r?this.newLineCharacter+this.newLineCharacter:this.newLineCharacter}:I.isVariableDeclaration(e)?{suffix:", "}:I.isParameter(e)?I.isParameter(t)?{suffix:", "}:{}:I.isStringLiteral(e)&&I.isImportDeclaration(e.parent)||I.isNamedImports(e)?{suffix:", "}:I.isImportSpecifier(e)?{suffix:","+(r?this.newLineCharacter:" ")}:I.Debug.failBadSyntaxKind(e)},x.prototype.insertNodeAtConstructorStart=function(e,t,r){var n=I.firstOrUndefined(t.body.statements);n&&t.body.multiLine?this.insertNodeBefore(e,n,r):this.replaceConstructorBody(e,t,__spreadArrays([r],t.body.statements))},x.prototype.insertNodeAtConstructorEnd=function(e,t,r){var n=I.lastOrUndefined(t.body.statements);n&&t.body.multiLine?this.insertNodeAfter(e,n,r):this.replaceConstructorBody(e,t,__spreadArrays(t.body.statements,[r]))},x.prototype.replaceConstructorBody=function(e,t,r){this.replaceNode(e,t.body,I.factory.createBlock(r,!0))},x.prototype.insertNodeAtEndOfScope=function(e,t,r){var n=f(e,t.getLastToken(),{});this.insertNodeAt(e,n,r,{prefix:I.isLineBreak(e.text.charCodeAt(t.getLastToken().pos))?this.newLineCharacter:this.newLineCharacter+this.newLineCharacter,suffix:this.newLineCharacter})},x.prototype.insertNodeAtClassStart=function(e,t,r){this.insertNodeAtStartWorker(e,t,r)},x.prototype.insertNodeAtObjectStart=function(e,t,r){this.insertNodeAtStartWorker(e,t,r)},x.prototype.insertNodeAtStartWorker=function(e,t,r){var n,i=null!==(n=this.guessIndentationFromExistingMembers(e,t))&&void 0!==n?n:this.computeIndentationForNewMember(e,t);this.insertNodeAt(e,S(t).pos,r,this.getInsertNodeAtStartInsertOptions(e,t,i))},x.prototype.guessIndentationFromExistingMembers=function(e,t){for(var r,n=t,i=0,a=S(t);il.textSpanEnd(r)?"quit":(l.isArrowFunction(e)||l.isMethodDeclaration(e)||l.isFunctionExpression(e)||l.isFunctionDeclaration(e))&&l.textSpansEqual(r,l.createTextSpanFromNode(e,t))})}}s=l.codefix||(l.codefix={}),a="addMissingAsync",e=[l.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code,l.Diagnostics.Type_0_is_not_assignable_to_type_1.code,l.Diagnostics.Type_0_is_not_comparable_to_type_1.code],s.registerCodeFix({fixIds:[a],errorCodes:e,getCodeActions:function(t){var a,o,e=t.sourceFile,r=t.errorCode,n=t.cancellationToken,i=t.program,s=t.span,c=l.find(i.getDiagnosticsProducingTypeChecker().getDiagnostics(e,n),(a=s,o=r,function(e){var t=e.start,r=e.length,n=e.relatedInformation,i=e.code;return l.isNumber(t)&&l.isNumber(r)&&l.textSpansEqual({start:t,length:r},a)&&i===o&&!!n&&l.some(n,function(e){return e.code===l.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code})})),u=d(e,c&&c.relatedInformation&&l.find(c.relatedInformation,function(e){return e.code===l.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code}));if(u){return[_(t,u,function(e){return l.textChanges.ChangeTracker.with(t,e)})]}},getAllCodeActions:function(i){var a=i.sourceFile,o=new l.Set;return s.codeFixAll(i,e,function(t,e){var r=e.relatedInformation&&l.find(e.relatedInformation,function(e){return e.code===l.Diagnostics.Did_you_mean_to_mark_this_function_as_async.code}),n=d(a,r);if(n){return _(i,n,function(e){return e(t),[]},o)}})}})}(ts=ts||{}),function(d){var _,s,p,f,g;function l(e,t,n,i,r,a){var o=e.sourceFile,s=e.program,c=e.cancellationToken,u=function(e,u,i,a,l){var t=function(e,t){if(d.isPropertyAccessExpression(e.parent)&&d.isIdentifier(e.parent.expression))return{identifiers:[e.parent.expression],isCompleteFix:!0};if(d.isIdentifier(e))return{identifiers:[e],isCompleteFix:!0};if(d.isBinaryExpression(e)){for(var r=void 0,n=!0,i=0,a=[e.left,e.right];id.textSpanEnd(r)?"quit":d.isExpression(e)&&d.textSpansEqual(r,d.createTextSpanFromNode(e,t))});return _&&(a=t,o=e,s=r,c=n,u=i.getDiagnosticsProducingTypeChecker().getDiagnostics(a,c),d.some(u,function(e){var t=e.start,r=e.length,n=e.relatedInformation,i=e.code;return d.isNumber(t)&&d.isNumber(r)&&d.textSpansEqual({start:t,length:r},s)&&i===o&&!!n&&d.some(n,function(e){return e.code===d.Diagnostics.Did_you_forget_to_use_await.code})}))&&v(_)?_:void 0}function v(e){return 32768&e.kind||d.findAncestor(e,function(e){return e.parent&&d.isArrowFunction(e.parent)&&e.parent.body===e||d.isBlock(e)&&(248===e.parent.kind||205===e.parent.kind||206===e.parent.kind||164===e.parent.kind)})}function h(e,t,r,n,i,a){if(d.isBinaryExpression(i))for(var o=0,s=[i.left,i.right];o=I.ModuleKind.ES2015)return r?1:2;if(I.isInJSFile(e))return I.isExternalModule(e)?1:3;for(var n=0,i=e.statements;n"),[u.Diagnostics.Convert_function_expression_0_to_arrow_function,s?s.text:u.ANONYMOUS]}return e.replaceNode(t,o,u.factory.createToken(84)),e.insertText(t,s.end," = "),e.insertText(t,c.pos," =>"),[u.Diagnostics.Convert_function_declaration_0_to_arrow_function,s.text]}}o=u.codefix||(u.codefix={}),s="fixImplicitThis",e=[u.Diagnostics.this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation.code],o.registerCodeFix({errorCodes:e,getCodeActions:function(e){var t,r=e.sourceFile,n=e.program,i=e.span,a=u.textChanges.ChangeTracker.with(e,function(e){t=c(e,r,i.start,n.getTypeChecker())});return t?[o.createCodeFixAction(s,a,t,s,u.Diagnostics.Fix_all_implicit_this_errors)]:u.emptyArray},fixIds:[s],getAllCodeActions:function(r){return o.codeFixAll(r,e,function(e,t){c(e,t.file,t.start,r.program.getTypeChecker())})}})}(ts=ts||{}),function(c){var u,l,e;u=c.codefix||(c.codefix={}),l="fixIncorrectNamedTupleSyntax",e=[c.Diagnostics.A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type.code,c.Diagnostics.A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type.code],u.registerCodeFix({errorCodes:e,getCodeActions:function(e){var t,r,n,i=e.sourceFile,a=e.span,o=(t=i,r=a.start,n=c.getTokenAtPosition(t,r),c.findAncestor(n,function(e){return 191===e.kind})),s=c.textChanges.ChangeTracker.with(e,function(e){return function(e,t,r){if(!r)return;var n=r.type,i=!1,a=!1;for(;179===n.kind||180===n.kind||185===n.kind;)179===n.kind?i=!0:180===n.kind&&(a=!0),n=n.type;var o=c.factory.updateNamedTupleMember(r,r.dotDotDotToken||(a?c.factory.createToken(25):void 0),r.name,r.questionToken||(i?c.factory.createToken(57):void 0),n);if(o===r)return;e.replaceNode(t,r,o)}(e,i,o)});return[u.createCodeFixAction(l,s,c.Diagnostics.Move_labeled_tuple_element_modifiers_to_labels,l,c.Diagnostics.Move_labeled_tuple_element_modifiers_to_labels)]},fixIds:[l]})}(ts=ts||{}),function(f){var c,u,e;function l(e,t,r,n){var i=f.getTokenAtPosition(e,t),a=i.parent;if(n!==f.Diagnostics.No_overload_matches_this_call.code&&n!==f.Diagnostics.Type_0_is_not_assignable_to_type_1.code||f.isJsxAttribute(a)){var o,s,c,u,l,_,d,p=r.program.getTypeChecker();return f.isPropertyAccessExpression(a)&&a.name===i?(f.Debug.assert(f.isIdentifierOrPrivateIdentifier(i),"Expected an identifier for spelling (property access)"),o=p.getTypeAtLocation(a.expression),32&a.flags&&(o=p.getNonNullableType(o)),l=p.getSuggestedSymbolForNonexistentProperty(i,o)):f.isImportSpecifier(a)&&a.name===i?(f.Debug.assertNode(i,f.isIdentifier,"Expected an identifier for spelling (import)"),(s=function(e,t,r){if(!r||!f.isStringLiteralLike(r.moduleSpecifier))return;var n=f.getResolvedModule(e,r.moduleSpecifier.text);return n?t.program.getSourceFile(n.resolvedFileName):void 0}(e,r,f.findAncestor(i,f.isImportDeclaration)))&&s.symbol&&(l=p.getSuggestedSymbolForNonexistentModule(i,s.symbol))):l=f.isJsxAttribute(a)&&a.name===i?(f.Debug.assertNode(i,f.isIdentifier,"Expected an identifier for JSX attribute"),c=f.findAncestor(i,f.isJsxOpeningLikeElement),u=p.getContextualTypeForArgumentAtIndex(c,0),p.getSuggestedSymbolForNonexistentJSXAttribute(i,u)):(_=f.getMeaningFromLocation(i),d=f.getTextOfNode(i),f.Debug.assert(void 0!==d,"name should be defined"),p.getSuggestedSymbolForNonexistentSymbol(i,d,function(e){var t=0;4&e&&(t|=1920);2&e&&(t|=788968);1&e&&(t|=111551);return t}(_))),void 0===l?void 0:{node:i,suggestedSymbol:l}}}function _(e,t,r,n,i){var a,o=f.symbolName(n);!f.isIdentifierText(o,i)&&f.isPropertyAccessExpression(r.parent)?(a=n.valueDeclaration,f.isNamedDeclaration(a)&&f.isPrivateIdentifier(a.name)?e.replaceNode(t,r,f.factory.createIdentifier(o)):e.replaceNode(t,r.parent,f.factory.createElementAccessExpression(r.parent.expression,f.factory.createStringLiteral(o)))):e.replaceNode(t,r,f.factory.createIdentifier(o))}c=f.codefix||(f.codefix={}),u="fixSpelling",e=[f.Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2.code,f.Diagnostics.Cannot_find_name_0_Did_you_mean_1.code,f.Diagnostics.Cannot_find_name_0_Did_you_mean_the_instance_member_this_0.code,f.Diagnostics.Cannot_find_name_0_Did_you_mean_the_static_member_1_0.code,f.Diagnostics.Module_0_has_no_exported_member_1_Did_you_mean_2.code,f.Diagnostics.No_overload_matches_this_call.code,f.Diagnostics.Type_0_is_not_assignable_to_type_1.code],c.registerCodeFix({errorCodes:e,getCodeActions:function(e){var t=e.sourceFile,r=e.errorCode,n=l(t,e.span.start,e,r);if(n){var i=n.node,a=n.suggestedSymbol,o=e.host.getCompilationSettings().target,s=f.textChanges.ChangeTracker.with(e,function(e){return _(e,t,i,a,o)});return[c.createCodeFixAction("spelling",s,[f.Diagnostics.Change_spelling_to_0,f.symbolName(a)],u,f.Diagnostics.Fix_all_detected_spelling_errors)]}},fixIds:[u],getAllCodeActions:function(i){return c.codeFixAll(i,e,function(e,t){var r=l(t.file,t.start,i,t.code),n=i.host.getCompilationSettings().target;r&&_(e,i.sourceFile,r.node,r.suggestedSymbol,n)})}})}(ts=ts||{}),function(h){var b,x,e,D,S,T,C,t;function s(e,t,r){var n=e.createSymbol(4,t.escapedText);n.type=e.getTypeAtLocation(r);var i=h.createSymbolTable([n]);return e.createAnonymousType(void 0,i,[],[],void 0,void 0)}function u(e,t,r,n){if(t.body&&h.isBlock(t.body)&&1===h.length(t.body.statements)){var i=h.first(t.body.statements);if(h.isExpressionStatement(i)&&c(e,t,e.getTypeAtLocation(i.expression),r,n))return{declaration:t,kind:x.MissingReturnStatement,expression:i.expression,statement:i,commentSource:i.expression};if(h.isLabeledStatement(i)&&h.isExpressionStatement(i.statement)){var a=h.factory.createObjectLiteralExpression([h.factory.createPropertyAssignment(i.label,i.statement.expression)]);if(c(e,t,s(e,i.label,i.statement.expression),r,n))return h.isArrowFunction(t)?{declaration:t,kind:x.MissingParentheses,expression:a,statement:i,commentSource:i.statement.expression}:{declaration:t,kind:x.MissingReturnStatement,expression:a,statement:i,commentSource:i.statement.expression}}else if(h.isBlock(i)&&1===h.length(i.statements)){var o=h.first(i.statements);if(h.isLabeledStatement(o)&&h.isExpressionStatement(o.statement)){a=h.factory.createObjectLiteralExpression([h.factory.createPropertyAssignment(o.label,o.statement.expression)]);if(c(e,t,s(e,o.label,o.statement.expression),r,n))return{declaration:t,kind:x.MissingReturnStatement,expression:a,statement:i,commentSource:o}}}}}function c(e,t,r,n,i){var a,o;return i&&(r=(a=e.getSignatureFromDeclaration(t))?(h.hasSyntacticModifier(t,256)&&(r=e.createPromiseType(r)),o=e.createSignature(t,a.typeParameters,a.thisParameter,a.parameters,r,void 0,a.minArgumentCount,a.flags),e.createAnonymousType(void 0,h.createSymbolTable(),[o],[],void 0,void 0)):e.getAnyType()),e.isTypeAssignableTo(r,n)}function E(e,t,r,n){var i=h.getTokenAtPosition(t,r);if(i.parent){var a=h.findAncestor(i.parent,h.isFunctionLikeDeclaration);switch(n){case h.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code:if(!(a&&a.body&&a.type&&h.rangeContainsRange(a.type,i)))return;return u(e,a,e.getTypeFromTypeNode(a.type),!1);case h.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code:if(!a||!h.isCallExpression(a.parent)||!a.body)return;var o=a.parent.arguments.indexOf(a),s=e.getContextualTypeForArgumentAtIndex(a.parent,o);if(!s)return;return u(e,a,s,!0);case h.Diagnostics.Type_0_is_not_assignable_to_type_1.code:if(!h.isDeclarationName(i)||!h.isVariableLike(i.parent)&&!h.isJsxAttribute(i.parent))return;var c=function(e){switch(e.kind){case 246:case 159:case 195:case 162:case 285:return e.initializer;case 277:return e.initializer&&(h.isJsxExpression(e.initializer)?e.initializer.expression:void 0);case 286:case 161:case 288:case 328:case 322:return}}(i.parent);if(!c||!h.isFunctionLikeDeclaration(c)||!c.body)return;return u(e,c,e.getTypeAtLocation(i.parent),!0)}}}function k(e,t,r,n){h.suppressLeadingAndTrailingTrivia(r);var i=h.probablyUsesSemicolons(t);e.replaceNode(t,n,h.factory.createReturnStatement(r),{leadingTriviaOption:h.textChanges.LeadingTriviaOption.Exclude,trailingTriviaOption:h.textChanges.TrailingTriviaOption.Exclude,suffix:i?";":void 0})}function N(e,t,r,n,i,a){var o=a||h.needsParentheses(n)?h.factory.createParenthesizedExpression(n):n;h.suppressLeadingAndTrailingTrivia(i),h.copyComments(i,o),e.replaceNode(t,r.body,o)}function A(e,t,r,n){e.replaceNode(t,r.body,h.factory.createParenthesizedExpression(n))}b=h.codefix||(h.codefix={}),D="returnValueCorrect",S="fixAddReturnStatement",T="fixRemoveBracesFromArrowFunctionBody",C="fixWrapTheBlockWithParen",t=[h.Diagnostics.A_function_whose_declared_type_is_neither_void_nor_any_must_return_a_value.code,h.Diagnostics.Type_0_is_not_assignable_to_type_1.code,h.Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1.code],(e=x=x||{})[e.MissingReturnStatement=0]="MissingReturnStatement",e[e.MissingParentheses=1]="MissingParentheses",b.registerCodeFix({errorCodes:t,fixIds:[S,T,C],getCodeActions:function(e){var t,r,n,i,a,o,s,c,u,l,_,d,p,f=e.program,g=e.sourceFile,m=e.span.start,y=e.errorCode,v=E(f.getTypeChecker(),g,m,y);if(v)return v.kind===x.MissingReturnStatement?h.append([(l=e,_=v.expression,d=v.statement,p=h.textChanges.ChangeTracker.with(l,function(e){return k(e,l.sourceFile,_,d)}),b.createCodeFixAction(D,p,h.Diagnostics.Add_a_return_statement,S,h.Diagnostics.Add_all_missing_return_statement))],h.isArrowFunction(v.declaration)?(a=e,o=v.declaration,s=v.expression,c=v.commentSource,u=h.textChanges.ChangeTracker.with(a,function(e){return N(e,a.sourceFile,o,s,c,!1)}),b.createCodeFixAction(D,u,h.Diagnostics.Remove_braces_from_arrow_function_body,T,h.Diagnostics.Remove_braces_from_all_arrow_function_bodies_with_relevant_issues)):void 0):[(t=e,r=v.declaration,n=v.expression,i=h.textChanges.ChangeTracker.with(t,function(e){return A(e,t.sourceFile,r,n)}),b.createCodeFixAction(D,i,h.Diagnostics.Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal,C,h.Diagnostics.Wrap_all_object_literal_with_parentheses))]},getAllCodeActions:function(n){return b.codeFixAll(n,t,function(e,t){var r=E(n.program.getTypeChecker(),t.file,t.start,t.code);if(r)switch(n.fixId){case S:k(e,t.file,r.expression,r.statement);break;case T:if(!h.isArrowFunction(r.declaration))return;N(e,t.file,r.declaration,r.expression,r.commentSource,!1);break;case C:if(!h.isArrowFunction(r.declaration))return;A(e,t.file,r.declaration,r.expression);break;default:h.Debug.fail(JSON.stringify(n.fixId))}})}})}(ts=ts||{}),function(g){var p,e,t,_,r,d;function c(e,t,r,n){var i=g.getTokenAtPosition(e,t);if(g.isIdentifier(i)||g.isPrivateIdentifier(i)){var a=i.parent;if(g.isPropertyAccessExpression(a)){var o=g.skipConstraint(r.getTypeAtLocation(a.expression)),s=o.symbol;if(s&&s.declarations){var c=g.find(s.declarations,g.isClassLike);if(c||!g.isPrivateIdentifier(i)){var u=c||g.find(s.declarations,g.isInterfaceDeclaration);if(u&&!n.isSourceFileFromExternalLibrary(u.getSourceFile())){var l=(o.target||o)!==r.getDeclaredTypeOfSymbol(s);if(l&&(g.isPrivateIdentifier(i)||g.isInterfaceDeclaration(u)))return;var _=u.getSourceFile(),d=(l?32:0)|(g.startsWithUnderscore(i.text)?8:0),p=g.isSourceFileJS(_);return{kind:1,token:i,call:g.tryCast(a.parent,g.isCallExpression),modifierFlags:d,parentDeclaration:u,declSourceFile:_,isJSFile:p}}var f=g.find(s.declarations,g.isEnumDeclaration);return!f||g.isPrivateIdentifier(i)||n.isSourceFileFromExternalLibrary(f.getSourceFile())?void 0:{kind:0,token:i,parentDeclaration:f}}}}}}function f(e,t,r,n,i){var a=n.text;if(i){if(218===r.kind)return;var o=r.name.getText(),s=m(g.factory.createIdentifier(o),a);e.insertNodeAfter(t,r,s)}else if(g.isPrivateIdentifier(n)){var c=g.factory.createPropertyDeclaration(void 0,void 0,a,void 0,void 0,void 0),u=h(r);u?e.insertNodeAfter(t,u,c):e.insertNodeAtClassStart(t,r,c)}else{var l=g.getFirstConstructorWithBody(r);if(!l)return;var _=m(g.factory.createThis(),a);e.insertNodeAtConstructorEnd(t,l,_)}}function m(e,t){return g.factory.createExpressionStatement(g.factory.createAssignment(g.factory.createPropertyAccessExpression(e,t),g.factory.createIdentifier("undefined")))}function y(e,t,r){var n,i,a,o;return(213===r.parent.parent.kind?(n=r.parent.parent,i=r.parent===n.left?n.right:n.left,a=e.getWidenedType(e.getBaseTypeOfLiteralType(e.getTypeAtLocation(i))),e.typeToTypeNode(a,t,void 0)):(o=e.getContextualType(r.parent))?e.typeToTypeNode(o,void 0,void 0):void 0)||g.factory.createKeywordTypeNode(128)}function v(e,t,r,n,i,a){var o=g.factory.createPropertyDeclaration(void 0,a?g.factory.createNodeArray(g.factory.createModifiersFromModifierFlags(a)):void 0,n,void 0,i,void 0),s=h(r);s?e.insertNodeAfter(t,s,o):e.insertNodeAtClassStart(t,r,o)}function h(e){for(var t,r=0,n=e.members;r=s.ModuleKind.ES2015&&i":">","}":"}"};function l(e,t,r,n,i){var a,o,s=r.getText()[n];a=s,_.hasProperty(u,a)&&(o=i?u[s]:"{"+_.quote(s,t)+"}",e.replaceRangeWithText(r,{pos:n,end:n+1},o))}}(_.codefix||(_.codefix={}))}(ts=ts||{}),function(y){var g,m,v,c,h,t;function b(e,t,r){e.replaceNode(t,r.parent,y.factory.createKeywordTypeNode(151))}function x(e,t){return g.createCodeFixAction(m,e,t,c,y.Diagnostics.Delete_all_unused_declarations)}function D(e,t,r){e.delete(t,y.Debug.checkDefined(y.cast(r.parent,y.isDeclarationWithTypeParameterChildren).typeParameters,"The type parameter to delete should exist"))}function S(e){return 99===e.kind?y.tryCast(e.parent,y.isImportDeclaration):void 0}function T(e,t){return y.isVariableDeclarationList(t.parent)&&y.first(t.parent.getChildren(e))===t}function C(e,t,r){e.delete(t,229===r.parent.kind?r.parent:r)}function E(t,r,e){y.forEach(e.elements,function(e){return t.delete(r,e)})}function k(t,e,r,n){e!==y.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code&&(135===n.kind&&(n=y.cast(n.parent,y.isInferTypeNode).typeParameter.name),y.isIdentifier(n)&&function(e){switch(e.parent.kind){case 159:case 158:return 1;case 246:switch(e.parent.parent.parent.kind){case 236:case 235:return 1}}return}(n)&&(t.replaceNode(r,n,y.factory.createIdentifier("_"+n.text)),y.isParameter(n.parent)&&y.getJSDocParameterTags(n.parent).forEach(function(e){y.isIdentifier(e.name)&&t.replaceNode(r,e.name,y.factory.createIdentifier("_"+e.name.text))})))}function N(e,t,r,n,i,a){var o,s,c,u,l,_,d,p,f,g,m;s=r,c=e,u=n,l=i,_=a,d=(o=t).parent,y.isParameter(d)?function(t,r,e,n,i,a){void 0===a&&(a=!1);!function(e,t,r){var n=e.parent;switch(n.kind){case 164:var i=t.getSymbolAtLocation(n.name);if(y.isMemberSymbolInBaseType(i,t))return;case 165:case 248:return 1;case 205:case 206:var a=n.parameters,o=a.indexOf(e);return y.Debug.assert(-1!==o,"The parameter should already be in the list"),r?a.slice(o+1).every(function(e){return 78===e.name.kind&&!e.symbol.isReferenced}):o===a.length-1;case 167:return;default:return y.Debug.failBadSyntaxKind(n)}}(e,n,a)||(e.modifiers&&0t&&r.delete(n,e.arguments[t])})}(t,r,e,i,n)))}(s,c,d,u,l,_):s.delete(c,y.isImportClause(d)?o:y.isComputedPropertyName(d)?d.parent:d),y.isIdentifier(t)&&(p=r,f=e,g=t,m=n,y.FindAllReferences.Core.eachSymbolReferenceInFile(g,m,f,function(e){y.isPropertyAccessExpression(e.parent)&&e.parent.name===e&&(e=e.parent),y.isBinaryExpression(e.parent)&&y.isExpressionStatement(e.parent.parent)&&e.parent.left===e&&p.delete(f,e.parent.parent)}))}g=y.codefix||(y.codefix={}),m="unusedIdentifier",v="unusedIdentifier_prefix",c="unusedIdentifier_delete",h="unusedIdentifier_infer",t=[y.Diagnostics._0_is_declared_but_its_value_is_never_read.code,y.Diagnostics._0_is_declared_but_never_used.code,y.Diagnostics.Property_0_is_declared_but_its_value_is_never_read.code,y.Diagnostics.All_imports_in_import_declaration_are_unused.code,y.Diagnostics.All_destructured_elements_are_unused.code,y.Diagnostics.All_variables_are_unused.code,y.Diagnostics.All_type_parameters_are_unused.code],g.registerCodeFix({errorCodes:t,getCodeActions:function(e){var t=e.errorCode,r=e.sourceFile,n=e.program,i=n.getTypeChecker(),a=n.getSourceFiles(),o=y.getTokenAtPosition(r,e.span.start);if(y.isJSDocTemplateTag(o))return[x(y.textChanges.ChangeTracker.with(e,function(e){return e.delete(r,o)}),y.Diagnostics.Remove_template_tag)];if(29===o.kind)return[x(l=y.textChanges.ChangeTracker.with(e,function(e){return D(e,r,o)}),y.Diagnostics.Remove_type_parameters)];var s=S(o);if(s)return[x(l=y.textChanges.ChangeTracker.with(e,function(e){return e.delete(r,s)}),[y.Diagnostics.Remove_import_from_0,y.showModuleSpecifier(s)])];if(y.isObjectBindingPattern(o.parent)){if(y.isParameter(o.parent.parent)){var c=o.parent.elements,u=[1A.length?w(y,i.getSignatureFromDeclaration(n[n.length-1]),p,_,L(y)):(I.Debug.assert(n.length===A.length,"Declarations and signatures should match count"),u(function(e,t,r,n,i){for(var a=e[0],o=e[0].minArgumentCount,s=!1,c=0,u=e;c=a.parameters.length&&(!I.signatureHasRestParameter(l)||I.signatureHasRestParameter(a))&&(a=l)}var _=a.parameters.length-(I.signatureHasRestParameter(a)?1:0),d=a.parameters.map(function(e){return e.name}),p=M(_,d,void 0,o,!1);{var f,g;s&&(f=I.factory.createArrayTypeNode(I.factory.createKeywordTypeNode(128)),g=I.factory.createParameterDeclaration(void 0,void 0,I.factory.createToken(25),d[_]||"rest",o<=_?I.factory.createToken(57):void 0,f,void 0),p.push(g))}return function(e,t,r,n,i,a,o){return I.factory.createMethodDeclaration(void 0,e,void 0,t,r?I.factory.createToken(57):void 0,n,i,a,L(o))}(n,t,r,void 0,p,void 0,i)}(A,_,g,p,y))))}}function w(e,t,r,n,i){var a=function(e,t,r,n,i,a,o,s,c){var u=e.program,l=u.getTypeChecker(),_=I.getEmitScriptTarget(u.getCompilerOptions()),d=1073742081|(0===t?268435456:0),p=l.signatureToSignatureDeclaration(r,164,n,d,O(e));if(!p)return;var f=p.typeParameters,g=p.parameters,m=p.type;{var y,v,h;c&&(f&&(y=I.sameMap(f,function(e){var t,r=e.constraint,n=e.default;return r&&(t=R(r,_))&&(r=t.typeNode,B(c,t.symbols)),n&&(t=R(n,_))&&(n=t.typeNode,B(c,t.symbols)),I.factory.updateTypeParameterDeclaration(e,e.name,r,n)}),f!==y&&(f=I.setTextRange(I.factory.createNodeArray(y,f.hasTrailingComma),f))),v=I.sameMap(g,function(e){var t=R(e.type,_),r=e.type;return t&&(r=t.typeNode,B(c,t.symbols)),I.factory.updateParameterDeclaration(e,e.decorators,e.modifiers,e.dotDotDotToken,e.name,e.questionToken,r,e.initializer)}),g!==v&&(g=I.setTextRange(I.factory.createNodeArray(v,g.hasTrailingComma),g)),!m||(h=R(m,_))&&(m=h.typeNode,B(c,h.symbols)))}return I.factory.updateMethodDeclaration(p,void 0,i,p.asteriskToken,a,o?I.factory.createToken(57):void 0,f,g,m,s)}(s,e,t,o,r,n,g,i,c);a&&u(a)}}function h(e,t,r,n,i,a,o){var s=e.typeToTypeNode(r,n,a,o);if(s&&I.isImportTypeNode(s)){var c=R(s,i);if(c)return B(t,c.symbols),c.typeNode}return s}function M(e,t,r,n,i){for(var a=[],o=0;o=o.pos?s.getEnd():o.getEnd()),u=a?function(e){for(;e.parent;){if(f(e)&&!f(e.parent))return e;e=e.parent}return}(o):function(e,t){for(;e.parent;){if(f(e)&&0!==t.length&&e.end>=t.start+t.length)return e;e=e.parent}return}(o,c),l=u&&f(u)?function(e){if(p(e))return e;if(d.isVariableStatement(e)){var t=d.getSingleVariableOfVariableStatement(e),r=null==t?void 0:t.initializer;return r&&p(r)?r:void 0}return e.expression&&p(e.expression)?e.expression:void 0}(u):void 0;if(!l)return{error:d.getLocaleSpecificMessage(d.Diagnostics.Could_not_find_convertible_access_expression)};var _=n.getTypeChecker();return d.isConditionalExpression(l)?function(e,t){var r=e.condition,n=y(e.whenTrue);if(!n||t.isNullableType(t.getTypeAtLocation(n)))return{error:d.getLocaleSpecificMessage(d.Diagnostics.Could_not_find_convertible_access_expression)};{if((d.isPropertyAccessExpression(r)||d.isIdentifier(r))&&m(r,n.expression))return{info:{finalExpression:n,occurrences:[r],expression:e}};if(d.isBinaryExpression(r)){var i=g(n.expression,r);return i?{info:{finalExpression:n,occurrences:i,expression:e}}:{error:d.getLocaleSpecificMessage(d.Diagnostics.Could_not_find_matching_access_expressions)}}}}(l,_):function(e){if(55!==e.operatorToken.kind)return{error:d.getLocaleSpecificMessage(d.Diagnostics.Can_only_convert_logical_AND_access_chains)};var t=y(e.right);if(!t)return{error:d.getLocaleSpecificMessage(d.Diagnostics.Could_not_find_convertible_access_expression)};var r=g(t.expression,e.left);return r?{info:{finalExpression:t,occurrences:r,expression:e}}:{error:d.getLocaleSpecificMessage(d.Diagnostics.Could_not_find_matching_access_expressions)}}(l)}}function g(e,t){for(var r=[];d.isBinaryExpression(t)&&55===t.operatorToken.kind;){var n=m(d.skipParentheses(e),d.skipParentheses(t.right));if(!n)break;r.push(n),e=n,t=t.left}var i=m(e,t);return i&&r.push(i),0=t&&Y.isFunctionLikeDeclaration(e)&&!Y.isConstructorDeclaration(e)})}((te(n.range)?Y.last(n.range):n.range).end,a);F?A.insertNodeBefore(i.file,F,T,!0):A.insertNodeAtEndOfScope(i.file,a,T),p.writeFixes(A);var P=[],w=function(e,t,r){var n=Y.factory.createIdentifier(r);if(Y.isClassLike(e)){var i=t.facts&Z.InStaticRegion?Y.factory.createIdentifier(e.name.text):Y.factory.createThis();return Y.factory.createPropertyAccessExpression(i,n)}return n}(a,n,g),I=Y.factory.createCallExpression(w,S,h);if(n.facts&Z.IsGenerator&&(I=Y.factory.createYieldExpression(Y.factory.createToken(41),I)),n.facts&Z.IsAsyncFunction&&(I=Y.factory.createAwaitExpression(I)),re(e)&&(I=Y.factory.createJsxExpression(void 0,I)),r.length&&!s)if(Y.Debug.assert(!N,"Expected no returnValueProperty"),Y.Debug.assert(!(n.facts&Z.HasReturn),"Expected RangeFacts.HasReturn flag to be unset"),1===r.length){var O=r[0];P.push(Y.factory.createVariableStatement(void 0,Y.factory.createVariableDeclarationList([Y.factory.createVariableDeclaration(Y.getSynthesizedDeepClone(O.name),void 0,Y.getSynthesizedDeepClone(O.type),I)],O.parent.flags)))}else{for(var M=[],L=[],R=r[0].parent.flags,B=!1,j=0,J=r;je)return r||n[0];if(i&&!Y.isPropertyDeclaration(s)){if(void 0!==r)return s;i=!1}r=s}return void 0===r?Y.Debug.fail():r}(d.pos,p),b.insertNodeBefore(r.file,v,_,!0),b.replaceNode(r.file,d,h)):(g=Y.factory.createVariableDeclaration(o,void 0,c,u),(m=function(e,t){for(var r;void 0!==e&&e!==t;){if(Y.isVariableDeclaration(e)&&e.initializer===r&&Y.isVariableDeclarationList(e.parent)&&1e.pos)break;i=s}return!i&&Y.isCaseClause(n)?(Y.Debug.assert(Y.isSwitchStatement(n.parent.parent),"Grandparent isn't a switch statement"),n.parent.parent):Y.Debug.checkDefined(i,"prevStatement failed to get set")}Y.Debug.assert(n!==t,"Didn't encounter a block-like before encountering scope")}}(d,p)).pos?b.insertNodeAtTopOfFile(r.file,y,!1):b.insertNodeBefore(r.file,v,y,!1),230===d.parent.kind?b.delete(r.file,d.parent):(h=Y.factory.createIdentifier(o),re(d)&&(h=Y.factory.createJsxExpression(void 0,h)),b.replaceNode(r.file,d,h))));var x=b.getChanges(),D=d.getSourceFile().fileName,S=Y.getRenameLocation(x,D,o,!0);return{renameFilename:D,renameLocation:S,edits:x}}(Y.isExpression(x)?x:x.statements[0].expression,h[y],D[y],g.facts,m)}Y.Debug.fail("Unrecognized action name")}function l(e){return{message:e,code:0,category:Y.DiagnosticCategory.Message,key:e}}function E(e,u,t){void 0===t&&(t=!0);var r=u.length;if(0===r&&!t)return{errors:[Y.createFileDiagnostic(e,u.start,r,U.cannotExtractEmpty)]};var n,i=0===r&&t,a=Y.getTokenAtPosition(e,u.start),o=i?(n=a,Y.findAncestor(n,function(e){return e.parent&&b(e)&&!Y.isBinaryExpression(e.parent)})):Y.getParentNodeInSpan(a,e,u),s=Y.findTokenOnLeftOfPosition(e,Y.textSpanEnd(u)),c=i?o:Y.getParentNodeInSpan(s,e,u),l=[],_=Z.None;if(!o||!c)return{errors:[Y.createFileDiagnostic(e,u.start,r,U.cannotExtractRange)]};if(o.parent!==c.parent)return{errors:[Y.createFileDiagnostic(e,u.start,r,U.cannotExtractRange)]};if(o!==c){if(!A(o.parent))return{errors:[Y.createFileDiagnostic(e,u.start,r,U.cannotExtractRange)]};for(var d=[],p=0,f=o.parent.statements;p=u.start+u.length)return(o=o||[]).push(Y.createDiagnosticForNode(t,U.cannotExtractSuper)),!0}else _|=Z.UsesThis;break;case 206:Y.forEachChild(t,function e(t){if(Y.isThis(t))_|=Z.UsesThis;else{if(Y.isClassLike(t)||Y.isFunctionLike(t)&&!Y.isArrowFunction(t))return!1;Y.forEachChild(t,e)}});case 249:case 248:Y.isSourceFile(t.parent)&&void 0===t.parent.externalModuleIndicator&&(o=o||[]).push(Y.createDiagnosticForNode(t,U.functionWillNotBeVisibleInTheNewScope));case 218:case 205:case 164:case 165:case 166:case 167:return!1}var i=c;switch(t.kind){case 231:case 244:c=0;break;case 227:t.parent&&244===t.parent.kind&&t.parent.finallyBlock===t&&(c=4);break;case 282:case 281:c|=1;break;default:Y.isIterationStatement(t,!1)&&(c|=3)}switch(t.kind){case 186:case 107:_|=Z.UsesThis;break;case 242:var a=t.label;(s=s||[]).push(a.escapedText),Y.forEachChild(t,e),s.pop();break;case 238:case 237:var a=t.label;a?Y.contains(s,a.escapedText)||(o=o||[]).push(Y.createDiagnosticForNode(t,U.cannotExtractRangeContainingLabeledBreakOrContinueStatementWithTargetOutsideOfTheRange)):c&(238===t.kind?1:2)||(o=o||[]).push(Y.createDiagnosticForNode(t,U.cannotExtractRangeContainingConditionalBreakOrContinueStatements));break;case 210:_|=Z.IsAsyncFunction;break;case 216:_|=Z.IsGenerator;break;case 239:4&c?_|=Z.HasReturn:(o=o||[]).push(Y.createDiagnosticForNode(t,U.cannotExtractRangeContainingConditionalReturnStatement));break;default:Y.forEachChild(t,e)}c=i}(e),o}}function k(e){return Y.isFunctionLikeDeclaration(e)||Y.isSourceFile(e)||Y.isModuleBlock(e)||Y.isClassLike(e)}function N(e,t){var r,n,i=t.file,a=function(e){var t=te(e.range)?Y.first(e.range):e.range;if(e.facts&Z.UsesThis){var r=Y.getContainingClass(t);if(r){var n=Y.findAncestor(t,Y.isFunctionLikeDeclaration);return n?[n,r]:[r]}}for(var i=[];;)if(159===(t=t.parent).kind&&(t=Y.findAncestor(t,function(e){return Y.isFunctionLikeDeclaration(e)}).parent),k(t)&&(i.push(t),294===t.kind))return i}(e);return{scopes:a,readsAndWrites:function(h,b,x,D,S,i){var o,e,a=new Y.Map,T=[],C=[],E=[],k=[],s=[],c=new Y.Map,u=[],t=te(h.range)?1===h.range.length&&Y.isExpressionStatement(h.range[0])?h.range[0].expression:void 0:h.range;{var r,n,l;void 0===t?(r=h.range,n=Y.first(r).getStart(),l=Y.last(r).end,e=Y.createFileDiagnostic(D,n,l-n,U.expressionExpected)):147456&S.getTypeAtLocation(t).flags&&(e=Y.createDiagnosticForNode(t,U.uselessConstantType))}for(var _=0,d=b;_r.pos});if(-1!==i){var a=n[i];if(I.isNamedDeclaration(a)&&a.name&&I.rangeContainsRange(a.name,r))return{toMove:[n[i]],afterLast:n[i+1]};if(!(r.pos>a.getStart(t))){var o=I.findIndex(n,function(e){return e.end>r.end},i);if(-1===o||!(0===o||n[o].getStart(t)=a&&y.every(e,function(e){return function(e,t){if(y.isRestParameter(e)){var r=t.getTypeAtLocation(e);if(!t.isArrayType(r)&&!t.isTupleType(r))return!1}return!e.modifiers&&!e.decorators&&y.isIdentifier(e.name)}(e,t)})}(e.parameters,t))return;switch(e.kind){case 248:return s(e)&&o(e,t);case 164:return o(e,t);case 165:return y.isClassDeclaration(e.parent)?s(e.parent)&&o(e,t):c(e.parent.parent)&&o(e,t);case 205:case 206:return c(e.parent)}return}(i,r)&&y.rangeContainsRange(i,n))||i.body&&y.rangeContainsRange(i.body,n)?void 0:i}function o(e,t){return!!e.body&&!t.isImplementationOfOverload(e)}function s(e){return!!e.name||!!y.findModifier(e,87)}function c(e){return y.isVariableDeclaration(e)&&y.isVarConst(e)&&y.isIdentifier(e.name)&&!e.type}function f(e){return 0=o.length&&(r=t.slice(o.length-1),n=y.factory.createPropertyAssignment(m(y.last(o)),y.factory.createArrayLiteralExpression(r)),s.push(n)),y.factory.createObjectLiteralExpression(s,!1)}function m(e){return y.getTextOfIdentifierOrLiteral(e.name)}(e=y.refactor||(y.refactor={})).convertParamsToDestructuredObject||(e.convertParamsToDestructuredObject={}),u="Convert parameters to destructured object",a=2,e.registerRefactor(u,{getEditsForAction:function(e,t){y.Debug.assert(t===u,"Unexpected action name");var r=e.file,n=e.startPosition,i=e.program,a=e.cancellationToken,o=e.host,s=l(r,n,i.getTypeChecker());if(!s||!a)return;var c=function(p,t,r){var f=function(e){switch(e.kind){case 248:return e.name?[e.name]:[y.Debug.checkDefined(y.findModifier(e,87),"Nameless function declaration should be a default export")];case 164:return[e.name];case 165:var t=y.Debug.checkDefined(y.findChildOfKind(e,132,e.getSourceFile()),"Constructor declaration should have constructor keyword");return 218!==e.parent.kind?[t]:[e.parent.parent.name,t];case 206:return[e.parent.name];case 205:return e.name?[e.name,e.parent.name]:[e.parent.name];default:return y.Debug.assertNever(e,"Unexpected function declaration kind "+e.kind)}}(p),g=y.isConstructorDeclaration(p)?function(e){switch(e.parent.kind){case 249:var t=e.parent;return t.name?[t.name]:[y.Debug.checkDefined(y.findModifier(t,87),"Nameless class declaration should be a default export")];case 218:var r=e.parent,n=e.parent.parent,i=r.name;return i?[i,n.name]:[n.name]}}(p):[],n=y.deduplicate(__spreadArrays(f,g),y.equateValues),i=t.getTypeChecker(),e=function(e){for(var t={accessExpressions:[],typeUsages:[]},r={functionCalls:[],declarations:[],classReferences:t,valid:!0},n=y.map(f,m),i=y.map(g,m),a=y.isConstructorDeclaration(p),o=0,s=e;o=n.length&&(t=this.getEnd()),t=t||n[r+1]-1;var i=this.getFullText();return"\n"===i[t]&&"\r"===i[t-1]?t-1:t},C.prototype.getNamedDeclarations=function(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations},C.prototype.computeNamedDeclarations=function(){var _=w.createMultiMap();return this.forEachChild(function e(t){switch(t.kind){case 248:case 205:case 164:case 163:var r,n,i=t,a=p(i);a&&(u=a,(l=_.get(u))||_.set(u,l=[]),r=l,(n=w.lastOrUndefined(r))&&i.parent===n.parent&&i.symbol===n.symbol?i.body&&!n.body&&(r[r.length-1]=i):r.push(i)),w.forEachChild(t,e);break;case 249:case 218:case 250:case 251:case 252:case 253:case 257:case 267:case 262:case 259:case 260:case 166:case 167:case 176:d(t),w.forEachChild(t,e);break;case 159:if(!w.hasSyntacticModifier(t,92))break;case 246:case 195:var o=t;if(w.isBindingPattern(o.name)){w.forEachChild(o.name,e);break}o.initializer&&e(o.initializer);case 288:case 162:case 161:d(t);break;case 264:var s=t;s.exportClause&&(w.isNamedExports(s.exportClause)?w.forEach(s.exportClause.elements,e):e(s.exportClause.name));break;case 258:var c=t.importClause;c&&(c.name&&d(c.name),c.namedBindings&&(260===c.namedBindings.kind?d(c.namedBindings):w.forEach(c.namedBindings.elements,e)));break;case 213:0!==w.getAssignmentDeclarationKind(t)&&d(t);default:w.forEachChild(t,e)}var u,l}),_;function d(e){var t=p(e);t&&_.add(t,e)}function p(e){var t=w.getNonAssignedNameOfDeclaration(e);return t&&(w.isComputedPropertyName(t)&&w.isPropertyAccessExpression(t.expression)?t.expression.name.text:w.isPropertyName(t)?w.getNameFromPropertyName(t):void 0)}},C);function C(e,t,r){var n=S.call(this,e,t,r)||this;return n.kind=294,n}var E=(k.prototype.getLineAndCharacterOfPosition=function(e){return w.getLineAndCharacterOfPosition(this,e)},k);function k(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r}function I(e){var t=!0;for(var r in e)if(w.hasProperty(e,r)&&!N(r)){t=!1;break}if(t)return e;var n={};for(var r in e){w.hasProperty(e,r)&&(n[N(r)?r:r.charAt(0).toLowerCase()+r.substr(1)]=e[r])}return n}function N(e){return!e.length||e.charAt(0)===e.charAt(0).toLowerCase()}function A(){return{target:1,jsx:1}}w.toEditorSettings=I,w.displayPartsToString=function(e){return e?w.map(e,function(e){return e.text}).join(""):""},w.getDefaultCompilerOptions=A,w.getSupportedCodeFixes=function(){return w.codefix.getSupportedErrorCodes()};var O=(F.prototype.compilationSettings=function(){return this._compilationSettings},F.prototype.getProjectReferences=function(){return this.host.getProjectReferences&&this.host.getProjectReferences()},F.prototype.createEntry=function(e,t){var r=this.host.getScriptSnapshot(e),n=r?{hostFileName:e,version:this.host.getScriptVersion(e),scriptSnapshot:r,scriptKind:w.getScriptKind(e,this.host)}:e;return this.fileNameToEntry.set(t,n),n},F.prototype.getEntryByPath=function(e){return this.fileNameToEntry.get(e)},F.prototype.getHostFileInformation=function(e){var t=this.fileNameToEntry.get(e);return w.isString(t)?void 0:t},F.prototype.getOrCreateEntryByPath=function(e,t){var r=this.getEntryByPath(t)||this.createEntry(e,t);return w.isString(r)?void 0:r},F.prototype.getRootFileNames=function(){var t=[];return this.fileNameToEntry.forEach(function(e){w.isString(e)?t.push(e):t.push(e.hostFileName)}),t},F.prototype.getScriptSnapshot=function(e){var t=this.getHostFileInformation(e);return t&&t.scriptSnapshot},F);function F(e,t){this.host=e,this.currentDirectory=e.getCurrentDirectory(),this.fileNameToEntry=new w.Map;for(var r=0,n=e.getScriptFileNames();r=this.throttleWaitMilliseconds&&(this.lastCancellationCheckTime=e,this.hostCancellationToken.isCancellationRequested())},U.prototype.throwIfCancellationRequested=function(){if(this.isCancellationRequested())throw new w.OperationCanceledException},U);function U(e,t){void 0===t&&(t=20),this.hostCancellationToken=e,this.throttleWaitMilliseconds=t,this.lastCancellationCheckTime=0}w.ThrottledCancellationToken=z;var V=["getSyntacticDiagnostics","getSemanticDiagnostics","getSuggestionDiagnostics","getCompilerOptionsDiagnostics","getSemanticClassifications","getEncodedSemanticClassifications","getCodeFixesAtPosition","getCombinedCodeFix","applyCodeActionCommand","organizeImports","getEditsForFileRename","getEmitOutput","getApplicableRefactors","getEditsForRefactor","prepareCallHierarchy","provideCallHierarchyIncomingCalls","provideCallHierarchyOutgoingCalls"],K=__spreadArrays(V,["getCompletionsAtPosition","getCompletionEntryDetails","getCompletionEntrySymbol","getSignatureHelpItems","getQuickInfoAtPosition","getDefinitionAtPosition","getDefinitionAndBoundSpan","getImplementationAtPosition","getTypeDefinitionAtPosition","getReferencesAtPosition","findReferences","getOccurrencesAtPosition","getDocumentHighlights","getNavigateToItems","getRenameInfo","findRenameLocations","getApplicableRefactors"]);function q(e){var t=function(e){switch(e.kind){case 10:case 14:case 8:if(157===e.parent.kind)return w.isObjectLiteralElement(e.parent.parent)?e.parent.parent:void 0;case 78:return!w.isObjectLiteralElement(e.parent)||197!==e.parent.parent.kind&&278!==e.parent.parent.kind||e.parent.name!==e?void 0:e.parent}return}(e);return t&&(w.isObjectLiteralExpression(t.parent)||w.isJsxAttributes(t.parent))?t:void 0}function W(t,r,e,n){var i=w.getNameFromPropertyName(t.name);if(!i)return w.emptyArray;if(!e.isUnion())return(a=e.getProperty(i))?[a]:w.emptyArray;var a,o=w.mapDefined(e.types,function(e){return w.isObjectLiteralExpression(t.parent)&&r.isTypeInvalidDueToUnionDiscriminant(e,t.parent)?void 0:e.getProperty(i)});if(n&&(0===o.length||o.length===e.types.length)&&(a=e.getProperty(i)))return[a];return 0===o.length?w.mapDefined(e.types,function(e){return e.getProperty(i)}):o}w.createLanguageService=function(g,m,e){var t,y;void 0===m&&(m=w.createDocumentRegistry(g.useCaseSensitiveFileNames&&g.useCaseSensitiveFileNames(),g.getCurrentDirectory())),y=void 0===e?w.LanguageServiceMode.Semantic:"boolean"==typeof e?e?w.LanguageServiceMode.Syntactic:w.LanguageServiceMode.Semantic:e;var v,h,E=new M(g),b=0,x=new j(g.getCancellationToken&&g.getCancellationToken()),D=g.getCurrentDirectory();function S(e){g.log&&g.log(e)}!w.localizedDiagnosticMessages&&g.getLocalizedDiagnosticMessages&&w.setLocalizedDiagnosticMessages(g.getLocalizedDiagnosticMessages());var T=w.hostUsesCaseSensitiveFileNames(g),C=w.createGetCanonicalFileName(T),k=w.getSourceMapper({useCaseSensitiveFileNames:function(){return T},getCurrentDirectory:function(){return D},getProgram:o,fileExists:w.maybeBind(g,g.fileExists),readFile:w.maybeBind(g,g.readFile),getDocumentPositionMapper:w.maybeBind(g,g.getDocumentPositionMapper),getSourceFileLike:w.maybeBind(g,g.getSourceFileLike),log:S});function N(e){var t=v.getSourceFile(e);if(t)return t;var r=new Error("Could not find source file: '"+e+"'.");throw r.ProgramFiles=v.getSourceFiles().map(function(e){return e.fileName}),r}function A(){var e,t;if(w.Debug.assert(y!==w.LanguageServiceMode.Syntactic),g.getProjectVersion){var r=g.getProjectVersion();if(r){if(h===r&&(null===(e=g.hasChangedAutomaticTypeDirectiveNames)||void 0===e||!e.call(g)))return;h=r}}var n=g.getTypeRootsVersion?g.getTypeRootsVersion():0;b!==n&&(S("TypeRoots version has changed; provide new program"),v=void 0,b=n);var s=new O(g,C),i=s.getRootFileNames(),a=g.hasInvalidatedResolution||w.returnFalse,o=w.maybeBind(g,g.hasChangedAutomaticTypeDirectiveNames),c=s.getProjectReferences();if(!w.isProgramUptoDate(v,i,s.compilationSettings(),function(e,t){return g.getScriptVersion(t)},p,a,o,c)){var u=s.compilationSettings(),l={getSourceFile:function(e,t,r,n){return f(e,w.toPath(e,D,C),0,0,n)},getSourceFileByPath:f,getCancellationToken:function(){return x},getCanonicalFileName:C,useCaseSensitiveFileNames:function(){return T},getNewLine:function(){return w.getNewLineCharacter(u,function(){return w.getNewLineOrDefaultFromHost(g)})},getDefaultLibFileName:function(e){return g.getDefaultLibFileName(e)},writeFile:w.noop,getCurrentDirectory:function(){return D},fileExists:p,readFile:function(e){var t=w.toPath(e,D,C),r=s&&s.getEntryByPath(t);if(r)return w.isString(r)?void 0:w.getSnapshotText(r.scriptSnapshot);return g.readFile&&g.readFile(e)},getSymlinkCache:w.maybeBind(g,g.getSymlinkCache),realpath:w.maybeBind(g,g.realpath),directoryExists:function(e){return w.directoryProbablyExists(e,g)},getDirectories:function(e){return g.getDirectories?g.getDirectories(e):[]},readDirectory:function(e,t,r,n,i){return w.Debug.checkDefined(g.readDirectory,"'LanguageServiceHost.readDirectory' must be implemented to correctly process 'projectReferences'"),g.readDirectory(e,t,r,n,i)},onReleaseOldSourceFile:function(e,t){var r=m.getKeyForCompilationSettings(t);m.releaseDocumentWithKey(e.resolvedPath,r)},hasInvalidatedResolution:a,hasChangedAutomaticTypeDirectiveNames:o,trace:w.maybeBind(g,g.trace),resolveModuleNames:w.maybeBind(g,g.resolveModuleNames),resolveTypeReferenceDirectives:w.maybeBind(g,g.resolveTypeReferenceDirectives),useSourceOfProjectReferenceRedirect:w.maybeBind(g,g.useSourceOfProjectReferenceRedirect)};null!==(t=g.setCompilerHost)&&void 0!==t&&t.call(g,l);var _=m.getKeyForCompilationSettings(u),d={rootNames:i,options:u,host:l,oldProgram:v,projectReferences:c};return v=w.createProgram(d),s=void 0,k.clearCache(),void v.getTypeChecker()}function p(e){var t=w.toPath(e,D,C),r=s&&s.getEntryByPath(t);return r?!w.isString(r):!!g.fileExists&&g.fileExists(e)}function f(e,t,r,n,i){w.Debug.assert(void 0!==s,"getOrCreateSourceFileByPath called after typical CompilerHost lifetime, check the callstack something with a reference to an old host.");var a=s&&s.getOrCreateEntryByPath(e,t);if(a){if(!i){var o=v&&v.getSourceFileByPath(t);if(o)return w.Debug.assertEqual(a.scriptKind,o.scriptKind,"Registered script kind should match new script kind."),m.updateDocumentWithKey(e,t,u,_,a.scriptSnapshot,a.version,a.scriptKind)}return m.acquireDocumentWithKey(e,t,u,_,a.scriptSnapshot,a.version,a.scriptKind)}}}function o(){if(y!==w.LanguageServiceMode.Syntactic)return A(),v;w.Debug.assert(void 0===v)}function r(e,t,r){var n=w.normalizePath(e);w.Debug.assert(r.some(function(e){return w.normalizePath(e)===n})),A();var i=w.mapDefined(r,function(e){return v.getSourceFile(e)}),a=N(e);return w.DocumentHighlights.getDocumentHighlights(v,x,a,t,i)}function c(e,t,r,n){A();var i=r&&2===r.use?v.getSourceFiles().filter(function(e){return!v.isSourceFileDefaultLibrary(e)}):v.getSourceFiles();return w.FindAllReferences.findReferenceOrRenameEntries(v,x,i,e,t,r,n)}function n(e){var t=w.getScriptKind(e,g);return 3===t||4===t}var s=new w.Map(w.getEntries(((t={})[18]=19,t[20]=21,t[22]=23,t[31]=29,t)));function i(e){var t;return w.Debug.assertEqual(e.type,"install package"),g.installPackage?g.installPackage({fileName:(t=e.file,w.toPath(t,D,C)),packageName:e.packageName}):Promise.reject("Host does not implement `installPackage`")}function F(e,t){return{lineStarts:e.getLineStarts(),firstLine:e.getLineAndCharacterOfPosition(t.pos).line,lastLine:e.getLineAndCharacterOfPosition(t.end).line}}function u(e,t,r){for(var n=E.getCurrentSourceFile(e),i=[],a=F(n,t),o=a.lineStarts,s=a.firstLine,c=a.lastLine,u=r||!1,l=Number.MAX_VALUE,_=new w.Map,d=new RegExp(/\S/),p=w.isInsideJsxElement(n,o[s]),f=p?"{/*":"//",g=s;g<=c;g++){var m=n.text.substring(o[g],n.getLineEndOfPosition(o[g])),y=d.exec(m);y&&(l=Math.min(l,y.index),_.set(g.toString(),y.index),m.substr(y.index,f.length)!==f&&(u=void 0===r||r))}for(g=s;g<=c;g++){var v=_.get(g.toString());void 0!==v&&(p?i.push.apply(i,P(e,{pos:o[g]+l,end:n.getLineEndOfPosition(o[g])},u,p)):u?i.push({newText:f,span:{length:0,start:o[g]+l}}):n.text.substr(o[g]+v,f.length)===f&&i.push({newText:"",span:{length:f.length,start:o[g]+v}}))}return i}function P(e,t,r,n){for(var i,a=E.getCurrentSourceFile(e),o=[],s=a.text,c=!1,u=r||!1,l=[],_=t.pos,d=void 0!==n?n:w.isInsideJsxElement(a,_),p=d?"{/*":"/*",f=d?"*/}":"*/",g=d?"\\{\\/\\*":"\\/\\*",m=d?"\\*\\/\\}":"\\*\\/";_<=t.end;){var y,v=s.substr(_,p.length)===p?p.length:0,h=w.isInComment(a,_+v);_=h?(d&&(h.pos--,h.end++),l.push(h.pos),3===h.kind&&l.push(h.end),c=!0,h.end+1):(y=s.substring(_,t.end).search("("+g+")|("+m+")"),u=void 0!==r?r:u||!w.isTextWhiteSpaceLike(s,_,-1===y?t.end:_+y),-1===y?t.end+1:_+y+f.length)}if(u||!c){2!==(null===(i=w.isInComment(a,t.pos))||void 0===i?void 0:i.kind)&&w.insertSorted(l,t.pos,w.compareValues),w.insertSorted(l,t.end,w.compareValues);var b=l[0];s.substr(b,p.length)!==p&&o.push({newText:p,span:{length:0,start:b}});for(var x=1;x"}:void 0}},getSpanOfEnclosingComment:function(e,t,r){var n=E.getCurrentSourceFile(e),i=w.formatting.getRangeOfEnclosingComment(n,t);return!i||r&&3!==i.kind?void 0:w.createTextSpanFromRange(i)},getCodeFixesAtPosition:function(e,t,r,n,i,a){void 0===a&&(a=w.emptyOptions),A();var o=N(e),s=w.createTextSpanFromBounds(t,r),c=w.formatting.getFormatContext(i,g);return w.flatMap(w.deduplicate(n,w.equateValues,w.compareValues),function(e){return x.throwIfCancellationRequested(),w.codefix.getFixes({errorCode:e,sourceFile:o,span:s,program:v,host:g,cancellationToken:x,formatContext:c,preferences:a})})},getCombinedCodeFix:function(e,t,r,n){void 0===n&&(n=w.emptyOptions),A(),w.Debug.assert("file"===e.type);var i=N(e.fileName),a=w.formatting.getFormatContext(r,g);return w.codefix.getAllFixes({fixId:t,sourceFile:i,program:v,host:g,cancellationToken:x,formatContext:a,preferences:n})},applyCodeActionCommand:function(e,t){var r="string"==typeof e?t:e;return w.isArray(r)?Promise.all(r.map(i)):i(r)},organizeImports:function(e,t,r){void 0===r&&(r=w.emptyOptions),A(),w.Debug.assert("file"===e.type);var n=N(e.fileName),i=w.formatting.getFormatContext(t,g);return w.OrganizeImports.organizeImports(n,i,g,v,r)},getEditsForFileRename:function(e,t,r,n){return void 0===n&&(n=w.emptyOptions),w.getEditsForFileRename(o(),e,t,g,w.formatting.getFormatContext(r,g),n,k)},getEmitOutput:function(e,t,r){A();var n=N(e),i=g.getCustomTransformers&&g.getCustomTransformers();return w.getFileEmitOutput(v,n,!!t,x,i,r)},getNonBoundSourceFile:function(e){return E.getCurrentSourceFile(e)},getProgram:o,getAutoImportProvider:function(){var e;return null===(e=g.getPackageJsonAutoImportProvider)||void 0===e?void 0:e.call(g)},getApplicableRefactors:function(e,t,r,n){void 0===r&&(r=w.emptyOptions),A();var i=N(e);return w.refactor.getApplicableRefactors(l(i,t,r,w.emptyOptions,n))},getEditsForRefactor:function(e,t,r,n,i,a){void 0===a&&(a=w.emptyOptions),A();var o=N(e);return w.refactor.getEditsForRefactor(l(o,r,a,t),n,i)},toLineColumnOffset:k.toLineColumnOffset,getSourceMapper:function(){return k},clearSourceMapperCache:function(){return k.clearCache()},prepareCallHierarchy:function(e,t){A();var r=w.CallHierarchy.resolveCallHierarchyDeclaration(v,w.getTouchingPropertyName(N(e),t));return r&&w.mapOneOrMany(r,function(e){return w.CallHierarchy.createCallHierarchyItem(v,e)})},provideCallHierarchyIncomingCalls:function(e,t){A();var r=N(e),n=w.firstOrOnly(w.CallHierarchy.resolveCallHierarchyDeclaration(v,0===t?r:w.getTouchingPropertyName(r,t)));return n?w.CallHierarchy.getIncomingCalls(v,n,x):[]},provideCallHierarchyOutgoingCalls:function(e,t){A();var r=N(e),n=w.firstOrOnly(w.CallHierarchy.resolveCallHierarchyDeclaration(v,0===t?r:w.getTouchingPropertyName(r,t)));return n?w.CallHierarchy.getOutgoingCalls(v,n):[]},toggleLineComment:u,toggleMultilineComment:P,commentSelection:function(e,t){var r=F(E.getCurrentSourceFile(e),t);return(r.firstLine===r.lastLine&&t.pos!==t.end?P:u)(e,t,!0)},uncommentSelection:function(e,t){var r=E.getCurrentSourceFile(e),n=[],i=t.pos,a=t.end;i===a&&(a+=w.isInsideJsxElement(r,i)?2:1);for(var o=i;o<=a;o++){var s=w.isInComment(r,o);if(s){switch(s.kind){case 2:n.push.apply(n,u(e,{end:s.end,pos:s.pos+1},!1));break;case 3:n.push.apply(n,P(e,{end:s.end,pos:s.pos+1},!1))}o=s.end+1}}return n}};switch(y){case w.LanguageServiceMode.Semantic:break;case w.LanguageServiceMode.PartialSemantic:V.forEach(function(e){return a[e]=function(){throw new Error("LanguageService Operation: "+e+" not allowed in LanguageServiceMode.PartialSemantic")}});break;case w.LanguageServiceMode.Syntactic:K.forEach(function(e){return a[e]=function(){throw new Error("LanguageService Operation: "+e+" not allowed in LanguageServiceMode.Syntactic")}});break;default:w.Debug.assertNever(y)}return a},w.getNameTable=function(e){var t,s;return e.nameTable||(s=(t=e).nameTable=new w.Map,t.forEachChild(function e(t){var r,n;if(w.isIdentifier(t)&&!w.isTagName(t)&&t.escapedText||w.isStringOrNumericLiteralLike(t)&&(n=t,w.isDeclarationName(n)||269===n.parent.kind||function(e){return e&&e.parent&&199===e.parent.kind&&e.parent.argumentExpression===e}(n)||w.isLiteralComputedPropertyDeclarationName(n))?(r=w.getEscapedTextOfIdentifierOrLiteral(t),s.set(r,void 0===s.get(r)?t.pos:-1)):w.isPrivateIdentifier(t)&&(r=t.escapedText,s.set(r,void 0===s.get(r)?t.pos:-1)),w.forEachChild(t,e),w.hasJSDocNodes(t))for(var i=0,a=t.jsDoc;ir){var n=E.findPrecedingToken(t.pos,h);if(!n||h.getLineAndCharacterOfPosition(n.getEnd()).line!==r)return;t=n}if(!(8388608&t.flags))return C(t)}function b(e,t){var r=e.decorators?E.skipTrivia(h.text,e.decorators.end):e.getStart(h);return E.createTextSpanFromBounds(r,(t||e).getEnd())}function x(e,t){return b(e,E.findNextToken(t,t.parent,h))}function D(e,t){return e&&r===h.getLineAndCharacterOfPosition(e.getStart(h)).line?C(e):C(t)}function S(e){return C(E.findPrecedingToken(e.pos,h))}function T(e){return C(E.findNextToken(e,e.parent,h))}function C(e){if(e){var t=e.parent;switch(e.kind){case 229:return p(e.declarationList.declarations[0]);case 246:case 162:case 161:return p(e);case 159:return function e(t){{if(E.isBindingPattern(t.name))return y(t.name);if((i=t).initializer||void 0!==i.dotDotDotToken||E.hasSyntacticModifier(i,12))return b(t);var r=t.parent,n=r.parameters.indexOf(t);return E.Debug.assert(-1!==n),0!==n?e(r.parameters[n-1]):C(r.body)}var i}(e);case 248:case 164:case 163:case 166:case 167:case 165:case 205:case 206:return function(e){if(!e.body)return;if(f(e))return b(e);return C(e.body)}(e);case 227:if(E.isFunctionBlock(e))return function(e){var t=e.statements.length?e.statements[0]:e.getLastToken();if(f(e.parent))return D(e.parent,t);return C(t)}(e);case 254:return g(e);case 284:return g(e.block);case 230:return b(e.expression);case 239:return b(e.getChildAt(0),e.expression);case 233:return x(e,e.expression);case 232:return C(e.statement);case 245:return b(e.getChildAt(0));case 231:return x(e,e.expression);case 242:return C(e.statement);case 238:case 237:return b(e.getChildAt(0),e.label);case 234:return function(e){if(e.initializer)return m(e);if(e.condition)return b(e.condition);if(e.incrementor)return b(e.incrementor)}(e);case 235:return x(e,e.expression);case 236:return m(e);case 241:return x(e,e.expression);case 281:case 282:return C(e.statements[0]);case 244:return g(e.tryBlock);case 243:case 263:return b(e,e.expression);case 257:return b(e,e.moduleReference);case 258:case 264:return b(e,e.moduleSpecifier);case 253:if(1!==E.getModuleInstanceState(e))return;case 249:case 252:case 288:case 195:return b(e);case 240:return C(e.statement);case 160:return _=t.decorators,E.createTextSpanFromBounds(E.skipTrivia(h.text,_.pos),_.end);case 193:case 194:return y(e);case 250:case 251:return;case 26:case 1:return D(E.findPrecedingToken(e.pos,h));case 27:return S(e);case 18:return function(e){switch(e.parent.kind){case 252:var t=e.parent;return D(E.findPrecedingToken(e.pos,h,e.parent),t.members.length?t.members[0]:t.getLastToken(h));case 249:var r=e.parent;return D(E.findPrecedingToken(e.pos,h,e.parent),r.members.length?r.members[0]:r.getLastToken(h));case 255:return D(e.parent.parent,e.parent.clauses[0])}return C(e.parent)}(e);case 19:return function(e){switch(e.parent.kind){case 254:if(1!==E.getModuleInstanceState(e.parent.parent))return;case 252:case 249:return b(e);case 227:if(E.isFunctionBlock(e.parent))return b(e);case 284:return C(E.lastOrUndefined(e.parent.statements));case 255:var t=e.parent,r=E.lastOrUndefined(t.clauses);return r?C(E.lastOrUndefined(r.statements)):void 0;case 193:var n=e.parent;return C(E.lastOrUndefined(n.elements)||n);default:if(E.isArrayLiteralOrObjectLiteralDestructuringPattern(e.parent)){var i=e.parent;return b(E.lastOrUndefined(i.properties)||i)}return C(e.parent)}}(e);case 23:return function(e){switch(e.parent.kind){case 194:var t=e.parent;return b(E.lastOrUndefined(t.elements)||t);default:if(E.isArrayLiteralOrObjectLiteralDestructuringPattern(e.parent)){var r=e.parent;return b(E.lastOrUndefined(r.elements)||r)}return C(e.parent)}}(e);case 20:return 232!==(l=e).parent.kind&&200!==l.parent.kind&&201!==l.parent.kind?204!==l.parent.kind?C(l.parent):T(l):S(l);case 21:return function(e){switch(e.parent.kind){case 205:case 248:case 206:case 164:case 163:case 166:case 167:case 165:case 233:case 232:case 234:case 236:case 200:case 201:case 204:return S(e);default:return C(e.parent)}}(e);case 58:return function(e){if(E.isFunctionLike(e.parent)||285===e.parent.kind||159===e.parent.kind)return S(e);return C(e.parent)}(e);case 31:case 29:return 203!==(u=e).parent.kind?C(u.parent):T(u);case 114:return 232!==(c=e).parent.kind?C(c.parent):x(c,c.parent.expression);case 90:case 82:case 95:return T(e);case 155:return 236!==(s=e).parent.kind?C(s.parent):T(s);default:if(E.isArrayLiteralOrObjectLiteralDestructuringPattern(e))return v(e);if((78===e.kind||217===e.kind||285===e.kind||286===e.kind)&&E.isArrayLiteralOrObjectLiteralDestructuringPattern(t))return b(e);if(213===e.kind){var r=e.left,n=e.operatorToken;if(E.isArrayLiteralOrObjectLiteralDestructuringPattern(r))return v(r);if(62===n.kind&&E.isArrayLiteralOrObjectLiteralDestructuringPattern(e.parent))return b(e);if(27===n.kind)return C(r)}if(E.isExpressionNode(e))switch(t.kind){case 232:return S(e);case 160:return C(e.parent);case 234:case 236:return b(e);case 213:if(27===e.parent.operatorToken.kind)return b(e);break;case 206:if(e.parent.body===e)return b(e)}switch(e.parent.kind){case 285:if(e.parent.name===e&&!E.isArrayLiteralOrObjectLiteralDestructuringPattern(e.parent.parent))return C(e.parent.initializer);break;case 203:if(e.parent.type===e)return T(e.parent.type);break;case 246:case 159:var i=e.parent,a=i.initializer,o=i.type;if(a===e||o===e||E.isAssignmentOperator(e.kind))return S(e);break;case 213:r=e.parent.left;if(E.isArrayLiteralOrObjectLiteralDestructuringPattern(r)&&e!==r)return S(e);break;default:if(E.isFunctionLike(e.parent)&&e.parent.type===e)return S(e)}return C(e.parent)}}var s,c,u,l,_;function d(e){return E.isVariableDeclarationList(e.parent)&&e.parent.declarations[0]===e?b(E.findPrecedingToken(e.pos,h,e.parent),e):b(e)}function p(e){if(235===e.parent.parent.kind)return C(e.parent.parent);var t=e.parent;return E.isBindingPattern(e.name)?y(e.name):e.initializer||E.hasSyntacticModifier(e,1)||236===t.parent.kind?d(e):E.isVariableDeclarationList(e.parent)&&e.parent.declarations[0]!==e?C(E.findPrecedingToken(e.pos,h,e.parent)):void 0}function f(e){return E.hasSyntacticModifier(e,1)||249===e.parent.kind&&165!==e.kind}function g(e){switch(e.parent.kind){case 253:if(1!==E.getModuleInstanceState(e.parent))return;case 233:case 231:case 235:return D(e.parent,e.statements[0]);case 234:case 236:return D(E.findPrecedingToken(e.pos,h,e.parent),e.statements[0])}return C(e.statements[0])}function m(e){if(247!==e.initializer.kind)return C(e.initializer);var t=e.initializer;return 0 + + +///////////////////////////// +/// ECMAScript APIs +///////////////////////////// + +declare var NaN: number; +declare var Infinity: number; + +/** + * Evaluates JavaScript code and executes it. + * @param x A String value that contains valid JavaScript code. + */ +declare function eval(x: string): any; + +/** + * Converts a string to an integer. + * @param s A string to convert into a number. + * @param radix A value between 2 and 36 that specifies the base of the number in numString. + * If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal. + * All other strings are considered decimal. + */ +declare function parseInt(s: string, radix?: number): number; + +/** + * Converts a string to a floating-point number. + * @param string A string that contains a floating-point number. + */ +declare function parseFloat(string: string): number; + +/** + * Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number). + * @param number A numeric value. + */ +declare function isNaN(number: number): boolean; + +/** + * Determines whether a supplied number is finite. + * @param number Any numeric value. + */ +declare function isFinite(number: number): boolean; + +/** + * Gets the unencoded version of an encoded Uniform Resource Identifier (URI). + * @param encodedURI A value representing an encoded URI. + */ +declare function decodeURI(encodedURI: string): string; + +/** + * Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI). + * @param encodedURIComponent A value representing an encoded URI component. + */ +declare function decodeURIComponent(encodedURIComponent: string): string; + +/** + * Encodes a text string as a valid Uniform Resource Identifier (URI) + * @param uri A value representing an encoded URI. + */ +declare function encodeURI(uri: string): string; + +/** + * Encodes a text string as a valid component of a Uniform Resource Identifier (URI). + * @param uriComponent A value representing an encoded URI component. + */ +declare function encodeURIComponent(uriComponent: string | number | boolean): string; + +/** + * Computes a new string in which certain characters have been replaced by a hexadecimal escape sequence. + * @param string A string value + */ +declare function escape(string: string): string; + +/** + * Computes a new string in which hexadecimal escape sequences are replaced with the character that it represents. + * @param string A string value + */ +declare function unescape(string: string): string; + +interface Symbol { + /** Returns a string representation of an object. */ + toString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): symbol; +} + +declare type PropertyKey = string | number | symbol; + +interface PropertyDescriptor { + configurable?: boolean; + enumerable?: boolean; + value?: any; + writable?: boolean; + get?(): any; + set?(v: any): void; +} + +interface PropertyDescriptorMap { + [s: string]: PropertyDescriptor; +} + +interface Object { + /** The initial value of Object.prototype.constructor is the standard built-in Object constructor. */ + constructor: Function; + + /** Returns a string representation of an object. */ + toString(): string; + + /** Returns a date converted to a string using the current locale. */ + toLocaleString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): Object; + + /** + * Determines whether an object has a property with the specified name. + * @param v A property name. + */ + hasOwnProperty(v: PropertyKey): boolean; + + /** + * Determines whether an object exists in another object's prototype chain. + * @param v Another object whose prototype chain is to be checked. + */ + isPrototypeOf(v: Object): boolean; + + /** + * Determines whether a specified property is enumerable. + * @param v A property name. + */ + propertyIsEnumerable(v: PropertyKey): boolean; +} + +interface ObjectConstructor { + new(value?: any): Object; + (): any; + (value: any): any; + + /** A reference to the prototype for a class of objects. */ + readonly prototype: Object; + + /** + * Returns the prototype of an object. + * @param o The object that references the prototype. + */ + getPrototypeOf(o: any): any; + + /** + * Gets the own property descriptor of the specified object. + * An own property descriptor is one that is defined directly on the object and is not inherited from the object's prototype. + * @param o Object that contains the property. + * @param p Name of the property. + */ + getOwnPropertyDescriptor(o: any, p: PropertyKey): PropertyDescriptor | undefined; + + /** + * Returns the names of the own properties of an object. The own properties of an object are those that are defined directly + * on that object, and are not inherited from the object's prototype. The properties of an object include both fields (objects) and functions. + * @param o Object that contains the own properties. + */ + getOwnPropertyNames(o: any): string[]; + + /** + * Creates an object that has the specified prototype or that has null prototype. + * @param o Object to use as a prototype. May be null. + */ + create(o: object | null): any; + + /** + * Creates an object that has the specified prototype, and that optionally contains specified properties. + * @param o Object to use as a prototype. May be null + * @param properties JavaScript object that contains one or more property descriptors. + */ + create(o: object | null, properties: PropertyDescriptorMap & ThisType): any; + + /** + * Adds a property to an object, or modifies attributes of an existing property. + * @param o Object on which to add or modify the property. This can be a native JavaScript object (that is, a user-defined object or a built in object) or a DOM object. + * @param p The property name. + * @param attributes Descriptor for the property. It can be for a data property or an accessor property. + */ + defineProperty(o: any, p: PropertyKey, attributes: PropertyDescriptor & ThisType): any; + + /** + * Adds one or more properties to an object, and/or modifies attributes of existing properties. + * @param o Object on which to add or modify the properties. This can be a native JavaScript object or a DOM object. + * @param properties JavaScript object that contains one or more descriptor objects. Each descriptor object describes a data property or an accessor property. + */ + defineProperties(o: any, properties: PropertyDescriptorMap & ThisType): any; + + /** + * Prevents the modification of attributes of existing properties, and prevents the addition of new properties. + * @param o Object on which to lock the attributes. + */ + seal(o: T): T; + + /** + * Prevents the modification of existing property attributes and values, and prevents the addition of new properties. + * @param o Object on which to lock the attributes. + */ + freeze(a: T[]): readonly T[]; + + /** + * Prevents the modification of existing property attributes and values, and prevents the addition of new properties. + * @param o Object on which to lock the attributes. + */ + freeze(f: T): T; + + /** + * Prevents the modification of existing property attributes and values, and prevents the addition of new properties. + * @param o Object on which to lock the attributes. + */ + freeze(o: T): Readonly; + + /** + * Prevents the addition of new properties to an object. + * @param o Object to make non-extensible. + */ + preventExtensions(o: T): T; + + /** + * Returns true if existing property attributes cannot be modified in an object and new properties cannot be added to the object. + * @param o Object to test. + */ + isSealed(o: any): boolean; + + /** + * Returns true if existing property attributes and values cannot be modified in an object, and new properties cannot be added to the object. + * @param o Object to test. + */ + isFrozen(o: any): boolean; + + /** + * Returns a value that indicates whether new properties can be added to an object. + * @param o Object to test. + */ + isExtensible(o: any): boolean; + + /** + * Returns the names of the enumerable string properties and methods of an object. + * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. + */ + keys(o: object): string[]; +} + +/** + * Provides functionality common to all JavaScript objects. + */ +declare var Object: ObjectConstructor; + +/** + * Creates a new function. + */ +interface Function { + /** + * Calls the function, substituting the specified object for the this value of the function, and the specified array for the arguments of the function. + * @param thisArg The object to be used as the this object. + * @param argArray A set of arguments to be passed to the function. + */ + apply(this: Function, thisArg: any, argArray?: any): any; + + /** + * Calls a method of an object, substituting another object for the current object. + * @param thisArg The object to be used as the current object. + * @param argArray A list of arguments to be passed to the method. + */ + call(this: Function, thisArg: any, ...argArray: any[]): any; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg An object to which the this keyword can refer inside the new function. + * @param argArray A list of arguments to be passed to the new function. + */ + bind(this: Function, thisArg: any, ...argArray: any[]): any; + + /** Returns a string representation of a function. */ + toString(): string; + + prototype: any; + readonly length: number; + + // Non-standard extensions + arguments: any; + caller: Function; +} + +interface FunctionConstructor { + /** + * Creates a new function. + * @param args A list of arguments the function accepts. + */ + new(...args: string[]): Function; + (...args: string[]): Function; + readonly prototype: Function; +} + +declare var Function: FunctionConstructor; + +/** + * Extracts the type of the 'this' parameter of a function type, or 'unknown' if the function type has no 'this' parameter. + */ +type ThisParameterType = T extends (this: infer U, ...args: any[]) => any ? U : unknown; + +/** + * Removes the 'this' parameter from a function type. + */ +type OmitThisParameter = unknown extends ThisParameterType ? T : T extends (...args: infer A) => infer R ? (...args: A) => R : T; + +interface CallableFunction extends Function { + /** + * Calls the function with the specified object as the this value and the elements of specified array as the arguments. + * @param thisArg The object to be used as the this object. + * @param args An array of argument values to be passed to the function. + */ + apply(this: (this: T) => R, thisArg: T): R; + apply(this: (this: T, ...args: A) => R, thisArg: T, args: A): R; + + /** + * Calls the function with the specified object as the this value and the specified rest arguments as the arguments. + * @param thisArg The object to be used as the this object. + * @param args Argument values to be passed to the function. + */ + call(this: (this: T, ...args: A) => R, thisArg: T, ...args: A): R; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg The object to be used as the this object. + * @param args Arguments to bind to the parameters of the function. + */ + bind(this: T, thisArg: ThisParameterType): OmitThisParameter; + bind(this: (this: T, arg0: A0, ...args: A) => R, thisArg: T, arg0: A0): (...args: A) => R; + bind(this: (this: T, arg0: A0, arg1: A1, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1): (...args: A) => R; + bind(this: (this: T, arg0: A0, arg1: A1, arg2: A2, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1, arg2: A2): (...args: A) => R; + bind(this: (this: T, arg0: A0, arg1: A1, arg2: A2, arg3: A3, ...args: A) => R, thisArg: T, arg0: A0, arg1: A1, arg2: A2, arg3: A3): (...args: A) => R; + bind(this: (this: T, ...args: AX[]) => R, thisArg: T, ...args: AX[]): (...args: AX[]) => R; +} + +interface NewableFunction extends Function { + /** + * Calls the function with the specified object as the this value and the elements of specified array as the arguments. + * @param thisArg The object to be used as the this object. + * @param args An array of argument values to be passed to the function. + */ + apply(this: new () => T, thisArg: T): void; + apply(this: new (...args: A) => T, thisArg: T, args: A): void; + + /** + * Calls the function with the specified object as the this value and the specified rest arguments as the arguments. + * @param thisArg The object to be used as the this object. + * @param args Argument values to be passed to the function. + */ + call(this: new (...args: A) => T, thisArg: T, ...args: A): void; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg The object to be used as the this object. + * @param args Arguments to bind to the parameters of the function. + */ + bind(this: T, thisArg: any): T; + bind(this: new (arg0: A0, ...args: A) => R, thisArg: any, arg0: A0): new (...args: A) => R; + bind(this: new (arg0: A0, arg1: A1, ...args: A) => R, thisArg: any, arg0: A0, arg1: A1): new (...args: A) => R; + bind(this: new (arg0: A0, arg1: A1, arg2: A2, ...args: A) => R, thisArg: any, arg0: A0, arg1: A1, arg2: A2): new (...args: A) => R; + bind(this: new (arg0: A0, arg1: A1, arg2: A2, arg3: A3, ...args: A) => R, thisArg: any, arg0: A0, arg1: A1, arg2: A2, arg3: A3): new (...args: A) => R; + bind(this: new (...args: AX[]) => R, thisArg: any, ...args: AX[]): new (...args: AX[]) => R; +} + +interface IArguments { + [index: number]: any; + length: number; + callee: Function; +} + +interface String { + /** Returns a string representation of a string. */ + toString(): string; + + /** + * Returns the character at the specified index. + * @param pos The zero-based index of the desired character. + */ + charAt(pos: number): string; + + /** + * Returns the Unicode value of the character at the specified location. + * @param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned. + */ + charCodeAt(index: number): number; + + /** + * Returns a string that contains the concatenation of two or more strings. + * @param strings The strings to append to the end of the string. + */ + concat(...strings: string[]): string; + + /** + * Returns the position of the first occurrence of a substring. + * @param searchString The substring to search for in the string + * @param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string. + */ + indexOf(searchString: string, position?: number): number; + + /** + * Returns the last occurrence of a substring in the string. + * @param searchString The substring to search for. + * @param position The index at which to begin searching. If omitted, the search begins at the end of the string. + */ + lastIndexOf(searchString: string, position?: number): number; + + /** + * Determines whether two strings are equivalent in the current locale. + * @param that String to compare to target string + */ + localeCompare(that: string): number; + + /** + * Matches a string with a regular expression, and returns an array containing the results of that search. + * @param regexp A variable name or string literal containing the regular expression pattern and flags. + */ + match(regexp: string | RegExp): RegExpMatchArray | null; + + /** + * Replaces text in a string, using a regular expression or search string. + * @param searchValue A string to search for. + * @param replaceValue A string containing the text to replace for every successful match of searchValue in this string. + */ + replace(searchValue: string | RegExp, replaceValue: string): string; + + /** + * Replaces text in a string, using a regular expression or search string. + * @param searchValue A string to search for. + * @param replacer A function that returns the replacement text. + */ + replace(searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string; + + /** + * Finds the first substring match in a regular expression search. + * @param regexp The regular expression pattern and applicable flags. + */ + search(regexp: string | RegExp): number; + + /** + * Returns a section of a string. + * @param start The index to the beginning of the specified portion of stringObj. + * @param end The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end. + * If this value is not specified, the substring continues to the end of stringObj. + */ + slice(start?: number, end?: number): string; + + /** + * Split a string into substrings using the specified separator and return them as an array. + * @param separator A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned. + * @param limit A value used to limit the number of elements returned in the array. + */ + split(separator: string | RegExp, limit?: number): string[]; + + /** + * Returns the substring at the specified location within a String object. + * @param start The zero-based index number indicating the beginning of the substring. + * @param end Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end. + * If end is omitted, the characters from start through the end of the original string are returned. + */ + substring(start: number, end?: number): string; + + /** Converts all the alphabetic characters in a string to lowercase. */ + toLowerCase(): string; + + /** Converts all alphabetic characters to lowercase, taking into account the host environment's current locale. */ + toLocaleLowerCase(locales?: string | string[]): string; + + /** Converts all the alphabetic characters in a string to uppercase. */ + toUpperCase(): string; + + /** Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale. */ + toLocaleUpperCase(locales?: string | string[]): string; + + /** Removes the leading and trailing white space and line terminator characters from a string. */ + trim(): string; + + /** Returns the length of a String object. */ + readonly length: number; + + // IE extensions + /** + * Gets a substring beginning at the specified location and having the specified length. + * @param from The starting position of the desired substring. The index of the first character in the string is zero. + * @param length The number of characters to include in the returned substring. + */ + substr(from: number, length?: number): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): string; + + readonly [index: number]: string; +} + +interface StringConstructor { + new(value?: any): String; + (value?: any): string; + readonly prototype: String; + fromCharCode(...codes: number[]): string; +} + +/** + * Allows manipulation and formatting of text strings and determination and location of substrings within strings. + */ +declare var String: StringConstructor; + +interface Boolean { + /** Returns the primitive value of the specified object. */ + valueOf(): boolean; +} + +interface BooleanConstructor { + new(value?: any): Boolean; + (value?: T): boolean; + readonly prototype: Boolean; +} + +declare var Boolean: BooleanConstructor; + +interface Number { + /** + * Returns a string representation of an object. + * @param radix Specifies a radix for converting numeric values to strings. This value is only used for numbers. + */ + toString(radix?: number): string; + + /** + * Returns a string representing a number in fixed-point notation. + * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive. + */ + toFixed(fractionDigits?: number): string; + + /** + * Returns a string containing a number represented in exponential notation. + * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive. + */ + toExponential(fractionDigits?: number): string; + + /** + * Returns a string containing a number represented either in exponential or fixed-point notation with a specified number of digits. + * @param precision Number of significant digits. Must be in the range 1 - 21, inclusive. + */ + toPrecision(precision?: number): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): number; +} + +interface NumberConstructor { + new(value?: any): Number; + (value?: any): number; + readonly prototype: Number; + + /** The largest number that can be represented in JavaScript. Equal to approximately 1.79E+308. */ + readonly MAX_VALUE: number; + + /** The closest number to zero that can be represented in JavaScript. Equal to approximately 5.00E-324. */ + readonly MIN_VALUE: number; + + /** + * A value that is not a number. + * In equality comparisons, NaN does not equal any value, including itself. To test whether a value is equivalent to NaN, use the isNaN function. + */ + readonly NaN: number; + + /** + * A value that is less than the largest negative number that can be represented in JavaScript. + * JavaScript displays NEGATIVE_INFINITY values as -infinity. + */ + readonly NEGATIVE_INFINITY: number; + + /** + * A value greater than the largest number that can be represented in JavaScript. + * JavaScript displays POSITIVE_INFINITY values as infinity. + */ + readonly POSITIVE_INFINITY: number; +} + +/** An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers. */ +declare var Number: NumberConstructor; + +interface TemplateStringsArray extends ReadonlyArray { + readonly raw: readonly string[]; +} + +/** + * The type of `import.meta`. + * + * If you need to declare that a given property exists on `import.meta`, + * this type may be augmented via interface merging. + */ +interface ImportMeta { +} + +interface Math { + /** The mathematical constant e. This is Euler's number, the base of natural logarithms. */ + readonly E: number; + /** The natural logarithm of 10. */ + readonly LN10: number; + /** The natural logarithm of 2. */ + readonly LN2: number; + /** The base-2 logarithm of e. */ + readonly LOG2E: number; + /** The base-10 logarithm of e. */ + readonly LOG10E: number; + /** Pi. This is the ratio of the circumference of a circle to its diameter. */ + readonly PI: number; + /** The square root of 0.5, or, equivalently, one divided by the square root of 2. */ + readonly SQRT1_2: number; + /** The square root of 2. */ + readonly SQRT2: number; + /** + * Returns the absolute value of a number (the value without regard to whether it is positive or negative). + * For example, the absolute value of -5 is the same as the absolute value of 5. + * @param x A numeric expression for which the absolute value is needed. + */ + abs(x: number): number; + /** + * Returns the arc cosine (or inverse cosine) of a number. + * @param x A numeric expression. + */ + acos(x: number): number; + /** + * Returns the arcsine of a number. + * @param x A numeric expression. + */ + asin(x: number): number; + /** + * Returns the arctangent of a number. + * @param x A numeric expression for which the arctangent is needed. + */ + atan(x: number): number; + /** + * Returns the angle (in radians) from the X axis to a point. + * @param y A numeric expression representing the cartesian y-coordinate. + * @param x A numeric expression representing the cartesian x-coordinate. + */ + atan2(y: number, x: number): number; + /** + * Returns the smallest integer greater than or equal to its numeric argument. + * @param x A numeric expression. + */ + ceil(x: number): number; + /** + * Returns the cosine of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + cos(x: number): number; + /** + * Returns e (the base of natural logarithms) raised to a power. + * @param x A numeric expression representing the power of e. + */ + exp(x: number): number; + /** + * Returns the greatest integer less than or equal to its numeric argument. + * @param x A numeric expression. + */ + floor(x: number): number; + /** + * Returns the natural logarithm (base e) of a number. + * @param x A numeric expression. + */ + log(x: number): number; + /** + * Returns the larger of a set of supplied numeric expressions. + * @param values Numeric expressions to be evaluated. + */ + max(...values: number[]): number; + /** + * Returns the smaller of a set of supplied numeric expressions. + * @param values Numeric expressions to be evaluated. + */ + min(...values: number[]): number; + /** + * Returns the value of a base expression taken to a specified power. + * @param x The base value of the expression. + * @param y The exponent value of the expression. + */ + pow(x: number, y: number): number; + /** Returns a pseudorandom number between 0 and 1. */ + random(): number; + /** + * Returns a supplied numeric expression rounded to the nearest integer. + * @param x The value to be rounded to the nearest integer. + */ + round(x: number): number; + /** + * Returns the sine of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + sin(x: number): number; + /** + * Returns the square root of a number. + * @param x A numeric expression. + */ + sqrt(x: number): number; + /** + * Returns the tangent of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + tan(x: number): number; +} +/** An intrinsic object that provides basic mathematics functionality and constants. */ +declare var Math: Math; + +/** Enables basic storage and retrieval of dates and times. */ +interface Date { + /** Returns a string representation of a date. The format of the string depends on the locale. */ + toString(): string; + /** Returns a date as a string value. */ + toDateString(): string; + /** Returns a time as a string value. */ + toTimeString(): string; + /** Returns a value as a string value appropriate to the host environment's current locale. */ + toLocaleString(): string; + /** Returns a date as a string value appropriate to the host environment's current locale. */ + toLocaleDateString(): string; + /** Returns a time as a string value appropriate to the host environment's current locale. */ + toLocaleTimeString(): string; + /** Returns the stored time value in milliseconds since midnight, January 1, 1970 UTC. */ + valueOf(): number; + /** Gets the time value in milliseconds. */ + getTime(): number; + /** Gets the year, using local time. */ + getFullYear(): number; + /** Gets the year using Universal Coordinated Time (UTC). */ + getUTCFullYear(): number; + /** Gets the month, using local time. */ + getMonth(): number; + /** Gets the month of a Date object using Universal Coordinated Time (UTC). */ + getUTCMonth(): number; + /** Gets the day-of-the-month, using local time. */ + getDate(): number; + /** Gets the day-of-the-month, using Universal Coordinated Time (UTC). */ + getUTCDate(): number; + /** Gets the day of the week, using local time. */ + getDay(): number; + /** Gets the day of the week using Universal Coordinated Time (UTC). */ + getUTCDay(): number; + /** Gets the hours in a date, using local time. */ + getHours(): number; + /** Gets the hours value in a Date object using Universal Coordinated Time (UTC). */ + getUTCHours(): number; + /** Gets the minutes of a Date object, using local time. */ + getMinutes(): number; + /** Gets the minutes of a Date object using Universal Coordinated Time (UTC). */ + getUTCMinutes(): number; + /** Gets the seconds of a Date object, using local time. */ + getSeconds(): number; + /** Gets the seconds of a Date object using Universal Coordinated Time (UTC). */ + getUTCSeconds(): number; + /** Gets the milliseconds of a Date, using local time. */ + getMilliseconds(): number; + /** Gets the milliseconds of a Date object using Universal Coordinated Time (UTC). */ + getUTCMilliseconds(): number; + /** Gets the difference in minutes between the time on the local computer and Universal Coordinated Time (UTC). */ + getTimezoneOffset(): number; + /** + * Sets the date and time value in the Date object. + * @param time A numeric value representing the number of elapsed milliseconds since midnight, January 1, 1970 GMT. + */ + setTime(time: number): number; + /** + * Sets the milliseconds value in the Date object using local time. + * @param ms A numeric value equal to the millisecond value. + */ + setMilliseconds(ms: number): number; + /** + * Sets the milliseconds value in the Date object using Universal Coordinated Time (UTC). + * @param ms A numeric value equal to the millisecond value. + */ + setUTCMilliseconds(ms: number): number; + + /** + * Sets the seconds value in the Date object using local time. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setSeconds(sec: number, ms?: number): number; + /** + * Sets the seconds value in the Date object using Universal Coordinated Time (UTC). + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setUTCSeconds(sec: number, ms?: number): number; + /** + * Sets the minutes value in the Date object using local time. + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setMinutes(min: number, sec?: number, ms?: number): number; + /** + * Sets the minutes value in the Date object using Universal Coordinated Time (UTC). + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setUTCMinutes(min: number, sec?: number, ms?: number): number; + /** + * Sets the hour value in the Date object using local time. + * @param hours A numeric value equal to the hours value. + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setHours(hours: number, min?: number, sec?: number, ms?: number): number; + /** + * Sets the hours value in the Date object using Universal Coordinated Time (UTC). + * @param hours A numeric value equal to the hours value. + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setUTCHours(hours: number, min?: number, sec?: number, ms?: number): number; + /** + * Sets the numeric day-of-the-month value of the Date object using local time. + * @param date A numeric value equal to the day of the month. + */ + setDate(date: number): number; + /** + * Sets the numeric day of the month in the Date object using Universal Coordinated Time (UTC). + * @param date A numeric value equal to the day of the month. + */ + setUTCDate(date: number): number; + /** + * Sets the month value in the Date object using local time. + * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. + * @param date A numeric value representing the day of the month. If this value is not supplied, the value from a call to the getDate method is used. + */ + setMonth(month: number, date?: number): number; + /** + * Sets the month value in the Date object using Universal Coordinated Time (UTC). + * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. + * @param date A numeric value representing the day of the month. If it is not supplied, the value from a call to the getUTCDate method is used. + */ + setUTCMonth(month: number, date?: number): number; + /** + * Sets the year of the Date object using local time. + * @param year A numeric value for the year. + * @param month A zero-based numeric value for the month (0 for January, 11 for December). Must be specified if numDate is specified. + * @param date A numeric value equal for the day of the month. + */ + setFullYear(year: number, month?: number, date?: number): number; + /** + * Sets the year value in the Date object using Universal Coordinated Time (UTC). + * @param year A numeric value equal to the year. + * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. Must be supplied if numDate is supplied. + * @param date A numeric value equal to the day of the month. + */ + setUTCFullYear(year: number, month?: number, date?: number): number; + /** Returns a date converted to a string using Universal Coordinated Time (UTC). */ + toUTCString(): string; + /** Returns a date as a string value in ISO format. */ + toISOString(): string; + /** Used by the JSON.stringify method to enable the transformation of an object's data for JavaScript Object Notation (JSON) serialization. */ + toJSON(key?: any): string; +} + +interface DateConstructor { + new(): Date; + new(value: number | string): Date; + new(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): Date; + (): string; + readonly prototype: Date; + /** + * Parses a string containing a date, and returns the number of milliseconds between that date and midnight, January 1, 1970. + * @param s A date string + */ + parse(s: string): number; + /** + * Returns the number of milliseconds between midnight, January 1, 1970 Universal Coordinated Time (UTC) (or GMT) and the specified date. + * @param year The full year designation is required for cross-century date accuracy. If year is between 0 and 99 is used, then year is assumed to be 1900 + year. + * @param month The month as a number between 0 and 11 (January to December). + * @param date The date as a number between 1 and 31. + * @param hours Must be supplied if minutes is supplied. A number from 0 to 23 (midnight to 11pm) that specifies the hour. + * @param minutes Must be supplied if seconds is supplied. A number from 0 to 59 that specifies the minutes. + * @param seconds Must be supplied if milliseconds is supplied. A number from 0 to 59 that specifies the seconds. + * @param ms A number from 0 to 999 that specifies the milliseconds. + */ + UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; + now(): number; +} + +declare var Date: DateConstructor; + +interface RegExpMatchArray extends Array { + index?: number; + input?: string; +} + +interface RegExpExecArray extends Array { + index: number; + input: string; +} + +interface RegExp { + /** + * Executes a search on a string using a regular expression pattern, and returns an array containing the results of that search. + * @param string The String object or string literal on which to perform the search. + */ + exec(string: string): RegExpExecArray | null; + + /** + * Returns a Boolean value that indicates whether or not a pattern exists in a searched string. + * @param string String on which to perform the search. + */ + test(string: string): boolean; + + /** Returns a copy of the text of the regular expression pattern. Read-only. The regExp argument is a Regular expression object. It can be a variable name or a literal. */ + readonly source: string; + + /** Returns a Boolean value indicating the state of the global flag (g) used with a regular expression. Default is false. Read-only. */ + readonly global: boolean; + + /** Returns a Boolean value indicating the state of the ignoreCase flag (i) used with a regular expression. Default is false. Read-only. */ + readonly ignoreCase: boolean; + + /** Returns a Boolean value indicating the state of the multiline flag (m) used with a regular expression. Default is false. Read-only. */ + readonly multiline: boolean; + + lastIndex: number; + + // Non-standard extensions + compile(): this; +} + +interface RegExpConstructor { + new(pattern: RegExp | string): RegExp; + new(pattern: string, flags?: string): RegExp; + (pattern: RegExp | string): RegExp; + (pattern: string, flags?: string): RegExp; + readonly prototype: RegExp; + + // Non-standard extensions + $1: string; + $2: string; + $3: string; + $4: string; + $5: string; + $6: string; + $7: string; + $8: string; + $9: string; + lastMatch: string; +} + +declare var RegExp: RegExpConstructor; + +interface Error { + name: string; + message: string; + stack?: string; +} + +interface ErrorConstructor { + new(message?: string): Error; + (message?: string): Error; + readonly prototype: Error; +} + +declare var Error: ErrorConstructor; + +interface EvalError extends Error { +} + +interface EvalErrorConstructor extends ErrorConstructor { + new(message?: string): EvalError; + (message?: string): EvalError; + readonly prototype: EvalError; +} + +declare var EvalError: EvalErrorConstructor; + +interface RangeError extends Error { +} + +interface RangeErrorConstructor extends ErrorConstructor { + new(message?: string): RangeError; + (message?: string): RangeError; + readonly prototype: RangeError; +} + +declare var RangeError: RangeErrorConstructor; + +interface ReferenceError extends Error { +} + +interface ReferenceErrorConstructor extends ErrorConstructor { + new(message?: string): ReferenceError; + (message?: string): ReferenceError; + readonly prototype: ReferenceError; +} + +declare var ReferenceError: ReferenceErrorConstructor; + +interface SyntaxError extends Error { +} + +interface SyntaxErrorConstructor extends ErrorConstructor { + new(message?: string): SyntaxError; + (message?: string): SyntaxError; + readonly prototype: SyntaxError; +} + +declare var SyntaxError: SyntaxErrorConstructor; + +interface TypeError extends Error { +} + +interface TypeErrorConstructor extends ErrorConstructor { + new(message?: string): TypeError; + (message?: string): TypeError; + readonly prototype: TypeError; +} + +declare var TypeError: TypeErrorConstructor; + +interface URIError extends Error { +} + +interface URIErrorConstructor extends ErrorConstructor { + new(message?: string): URIError; + (message?: string): URIError; + readonly prototype: URIError; +} + +declare var URIError: URIErrorConstructor; + +interface JSON { + /** + * Converts a JavaScript Object Notation (JSON) string into an object. + * @param text A valid JSON string. + * @param reviver A function that transforms the results. This function is called for each member of the object. + * If a member contains nested objects, the nested objects are transformed before the parent object is. + */ + parse(text: string, reviver?: (this: any, key: string, value: any) => any): any; + /** + * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. + * @param value A JavaScript value, usually an object or array, to be converted. + * @param replacer A function that transforms the results. + * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read. + */ + stringify(value: any, replacer?: (this: any, key: string, value: any) => any, space?: string | number): string; + /** + * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. + * @param value A JavaScript value, usually an object or array, to be converted. + * @param replacer An array of strings and numbers that acts as a approved list for selecting the object properties that will be stringified. + * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read. + */ + stringify(value: any, replacer?: (number | string)[] | null, space?: string | number): string; +} + +/** + * An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format. + */ +declare var JSON: JSON; + + +///////////////////////////// +/// ECMAScript Array API (specially handled by compiler) +///////////////////////////// + +interface ReadonlyArray { + /** + * Gets the length of the array. This is a number one higher than the highest element defined in an array. + */ + readonly length: number; + /** + * Returns a string representation of an array. + */ + toString(): string; + /** + * Returns a string representation of an array. The elements are converted to string using their toLocalString methods. + */ + toLocaleString(): string; + /** + * Combines two or more arrays. + * @param items Additional items to add to the end of array1. + */ + concat(...items: ConcatArray[]): T[]; + /** + * Combines two or more arrays. + * @param items Additional items to add to the end of array1. + */ + concat(...items: (T | ConcatArray)[]): T[]; + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'. + */ + slice(start?: number, end?: number): T[]; + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0. + */ + indexOf(searchElement: T, fromIndex?: number): number; + /** + * Returns the index of the last occurrence of a specified value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array. + */ + lastIndexOf(searchElement: T, fromIndex?: number): number; + /** + * Determines whether all the members of an array satisfy the specified test. + * @param predicate A function that accepts up to three arguments. The every method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(predicate: (value: T, index: number, array: readonly T[]) => value is S, thisArg?: any): this is readonly S[]; + /** + * Determines whether all the members of an array satisfy the specified test. + * @param predicate A function that accepts up to three arguments. The every method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: any): boolean; + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param predicate A function that accepts up to three arguments. The some method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value true, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: any): boolean; + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: T, index: number, array: readonly T[]) => void, thisArg?: any): void; + /** + * Calls a defined callback function on each element of an array, and returns an array that contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: T, index: number, array: readonly T[]) => U, thisArg?: any): U[]; + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param predicate A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value. + */ + filter(predicate: (value: T, index: number, array: readonly T[]) => value is S, thisArg?: any): S[]; + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param predicate A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value. + */ + filter(predicate: (value: T, index: number, array: readonly T[]) => unknown, thisArg?: any): T[]; + /** + * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: readonly T[]) => T): T; + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: readonly T[]) => T, initialValue: T): T; + /** + * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: readonly T[]) => U, initialValue: U): U; + /** + * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: readonly T[]) => T): T; + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: readonly T[]) => T, initialValue: T): T; + /** + * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: readonly T[]) => U, initialValue: U): U; + + readonly [n: number]: T; +} + +interface ConcatArray { + readonly length: number; + readonly [n: number]: T; + join(separator?: string): string; + slice(start?: number, end?: number): T[]; +} + +interface Array { + /** + * Gets or sets the length of the array. This is a number one higher than the highest element defined in an array. + */ + length: number; + /** + * Returns a string representation of an array. + */ + toString(): string; + /** + * Returns a string representation of an array. The elements are converted to string using their toLocalString methods. + */ + toLocaleString(): string; + /** + * Removes the last element from an array and returns it. + */ + pop(): T | undefined; + /** + * Appends new elements to an array, and returns the new length of the array. + * @param items New elements of the Array. + */ + push(...items: T[]): number; + /** + * Combines two or more arrays. + * @param items Additional items to add to the end of array1. + */ + concat(...items: ConcatArray[]): T[]; + /** + * Combines two or more arrays. + * @param items Additional items to add to the end of array1. + */ + concat(...items: (T | ConcatArray)[]): T[]; + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + /** + * Reverses the elements in an Array. + */ + reverse(): T[]; + /** + * Removes the first element from an array and returns it. + */ + shift(): T | undefined; + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'. + */ + slice(start?: number, end?: number): T[]; + /** + * Sorts an array. + * @param compareFn Function used to determine the order of the elements. It is expected to return + * a negative value if first argument is less than second argument, zero if they're equal and a positive + * value otherwise. If omitted, the elements are sorted in ascending, ASCII character order. + * ```ts + * [11,2,22,1].sort((a, b) => a - b) + * ``` + */ + sort(compareFn?: (a: T, b: T) => number): this; + /** + * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. + * @param start The zero-based location in the array from which to start removing elements. + * @param deleteCount The number of elements to remove. + */ + splice(start: number, deleteCount?: number): T[]; + /** + * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. + * @param start The zero-based location in the array from which to start removing elements. + * @param deleteCount The number of elements to remove. + * @param items Elements to insert into the array in place of the deleted elements. + */ + splice(start: number, deleteCount: number, ...items: T[]): T[]; + /** + * Inserts new elements at the start of an array. + * @param items Elements to insert at the start of the Array. + */ + unshift(...items: T[]): number; + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0. + */ + indexOf(searchElement: T, fromIndex?: number): number; + /** + * Returns the index of the last occurrence of a specified value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array. + */ + lastIndexOf(searchElement: T, fromIndex?: number): number; + /** + * Determines whether all the members of an array satisfy the specified test. + * @param predicate A function that accepts up to three arguments. The every method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): this is S[]; + /** + * Determines whether all the members of an array satisfy the specified test. + * @param predicate A function that accepts up to three arguments. The every method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param predicate A function that accepts up to three arguments. The some method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value true, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): boolean; + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; + /** + * Calls a defined callback function on each element of an array, and returns an array that contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param predicate A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value. + */ + filter(predicate: (value: T, index: number, array: T[]) => value is S, thisArg?: any): S[]; + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param predicate A function that accepts up to three arguments. The filter method calls the predicate function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. If thisArg is omitted, undefined is used as the this value. + */ + filter(predicate: (value: T, index: number, array: T[]) => unknown, thisArg?: any): T[]; + /** + * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; + /** + * Calls the specified callback function for all the elements in an array. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; + /** + * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T): T; + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T; + /** + * Calls the specified callback function for all the elements in an array, in descending order. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; + + [n: number]: T; +} + +interface ArrayConstructor { + new(arrayLength?: number): any[]; + new (arrayLength: number): T[]; + new (...items: T[]): T[]; + (arrayLength?: number): any[]; + (arrayLength: number): T[]; + (...items: T[]): T[]; + isArray(arg: any): arg is any[]; + readonly prototype: any[]; +} + +declare var Array: ArrayConstructor; + +interface TypedPropertyDescriptor { + enumerable?: boolean; + configurable?: boolean; + writable?: boolean; + value?: T; + get?: () => T; + set?: (value: T) => void; +} + +declare type ClassDecorator = (target: TFunction) => TFunction | void; +declare type PropertyDecorator = (target: Object, propertyKey: string | symbol) => void; +declare type MethodDecorator = (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void; +declare type ParameterDecorator = (target: Object, propertyKey: string | symbol, parameterIndex: number) => void; + +declare type PromiseConstructorLike = new (executor: (resolve: (value?: T | PromiseLike) => void, reject: (reason?: any) => void) => void) => PromiseLike; + +interface PromiseLike { + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): PromiseLike; +} + +/** + * Represents the completion of an asynchronous operation + */ +interface Promise { + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): Promise; + + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): Promise; +} + +interface ArrayLike { + readonly length: number; + readonly [n: number]: T; +} + +/** + * Make all properties in T optional + */ +type Partial = { + [P in keyof T]?: T[P]; +}; + +/** + * Make all properties in T required + */ +type Required = { + [P in keyof T]-?: T[P]; +}; + +/** + * Make all properties in T readonly + */ +type Readonly = { + readonly [P in keyof T]: T[P]; +}; + +/** + * From T, pick a set of properties whose keys are in the union K + */ +type Pick = { + [P in K]: T[P]; +}; + +/** + * Construct a type with a set of properties K of type T + */ +type Record = { + [P in K]: T; +}; + +/** + * Exclude from T those types that are assignable to U + */ +type Exclude = T extends U ? never : T; + +/** + * Extract from T those types that are assignable to U + */ +type Extract = T extends U ? T : never; + +/** + * Construct a type with the properties of T except for those in type K. + */ +type Omit = Pick>; + +/** + * Exclude null and undefined from T + */ +type NonNullable = T extends null | undefined ? never : T; + +/** + * Obtain the parameters of a function type in a tuple + */ +type Parameters any> = T extends (...args: infer P) => any ? P : never; + +/** + * Obtain the parameters of a constructor function type in a tuple + */ +type ConstructorParameters any> = T extends new (...args: infer P) => any ? P : never; + +/** + * Obtain the return type of a function type + */ +type ReturnType any> = T extends (...args: any) => infer R ? R : any; + +/** + * Obtain the return type of a constructor function type + */ +type InstanceType any> = T extends new (...args: any) => infer R ? R : any; + +/** + * Marker for contextual 'this' type + */ +interface ThisType { } + +/** + * Represents a raw buffer of binary data, which is used to store data for the + * different typed arrays. ArrayBuffers cannot be read from or written to directly, + * but can be passed to a typed array or DataView Object to interpret the raw + * buffer as needed. + */ +interface ArrayBuffer { + /** + * Read-only. The length of the ArrayBuffer (in bytes). + */ + readonly byteLength: number; + + /** + * Returns a section of an ArrayBuffer. + */ + slice(begin: number, end?: number): ArrayBuffer; +} + +/** + * Allowed ArrayBuffer types for the buffer of an ArrayBufferView and related Typed Arrays. + */ +interface ArrayBufferTypes { + ArrayBuffer: ArrayBuffer; +} +type ArrayBufferLike = ArrayBufferTypes[keyof ArrayBufferTypes]; + +interface ArrayBufferConstructor { + readonly prototype: ArrayBuffer; + new(byteLength: number): ArrayBuffer; + isView(arg: any): arg is ArrayBufferView; +} +declare var ArrayBuffer: ArrayBufferConstructor; + +interface ArrayBufferView { + /** + * The ArrayBuffer instance referenced by the array. + */ + buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + byteLength: number; + + /** + * The offset in bytes of the array. + */ + byteOffset: number; +} + +interface DataView { + readonly buffer: ArrayBuffer; + readonly byteLength: number; + readonly byteOffset: number; + /** + * Gets the Float32 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getFloat32(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Float64 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getFloat64(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Int8 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getInt8(byteOffset: number): number; + + /** + * Gets the Int16 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getInt16(byteOffset: number, littleEndian?: boolean): number; + /** + * Gets the Int32 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getInt32(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Uint8 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getUint8(byteOffset: number): number; + + /** + * Gets the Uint16 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getUint16(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Uint32 value at the specified byte offset from the start of the view. There is + * no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getUint32(byteOffset: number, littleEndian?: boolean): number; + + /** + * Stores an Float32 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setFloat32(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Float64 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setFloat64(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Int8 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + */ + setInt8(byteOffset: number, value: number): void; + + /** + * Stores an Int16 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setInt16(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Int32 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setInt32(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Uint8 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + */ + setUint8(byteOffset: number, value: number): void; + + /** + * Stores an Uint16 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setUint16(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Uint32 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, + * otherwise a little-endian value should be written. + */ + setUint32(byteOffset: number, value: number, littleEndian?: boolean): void; +} + +interface DataViewConstructor { + new(buffer: ArrayBufferLike, byteOffset?: number, byteLength?: number): DataView; +} +declare var DataView: DataViewConstructor; + +/** + * A typed array of 8-bit integer values. The contents are initialized to 0. If the requested + * number of bytes could not be allocated an exception is raised. + */ +interface Int8Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param predicate A function that accepts up to three arguments. The every method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(predicate: (value: number, index: number, array: Int8Array) => unknown, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param predicate A function that accepts up to three arguments. The filter method calls + * the predicate function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(predicate: (value: number, index: number, array: Int8Array) => any, thisArg?: any): Int8Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Int8Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Int8Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Int8Array) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Int8Array) => number, thisArg?: any): Int8Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int8Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int8Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int8Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Int8Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'. + */ + slice(start?: number, end?: number): Int8Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param predicate A function that accepts up to three arguments. The some method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value true, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(predicate: (value: number, index: number, array: Int8Array) => unknown, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn Function used to determine the order of the elements. It is expected to return + * a negative value if first argument is less than second argument, zero if they're equal and a positive + * value otherwise. If omitted, the elements are sorted in ascending, ASCII character order. + * ```ts + * [11,2,22,1].sort((a, b) => a - b) + * ``` + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Int8Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin?: number, end?: number): Int8Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): Int8Array; + + [index: number]: number; +} +interface Int8ArrayConstructor { + readonly prototype: Int8Array; + new(length: number): Int8Array; + new(array: ArrayLike | ArrayBufferLike): Int8Array; + new(buffer: ArrayBufferLike, byteOffset?: number, length?: number): Int8Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Int8Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + */ + from(arrayLike: ArrayLike): Int8Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int8Array; + + +} +declare var Int8Array: Int8ArrayConstructor; + +/** + * A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated an exception is raised. + */ +interface Uint8Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param predicate A function that accepts up to three arguments. The every method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param predicate A function that accepts up to three arguments. The filter method calls + * the predicate function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(predicate: (value: number, index: number, array: Uint8Array) => any, thisArg?: any): Uint8Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Uint8Array) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Uint8Array) => number, thisArg?: any): Uint8Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Uint8Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'. + */ + slice(start?: number, end?: number): Uint8Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param predicate A function that accepts up to three arguments. The some method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value true, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn Function used to determine the order of the elements. It is expected to return + * a negative value if first argument is less than second argument, zero if they're equal and a positive + * value otherwise. If omitted, the elements are sorted in ascending, ASCII character order. + * ```ts + * [11,2,22,1].sort((a, b) => a - b) + * ``` + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Uint8Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin?: number, end?: number): Uint8Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): Uint8Array; + + [index: number]: number; +} + +interface Uint8ArrayConstructor { + readonly prototype: Uint8Array; + new(length: number): Uint8Array; + new(array: ArrayLike | ArrayBufferLike): Uint8Array; + new(buffer: ArrayBufferLike, byteOffset?: number, length?: number): Uint8Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Uint8Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + */ + from(arrayLike: ArrayLike): Uint8Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8Array; + +} +declare var Uint8Array: Uint8ArrayConstructor; + +/** + * A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0. + * If the requested number of bytes could not be allocated an exception is raised. + */ +interface Uint8ClampedArray { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param predicate A function that accepts up to three arguments. The every method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param predicate A function that accepts up to three arguments. The filter method calls + * the predicate function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(predicate: (value: number, index: number, array: Uint8ClampedArray) => any, thisArg?: any): Uint8ClampedArray; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Uint8ClampedArray) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Uint8ClampedArray) => number, thisArg?: any): Uint8ClampedArray; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8ClampedArray) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Uint8ClampedArray; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'. + */ + slice(start?: number, end?: number): Uint8ClampedArray; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param predicate A function that accepts up to three arguments. The some method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value true, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(predicate: (value: number, index: number, array: Uint8ClampedArray) => unknown, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn Function used to determine the order of the elements. It is expected to return + * a negative value if first argument is less than second argument, zero if they're equal and a positive + * value otherwise. If omitted, the elements are sorted in ascending, ASCII character order. + * ```ts + * [11,2,22,1].sort((a, b) => a - b) + * ``` + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Uint8ClampedArray view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin?: number, end?: number): Uint8ClampedArray; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): Uint8ClampedArray; + + [index: number]: number; +} + +interface Uint8ClampedArrayConstructor { + readonly prototype: Uint8ClampedArray; + new(length: number): Uint8ClampedArray; + new(array: ArrayLike | ArrayBufferLike): Uint8ClampedArray; + new(buffer: ArrayBufferLike, byteOffset?: number, length?: number): Uint8ClampedArray; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Uint8ClampedArray; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + */ + from(arrayLike: ArrayLike): Uint8ClampedArray; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint8ClampedArray; +} +declare var Uint8ClampedArray: Uint8ClampedArrayConstructor; + +/** + * A typed array of 16-bit signed integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated an exception is raised. + */ +interface Int16Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param predicate A function that accepts up to three arguments. The every method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(predicate: (value: number, index: number, array: Int16Array) => unknown, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param predicate A function that accepts up to three arguments. The filter method calls + * the predicate function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(predicate: (value: number, index: number, array: Int16Array) => any, thisArg?: any): Int16Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Int16Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Int16Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Int16Array) => void, thisArg?: any): void; + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Int16Array) => number, thisArg?: any): Int16Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int16Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int16Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int16Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Int16Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'. + */ + slice(start?: number, end?: number): Int16Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param predicate A function that accepts up to three arguments. The some method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value true, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(predicate: (value: number, index: number, array: Int16Array) => unknown, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn Function used to determine the order of the elements. It is expected to return + * a negative value if first argument is less than second argument, zero if they're equal and a positive + * value otherwise. If omitted, the elements are sorted in ascending, ASCII character order. + * ```ts + * [11,2,22,1].sort((a, b) => a - b) + * ``` + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Int16Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin?: number, end?: number): Int16Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): Int16Array; + + [index: number]: number; +} + +interface Int16ArrayConstructor { + readonly prototype: Int16Array; + new(length: number): Int16Array; + new(array: ArrayLike | ArrayBufferLike): Int16Array; + new(buffer: ArrayBufferLike, byteOffset?: number, length?: number): Int16Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Int16Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + */ + from(arrayLike: ArrayLike): Int16Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int16Array; + + +} +declare var Int16Array: Int16ArrayConstructor; + +/** + * A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated an exception is raised. + */ +interface Uint16Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param predicate A function that accepts up to three arguments. The every method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(predicate: (value: number, index: number, array: Uint16Array) => unknown, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param predicate A function that accepts up to three arguments. The filter method calls + * the predicate function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(predicate: (value: number, index: number, array: Uint16Array) => any, thisArg?: any): Uint16Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Uint16Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Uint16Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Uint16Array) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Uint16Array) => number, thisArg?: any): Uint16Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint16Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint16Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint16Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Uint16Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'. + */ + slice(start?: number, end?: number): Uint16Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param predicate A function that accepts up to three arguments. The some method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value true, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(predicate: (value: number, index: number, array: Uint16Array) => unknown, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn Function used to determine the order of the elements. It is expected to return + * a negative value if first argument is less than second argument, zero if they're equal and a positive + * value otherwise. If omitted, the elements are sorted in ascending, ASCII character order. + * ```ts + * [11,2,22,1].sort((a, b) => a - b) + * ``` + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Uint16Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin?: number, end?: number): Uint16Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): Uint16Array; + + [index: number]: number; +} + +interface Uint16ArrayConstructor { + readonly prototype: Uint16Array; + new(length: number): Uint16Array; + new(array: ArrayLike | ArrayBufferLike): Uint16Array; + new(buffer: ArrayBufferLike, byteOffset?: number, length?: number): Uint16Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Uint16Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + */ + from(arrayLike: ArrayLike): Uint16Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint16Array; + + +} +declare var Uint16Array: Uint16ArrayConstructor; +/** + * A typed array of 32-bit signed integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated an exception is raised. + */ +interface Int32Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param predicate A function that accepts up to three arguments. The every method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(predicate: (value: number, index: number, array: Int32Array) => unknown, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param predicate A function that accepts up to three arguments. The filter method calls + * the predicate function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(predicate: (value: number, index: number, array: Int32Array) => any, thisArg?: any): Int32Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Int32Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Int32Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Int32Array) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Int32Array) => number, thisArg?: any): Int32Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int32Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Int32Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Int32Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Int32Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'. + */ + slice(start?: number, end?: number): Int32Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param predicate A function that accepts up to three arguments. The some method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value true, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(predicate: (value: number, index: number, array: Int32Array) => unknown, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn Function used to determine the order of the elements. It is expected to return + * a negative value if first argument is less than second argument, zero if they're equal and a positive + * value otherwise. If omitted, the elements are sorted in ascending, ASCII character order. + * ```ts + * [11,2,22,1].sort((a, b) => a - b) + * ``` + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Int32Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin?: number, end?: number): Int32Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): Int32Array; + + [index: number]: number; +} + +interface Int32ArrayConstructor { + readonly prototype: Int32Array; + new(length: number): Int32Array; + new(array: ArrayLike | ArrayBufferLike): Int32Array; + new(buffer: ArrayBufferLike, byteOffset?: number, length?: number): Int32Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Int32Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + */ + from(arrayLike: ArrayLike): Int32Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Int32Array; + +} +declare var Int32Array: Int32ArrayConstructor; + +/** + * A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the + * requested number of bytes could not be allocated an exception is raised. + */ +interface Uint32Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param predicate A function that accepts up to three arguments. The every method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(predicate: (value: number, index: number, array: Uint32Array) => unknown, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param predicate A function that accepts up to three arguments. The filter method calls + * the predicate function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(predicate: (value: number, index: number, array: Uint32Array) => any, thisArg?: any): Uint32Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Uint32Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Uint32Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Uint32Array) => void, thisArg?: any): void; + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Uint32Array) => number, thisArg?: any): Uint32Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint32Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint32Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint32Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Uint32Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'. + */ + slice(start?: number, end?: number): Uint32Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param predicate A function that accepts up to three arguments. The some method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value true, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(predicate: (value: number, index: number, array: Uint32Array) => unknown, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn Function used to determine the order of the elements. It is expected to return + * a negative value if first argument is less than second argument, zero if they're equal and a positive + * value otherwise. If omitted, the elements are sorted in ascending, ASCII character order. + * ```ts + * [11,2,22,1].sort((a, b) => a - b) + * ``` + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Uint32Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin?: number, end?: number): Uint32Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): Uint32Array; + + [index: number]: number; +} + +interface Uint32ArrayConstructor { + readonly prototype: Uint32Array; + new(length: number): Uint32Array; + new(array: ArrayLike | ArrayBufferLike): Uint32Array; + new(buffer: ArrayBufferLike, byteOffset?: number, length?: number): Uint32Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Uint32Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + */ + from(arrayLike: ArrayLike): Uint32Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Uint32Array; + +} +declare var Uint32Array: Uint32ArrayConstructor; + +/** + * A typed array of 32-bit float values. The contents are initialized to 0. If the requested number + * of bytes could not be allocated an exception is raised. + */ +interface Float32Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param predicate A function that accepts up to three arguments. The every method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param predicate A function that accepts up to three arguments. The filter method calls + * the predicate function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(predicate: (value: number, index: number, array: Float32Array) => any, thisArg?: any): Float32Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Float32Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Float32Array) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Float32Array) => number, thisArg?: any): Float32Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float32Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float32Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Float32Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'. + */ + slice(start?: number, end?: number): Float32Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param predicate A function that accepts up to three arguments. The some method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value true, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(predicate: (value: number, index: number, array: Float32Array) => unknown, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn Function used to determine the order of the elements. It is expected to return + * a negative value if first argument is less than second argument, zero if they're equal and a positive + * value otherwise. If omitted, the elements are sorted in ascending, ASCII character order. + * ```ts + * [11,2,22,1].sort((a, b) => a - b) + * ``` + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * Gets a new Float32Array view of the ArrayBuffer store for this array, referencing the elements + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin?: number, end?: number): Float32Array; + + /** + * Converts a number to a string by using the current locale. + */ + toLocaleString(): string; + + /** + * Returns a string representation of an array. + */ + toString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): Float32Array; + + [index: number]: number; +} + +interface Float32ArrayConstructor { + readonly prototype: Float32Array; + new(length: number): Float32Array; + new(array: ArrayLike | ArrayBufferLike): Float32Array; + new(buffer: ArrayBufferLike, byteOffset?: number, length?: number): Float32Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Float32Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + */ + from(arrayLike: ArrayLike): Float32Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float32Array; + + +} +declare var Float32Array: Float32ArrayConstructor; + +/** + * A typed array of 64-bit float values. The contents are initialized to 0. If the requested + * number of bytes could not be allocated an exception is raised. + */ +interface Float64Array { + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * The ArrayBuffer instance referenced by the array. + */ + readonly buffer: ArrayBufferLike; + + /** + * The length in bytes of the array. + */ + readonly byteLength: number; + + /** + * The offset in bytes of the array. + */ + readonly byteOffset: number; + + /** + * Returns the this object after copying a section of the array identified by start and end + * to the same array starting at position target + * @param target If target is negative, it is treated as length+target where length is the + * length of the array. + * @param start If start is negative, it is treated as length+start. If end is negative, it + * is treated as length+end. + * @param end If not specified, length of the this object is used as its default value. + */ + copyWithin(target: number, start: number, end?: number): this; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param predicate A function that accepts up to three arguments. The every method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + every(predicate: (value: number, index: number, array: Float64Array) => unknown, thisArg?: any): boolean; + + /** + * Returns the this object after filling the section identified by start and end with value + * @param value value to fill array section with + * @param start index to start filling the array at. If start is negative, it is treated as + * length+start where length is the length of the array. + * @param end index to stop filling the array at. If end is negative, it is treated as + * length+end. + */ + fill(value: number, start?: number, end?: number): this; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param predicate A function that accepts up to three arguments. The filter method calls + * the predicate function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + filter(predicate: (value: number, index: number, array: Float64Array) => any, thisArg?: any): Float64Array; + + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: number, index: number, obj: Float64Array) => boolean, thisArg?: any): number | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and -1 + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: number, index: number, obj: Float64Array) => boolean, thisArg?: any): number; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: number, index: number, array: Float64Array) => void, thisArg?: any): void; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + indexOf(searchElement: number, fromIndex?: number): number; + + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the + * resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + + /** + * Returns the index of the last occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the + * search starts at index 0. + */ + lastIndexOf(searchElement: number, fromIndex?: number): number; + + /** + * The length of the array. + */ + readonly length: number; + + /** + * Calls a defined callback function on each element of an array, and returns an array that + * contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the + * callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. + * If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: number, index: number, array: Float64Array) => number, thisArg?: any): Float64Array; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number): number; + reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array. The return value of + * the callback function is the accumulated result, and is provided as an argument in the next + * call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the + * callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float64Array) => U, initialValue: U): U; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an + * argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number): number; + reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Float64Array) => number, initialValue: number): number; + + /** + * Calls the specified callback function for all the elements in an array, in descending order. + * The return value of the callback function is the accumulated result, and is provided as an + * argument in the next call to the callback function. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls + * the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start + * the accumulation. The first call to the callbackfn function provides this value as an argument + * instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Float64Array) => U, initialValue: U): U; + + /** + * Reverses the elements in an Array. + */ + reverse(): Float64Array; + + /** + * Sets a value or an array of values. + * @param array A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: ArrayLike, offset?: number): void; + + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. This is exclusive of the element at the index 'end'. + */ + slice(start?: number, end?: number): Float64Array; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param predicate A function that accepts up to three arguments. The some method calls + * the predicate function for each element in the array until the predicate returns a value + * which is coercible to the Boolean value true, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the predicate function. + * If thisArg is omitted, undefined is used as the this value. + */ + some(predicate: (value: number, index: number, array: Float64Array) => unknown, thisArg?: any): boolean; + + /** + * Sorts an array. + * @param compareFn Function used to determine the order of the elements. It is expected to return + * a negative value if first argument is less than second argument, zero if they're equal and a positive + * value otherwise. If omitted, the elements are sorted in ascending, ASCII character order. + * ```ts + * [11,2,22,1].sort((a, b) => a - b) + * ``` + */ + sort(compareFn?: (a: number, b: number) => number): this; + + /** + * at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin?: number, end?: number): Float64Array; + + toString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): Float64Array; + + [index: number]: number; +} + +interface Float64ArrayConstructor { + readonly prototype: Float64Array; + new(length: number): Float64Array; + new(array: ArrayLike | ArrayBufferLike): Float64Array; + new(buffer: ArrayBufferLike, byteOffset?: number, length?: number): Float64Array; + + /** + * The size in bytes of each element in the array. + */ + readonly BYTES_PER_ELEMENT: number; + + /** + * Returns a new array from a set of elements. + * @param items A set of elements to include in the new array object. + */ + of(...items: number[]): Float64Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + */ + from(arrayLike: ArrayLike): Float64Array; + + /** + * Creates an array from an array-like or iterable object. + * @param arrayLike An array-like or iterable object to convert to an array. + * @param mapfn A mapping function to call on every element of the array. + * @param thisArg Value of 'this' used to invoke the mapfn. + */ + from(arrayLike: ArrayLike, mapfn: (v: T, k: number) => number, thisArg?: any): Float64Array; + +} +declare var Float64Array: Float64ArrayConstructor; + +///////////////////////////// +/// ECMAScript Internationalization API +///////////////////////////// + +declare namespace Intl { + interface CollatorOptions { + usage?: string; + localeMatcher?: string; + numeric?: boolean; + caseFirst?: string; + sensitivity?: string; + ignorePunctuation?: boolean; + } + + interface ResolvedCollatorOptions { + locale: string; + usage: string; + sensitivity: string; + ignorePunctuation: boolean; + collation: string; + caseFirst: string; + numeric: boolean; + } + + interface Collator { + compare(x: string, y: string): number; + resolvedOptions(): ResolvedCollatorOptions; + } + var Collator: { + new(locales?: string | string[], options?: CollatorOptions): Collator; + (locales?: string | string[], options?: CollatorOptions): Collator; + supportedLocalesOf(locales: string | string[], options?: CollatorOptions): string[]; + }; + + interface NumberFormatOptions { + localeMatcher?: string; + style?: string; + currency?: string; + currencyDisplay?: string; + useGrouping?: boolean; + minimumIntegerDigits?: number; + minimumFractionDigits?: number; + maximumFractionDigits?: number; + minimumSignificantDigits?: number; + maximumSignificantDigits?: number; + } + + interface ResolvedNumberFormatOptions { + locale: string; + numberingSystem: string; + style: string; + currency?: string; + currencyDisplay?: string; + minimumIntegerDigits: number; + minimumFractionDigits: number; + maximumFractionDigits: number; + minimumSignificantDigits?: number; + maximumSignificantDigits?: number; + useGrouping: boolean; + } + + interface NumberFormat { + format(value: number): string; + resolvedOptions(): ResolvedNumberFormatOptions; + } + var NumberFormat: { + new(locales?: string | string[], options?: NumberFormatOptions): NumberFormat; + (locales?: string | string[], options?: NumberFormatOptions): NumberFormat; + supportedLocalesOf(locales: string | string[], options?: NumberFormatOptions): string[]; + }; + + interface DateTimeFormatOptions { + localeMatcher?: string; + weekday?: string; + era?: string; + year?: string; + month?: string; + day?: string; + hour?: string; + minute?: string; + second?: string; + timeZoneName?: string; + formatMatcher?: string; + hour12?: boolean; + timeZone?: string; + } + + interface ResolvedDateTimeFormatOptions { + locale: string; + calendar: string; + numberingSystem: string; + timeZone: string; + hour12?: boolean; + weekday?: string; + era?: string; + year?: string; + month?: string; + day?: string; + hour?: string; + minute?: string; + second?: string; + timeZoneName?: string; + } + + interface DateTimeFormat { + format(date?: Date | number): string; + resolvedOptions(): ResolvedDateTimeFormatOptions; + } + var DateTimeFormat: { + new(locales?: string | string[], options?: DateTimeFormatOptions): DateTimeFormat; + (locales?: string | string[], options?: DateTimeFormatOptions): DateTimeFormat; + supportedLocalesOf(locales: string | string[], options?: DateTimeFormatOptions): string[]; + }; +} + +interface String { + /** + * Determines whether two strings are equivalent in the current or specified locale. + * @param that String to compare to target string + * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details. + * @param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details. + */ + localeCompare(that: string, locales?: string | string[], options?: Intl.CollatorOptions): number; +} + +interface Number { + /** + * Converts a number to a string by using the current or specified locale. + * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleString(locales?: string | string[], options?: Intl.NumberFormatOptions): string; +} + +interface Date { + /** + * Converts a date and time to a string by using the current or specified locale. + * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleString(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; + /** + * Converts a date to a string by using the current or specified locale. + * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleDateString(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; + + /** + * Converts a time to a string by using the current or specified locale. + * @param locales A locale string or array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleTimeString(locales?: string | string[], options?: Intl.DateTimeFormatOptions): string; +} diff --git a/node_modules/typescript/lib/lib.webworker.d.ts b/node_modules/typescript/lib/lib.webworker.d.ts new file mode 100644 index 0000000..50be901 --- /dev/null +++ b/node_modules/typescript/lib/lib.webworker.d.ts @@ -0,0 +1,6027 @@ +/*! ***************************************************************************** +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. +***************************************************************************** */ + + + +/// + + +///////////////////////////// +/// Worker APIs +///////////////////////////// + +interface AddEventListenerOptions extends EventListenerOptions { + once?: boolean; + passive?: boolean; +} + +interface AesCbcParams extends Algorithm { + iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface AesCtrParams extends Algorithm { + counter: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + length: number; +} + +interface AesDerivedKeyParams extends Algorithm { + length: number; +} + +interface AesGcmParams extends Algorithm { + additionalData?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + tagLength?: number; +} + +interface AesKeyAlgorithm extends KeyAlgorithm { + length: number; +} + +interface AesKeyGenParams extends Algorithm { + length: number; +} + +interface Algorithm { + name: string; +} + +interface BlobPropertyBag { + endings?: EndingType; + type?: string; +} + +interface CacheQueryOptions { + ignoreMethod?: boolean; + ignoreSearch?: boolean; + ignoreVary?: boolean; +} + +interface CanvasRenderingContext2DSettings { + alpha?: boolean; + desynchronized?: boolean; +} + +interface ClientQueryOptions { + includeUncontrolled?: boolean; + type?: ClientTypes; +} + +interface CloseEventInit extends EventInit { + code?: number; + reason?: string; + wasClean?: boolean; +} + +interface CryptoKeyPair { + privateKey?: CryptoKey; + publicKey?: CryptoKey; +} + +interface CustomEventInit extends EventInit { + detail?: T; +} + +interface DOMMatrix2DInit { + a?: number; + b?: number; + c?: number; + d?: number; + e?: number; + f?: number; + m11?: number; + m12?: number; + m21?: number; + m22?: number; + m41?: number; + m42?: number; +} + +interface DOMMatrixInit extends DOMMatrix2DInit { + is2D?: boolean; + m13?: number; + m14?: number; + m23?: number; + m24?: number; + m31?: number; + m32?: number; + m33?: number; + m34?: number; + m43?: number; + m44?: number; +} + +interface DOMPointInit { + w?: number; + x?: number; + y?: number; + z?: number; +} + +interface DOMQuadInit { + p1?: DOMPointInit; + p2?: DOMPointInit; + p3?: DOMPointInit; + p4?: DOMPointInit; +} + +interface DOMRectInit { + height?: number; + width?: number; + x?: number; + y?: number; +} + +interface DevicePermissionDescriptor extends PermissionDescriptor { + deviceId?: string; + name: "camera" | "microphone" | "speaker"; +} + +interface EcKeyGenParams extends Algorithm { + namedCurve: NamedCurve; +} + +interface EcKeyImportParams extends Algorithm { + namedCurve: NamedCurve; +} + +interface EcdhKeyDeriveParams extends Algorithm { + public: CryptoKey; +} + +interface EcdsaParams extends Algorithm { + hash: HashAlgorithmIdentifier; +} + +interface ErrorEventInit extends EventInit { + colno?: number; + error?: any; + filename?: string; + lineno?: number; + message?: string; +} + +interface EventInit { + bubbles?: boolean; + cancelable?: boolean; + composed?: boolean; +} + +interface EventListenerOptions { + capture?: boolean; +} + +interface EventSourceInit { + withCredentials?: boolean; +} + +interface ExtendableEventInit extends EventInit { +} + +interface ExtendableMessageEventInit extends ExtendableEventInit { + data?: any; + lastEventId?: string; + origin?: string; + ports?: MessagePort[]; + source?: Client | ServiceWorker | MessagePort | null; +} + +interface FetchEventInit extends ExtendableEventInit { + clientId?: string; + preloadResponse?: Promise; + replacesClientId?: string; + request: Request; + resultingClientId?: string; +} + +interface FilePropertyBag extends BlobPropertyBag { + lastModified?: number; +} + +interface GetNotificationOptions { + tag?: string; +} + +interface HmacImportParams extends Algorithm { + hash: HashAlgorithmIdentifier; + length?: number; +} + +interface HmacKeyGenParams extends Algorithm { + hash: HashAlgorithmIdentifier; + length?: number; +} + +interface IDBIndexParameters { + multiEntry?: boolean; + unique?: boolean; +} + +interface IDBObjectStoreParameters { + autoIncrement?: boolean; + keyPath?: string | string[] | null; +} + +interface IDBVersionChangeEventInit extends EventInit { + newVersion?: number | null; + oldVersion?: number; +} + +interface ImageBitmapOptions { + colorSpaceConversion?: ColorSpaceConversion; + imageOrientation?: ImageOrientation; + premultiplyAlpha?: PremultiplyAlpha; + resizeHeight?: number; + resizeQuality?: ResizeQuality; + resizeWidth?: number; +} + +interface ImageBitmapRenderingContextSettings { + alpha?: boolean; +} + +interface ImageEncodeOptions { + quality?: number; + type?: string; +} + +interface JsonWebKey { + alg?: string; + crv?: string; + d?: string; + dp?: string; + dq?: string; + e?: string; + ext?: boolean; + k?: string; + key_ops?: string[]; + kty?: string; + n?: string; + oth?: RsaOtherPrimesInfo[]; + p?: string; + q?: string; + qi?: string; + use?: string; + x?: string; + y?: string; +} + +interface KeyAlgorithm { + name: string; +} + +interface MessageEventInit extends EventInit { + data?: T; + lastEventId?: string; + origin?: string; + ports?: MessagePort[]; + source?: MessageEventSource | null; +} + +interface MidiPermissionDescriptor extends PermissionDescriptor { + name: "midi"; + sysex?: boolean; +} + +interface MultiCacheQueryOptions extends CacheQueryOptions { + cacheName?: string; +} + +interface NavigationPreloadState { + enabled?: boolean; + headerValue?: string; +} + +interface NotificationAction { + action: string; + icon?: string; + title: string; +} + +interface NotificationEventInit extends ExtendableEventInit { + action?: string; + notification: Notification; +} + +interface NotificationOptions { + actions?: NotificationAction[]; + badge?: string; + body?: string; + data?: any; + dir?: NotificationDirection; + icon?: string; + image?: string; + lang?: string; + renotify?: boolean; + requireInteraction?: boolean; + silent?: boolean; + tag?: string; + timestamp?: number; + vibrate?: VibratePattern; +} + +interface Pbkdf2Params extends Algorithm { + hash: HashAlgorithmIdentifier; + iterations: number; + salt: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface PerformanceObserverInit { + buffered?: boolean; + entryTypes?: string[]; + type?: string; +} + +interface PermissionDescriptor { + name: PermissionName; +} + +interface PipeOptions { + preventAbort?: boolean; + preventCancel?: boolean; + preventClose?: boolean; + signal?: AbortSignal; +} + +interface PostMessageOptions { + transfer?: any[]; +} + +interface ProgressEventInit extends EventInit { + lengthComputable?: boolean; + loaded?: number; + total?: number; +} + +interface PromiseRejectionEventInit extends EventInit { + promise: Promise; + reason?: any; +} + +interface PushEventInit extends ExtendableEventInit { + data?: PushMessageDataInit; +} + +interface PushPermissionDescriptor extends PermissionDescriptor { + name: "push"; + userVisibleOnly?: boolean; +} + +interface PushSubscriptionChangeEventInit extends ExtendableEventInit { + newSubscription?: PushSubscription; + oldSubscription?: PushSubscription; +} + +interface PushSubscriptionJSON { + endpoint?: string; + expirationTime?: number | null; + keys?: Record; +} + +interface PushSubscriptionOptionsInit { + applicationServerKey?: BufferSource | string | null; + userVisibleOnly?: boolean; +} + +interface QueuingStrategy { + highWaterMark?: number; + size?: QueuingStrategySizeCallback; +} + +interface ReadableStreamReadDoneResult { + done: true; + value?: T; +} + +interface ReadableStreamReadValueResult { + done: false; + value: T; +} + +interface RegistrationOptions { + scope?: string; + type?: WorkerType; + updateViaCache?: ServiceWorkerUpdateViaCache; +} + +interface RequestInit { + /** + * A BodyInit object or null to set request's body. + */ + body?: BodyInit | null; + /** + * A string indicating how the request will interact with the browser's cache to set request's cache. + */ + cache?: RequestCache; + /** + * A string indicating whether credentials will be sent with the request always, never, or only when sent to a same-origin URL. Sets request's credentials. + */ + credentials?: RequestCredentials; + /** + * A Headers object, an object literal, or an array of two-item arrays to set request's headers. + */ + headers?: HeadersInit; + /** + * A cryptographic hash of the resource to be fetched by request. Sets request's integrity. + */ + integrity?: string; + /** + * A boolean to set request's keepalive. + */ + keepalive?: boolean; + /** + * A string to set request's method. + */ + method?: string; + /** + * A string to indicate whether the request will use CORS, or will be restricted to same-origin URLs. Sets request's mode. + */ + mode?: RequestMode; + /** + * A string indicating whether request follows redirects, results in an error upon encountering a redirect, or returns the redirect (in an opaque fashion). Sets request's redirect. + */ + redirect?: RequestRedirect; + /** + * A string whose value is a same-origin URL, "about:client", or the empty string, to set request's referrer. + */ + referrer?: string; + /** + * A referrer policy to set request's referrerPolicy. + */ + referrerPolicy?: ReferrerPolicy; + /** + * An AbortSignal to set request's signal. + */ + signal?: AbortSignal | null; + /** + * Can only be null. Used to disassociate request from any Window. + */ + window?: any; +} + +interface ResponseInit { + headers?: HeadersInit; + status?: number; + statusText?: string; +} + +interface RsaHashedImportParams extends Algorithm { + hash: HashAlgorithmIdentifier; +} + +interface RsaHashedKeyGenParams extends RsaKeyGenParams { + hash: HashAlgorithmIdentifier; +} + +interface RsaKeyGenParams extends Algorithm { + modulusLength: number; + publicExponent: BigInteger; +} + +interface RsaOaepParams extends Algorithm { + label?: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface RsaOtherPrimesInfo { + d?: string; + r?: string; + t?: string; +} + +interface RsaPssParams extends Algorithm { + saltLength: number; +} + +interface StorageEstimate { + quota?: number; + usage?: number; +} + +interface SyncEventInit extends ExtendableEventInit { + lastChance?: boolean; + tag: string; +} + +interface TextDecodeOptions { + stream?: boolean; +} + +interface TextDecoderOptions { + fatal?: boolean; + ignoreBOM?: boolean; +} + +interface TextEncoderEncodeIntoResult { + read?: number; + written?: number; +} + +interface Transformer { + flush?: TransformStreamDefaultControllerCallback; + readableType?: undefined; + start?: TransformStreamDefaultControllerCallback; + transform?: TransformStreamDefaultControllerTransformCallback; + writableType?: undefined; +} + +interface UnderlyingByteSource { + autoAllocateChunkSize?: number; + cancel?: ReadableStreamErrorCallback; + pull?: ReadableByteStreamControllerCallback; + start?: ReadableByteStreamControllerCallback; + type: "bytes"; +} + +interface UnderlyingSink { + abort?: WritableStreamErrorCallback; + close?: WritableStreamDefaultControllerCloseCallback; + start?: WritableStreamDefaultControllerStartCallback; + type?: undefined; + write?: WritableStreamDefaultControllerWriteCallback; +} + +interface UnderlyingSource { + cancel?: ReadableStreamErrorCallback; + pull?: ReadableStreamDefaultControllerCallback; + start?: ReadableStreamDefaultControllerCallback; + type?: undefined; +} + +interface WebGLContextAttributes { + alpha?: boolean; + antialias?: boolean; + depth?: boolean; + desynchronized?: boolean; + failIfMajorPerformanceCaveat?: boolean; + powerPreference?: WebGLPowerPreference; + premultipliedAlpha?: boolean; + preserveDrawingBuffer?: boolean; + stencil?: boolean; +} + +interface WebGLContextEventInit extends EventInit { + statusMessage?: string; +} + +interface WorkerOptions { + credentials?: RequestCredentials; + name?: string; + type?: WorkerType; +} + +interface EventListener { + (evt: Event): void; +} + +/** The ANGLE_instanced_arrays extension is part of the WebGL API and allows to draw the same object, or groups of similar objects multiple times, if they share the same vertex data, primitive count and type. */ +interface ANGLE_instanced_arrays { + drawArraysInstancedANGLE(mode: GLenum, first: GLint, count: GLsizei, primcount: GLsizei): void; + drawElementsInstancedANGLE(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr, primcount: GLsizei): void; + vertexAttribDivisorANGLE(index: GLuint, divisor: GLuint): void; + readonly VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE: GLenum; +} + +/** A controller object that allows you to abort one or more DOM requests as and when desired. */ +interface AbortController { + /** + * Returns the AbortSignal object associated with this object. + */ + readonly signal: AbortSignal; + /** + * Invoking this method will set this object's AbortSignal's aborted flag and signal to any observers that the associated activity is to be aborted. + */ + abort(): void; +} + +declare var AbortController: { + prototype: AbortController; + new(): AbortController; +}; + +interface AbortSignalEventMap { + "abort": Event; +} + +/** A signal object that allows you to communicate with a DOM request (such as a Fetch) and abort it if required via an AbortController object. */ +interface AbortSignal extends EventTarget { + /** + * Returns true if this AbortSignal's AbortController has signaled to abort, and false otherwise. + */ + readonly aborted: boolean; + onabort: ((this: AbortSignal, ev: Event) => any) | null; + addEventListener(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var AbortSignal: { + prototype: AbortSignal; + new(): AbortSignal; +}; + +interface AbstractWorkerEventMap { + "error": ErrorEvent; +} + +interface AbstractWorker { + onerror: ((this: AbstractWorker, ev: ErrorEvent) => any) | null; + addEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: AbstractWorker, ev: AbstractWorkerEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +interface AesCfbParams extends Algorithm { + iv: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface AesCmacParams extends Algorithm { + length: number; +} + +interface AnimationFrameProvider { + cancelAnimationFrame(handle: number): void; + requestAnimationFrame(callback: FrameRequestCallback): number; +} + +/** A file-like object of immutable, raw data. Blobs represent data that isn't necessarily in a JavaScript-native format. The File interface is based on Blob, inheriting blob functionality and expanding it to support files on the user's system. */ +interface Blob { + readonly size: number; + readonly type: string; + arrayBuffer(): Promise; + slice(start?: number, end?: number, contentType?: string): Blob; + stream(): ReadableStream; + text(): Promise; +} + +declare var Blob: { + prototype: Blob; + new(blobParts?: BlobPart[], options?: BlobPropertyBag): Blob; +}; + +interface Body { + readonly body: ReadableStream | null; + readonly bodyUsed: boolean; + arrayBuffer(): Promise; + blob(): Promise; + formData(): Promise; + json(): Promise; + text(): Promise; +} + +interface BroadcastChannelEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; +} + +interface BroadcastChannel extends EventTarget { + /** + * Returns the channel name (as passed to the constructor). + */ + readonly name: string; + onmessage: ((this: BroadcastChannel, ev: MessageEvent) => any) | null; + onmessageerror: ((this: BroadcastChannel, ev: MessageEvent) => any) | null; + /** + * Closes the BroadcastChannel object, opening it up to garbage collection. + */ + close(): void; + /** + * Sends the given message to other BroadcastChannel objects set up for this channel. Messages can be structured objects, e.g. nested objects and arrays. + */ + postMessage(message: any): void; + addEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: BroadcastChannel, ev: BroadcastChannelEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var BroadcastChannel: { + prototype: BroadcastChannel; + new(name: string): BroadcastChannel; +}; + +/** This Streams API interface provides a built-in byte length queuing strategy that can be used when constructing streams. */ +interface ByteLengthQueuingStrategy extends QueuingStrategy { + highWaterMark: number; + size(chunk: ArrayBufferView): number; +} + +declare var ByteLengthQueuingStrategy: { + prototype: ByteLengthQueuingStrategy; + new(options: { highWaterMark: number }): ByteLengthQueuingStrategy; +}; + +/** Provides a storage mechanism for Request / Response object pairs that are cached, for example as part of the ServiceWorker life cycle. Note that the Cache interface is exposed to windowed scopes as well as workers. You don't have to use it in conjunction with service workers, even though it is defined in the service worker spec. */ +interface Cache { + add(request: RequestInfo): Promise; + addAll(requests: RequestInfo[]): Promise; + delete(request: RequestInfo, options?: CacheQueryOptions): Promise; + keys(request?: RequestInfo, options?: CacheQueryOptions): Promise>; + match(request: RequestInfo, options?: CacheQueryOptions): Promise; + matchAll(request?: RequestInfo, options?: CacheQueryOptions): Promise>; + put(request: RequestInfo, response: Response): Promise; +} + +declare var Cache: { + prototype: Cache; + new(): Cache; +}; + +/** The storage for Cache objects. */ +interface CacheStorage { + delete(cacheName: string): Promise; + has(cacheName: string): Promise; + keys(): Promise; + match(request: RequestInfo, options?: MultiCacheQueryOptions): Promise; + open(cacheName: string): Promise; +} + +declare var CacheStorage: { + prototype: CacheStorage; + new(): CacheStorage; +}; + +interface CanvasCompositing { + globalAlpha: number; + globalCompositeOperation: string; +} + +interface CanvasDrawImage { + drawImage(image: CanvasImageSource, dx: number, dy: number): void; + drawImage(image: CanvasImageSource, dx: number, dy: number, dw: number, dh: number): void; + drawImage(image: CanvasImageSource, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void; +} + +interface CanvasDrawPath { + beginPath(): void; + clip(fillRule?: CanvasFillRule): void; + clip(path: Path2D, fillRule?: CanvasFillRule): void; + fill(fillRule?: CanvasFillRule): void; + fill(path: Path2D, fillRule?: CanvasFillRule): void; + isPointInPath(x: number, y: number, fillRule?: CanvasFillRule): boolean; + isPointInPath(path: Path2D, x: number, y: number, fillRule?: CanvasFillRule): boolean; + isPointInStroke(x: number, y: number): boolean; + isPointInStroke(path: Path2D, x: number, y: number): boolean; + stroke(): void; + stroke(path: Path2D): void; +} + +interface CanvasFillStrokeStyles { + fillStyle: string | CanvasGradient | CanvasPattern; + strokeStyle: string | CanvasGradient | CanvasPattern; + createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient; + createPattern(image: CanvasImageSource, repetition: string | null): CanvasPattern | null; + createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient; +} + +interface CanvasFilters { + filter: string; +} + +/** An opaque object describing a gradient. It is returned by the methods CanvasRenderingContext2D.createLinearGradient() or CanvasRenderingContext2D.createRadialGradient(). */ +interface CanvasGradient { + /** + * Adds a color stop with the given color to the gradient at the given offset. 0.0 is the offset at one end of the gradient, 1.0 is the offset at the other end. + * + * Throws an "IndexSizeError" DOMException if the offset is out of range. Throws a "SyntaxError" DOMException if the color cannot be parsed. + */ + addColorStop(offset: number, color: string): void; +} + +declare var CanvasGradient: { + prototype: CanvasGradient; + new(): CanvasGradient; +}; + +interface CanvasImageData { + createImageData(sw: number, sh: number): ImageData; + createImageData(imagedata: ImageData): ImageData; + getImageData(sx: number, sy: number, sw: number, sh: number): ImageData; + putImageData(imagedata: ImageData, dx: number, dy: number): void; + putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX: number, dirtyY: number, dirtyWidth: number, dirtyHeight: number): void; +} + +interface CanvasImageSmoothing { + imageSmoothingEnabled: boolean; + imageSmoothingQuality: ImageSmoothingQuality; +} + +interface CanvasPath { + arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void; + bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void; + closePath(): void; + ellipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + lineTo(x: number, y: number): void; + moveTo(x: number, y: number): void; + quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; + rect(x: number, y: number, w: number, h: number): void; +} + +interface CanvasPathDrawingStyles { + lineCap: CanvasLineCap; + lineDashOffset: number; + lineJoin: CanvasLineJoin; + lineWidth: number; + miterLimit: number; + getLineDash(): number[]; + setLineDash(segments: number[]): void; +} + +/** An opaque object describing a pattern, based on an image, a canvas, or a video, created by the CanvasRenderingContext2D.createPattern() method. */ +interface CanvasPattern { + /** + * Sets the transformation matrix that will be used when rendering the pattern during a fill or stroke painting operation. + */ + setTransform(transform?: DOMMatrix2DInit): void; +} + +declare var CanvasPattern: { + prototype: CanvasPattern; + new(): CanvasPattern; +}; + +interface CanvasRect { + clearRect(x: number, y: number, w: number, h: number): void; + fillRect(x: number, y: number, w: number, h: number): void; + strokeRect(x: number, y: number, w: number, h: number): void; +} + +interface CanvasShadowStyles { + shadowBlur: number; + shadowColor: string; + shadowOffsetX: number; + shadowOffsetY: number; +} + +interface CanvasState { + restore(): void; + save(): void; +} + +interface CanvasText { + fillText(text: string, x: number, y: number, maxWidth?: number): void; + measureText(text: string): TextMetrics; + strokeText(text: string, x: number, y: number, maxWidth?: number): void; +} + +interface CanvasTextDrawingStyles { + direction: CanvasDirection; + font: string; + textAlign: CanvasTextAlign; + textBaseline: CanvasTextBaseline; +} + +interface CanvasTransform { + getTransform(): DOMMatrix; + resetTransform(): void; + rotate(angle: number): void; + scale(x: number, y: number): void; + setTransform(a: number, b: number, c: number, d: number, e: number, f: number): void; + setTransform(transform?: DOMMatrix2DInit): void; + transform(a: number, b: number, c: number, d: number, e: number, f: number): void; + translate(x: number, y: number): void; +} + +/** The Client interface represents an executable context such as a Worker, or a SharedWorker. Window clients are represented by the more-specific WindowClient. You can get Client/WindowClient objects from methods such as Clients.matchAll() and Clients.get(). */ +interface Client { + readonly frameType: FrameType; + readonly id: string; + readonly type: ClientTypes; + readonly url: string; + postMessage(message: any, transfer?: Transferable[]): void; +} + +declare var Client: { + prototype: Client; + new(): Client; +}; + +/** Provides access to Client objects. Access it via self.clients within a service worker. */ +interface Clients { + claim(): Promise; + get(id: string): Promise; + matchAll(options?: ClientQueryOptions): Promise>; + openWindow(url: string): Promise; +} + +declare var Clients: { + prototype: Clients; + new(): Clients; +}; + +/** A CloseEvent is sent to clients using WebSockets when the connection is closed. This is delivered to the listener indicated by the WebSocket object's onclose attribute. */ +interface CloseEvent extends Event { + /** + * Returns the WebSocket connection close code provided by the server. + */ + readonly code: number; + /** + * Returns the WebSocket connection close reason provided by the server. + */ + readonly reason: string; + /** + * Returns true if the connection closed cleanly; false otherwise. + */ + readonly wasClean: boolean; +} + +declare var CloseEvent: { + prototype: CloseEvent; + new(type: string, eventInitDict?: CloseEventInit): CloseEvent; +}; + +interface ConcatParams extends Algorithm { + algorithmId: Uint8Array; + hash?: string | Algorithm; + partyUInfo: Uint8Array; + partyVInfo: Uint8Array; + privateInfo?: Uint8Array; + publicInfo?: Uint8Array; +} + +/** This Streams API interface provides a built-in byte length queuing strategy that can be used when constructing streams. */ +interface CountQueuingStrategy extends QueuingStrategy { + highWaterMark: number; + size(chunk: any): 1; +} + +declare var CountQueuingStrategy: { + prototype: CountQueuingStrategy; + new(options: { highWaterMark: number }): CountQueuingStrategy; +}; + +/** Basic cryptography features available in the current context. It allows access to a cryptographically strong random number generator and to cryptographic primitives. */ +interface Crypto { + readonly subtle: SubtleCrypto; + getRandomValues(array: T): T; +} + +declare var Crypto: { + prototype: Crypto; + new(): Crypto; +}; + +/** The CryptoKey dictionary of the Web Crypto API represents a cryptographic key. */ +interface CryptoKey { + readonly algorithm: KeyAlgorithm; + readonly extractable: boolean; + readonly type: KeyType; + readonly usages: KeyUsage[]; +} + +declare var CryptoKey: { + prototype: CryptoKey; + new(): CryptoKey; +}; + +interface CustomEvent extends Event { + /** + * Returns any custom data event was created with. Typically used for synthetic events. + */ + readonly detail: T; + initCustomEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, detailArg: T): void; +} + +declare var CustomEvent: { + prototype: CustomEvent; + new(typeArg: string, eventInitDict?: CustomEventInit): CustomEvent; +}; + +/** An abnormal event (called an exception) which occurs as a result of calling a method or accessing a property of a web API. */ +interface DOMException { + readonly code: number; + readonly message: string; + readonly name: string; + readonly ABORT_ERR: number; + readonly DATA_CLONE_ERR: number; + readonly DOMSTRING_SIZE_ERR: number; + readonly HIERARCHY_REQUEST_ERR: number; + readonly INDEX_SIZE_ERR: number; + readonly INUSE_ATTRIBUTE_ERR: number; + readonly INVALID_ACCESS_ERR: number; + readonly INVALID_CHARACTER_ERR: number; + readonly INVALID_MODIFICATION_ERR: number; + readonly INVALID_NODE_TYPE_ERR: number; + readonly INVALID_STATE_ERR: number; + readonly NAMESPACE_ERR: number; + readonly NETWORK_ERR: number; + readonly NOT_FOUND_ERR: number; + readonly NOT_SUPPORTED_ERR: number; + readonly NO_DATA_ALLOWED_ERR: number; + readonly NO_MODIFICATION_ALLOWED_ERR: number; + readonly QUOTA_EXCEEDED_ERR: number; + readonly SECURITY_ERR: number; + readonly SYNTAX_ERR: number; + readonly TIMEOUT_ERR: number; + readonly TYPE_MISMATCH_ERR: number; + readonly URL_MISMATCH_ERR: number; + readonly VALIDATION_ERR: number; + readonly WRONG_DOCUMENT_ERR: number; +} + +declare var DOMException: { + prototype: DOMException; + new(message?: string, name?: string): DOMException; + readonly ABORT_ERR: number; + readonly DATA_CLONE_ERR: number; + readonly DOMSTRING_SIZE_ERR: number; + readonly HIERARCHY_REQUEST_ERR: number; + readonly INDEX_SIZE_ERR: number; + readonly INUSE_ATTRIBUTE_ERR: number; + readonly INVALID_ACCESS_ERR: number; + readonly INVALID_CHARACTER_ERR: number; + readonly INVALID_MODIFICATION_ERR: number; + readonly INVALID_NODE_TYPE_ERR: number; + readonly INVALID_STATE_ERR: number; + readonly NAMESPACE_ERR: number; + readonly NETWORK_ERR: number; + readonly NOT_FOUND_ERR: number; + readonly NOT_SUPPORTED_ERR: number; + readonly NO_DATA_ALLOWED_ERR: number; + readonly NO_MODIFICATION_ALLOWED_ERR: number; + readonly QUOTA_EXCEEDED_ERR: number; + readonly SECURITY_ERR: number; + readonly SYNTAX_ERR: number; + readonly TIMEOUT_ERR: number; + readonly TYPE_MISMATCH_ERR: number; + readonly URL_MISMATCH_ERR: number; + readonly VALIDATION_ERR: number; + readonly WRONG_DOCUMENT_ERR: number; +}; + +interface DOMMatrix extends DOMMatrixReadOnly { + a: number; + b: number; + c: number; + d: number; + e: number; + f: number; + m11: number; + m12: number; + m13: number; + m14: number; + m21: number; + m22: number; + m23: number; + m24: number; + m31: number; + m32: number; + m33: number; + m34: number; + m41: number; + m42: number; + m43: number; + m44: number; + invertSelf(): DOMMatrix; + multiplySelf(other?: DOMMatrixInit): DOMMatrix; + preMultiplySelf(other?: DOMMatrixInit): DOMMatrix; + rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + rotateFromVectorSelf(x?: number, y?: number): DOMMatrix; + rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + skewXSelf(sx?: number): DOMMatrix; + skewYSelf(sy?: number): DOMMatrix; + translateSelf(tx?: number, ty?: number, tz?: number): DOMMatrix; +} + +declare var DOMMatrix: { + prototype: DOMMatrix; + new(init?: string | number[]): DOMMatrix; + fromFloat32Array(array32: Float32Array): DOMMatrix; + fromFloat64Array(array64: Float64Array): DOMMatrix; + fromMatrix(other?: DOMMatrixInit): DOMMatrix; +}; + +interface DOMMatrixReadOnly { + readonly a: number; + readonly b: number; + readonly c: number; + readonly d: number; + readonly e: number; + readonly f: number; + readonly is2D: boolean; + readonly isIdentity: boolean; + readonly m11: number; + readonly m12: number; + readonly m13: number; + readonly m14: number; + readonly m21: number; + readonly m22: number; + readonly m23: number; + readonly m24: number; + readonly m31: number; + readonly m32: number; + readonly m33: number; + readonly m34: number; + readonly m41: number; + readonly m42: number; + readonly m43: number; + readonly m44: number; + flipX(): DOMMatrix; + flipY(): DOMMatrix; + inverse(): DOMMatrix; + multiply(other?: DOMMatrixInit): DOMMatrix; + rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; + rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; + rotateFromVector(x?: number, y?: number): DOMMatrix; + scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; + /** @deprecated */ + scaleNonUniform(scaleX?: number, scaleY?: number): DOMMatrix; + skewX(sx?: number): DOMMatrix; + skewY(sy?: number): DOMMatrix; + toFloat32Array(): Float32Array; + toFloat64Array(): Float64Array; + toJSON(): any; + transformPoint(point?: DOMPointInit): DOMPoint; + translate(tx?: number, ty?: number, tz?: number): DOMMatrix; +} + +declare var DOMMatrixReadOnly: { + prototype: DOMMatrixReadOnly; + new(init?: string | number[]): DOMMatrixReadOnly; + fromFloat32Array(array32: Float32Array): DOMMatrixReadOnly; + fromFloat64Array(array64: Float64Array): DOMMatrixReadOnly; + fromMatrix(other?: DOMMatrixInit): DOMMatrixReadOnly; +}; + +interface DOMPoint extends DOMPointReadOnly { + w: number; + x: number; + y: number; + z: number; +} + +declare var DOMPoint: { + prototype: DOMPoint; + new(x?: number, y?: number, z?: number, w?: number): DOMPoint; + fromPoint(other?: DOMPointInit): DOMPoint; +}; + +interface DOMPointReadOnly { + readonly w: number; + readonly x: number; + readonly y: number; + readonly z: number; + matrixTransform(matrix?: DOMMatrixInit): DOMPoint; + toJSON(): any; +} + +declare var DOMPointReadOnly: { + prototype: DOMPointReadOnly; + new(x?: number, y?: number, z?: number, w?: number): DOMPointReadOnly; + fromPoint(other?: DOMPointInit): DOMPointReadOnly; +}; + +interface DOMQuad { + readonly p1: DOMPoint; + readonly p2: DOMPoint; + readonly p3: DOMPoint; + readonly p4: DOMPoint; + getBounds(): DOMRect; + toJSON(): any; +} + +declare var DOMQuad: { + prototype: DOMQuad; + new(p1?: DOMPointInit, p2?: DOMPointInit, p3?: DOMPointInit, p4?: DOMPointInit): DOMQuad; + fromQuad(other?: DOMQuadInit): DOMQuad; + fromRect(other?: DOMRectInit): DOMQuad; +}; + +interface DOMRect extends DOMRectReadOnly { + height: number; + width: number; + x: number; + y: number; +} + +declare var DOMRect: { + prototype: DOMRect; + new(x?: number, y?: number, width?: number, height?: number): DOMRect; + fromRect(other?: DOMRectInit): DOMRect; +}; + +interface DOMRectReadOnly { + readonly bottom: number; + readonly height: number; + readonly left: number; + readonly right: number; + readonly top: number; + readonly width: number; + readonly x: number; + readonly y: number; + toJSON(): any; +} + +declare var DOMRectReadOnly: { + prototype: DOMRectReadOnly; + new(x?: number, y?: number, width?: number, height?: number): DOMRectReadOnly; + fromRect(other?: DOMRectInit): DOMRectReadOnly; +}; + +/** A type returned by some APIs which contains a list of DOMString (strings). */ +interface DOMStringList { + /** + * Returns the number of strings in strings. + */ + readonly length: number; + /** + * Returns true if strings contains string, and false otherwise. + */ + contains(string: string): boolean; + /** + * Returns the string with index index from strings. + */ + item(index: number): string | null; + [index: number]: string; +} + +declare var DOMStringList: { + prototype: DOMStringList; + new(): DOMStringList; +}; + +interface DedicatedWorkerGlobalScopeEventMap extends WorkerGlobalScopeEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; +} + +/** (the Worker global scope) is accessible through the self keyword. Some additional global functions, namespaces objects, and constructors, not typically associated with the worker global scope, but available on it, are listed in the JavaScript Reference. See also: Functions available to workers. */ +interface DedicatedWorkerGlobalScope extends WorkerGlobalScope, AnimationFrameProvider { + /** + * Returns dedicatedWorkerGlobal's name, i.e. the value given to the Worker constructor. Primarily useful for debugging. + */ + readonly name: string; + onmessage: ((this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any) | null; + onmessageerror: ((this: DedicatedWorkerGlobalScope, ev: MessageEvent) => any) | null; + /** + * Aborts dedicatedWorkerGlobal. + */ + close(): void; + /** + * Clones message and transmits it to the Worker object associated with dedicatedWorkerGlobal. transfer can be passed as a list of objects that are to be transferred rather than cloned. + */ + postMessage(message: any, transfer: Transferable[]): void; + postMessage(message: any, options?: PostMessageOptions): void; + addEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: DedicatedWorkerGlobalScope, ev: DedicatedWorkerGlobalScopeEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var DedicatedWorkerGlobalScope: { + prototype: DedicatedWorkerGlobalScope; + new(): DedicatedWorkerGlobalScope; +}; + +interface DhImportKeyParams extends Algorithm { + generator: Uint8Array; + prime: Uint8Array; +} + +interface DhKeyAlgorithm extends KeyAlgorithm { + generator: Uint8Array; + prime: Uint8Array; +} + +interface DhKeyDeriveParams extends Algorithm { + public: CryptoKey; +} + +interface DhKeyGenParams extends Algorithm { + generator: Uint8Array; + prime: Uint8Array; +} + +interface EXT_blend_minmax { + readonly MAX_EXT: GLenum; + readonly MIN_EXT: GLenum; +} + +/** The EXT_frag_depth extension is part of the WebGL API and enables to set a depth value of a fragment from within the fragment shader. */ +interface EXT_frag_depth { +} + +interface EXT_sRGB { + readonly FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT: GLenum; + readonly SRGB8_ALPHA8_EXT: GLenum; + readonly SRGB_ALPHA_EXT: GLenum; + readonly SRGB_EXT: GLenum; +} + +interface EXT_shader_texture_lod { +} + +/** The EXT_texture_filter_anisotropic extension is part of the WebGL API and exposes two constants for anisotropic filtering (AF). */ +interface EXT_texture_filter_anisotropic { + readonly MAX_TEXTURE_MAX_ANISOTROPY_EXT: GLenum; + readonly TEXTURE_MAX_ANISOTROPY_EXT: GLenum; +} + +/** Events providing information related to errors in scripts or in files. */ +interface ErrorEvent extends Event { + readonly colno: number; + readonly error: any; + readonly filename: string; + readonly lineno: number; + readonly message: string; +} + +declare var ErrorEvent: { + prototype: ErrorEvent; + new(type: string, eventInitDict?: ErrorEventInit): ErrorEvent; +}; + +/** An event which takes place in the DOM. */ +interface Event { + /** + * Returns true or false depending on how event was initialized. True if event goes through its target's ancestors in reverse tree order, and false otherwise. + */ + readonly bubbles: boolean; + cancelBubble: boolean; + /** + * Returns true or false depending on how event was initialized. Its return value does not always carry meaning, but true can indicate that part of the operation during which event was dispatched, can be canceled by invoking the preventDefault() method. + */ + readonly cancelable: boolean; + /** + * Returns true or false depending on how event was initialized. True if event invokes listeners past a ShadowRoot node that is the root of its target, and false otherwise. + */ + readonly composed: boolean; + /** + * Returns the object whose event listener's callback is currently being invoked. + */ + readonly currentTarget: EventTarget | null; + /** + * Returns true if preventDefault() was invoked successfully to indicate cancelation, and false otherwise. + */ + readonly defaultPrevented: boolean; + /** + * Returns the event's phase, which is one of NONE, CAPTURING_PHASE, AT_TARGET, and BUBBLING_PHASE. + */ + readonly eventPhase: number; + /** + * Returns true if event was dispatched by the user agent, and false otherwise. + */ + readonly isTrusted: boolean; + returnValue: boolean; + /** @deprecated */ + readonly srcElement: EventTarget | null; + /** + * Returns the object to which event is dispatched (its target). + */ + readonly target: EventTarget | null; + /** + * Returns the event's timestamp as the number of milliseconds measured relative to the time origin. + */ + readonly timeStamp: number; + /** + * Returns the type of event, e.g. "click", "hashchange", or "submit". + */ + readonly type: string; + /** + * Returns the invocation target objects of event's path (objects on which listeners will be invoked), except for any nodes in shadow trees of which the shadow root's mode is "closed" that are not reachable from event's currentTarget. + */ + composedPath(): EventTarget[]; + initEvent(type: string, bubbles?: boolean, cancelable?: boolean): void; + /** + * If invoked when the cancelable attribute value is true, and while executing a listener for the event with passive set to false, signals to the operation that caused event to be dispatched that it needs to be canceled. + */ + preventDefault(): void; + /** + * Invoking this method prevents event from reaching any registered event listeners after the current one finishes running and, when dispatched in a tree, also prevents event from reaching any other objects. + */ + stopImmediatePropagation(): void; + /** + * When dispatched in a tree, invoking this method prevents event from reaching any objects other than the current object. + */ + stopPropagation(): void; + readonly AT_TARGET: number; + readonly BUBBLING_PHASE: number; + readonly CAPTURING_PHASE: number; + readonly NONE: number; +} + +declare var Event: { + prototype: Event; + new(type: string, eventInitDict?: EventInit): Event; + readonly AT_TARGET: number; + readonly BUBBLING_PHASE: number; + readonly CAPTURING_PHASE: number; + readonly NONE: number; +}; + +interface EventListenerObject { + handleEvent(evt: Event): void; +} + +interface EventSourceEventMap { + "error": Event; + "message": MessageEvent; + "open": Event; +} + +interface EventSource extends EventTarget { + onerror: ((this: EventSource, ev: Event) => any) | null; + onmessage: ((this: EventSource, ev: MessageEvent) => any) | null; + onopen: ((this: EventSource, ev: Event) => any) | null; + /** + * Returns the state of this EventSource object's connection. It can have the values described below. + */ + readonly readyState: number; + /** + * Returns the URL providing the event stream. + */ + readonly url: string; + /** + * Returns true if the credentials mode for connection requests to the URL providing the event stream is set to "include", and false otherwise. + */ + readonly withCredentials: boolean; + /** + * Aborts any instances of the fetch algorithm started for this EventSource object, and sets the readyState attribute to CLOSED. + */ + close(): void; + readonly CLOSED: number; + readonly CONNECTING: number; + readonly OPEN: number; + addEventListener(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: EventSource, ev: EventSourceEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var EventSource: { + prototype: EventSource; + new(url: string, eventSourceInitDict?: EventSourceInit): EventSource; + readonly CLOSED: number; + readonly CONNECTING: number; + readonly OPEN: number; +}; + +/** EventTarget is a DOM interface implemented by objects that can receive events and may have listeners for them. */ +interface EventTarget { + /** + * Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched. + * + * The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture. + * + * When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET. + * + * When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners. + * + * When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed. + * + * The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture. + */ + addEventListener(type: string, listener: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions): void; + /** + * Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise. + */ + dispatchEvent(event: Event): boolean; + /** + * Removes the event listener in target's event listener list with the same type, callback, and options. + */ + removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean): void; +} + +declare var EventTarget: { + prototype: EventTarget; + new(): EventTarget; +}; + +/** Extends the lifetime of the install and activate events dispatched on the global scope as part of the service worker lifecycle. This ensures that any functional events (like FetchEvent) are not dispatched until it upgrades database schemas and deletes the outdated cache entries. */ +interface ExtendableEvent extends Event { + waitUntil(f: any): void; +} + +declare var ExtendableEvent: { + prototype: ExtendableEvent; + new(type: string, eventInitDict?: ExtendableEventInit): ExtendableEvent; +}; + +/** This ServiceWorker API interface represents the event object of a message event fired on a service worker (when a channel message is received on the ServiceWorkerGlobalScope from another context) — extends the lifetime of such events. */ +interface ExtendableMessageEvent extends ExtendableEvent { + readonly data: any; + readonly lastEventId: string; + readonly origin: string; + readonly ports: ReadonlyArray; + readonly source: Client | ServiceWorker | MessagePort | null; +} + +declare var ExtendableMessageEvent: { + prototype: ExtendableMessageEvent; + new(type: string, eventInitDict?: ExtendableMessageEventInit): ExtendableMessageEvent; +}; + +/** This is the event type for fetch events dispatched on the service worker global scope. It contains information about the fetch, including the request and how the receiver will treat the response. It provides the event.respondWith() method, which allows us to provide a response to this fetch. */ +interface FetchEvent extends ExtendableEvent { + readonly clientId: string; + readonly preloadResponse: Promise; + readonly replacesClientId: string; + readonly request: Request; + readonly resultingClientId: string; + respondWith(r: Response | Promise): void; +} + +declare var FetchEvent: { + prototype: FetchEvent; + new(type: string, eventInitDict: FetchEventInit): FetchEvent; +}; + +/** Provides information about files and allows JavaScript in a web page to access their content. */ +interface File extends Blob { + readonly lastModified: number; + readonly name: string; +} + +declare var File: { + prototype: File; + new(fileBits: BlobPart[], fileName: string, options?: FilePropertyBag): File; +}; + +/** An object of this type is returned by the files property of the HTML element; this lets you access the list of files selected with the element. It's also used for a list of files dropped into web content when using the drag and drop API; see the DataTransfer object for details on this usage. */ +interface FileList { + readonly length: number; + item(index: number): File | null; + [index: number]: File; +} + +declare var FileList: { + prototype: FileList; + new(): FileList; +}; + +interface FileReaderEventMap { + "abort": ProgressEvent; + "error": ProgressEvent; + "load": ProgressEvent; + "loadend": ProgressEvent; + "loadstart": ProgressEvent; + "progress": ProgressEvent; +} + +/** Lets web applications asynchronously read the contents of files (or raw data buffers) stored on the user's computer, using File or Blob objects to specify the file or data to read. */ +interface FileReader extends EventTarget { + readonly error: DOMException | null; + onabort: ((this: FileReader, ev: ProgressEvent) => any) | null; + onerror: ((this: FileReader, ev: ProgressEvent) => any) | null; + onload: ((this: FileReader, ev: ProgressEvent) => any) | null; + onloadend: ((this: FileReader, ev: ProgressEvent) => any) | null; + onloadstart: ((this: FileReader, ev: ProgressEvent) => any) | null; + onprogress: ((this: FileReader, ev: ProgressEvent) => any) | null; + readonly readyState: number; + readonly result: string | ArrayBuffer | null; + abort(): void; + readAsArrayBuffer(blob: Blob): void; + readAsBinaryString(blob: Blob): void; + readAsDataURL(blob: Blob): void; + readAsText(blob: Blob, encoding?: string): void; + readonly DONE: number; + readonly EMPTY: number; + readonly LOADING: number; + addEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: FileReader, ev: FileReaderEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var FileReader: { + prototype: FileReader; + new(): FileReader; + readonly DONE: number; + readonly EMPTY: number; + readonly LOADING: number; +}; + +/** Allows to read File or Blob objects in a synchronous way. */ +interface FileReaderSync { + readAsArrayBuffer(blob: Blob): ArrayBuffer; + readAsBinaryString(blob: Blob): string; + readAsDataURL(blob: Blob): string; + readAsText(blob: Blob, encoding?: string): string; +} + +declare var FileReaderSync: { + prototype: FileReaderSync; + new(): FileReaderSync; +}; + +/** Provides a way to easily construct a set of key/value pairs representing form fields and their values, which can then be easily sent using the XMLHttpRequest.send() method. It uses the same format a form would use if the encoding type were set to "multipart/form-data". */ +interface FormData { + append(name: string, value: string | Blob, fileName?: string): void; + delete(name: string): void; + get(name: string): FormDataEntryValue | null; + getAll(name: string): FormDataEntryValue[]; + has(name: string): boolean; + set(name: string, value: string | Blob, fileName?: string): void; + forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any): void; +} + +declare var FormData: { + prototype: FormData; + new(): FormData; +}; + +interface GenericTransformStream { + /** + * Returns a readable stream whose chunks are strings resulting from running encoding's decoder on the chunks written to writable. + */ + readonly readable: ReadableStream; + /** + * Returns a writable stream which accepts [AllowShared] BufferSource chunks and runs them through encoding's decoder before making them available to readable. + * + * Typically this will be used via the pipeThrough() method on a ReadableStream source. + * + * ``` + * var decoder = new TextDecoderStream(encoding); + * byteReadable + * .pipeThrough(decoder) + * .pipeTo(textWritable); + * ``` + * + * If the error mode is "fatal" and encoding's decoder returns error, both readable and writable will be errored with a TypeError. + */ + readonly writable: WritableStream; +} + +/** This Fetch API interface allows you to perform various actions on HTTP request and response headers. These actions include retrieving, setting, adding to, and removing. A Headers object has an associated header list, which is initially empty and consists of zero or more name and value pairs.  You can add to this using methods like append() (see Examples.) In all methods of this interface, header names are matched by case-insensitive byte sequence. */ +interface Headers { + append(name: string, value: string): void; + delete(name: string): void; + get(name: string): string | null; + has(name: string): boolean; + set(name: string, value: string): void; + forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any): void; +} + +declare var Headers: { + prototype: Headers; + new(init?: HeadersInit): Headers; +}; + +interface HkdfCtrParams extends Algorithm { + context: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; + hash: string | Algorithm; + label: Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array | DataView | ArrayBuffer; +} + +interface IDBArrayKey extends Array { +} + +/** This IndexedDB API interface represents a cursor for traversing or iterating over multiple records in a database. */ +interface IDBCursor { + /** + * Returns the direction ("next", "nextunique", "prev" or "prevunique") of the cursor. + */ + readonly direction: IDBCursorDirection; + /** + * Returns the key of the cursor. Throws a "InvalidStateError" DOMException if the cursor is advancing or is finished. + */ + readonly key: IDBValidKey; + /** + * Returns the effective key of the cursor. Throws a "InvalidStateError" DOMException if the cursor is advancing or is finished. + */ + readonly primaryKey: IDBValidKey; + /** + * Returns the IDBObjectStore or IDBIndex the cursor was opened from. + */ + readonly source: IDBObjectStore | IDBIndex; + /** + * Advances the cursor through the next count records in range. + */ + advance(count: number): void; + /** + * Advances the cursor to the next record in range. + */ + continue(key?: IDBValidKey): void; + /** + * Advances the cursor to the next record in range matching or after key and primaryKey. Throws an "InvalidAccessError" DOMException if the source is not an index. + */ + continuePrimaryKey(key: IDBValidKey, primaryKey: IDBValidKey): void; + /** + * Delete the record pointed at by the cursor with a new value. + * + * If successful, request's result will be undefined. + */ + delete(): IDBRequest; + /** + * Updated the record pointed at by the cursor with a new value. + * + * Throws a "DataError" DOMException if the effective object store uses in-line keys and the key would have changed. + * + * If successful, request's result will be the record's key. + */ + update(value: any): IDBRequest; +} + +declare var IDBCursor: { + prototype: IDBCursor; + new(): IDBCursor; +}; + +/** This IndexedDB API interface represents a cursor for traversing or iterating over multiple records in a database. It is the same as the IDBCursor, except that it includes the value property. */ +interface IDBCursorWithValue extends IDBCursor { + /** + * Returns the cursor's current value. + */ + readonly value: any; +} + +declare var IDBCursorWithValue: { + prototype: IDBCursorWithValue; + new(): IDBCursorWithValue; +}; + +interface IDBDatabaseEventMap { + "abort": Event; + "close": Event; + "error": Event; + "versionchange": IDBVersionChangeEvent; +} + +/** This IndexedDB API interface provides a connection to a database; you can use an IDBDatabase object to open a transaction on your database then create, manipulate, and delete objects (data) in that database. The interface provides the only way to get and manage versions of the database. */ +interface IDBDatabase extends EventTarget { + /** + * Returns the name of the database. + */ + readonly name: string; + /** + * Returns a list of the names of object stores in the database. + */ + readonly objectStoreNames: DOMStringList; + onabort: ((this: IDBDatabase, ev: Event) => any) | null; + onclose: ((this: IDBDatabase, ev: Event) => any) | null; + onerror: ((this: IDBDatabase, ev: Event) => any) | null; + onversionchange: ((this: IDBDatabase, ev: IDBVersionChangeEvent) => any) | null; + /** + * Returns the version of the database. + */ + readonly version: number; + /** + * Closes the connection once all running transactions have finished. + */ + close(): void; + /** + * Creates a new object store with the given name and options and returns a new IDBObjectStore. + * + * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction. + */ + createObjectStore(name: string, optionalParameters?: IDBObjectStoreParameters): IDBObjectStore; + /** + * Deletes the object store with the given name. + * + * Throws a "InvalidStateError" DOMException if not called within an upgrade transaction. + */ + deleteObjectStore(name: string): void; + /** + * Returns a new transaction with the given mode ("readonly" or "readwrite") and scope which can be a single object store name or an array of names. + */ + transaction(storeNames: string | string[], mode?: IDBTransactionMode): IDBTransaction; + addEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBDatabase, ev: IDBDatabaseEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBDatabase: { + prototype: IDBDatabase; + new(): IDBDatabase; +}; + +/** In the following code snippet, we make a request to open a database, and include handlers for the success and error cases. For a full working example, see our To-do Notifications app (view example live.) */ +interface IDBFactory { + /** + * Compares two values as keys. Returns -1 if key1 precedes key2, 1 if key2 precedes key1, and 0 if the keys are equal. + * + * Throws a "DataError" DOMException if either input is not a valid key. + */ + cmp(first: any, second: any): number; + /** + * Attempts to delete the named database. If the database already exists and there are open connections that don't close in response to a versionchange event, the request will be blocked until all they close. If the request is successful request's result will be null. + */ + deleteDatabase(name: string): IDBOpenDBRequest; + /** + * Attempts to open a connection to the named database with the current version, or 1 if it does not already exist. If the request is successful request's result will be the connection. + */ + open(name: string, version?: number): IDBOpenDBRequest; +} + +declare var IDBFactory: { + prototype: IDBFactory; + new(): IDBFactory; +}; + +/** IDBIndex interface of the IndexedDB API provides asynchronous access to an index in a database. An index is a kind of object store for looking up records in another object store, called the referenced object store. You use this interface to retrieve data. */ +interface IDBIndex { + readonly keyPath: string | string[]; + readonly multiEntry: boolean; + /** + * Returns the name of the index. + */ + name: string; + /** + * Returns the IDBObjectStore the index belongs to. + */ + readonly objectStore: IDBObjectStore; + readonly unique: boolean; + /** + * Retrieves the number of records matching the given key or key range in query. + * + * If successful, request's result will be the count. + */ + count(key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the value of the first record matching the given key or key range in query. + * + * If successful, request's result will be the value, or undefined if there was no matching record. + */ + get(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the values of the records matching the given key or key range in query (up to count if given). + * + * If successful, request's result will be an Array of the values. + */ + getAll(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest; + /** + * Retrieves the keys of records matching the given key or key range in query (up to count if given). + * + * If successful, request's result will be an Array of the keys. + */ + getAllKeys(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest; + /** + * Retrieves the key of the first record matching the given key or key range in query. + * + * If successful, request's result will be the key, or undefined if there was no matching record. + */ + getKey(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Opens a cursor over the records matching query, ordered by direction. If query is null, all records in index are matched. + * + * If successful, request's result will be an IDBCursorWithValue, or null if there were no matching records. + */ + openCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest; + /** + * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in index are matched. + * + * If successful, request's result will be an IDBCursor, or null if there were no matching records. + */ + openKeyCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest; +} + +declare var IDBIndex: { + prototype: IDBIndex; + new(): IDBIndex; +}; + +/** A key range can be a single value or a range with upper and lower bounds or endpoints. If the key range has both upper and lower bounds, then it is bounded; if it has no bounds, it is unbounded. A bounded key range can either be open (the endpoints are excluded) or closed (the endpoints are included). To retrieve all keys within a certain range, you can use the following code constructs: */ +interface IDBKeyRange { + /** + * Returns lower bound, or undefined if none. + */ + readonly lower: any; + /** + * Returns true if the lower open flag is set, and false otherwise. + */ + readonly lowerOpen: boolean; + /** + * Returns upper bound, or undefined if none. + */ + readonly upper: any; + /** + * Returns true if the upper open flag is set, and false otherwise. + */ + readonly upperOpen: boolean; + /** + * Returns true if key is included in the range, and false otherwise. + */ + includes(key: any): boolean; +} + +declare var IDBKeyRange: { + prototype: IDBKeyRange; + new(): IDBKeyRange; + /** + * Returns a new IDBKeyRange spanning from lower to upper. If lowerOpen is true, lower is not included in the range. If upperOpen is true, upper is not included in the range. + */ + bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; + /** + * Returns a new IDBKeyRange starting at key with no upper bound. If open is true, key is not included in the range. + */ + lowerBound(lower: any, open?: boolean): IDBKeyRange; + /** + * Returns a new IDBKeyRange spanning only key. + */ + only(value: any): IDBKeyRange; + /** + * Returns a new IDBKeyRange with no lower bound and ending at key. If open is true, key is not included in the range. + */ + upperBound(upper: any, open?: boolean): IDBKeyRange; +}; + +/** This example shows a variety of different uses of object stores, from updating the data structure with IDBObjectStore.createIndex inside an onupgradeneeded function, to adding a new item to our object store with IDBObjectStore.add. For a full working example, see our To-do Notifications app (view example live.) */ +interface IDBObjectStore { + /** + * Returns true if the store has a key generator, and false otherwise. + */ + readonly autoIncrement: boolean; + /** + * Returns a list of the names of indexes in the store. + */ + readonly indexNames: DOMStringList; + /** + * Returns the key path of the store, or null if none. + */ + readonly keyPath: string | string[]; + /** + * Returns the name of the store. + */ + name: string; + /** + * Returns the associated transaction. + */ + readonly transaction: IDBTransaction; + /** + * Adds or updates a record in store with the given value and key. + * + * If the store uses in-line keys and key is specified a "DataError" DOMException will be thrown. + * + * If put() is used, any existing record with the key will be replaced. If add() is used, and if a record with the key already exists the request will fail, with request's error set to a "ConstraintError" DOMException. + * + * If successful, request's result will be the record's key. + */ + add(value: any, key?: IDBValidKey): IDBRequest; + /** + * Deletes all records in store. + * + * If successful, request's result will be undefined. + */ + clear(): IDBRequest; + /** + * Retrieves the number of records matching the given key or key range in query. + * + * If successful, request's result will be the count. + */ + count(key?: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Creates a new index in store with the given name, keyPath and options and returns a new IDBIndex. If the keyPath and options define constraints that cannot be satisfied with the data already in store the upgrade transaction will abort with a "ConstraintError" DOMException. + * + * Throws an "InvalidStateError" DOMException if not called within an upgrade transaction. + */ + createIndex(name: string, keyPath: string | string[], options?: IDBIndexParameters): IDBIndex; + /** + * Deletes records in store with the given key or in the given key range in query. + * + * If successful, request's result will be undefined. + */ + delete(key: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Deletes the index in store with the given name. + * + * Throws an "InvalidStateError" DOMException if not called within an upgrade transaction. + */ + deleteIndex(name: string): void; + /** + * Retrieves the value of the first record matching the given key or key range in query. + * + * If successful, request's result will be the value, or undefined if there was no matching record. + */ + get(query: IDBValidKey | IDBKeyRange): IDBRequest; + /** + * Retrieves the values of the records matching the given key or key range in query (up to count if given). + * + * If successful, request's result will be an Array of the values. + */ + getAll(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest; + /** + * Retrieves the keys of records matching the given key or key range in query (up to count if given). + * + * If successful, request's result will be an Array of the keys. + */ + getAllKeys(query?: IDBValidKey | IDBKeyRange | null, count?: number): IDBRequest; + /** + * Retrieves the key of the first record matching the given key or key range in query. + * + * If successful, request's result will be the key, or undefined if there was no matching record. + */ + getKey(query: IDBValidKey | IDBKeyRange): IDBRequest; + index(name: string): IDBIndex; + /** + * Opens a cursor over the records matching query, ordered by direction. If query is null, all records in store are matched. + * + * If successful, request's result will be an IDBCursorWithValue pointing at the first matching record, or null if there were no matching records. + */ + openCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest; + /** + * Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in store are matched. + * + * If successful, request's result will be an IDBCursor pointing at the first matching record, or null if there were no matching records. + */ + openKeyCursor(query?: IDBValidKey | IDBKeyRange | null, direction?: IDBCursorDirection): IDBRequest; + /** + * Adds or updates a record in store with the given value and key. + * + * If the store uses in-line keys and key is specified a "DataError" DOMException will be thrown. + * + * If put() is used, any existing record with the key will be replaced. If add() is used, and if a record with the key already exists the request will fail, with request's error set to a "ConstraintError" DOMException. + * + * If successful, request's result will be the record's key. + */ + put(value: any, key?: IDBValidKey): IDBRequest; +} + +declare var IDBObjectStore: { + prototype: IDBObjectStore; + new(): IDBObjectStore; +}; + +interface IDBOpenDBRequestEventMap extends IDBRequestEventMap { + "blocked": Event; + "upgradeneeded": IDBVersionChangeEvent; +} + +/** Also inherits methods from its parents IDBRequest and EventTarget. */ +interface IDBOpenDBRequest extends IDBRequest { + onblocked: ((this: IDBOpenDBRequest, ev: Event) => any) | null; + onupgradeneeded: ((this: IDBOpenDBRequest, ev: IDBVersionChangeEvent) => any) | null; + addEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBOpenDBRequest, ev: IDBOpenDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBOpenDBRequest: { + prototype: IDBOpenDBRequest; + new(): IDBOpenDBRequest; +}; + +interface IDBRequestEventMap { + "error": Event; + "success": Event; +} + +/** The request object does not initially contain any information about the result of the operation, but once information becomes available, an event is fired on the request, and the information becomes available through the properties of the IDBRequest instance. */ +interface IDBRequest extends EventTarget { + /** + * When a request is completed, returns the error (a DOMException), or null if the request succeeded. Throws a "InvalidStateError" DOMException if the request is still pending. + */ + readonly error: DOMException | null; + onerror: ((this: IDBRequest, ev: Event) => any) | null; + onsuccess: ((this: IDBRequest, ev: Event) => any) | null; + /** + * Returns "pending" until a request is complete, then returns "done". + */ + readonly readyState: IDBRequestReadyState; + /** + * When a request is completed, returns the result, or undefined if the request failed. Throws a "InvalidStateError" DOMException if the request is still pending. + */ + readonly result: T; + /** + * Returns the IDBObjectStore, IDBIndex, or IDBCursor the request was made against, or null if is was an open request. + */ + readonly source: IDBObjectStore | IDBIndex | IDBCursor; + /** + * Returns the IDBTransaction the request was made within. If this as an open request, then it returns an upgrade transaction while it is running, or null otherwise. + */ + readonly transaction: IDBTransaction | null; + addEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBRequest, ev: IDBRequestEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBRequest: { + prototype: IDBRequest; + new(): IDBRequest; +}; + +interface IDBTransactionEventMap { + "abort": Event; + "complete": Event; + "error": Event; +} + +interface IDBTransaction extends EventTarget { + /** + * Returns the transaction's connection. + */ + readonly db: IDBDatabase; + /** + * If the transaction was aborted, returns the error (a DOMException) providing the reason. + */ + readonly error: DOMException; + /** + * Returns the mode the transaction was created with ("readonly" or "readwrite"), or "versionchange" for an upgrade transaction. + */ + readonly mode: IDBTransactionMode; + /** + * Returns a list of the names of object stores in the transaction's scope. For an upgrade transaction this is all object stores in the database. + */ + readonly objectStoreNames: DOMStringList; + onabort: ((this: IDBTransaction, ev: Event) => any) | null; + oncomplete: ((this: IDBTransaction, ev: Event) => any) | null; + onerror: ((this: IDBTransaction, ev: Event) => any) | null; + /** + * Aborts the transaction. All pending requests will fail with a "AbortError" DOMException and all changes made to the database will be reverted. + */ + abort(): void; + /** + * Returns an IDBObjectStore in the transaction's scope. + */ + objectStore(name: string): IDBObjectStore; + addEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: IDBTransaction, ev: IDBTransactionEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var IDBTransaction: { + prototype: IDBTransaction; + new(): IDBTransaction; +}; + +/** This IndexedDB API interface indicates that the version of the database has changed, as the result of an IDBOpenDBRequest.onupgradeneeded event handler function. */ +interface IDBVersionChangeEvent extends Event { + readonly newVersion: number | null; + readonly oldVersion: number; +} + +declare var IDBVersionChangeEvent: { + prototype: IDBVersionChangeEvent; + new(type: string, eventInitDict?: IDBVersionChangeEventInit): IDBVersionChangeEvent; +}; + +interface ImageBitmap { + /** + * Returns the intrinsic height of the image, in CSS pixels. + */ + readonly height: number; + /** + * Returns the intrinsic width of the image, in CSS pixels. + */ + readonly width: number; + /** + * Releases imageBitmap's underlying bitmap data. + */ + close(): void; +} + +declare var ImageBitmap: { + prototype: ImageBitmap; + new(): ImageBitmap; +}; + +interface ImageBitmapRenderingContext { + /** + * Returns the canvas element that the context is bound to. + */ + readonly canvas: OffscreenCanvas; + /** + * Transfers the underlying bitmap data from imageBitmap to context, and the bitmap becomes the contents of the canvas element to which context is bound. + */ + transferFromImageBitmap(bitmap: ImageBitmap | null): void; +} + +declare var ImageBitmapRenderingContext: { + prototype: ImageBitmapRenderingContext; + new(): ImageBitmapRenderingContext; +}; + +/** The underlying pixel data of an area of a element. It is created using the ImageData() constructor or creator methods on the CanvasRenderingContext2D object associated with a canvas: createImageData() and getImageData(). It can also be used to set a part of the canvas by using putImageData(). */ +interface ImageData { + /** + * Returns the one-dimensional array containing the data in RGBA order, as integers in the range 0 to 255. + */ + readonly data: Uint8ClampedArray; + /** + * Returns the actual dimensions of the data in the ImageData object, in pixels. + */ + readonly height: number; + /** + * Returns the actual dimensions of the data in the ImageData object, in pixels. + */ + readonly width: number; +} + +declare var ImageData: { + prototype: ImageData; + new(width: number, height: number): ImageData; + new(array: Uint8ClampedArray, width: number, height?: number): ImageData; +}; + +/** This Channel Messaging API interface allows us to create a new message channel and send data through it via its two MessagePort properties. */ +interface MessageChannel { + /** + * Returns the first MessagePort object. + */ + readonly port1: MessagePort; + /** + * Returns the second MessagePort object. + */ + readonly port2: MessagePort; +} + +declare var MessageChannel: { + prototype: MessageChannel; + new(): MessageChannel; +}; + +/** A message received by a target object. */ +interface MessageEvent extends Event { + /** + * Returns the data of the message. + */ + readonly data: T; + /** + * Returns the last event ID string, for server-sent events. + */ + readonly lastEventId: string; + /** + * Returns the origin of the message, for server-sent events and cross-document messaging. + */ + readonly origin: string; + /** + * Returns the MessagePort array sent with the message, for cross-document messaging and channel messaging. + */ + readonly ports: ReadonlyArray; + /** + * Returns the WindowProxy of the source window, for cross-document messaging, and the MessagePort being attached, in the connect event fired at SharedWorkerGlobalScope objects. + */ + readonly source: MessageEventSource | null; +} + +declare var MessageEvent: { + prototype: MessageEvent; + new(type: string, eventInitDict?: MessageEventInit): MessageEvent; +}; + +interface MessagePortEventMap { + "message": MessageEvent; + "messageerror": MessageEvent; +} + +/** This Channel Messaging API interface represents one of the two ports of a MessageChannel, allowing messages to be sent from one port and listening out for them arriving at the other. */ +interface MessagePort extends EventTarget { + onmessage: ((this: MessagePort, ev: MessageEvent) => any) | null; + onmessageerror: ((this: MessagePort, ev: MessageEvent) => any) | null; + /** + * Disconnects the port, so that it is no longer active. + */ + close(): void; + /** + * Posts a message through the channel. Objects listed in transfer are transferred, not just cloned, meaning that they are no longer usable on the sending side. + * + * Throws a "DataCloneError" DOMException if transfer contains duplicate objects or port, or if message could not be cloned. + */ + postMessage(message: any, transfer: Transferable[]): void; + postMessage(message: any, options?: PostMessageOptions): void; + /** + * Begins dispatching messages received on the port. + */ + start(): void; + addEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: MessagePort, ev: MessagePortEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var MessagePort: { + prototype: MessagePort; + new(): MessagePort; +}; + +interface NavigationPreloadManager { + disable(): Promise; + enable(): Promise; + getState(): Promise; + setHeaderValue(value: string): Promise; +} + +declare var NavigationPreloadManager: { + prototype: NavigationPreloadManager; + new(): NavigationPreloadManager; +}; + +interface NavigatorConcurrentHardware { + readonly hardwareConcurrency: number; +} + +interface NavigatorID { + readonly appCodeName: string; + readonly appName: string; + readonly appVersion: string; + readonly platform: string; + readonly product: string; + readonly userAgent: string; +} + +interface NavigatorLanguage { + readonly language: string; + readonly languages: ReadonlyArray; +} + +interface NavigatorOnLine { + readonly onLine: boolean; +} + +interface NavigatorStorage { + readonly storage: StorageManager; +} + +interface NotificationEventMap { + "click": Event; + "close": Event; + "error": Event; + "show": Event; +} + +/** This Notifications API interface is used to configure and display desktop notifications to the user. */ +interface Notification extends EventTarget { + readonly actions: ReadonlyArray; + readonly badge: string; + readonly body: string; + readonly data: any; + readonly dir: NotificationDirection; + readonly icon: string; + readonly image: string; + readonly lang: string; + onclick: ((this: Notification, ev: Event) => any) | null; + onclose: ((this: Notification, ev: Event) => any) | null; + onerror: ((this: Notification, ev: Event) => any) | null; + onshow: ((this: Notification, ev: Event) => any) | null; + readonly renotify: boolean; + readonly requireInteraction: boolean; + readonly silent: boolean; + readonly tag: string; + readonly timestamp: number; + readonly title: string; + readonly vibrate: ReadonlyArray; + close(): void; + addEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Notification, ev: NotificationEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Notification: { + prototype: Notification; + new(title: string, options?: NotificationOptions): Notification; + readonly maxActions: number; + readonly permission: NotificationPermission; +}; + +/** The parameter passed into the onnotificationclick handler, the NotificationEvent interface represents a notification click event that is dispatched on the ServiceWorkerGlobalScope of a ServiceWorker. */ +interface NotificationEvent extends ExtendableEvent { + readonly action: string; + readonly notification: Notification; +} + +declare var NotificationEvent: { + prototype: NotificationEvent; + new(type: string, eventInitDict: NotificationEventInit): NotificationEvent; +}; + +/** The OES_element_index_uint extension is part of the WebGL API and adds support for gl.UNSIGNED_INT types to WebGLRenderingContext.drawElements(). */ +interface OES_element_index_uint { +} + +/** The OES_standard_derivatives extension is part of the WebGL API and adds the GLSL derivative functions dFdx, dFdy, and fwidth. */ +interface OES_standard_derivatives { + readonly FRAGMENT_SHADER_DERIVATIVE_HINT_OES: GLenum; +} + +/** The OES_texture_float extension is part of the WebGL API and exposes floating-point pixel types for textures. */ +interface OES_texture_float { +} + +/** The OES_texture_float_linear extension is part of the WebGL API and allows linear filtering with floating-point pixel types for textures. */ +interface OES_texture_float_linear { +} + +/** The OES_texture_half_float extension is part of the WebGL API and adds texture formats with 16- (aka half float) and 32-bit floating-point components. */ +interface OES_texture_half_float { + readonly HALF_FLOAT_OES: GLenum; +} + +/** The OES_texture_half_float_linear extension is part of the WebGL API and allows linear filtering with half floating-point pixel types for textures. */ +interface OES_texture_half_float_linear { +} + +interface OES_vertex_array_object { + bindVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void; + createVertexArrayOES(): WebGLVertexArrayObjectOES | null; + deleteVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): void; + isVertexArrayOES(arrayObject: WebGLVertexArrayObjectOES | null): GLboolean; + readonly VERTEX_ARRAY_BINDING_OES: GLenum; +} + +interface OffscreenCanvas extends EventTarget { + /** + * These attributes return the dimensions of the OffscreenCanvas object's bitmap. + * + * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it). + */ + height: number; + /** + * These attributes return the dimensions of the OffscreenCanvas object's bitmap. + * + * They can be set, to replace the bitmap with a new, transparent black bitmap of the specified dimensions (effectively resizing it). + */ + width: number; + /** + * Returns a promise that will fulfill with a new Blob object representing a file containing the image in the OffscreenCanvas object. + * + * The argument, if provided, is a dictionary that controls the encoding options of the image file to be created. The type field specifies the file format and has a default value of "image/png"; that type is also used if the requested type isn't supported. If the image format supports variable quality (such as "image/jpeg"), then the quality field is a number in the range 0.0 to 1.0 inclusive indicating the desired quality level for the resulting image. + */ + convertToBlob(options?: ImageEncodeOptions): Promise; + /** + * Returns an object that exposes an API for drawing on the OffscreenCanvas object. contextId specifies the desired API: "2d", "bitmaprenderer", "webgl", or "webgl2". options is handled by that API. + * + * This specification defines the "2d" context below, which is similar but distinct from the "2d" context that is created from a canvas element. The WebGL specifications define the "webgl" and "webgl2" contexts. [WEBGL] + * + * Returns null if the canvas has already been initialized with another context type (e.g., trying to get a "2d" context after getting a "webgl" context). + */ + getContext(contextId: "2d", options?: CanvasRenderingContext2DSettings): OffscreenCanvasRenderingContext2D | null; + getContext(contextId: "bitmaprenderer", options?: ImageBitmapRenderingContextSettings): ImageBitmapRenderingContext | null; + getContext(contextId: "webgl", options?: WebGLContextAttributes): WebGLRenderingContext | null; + getContext(contextId: "webgl2", options?: WebGLContextAttributes): WebGL2RenderingContext | null; + getContext(contextId: OffscreenRenderingContextId, options?: any): OffscreenRenderingContext | null; + /** + * Returns a newly created ImageBitmap object with the image in the OffscreenCanvas object. The image in the OffscreenCanvas object is replaced with a new blank image. + */ + transferToImageBitmap(): ImageBitmap; +} + +declare var OffscreenCanvas: { + prototype: OffscreenCanvas; + new(width: number, height: number): OffscreenCanvas; +}; + +interface OffscreenCanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform { + readonly canvas: OffscreenCanvas; + commit(): void; +} + +declare var OffscreenCanvasRenderingContext2D: { + prototype: OffscreenCanvasRenderingContext2D; + new(): OffscreenCanvasRenderingContext2D; +}; + +/** This Canvas 2D API interface is used to declare a path that can then be used on a CanvasRenderingContext2D object. The path methods of the CanvasRenderingContext2D interface are also present on this interface, which gives you the convenience of being able to retain and replay your path whenever desired. */ +interface Path2D extends CanvasPath { + /** + * Adds to the path the path given by the argument. + */ + addPath(path: Path2D, transform?: DOMMatrix2DInit): void; +} + +declare var Path2D: { + prototype: Path2D; + new(path?: Path2D | string): Path2D; +}; + +interface PerformanceEventMap { + "resourcetimingbufferfull": Event; +} + +/** Provides access to performance-related information for the current page. It's part of the High Resolution Time API, but is enhanced by the Performance Timeline API, the Navigation Timing API, the User Timing API, and the Resource Timing API. */ +interface Performance extends EventTarget { + onresourcetimingbufferfull: ((this: Performance, ev: Event) => any) | null; + readonly timeOrigin: number; + clearMarks(markName?: string): void; + clearMeasures(measureName?: string): void; + clearResourceTimings(): void; + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; + mark(markName: string): void; + measure(measureName: string, startMark?: string, endMark?: string): void; + now(): number; + setResourceTimingBufferSize(maxSize: number): void; + toJSON(): any; + addEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: Performance, ev: PerformanceEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var Performance: { + prototype: Performance; + new(): Performance; +}; + +/** Encapsulates a single performance metric that is part of the performance timeline. A performance entry can be directly created by making a performance mark or measure (for example by calling the mark() method) at an explicit point in an application. Performance entries are also created in indirect ways such as loading a resource (such as an image). */ +interface PerformanceEntry { + readonly duration: number; + readonly entryType: string; + readonly name: string; + readonly startTime: number; + toJSON(): any; +} + +declare var PerformanceEntry: { + prototype: PerformanceEntry; + new(): PerformanceEntry; +}; + +/** PerformanceMark is an abstract interface for PerformanceEntry objects with an entryType of "mark". Entries of this type are created by calling performance.mark() to add a named DOMHighResTimeStamp (the mark) to the browser's performance timeline. */ +interface PerformanceMark extends PerformanceEntry { +} + +declare var PerformanceMark: { + prototype: PerformanceMark; + new(): PerformanceMark; +}; + +/** PerformanceMeasure is an abstract interface for PerformanceEntry objects with an entryType of "measure". Entries of this type are created by calling performance.measure() to add a named DOMHighResTimeStamp (the measure) between two marks to the browser's performance timeline. */ +interface PerformanceMeasure extends PerformanceEntry { +} + +declare var PerformanceMeasure: { + prototype: PerformanceMeasure; + new(): PerformanceMeasure; +}; + +interface PerformanceObserver { + disconnect(): void; + observe(options?: PerformanceObserverInit): void; + takeRecords(): PerformanceEntryList; +} + +declare var PerformanceObserver: { + prototype: PerformanceObserver; + new(callback: PerformanceObserverCallback): PerformanceObserver; + readonly supportedEntryTypes: ReadonlyArray; +}; + +interface PerformanceObserverEntryList { + getEntries(): PerformanceEntryList; + getEntriesByName(name: string, type?: string): PerformanceEntryList; + getEntriesByType(type: string): PerformanceEntryList; +} + +declare var PerformanceObserverEntryList: { + prototype: PerformanceObserverEntryList; + new(): PerformanceObserverEntryList; +}; + +/** Enables retrieval and analysis of detailed network timing data regarding the loading of an application's resources. An application can use the timing metrics to determine, for example, the length of time it takes to fetch a specific resource, such as an XMLHttpRequest, , image, or script. */ +interface PerformanceResourceTiming extends PerformanceEntry { + readonly connectEnd: number; + readonly connectStart: number; + readonly decodedBodySize: number; + readonly domainLookupEnd: number; + readonly domainLookupStart: number; + readonly encodedBodySize: number; + readonly fetchStart: number; + readonly initiatorType: string; + readonly nextHopProtocol: string; + readonly redirectEnd: number; + readonly redirectStart: number; + readonly requestStart: number; + readonly responseEnd: number; + readonly responseStart: number; + readonly secureConnectionStart: number; + readonly transferSize: number; + readonly workerStart: number; + toJSON(): any; +} + +declare var PerformanceResourceTiming: { + prototype: PerformanceResourceTiming; + new(): PerformanceResourceTiming; +}; + +interface PermissionStatusEventMap { + "change": Event; +} + +interface PermissionStatus extends EventTarget { + onchange: ((this: PermissionStatus, ev: Event) => any) | null; + readonly state: PermissionState; + addEventListener(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; + addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; + removeEventListener(type: K, listener: (this: PermissionStatus, ev: PermissionStatusEventMap[K]) => any, options?: boolean | EventListenerOptions): void; + removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; +} + +declare var PermissionStatus: { + prototype: PermissionStatus; + new(): PermissionStatus; +}; + +interface Permissions { + query(permissionDesc: PermissionDescriptor | DevicePermissionDescriptor | MidiPermissionDescriptor | PushPermissionDescriptor): Promise; +} + +declare var Permissions: { + prototype: Permissions; + new(): Permissions; +}; + +/** Events measuring progress of an underlying process, like an HTTP request (for an XMLHttpRequest, or the loading of the underlying resource of an ,