@definitelytyped/dtslint 0.0.141-next.2 → 0.0.142-next.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,8 @@
1
+ import { TSESTree } from "@typescript-eslint/utils";
2
+ declare type ESTreeFunctionLikeWithTypeParameters = TSESTree.FunctionLike & {
3
+ typeParameters: {};
4
+ };
5
+ declare const rule: import("@typescript-eslint/utils/dist/ts-eslint/Rule").RuleModule<"never" | "sole", never[], {
6
+ [x: string]: (esNode: ESTreeFunctionLikeWithTypeParameters) => void;
7
+ }>;
8
+ export = rule;
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ const utils_1 = require("@typescript-eslint/utils");
26
+ const ts = __importStar(require("typescript"));
27
+ const util_1 = require("../util");
28
+ const rule = (0, util_1.createRule)({
29
+ defaultOptions: [],
30
+ meta: {
31
+ docs: {
32
+ description: "Forbids signatures using a generic parameter only once.",
33
+ recommended: "error",
34
+ },
35
+ messages: {
36
+ never: "Type parameter {{name}} is never used.",
37
+ sole: "Type parameter {{name}} is used only once.",
38
+ },
39
+ schema: [],
40
+ type: "problem",
41
+ },
42
+ name: "no-relative-import-in-test",
43
+ create(context) {
44
+ return {
45
+ [[
46
+ "ArrowFunctionExpression[typeParameters]",
47
+ "FunctionDeclaration[typeParameters]",
48
+ "FunctionExpression[typeParameters]",
49
+ "TSCallSignatureDeclaration[typeParameters]",
50
+ "TSConstructorType[typeParameters]",
51
+ "TSDeclareFunction[typeParameters]",
52
+ "TSFunctionType[typeParameters]",
53
+ "TSMethodSignature[typeParameters]",
54
+ ].join(", ")](esNode) {
55
+ const parserServices = utils_1.ESLintUtils.getParserServices(context);
56
+ const tsNode = parserServices.esTreeNodeToTSNodeMap.get(esNode);
57
+ if (!tsNode.typeParameters) {
58
+ return;
59
+ }
60
+ const checker = parserServices.program.getTypeChecker();
61
+ for (const typeParameter of tsNode.typeParameters) {
62
+ const name = typeParameter.name.text;
63
+ const res = getSoleUse(tsNode, assertDefined(checker.getSymbolAtLocation(typeParameter.name)), checker);
64
+ switch (res.type) {
65
+ case "sole":
66
+ context.report({
67
+ data: { name },
68
+ messageId: "sole",
69
+ node: parserServices.tsNodeToESTreeNodeMap.get(res.soleUse),
70
+ });
71
+ break;
72
+ case "never":
73
+ context.report({
74
+ data: { name },
75
+ messageId: "never",
76
+ node: parserServices.tsNodeToESTreeNodeMap.get(typeParameter),
77
+ });
78
+ break;
79
+ }
80
+ }
81
+ },
82
+ };
83
+ },
84
+ });
85
+ function getSoleUse(sig, typeParameterSymbol, checker) {
86
+ const exit = {};
87
+ let soleUse;
88
+ try {
89
+ if (sig.typeParameters) {
90
+ for (const tp of sig.typeParameters) {
91
+ if (tp.constraint) {
92
+ recur(tp.constraint);
93
+ }
94
+ }
95
+ }
96
+ for (const param of sig.parameters) {
97
+ if (param.type) {
98
+ recur(param.type);
99
+ }
100
+ }
101
+ if (sig.type) {
102
+ recur(sig.type);
103
+ }
104
+ }
105
+ catch (err) {
106
+ if (err === exit) {
107
+ return { type: "ok" };
108
+ }
109
+ throw err;
110
+ }
111
+ return soleUse ? { type: "sole", soleUse } : { type: "never" };
112
+ function recur(node) {
113
+ if (ts.isIdentifier(node)) {
114
+ if (checker.getSymbolAtLocation(node) === typeParameterSymbol) {
115
+ if (soleUse === undefined) {
116
+ soleUse = node;
117
+ }
118
+ else {
119
+ throw exit;
120
+ }
121
+ }
122
+ }
123
+ else {
124
+ node.forEachChild(recur);
125
+ }
126
+ }
127
+ }
128
+ function assertDefined(value) {
129
+ if (value === undefined) {
130
+ throw new Error("unreachable");
131
+ }
132
+ return value;
133
+ }
134
+ module.exports = rule;
135
+ //# sourceMappingURL=no-unnecessary-generics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-unnecessary-generics.js","sourceRoot":"","sources":["../../src/rules/no-unnecessary-generics.ts"],"names":[],"mappings":"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"}
package/dtslint.json CHANGED
@@ -11,7 +11,6 @@
11
11
  "strict-export-declare-modifiers": true,
12
12
  "no-any-union": true,
13
13
  "no-single-declare-module": true,
14
- "no-unnecessary-generics": true,
15
14
  "prefer-declare-function": true,
16
15
  "unified-signatures": true,
17
16
  "void-return": true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@definitelytyped/dtslint",
3
- "version": "0.0.141-next.2",
3
+ "version": "0.0.142-next.9",
4
4
  "description": "Runs tests on TypeScript definition files",
5
5
  "main": "./dist/index.js",
6
6
  "bin": "./dist/index.js",
@@ -22,10 +22,10 @@
22
22
  "test": "../../node_modules/.bin/jest --config ../../jest.config.js packages/dtslint"
23
23
  },
24
24
  "dependencies": {
25
- "@definitelytyped/dts-critic": "^0.0.141-next.2",
26
- "@definitelytyped/header-parser": "^0.0.141-next.2",
27
- "@definitelytyped/typescript-versions": "^0.0.141-next.1",
28
- "@definitelytyped/utils": "^0.0.141-next.1",
25
+ "@definitelytyped/dts-critic": "^0.0.141",
26
+ "@definitelytyped/header-parser": "^0.0.141",
27
+ "@definitelytyped/typescript-versions": "^0.0.141",
28
+ "@definitelytyped/utils": "^0.0.141",
29
29
  "@typescript-eslint/eslint-plugin": "^5.30.0",
30
30
  "@typescript-eslint/parser": "^5.30.0",
31
31
  "@typescript-eslint/utils": "^5.30.0",
@@ -44,11 +44,11 @@
44
44
  "@types/fs-extra": "^5.0.2",
45
45
  "@types/json-stable-stringify": "^1.0.32",
46
46
  "@types/strip-json-comments": "^0.0.28",
47
- "typescript": "next"
47
+ "typescript": "4.7.4"
48
48
  },
49
49
  "engines": {
50
50
  "node": ">=10.0.0"
51
51
  },
52
52
  "license": "MIT",
53
- "gitHead": "f8069f30cb0679b41096872a5e59ba46778b23e3"
53
+ "gitHead": "6b9ec3b0e388d73aa7a020f885bb8c202649351b"
54
54
  }
@@ -0,0 +1,126 @@
1
+ import { ESLintUtils, TSESTree } from "@typescript-eslint/utils";
2
+ import * as ts from "typescript";
3
+
4
+ import { createRule } from "../util";
5
+
6
+ type ESTreeFunctionLikeWithTypeParameters = TSESTree.FunctionLike & {
7
+ typeParameters: {};
8
+ };
9
+
10
+ type TSSignatureDeclarationWithTypeParameters = ts.SignatureDeclaration & {
11
+ typeParameters: {};
12
+ };
13
+
14
+ const rule = createRule({
15
+ defaultOptions: [],
16
+ meta: {
17
+ docs: {
18
+ description: "Forbids signatures using a generic parameter only once.",
19
+ recommended: "error",
20
+ },
21
+ messages: {
22
+ never: "Type parameter {{name}} is never used.",
23
+ sole: "Type parameter {{name}} is used only once.",
24
+ },
25
+ schema: [],
26
+ type: "problem",
27
+ },
28
+ name: "no-relative-import-in-test",
29
+ create(context) {
30
+ return {
31
+ [[
32
+ "ArrowFunctionExpression[typeParameters]",
33
+ "FunctionDeclaration[typeParameters]",
34
+ "FunctionExpression[typeParameters]",
35
+ "TSCallSignatureDeclaration[typeParameters]",
36
+ "TSConstructorType[typeParameters]",
37
+ "TSDeclareFunction[typeParameters]",
38
+ "TSFunctionType[typeParameters]",
39
+ "TSMethodSignature[typeParameters]",
40
+ ].join(", ")](esNode: ESTreeFunctionLikeWithTypeParameters) {
41
+ const parserServices = ESLintUtils.getParserServices(context);
42
+ const tsNode = parserServices.esTreeNodeToTSNodeMap.get(esNode) as TSSignatureDeclarationWithTypeParameters;
43
+ if (!tsNode.typeParameters) {
44
+ return;
45
+ }
46
+
47
+ const checker = parserServices.program.getTypeChecker();
48
+
49
+ for (const typeParameter of tsNode.typeParameters) {
50
+ const name = typeParameter.name.text;
51
+ const res = getSoleUse(tsNode, assertDefined(checker.getSymbolAtLocation(typeParameter.name)), checker);
52
+ switch (res.type) {
53
+ case "sole":
54
+ context.report({
55
+ data: { name },
56
+ messageId: "sole",
57
+ node: parserServices.tsNodeToESTreeNodeMap.get(res.soleUse),
58
+ });
59
+ break;
60
+ case "never":
61
+ context.report({
62
+ data: { name },
63
+ messageId: "never",
64
+ node: parserServices.tsNodeToESTreeNodeMap.get(typeParameter),
65
+ });
66
+ break;
67
+ }
68
+ }
69
+ },
70
+ };
71
+ },
72
+ });
73
+
74
+ type Result = { type: "ok" | "never" } | { type: "sole"; soleUse: ts.Identifier };
75
+ function getSoleUse(sig: ts.SignatureDeclaration, typeParameterSymbol: ts.Symbol, checker: ts.TypeChecker): Result {
76
+ const exit = {};
77
+ let soleUse: ts.Identifier | undefined;
78
+
79
+ try {
80
+ if (sig.typeParameters) {
81
+ for (const tp of sig.typeParameters) {
82
+ if (tp.constraint) {
83
+ recur(tp.constraint);
84
+ }
85
+ }
86
+ }
87
+ for (const param of sig.parameters) {
88
+ if (param.type) {
89
+ recur(param.type);
90
+ }
91
+ }
92
+ if (sig.type) {
93
+ recur(sig.type);
94
+ }
95
+ } catch (err) {
96
+ if (err === exit) {
97
+ return { type: "ok" };
98
+ }
99
+ throw err;
100
+ }
101
+
102
+ return soleUse ? { type: "sole", soleUse } : { type: "never" };
103
+
104
+ function recur(node: ts.Node): void {
105
+ if (ts.isIdentifier(node)) {
106
+ if (checker.getSymbolAtLocation(node) === typeParameterSymbol) {
107
+ if (soleUse === undefined) {
108
+ soleUse = node;
109
+ } else {
110
+ throw exit;
111
+ }
112
+ }
113
+ } else {
114
+ node.forEachChild(recur);
115
+ }
116
+ }
117
+ }
118
+
119
+ export = rule;
120
+
121
+ function assertDefined<T>(value: T | undefined): T {
122
+ if (value === undefined) {
123
+ throw new Error("unreachable");
124
+ }
125
+ return value;
126
+ }
@@ -0,0 +1,152 @@
1
+ import { ESLintUtils } from "@typescript-eslint/utils";
2
+
3
+ import * as rule from "../src/rules/no-unnecessary-generics";
4
+
5
+ const ruleTester = new ESLintUtils.RuleTester({
6
+ parserOptions: {
7
+ ecmaVersion: 2018,
8
+ tsconfigRootDir: __dirname,
9
+ project: "./tsconfig.json",
10
+ },
11
+ parser: "@typescript-eslint/parser",
12
+ });
13
+
14
+ ruleTester.run("no-unnecessary-generics", rule, {
15
+ invalid: [
16
+ {
17
+ code: `
18
+ const f2 = <T>(): T => {};
19
+ `,
20
+ errors: [
21
+ {
22
+ line: 2,
23
+ column: 19,
24
+ messageId: "sole",
25
+ },
26
+ ],
27
+ },
28
+ {
29
+ code: `
30
+ class C {
31
+ constructor<T>(x: T) {}
32
+ }
33
+ `,
34
+ errors: [
35
+ {
36
+ line: 3,
37
+ column: 21,
38
+ messageId: "sole",
39
+ },
40
+ ],
41
+ },
42
+ {
43
+ code: `
44
+ function f<T>(): T { }
45
+ `,
46
+ errors: [
47
+ {
48
+ line: 2,
49
+ column: 18,
50
+ messageId: "sole",
51
+ },
52
+ ],
53
+ },
54
+ {
55
+ code: `
56
+ function f<T>(x: { T: number }): void;
57
+ `,
58
+ errors: [
59
+ {
60
+ line: 2,
61
+ column: 12,
62
+ messageId: "never",
63
+ },
64
+ ],
65
+ },
66
+ {
67
+ code: `
68
+ function f<T, U extends T>(u: U): U;
69
+ `,
70
+ errors: [
71
+ {
72
+ line: 2,
73
+ column: 25,
74
+ messageId: "sole",
75
+ },
76
+ ],
77
+ },
78
+ {
79
+ code: `
80
+ const f = function<T>(): T {};
81
+ `,
82
+ errors: [
83
+ {
84
+ line: 2,
85
+ column: 26,
86
+ messageId: "sole",
87
+ },
88
+ ],
89
+ },
90
+ {
91
+ code: `
92
+ interface I {
93
+ <T>(value: T): void;
94
+ }
95
+ `,
96
+ errors: [
97
+ {
98
+ line: 3,
99
+ column: 14,
100
+ messageId: "sole",
101
+ },
102
+ ],
103
+ },
104
+ {
105
+ code: `
106
+ interface I {
107
+ m<T>(x: T): void;
108
+ }
109
+ `,
110
+ errors: [
111
+ {
112
+ line: 3,
113
+ column: 11,
114
+ messageId: "sole",
115
+ },
116
+ ],
117
+ },
118
+ {
119
+ code: `
120
+ type Fn = <T>() => T;
121
+ `,
122
+ errors: [
123
+ {
124
+ line: 2,
125
+ column: 20,
126
+ messageId: "sole",
127
+ },
128
+ ],
129
+ },
130
+ {
131
+ code: `
132
+ type Ctr = new<T>() => T;
133
+ `,
134
+ errors: [
135
+ {
136
+ line: 2,
137
+ column: 24,
138
+ messageId: "sole",
139
+ },
140
+ ],
141
+ },
142
+ ],
143
+ valid: [
144
+ `function example(a: string): string;`,
145
+ `function example<T>(a: T): T;`,
146
+ `function example<T>(a: T[]): T;`,
147
+ `function example<T>(a: Set<T>): T;`,
148
+ `function example<T>(a: Set<T>, b: T[]): void;`,
149
+ `function example<T>(a: Map<T, T>): void;`,
150
+ `function example<T, U extends T>(t: T, u: U): U;`,
151
+ ],
152
+ });
@@ -0,0 +1,8 @@
1
+ {
2
+ "compilerOptions": {
3
+ "skipLibCheck": true,
4
+ "strict": true,
5
+ "target": "esnext"
6
+ },
7
+ "files": ["file.ts"]
8
+ }
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/@types/parsimmon/index.d.ts","../typescript-versions/dist/index.d.ts","../header-parser/dist/index.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/base.d.ts","./node_modules/@types/node/ts3.2/fs.d.ts","./node_modules/@types/node/ts3.2/util.d.ts","./node_modules/@types/node/ts3.2/globals.d.ts","./node_modules/@types/node/ts3.2/base.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/ts3.2/index.d.ts","./node_modules/@types/fs-extra/index.d.ts","./node_modules/typescript/lib/typescript.d.ts","./node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts","./node_modules/@typescript-eslint/types/dist/lib.d.ts","./node_modules/@typescript-eslint/types/dist/parser-options.d.ts","./node_modules/@typescript-eslint/types/dist/ts-estree.d.ts","./node_modules/@typescript-eslint/types/dist/index.d.ts","./node_modules/@typescript-eslint/typescript-estree/node_modules/typescript/lib/typescript.d.ts","./node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts","./node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts","./node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts","./node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/index.d.ts","./node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-estree.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.d.ts","../../node_modules/@types/json-schema/index.d.ts","./node_modules/@typescript-eslint/utils/dist/json-schema.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeType.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/ClassFieldInitializerScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/ClassStaticBlockScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionType.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionBase.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/CatchClauseDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/ClassNameDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/FunctionNameDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/ImplicitGlobalVariableDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/ImportBindingDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/ParameterDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/TSEnumMemberDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/TSEnumNameDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/TSModuleNameDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/TypeDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/VariableDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/Definition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/index.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/variable/VariableBase.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/variable/ESLintScopeVariable.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/variable/Variable.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/variable/index.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/ModuleScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/TSModuleScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/CatchScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/ClassScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/ConditionalTypeScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/ForScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionExpressionNameScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionTypeScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/MappedTypeScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/SwitchScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/TSEnumScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/TypeScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/WithScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/Scope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/BlockScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/index.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.d.ts","./node_modules/@typescript-eslint/visitor-keys/dist/get-keys.d.ts","./node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts","./node_modules/@typescript-eslint/visitor-keys/dist/index.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/referencer/Visitor.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/referencer/index.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/analyze.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/index.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/CLIEngine.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/index.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/misc.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/index.d.ts","./node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.d.ts","./node_modules/@typescript-eslint/utils/dist/eslint-utils/batchedSingleLineTests.d.ts","./node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.d.ts","./node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.d.ts","./node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.d.ts","./node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleTester.d.ts","./node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.d.ts","./node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.d.ts","./node_modules/@typescript-eslint/utils/dist/eslint-utils/index.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Definition.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Variable.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Reference.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Scope.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/ScopeManager.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/analyze.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Options.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/PatternVisitor.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Referencer.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/index.d.ts","./node_modules/@typescript-eslint/utils/dist/index.d.ts","./node_modules/@types/strip-json-comments/index.d.ts","./src/util.ts","./src/checks.ts","../utils/dist/assertions.d.ts","../utils/dist/async.d.ts","../utils/dist/collections.d.ts","../utils/dist/fs.d.ts","../utils/dist/types/fstream.d.ts","../utils/dist/logging.d.ts","../utils/dist/io.d.ts","../utils/dist/miscellany.d.ts","../utils/dist/npm.d.ts","../utils/dist/process.d.ts","../utils/dist/progress.d.ts","../utils/dist/typescript-installer.d.ts","../utils/dist/index.d.ts","./node_modules/tslint/lib/language/walker/syntaxWalker.d.ts","./node_modules/tslint/lib/language/walker/walkContext.d.ts","./node_modules/tslint/lib/language/walker/walker.d.ts","./node_modules/tslint/lib/language/walker/ruleWalker.d.ts","./node_modules/tslint/lib/language/walker/scopeAwareRuleWalker.d.ts","./node_modules/tslint/lib/language/walker/blockScopeAwareRuleWalker.d.ts","./node_modules/tslint/lib/language/walker/programAwareRuleWalker.d.ts","./node_modules/tslint/lib/language/walker/index.d.ts","./node_modules/tslint/lib/language/rule/rule.d.ts","./node_modules/tslint/lib/configuration.d.ts","./node_modules/tslint/lib/language/formatter/formatter.d.ts","./node_modules/tslint/lib/language/formatter/abstractFormatter.d.ts","./node_modules/tslint/lib/formatters/jsonFormatter.d.ts","./node_modules/tslint/lib/formatters/pmdFormatter.d.ts","./node_modules/tslint/lib/formatters/proseFormatter.d.ts","./node_modules/tslint/lib/formatters/verboseFormatter.d.ts","./node_modules/tslint/lib/formatters/stylishFormatter.d.ts","./node_modules/tslint/lib/formatters/fileslistFormatter.d.ts","./node_modules/tslint/lib/formatters/codeFrameFormatter.d.ts","./node_modules/tslint/lib/formatters/tapFormatter.d.ts","./node_modules/tslint/lib/formatters/junitFormatter.d.ts","./node_modules/tslint/lib/formatters/index.d.ts","./node_modules/tslint/lib/formatters.d.ts","./node_modules/tslint/lib/language/rule/abstractRule.d.ts","./node_modules/tslint/lib/language/rule/typedRule.d.ts","./node_modules/tslint/lib/language/rule/optionallyTypedRule.d.ts","./node_modules/tslint/lib/rules.d.ts","./node_modules/tslint/lib/runner.d.ts","./node_modules/tslint/lib/verify/lintError.d.ts","./node_modules/tslint/lib/test.d.ts","./node_modules/tslint/lib/utils.d.ts","./node_modules/tslint/lib/linter.d.ts","./node_modules/tslint/lib/enableDisableRules.d.ts","./node_modules/tslint/lib/formatterLoader.d.ts","./node_modules/tslint/lib/ruleLoader.d.ts","./node_modules/tslint/lib/language/utils.d.ts","./node_modules/tslint/lib/index.d.ts","../../node_modules/@types/eslint/helpers.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/eslint/index.d.ts","./src/rules/expectRule.ts","./src/lint.ts","./src/index.ts","./src/suggestions.ts","../../node_modules/@types/json-stable-stringify/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts","../dts-critic/dist/index.d.ts","./src/rules/npmNamingRule.ts","./src/updateConfig.ts","./src/rules/dt-header.ts","./src/rules/export-just-namespace.ts","./src/rules/no-bad-reference.ts","./src/rules/no-const-enum.ts","./src/rules/no-dead-reference.ts","./src/rules/no-useless-files.ts","./src/rules/noAnyUnionRule.ts","./src/rules/noDeclareCurrentPackageRule.ts","./src/rules/noImportDefaultOfExportEqualsRule.ts","./src/rules/noOutsideDependenciesRule.ts","./src/rules/noPaddingRule.ts","./src/rules/noRedundantJsdoc2Rule.ts","./src/rules/noRelativeImportInTestRule.ts","./src/rules/noSelfImportRule.ts","./src/rules/noSingleDeclareModuleRule.ts","./src/rules/noSingleElementTupleTypeRule.ts","./src/rules/noUnnecessaryGenericsRule.ts","./src/rules/preferDeclareFunctionRule.ts","./src/rules/redundantUndefinedRule.ts","./src/rules/strictExportDeclareModifiersRule.ts","./src/rules/trim-file.ts","./src/rules/voidReturnRule.ts","../utils/node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","3eb679a56cab01203a1ba7edeade937f6a2a4c718513b2cd930b579807fa9359",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"ff667ee99e5a28c3dc5063a3cfd4d3436699e3fb035d4451037da7f567da542a","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"6ea9ab679ea030cf46c16a711a316078e9e02619ebaf07a7fcd16964aba88f2d","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"19b32dcf848f5a494e0220509b2ce6bb5f85ef8d82ed1d48d1c4c255133a2936","608bd926d5f4b71593c5b32aabb63c2c08920ded66293447fe321548353de7b1","4a825b1e80b4bd281b0e1945c6b814ff8b7d047e324227a1b2208ef06c2a8897",{"version":"9d0b32c595a2e0d320a56b3d0e8f0a317e4149239ec913aa8f11eeb73edc92be","affectsGlobalScope":true},"96e547b51f95ee76bdb25731c92420fa6f93b59c3f38f23d505be36e2de394ee","61215c1a376bbe8f51cab4cc4ddbf3746387015113c37a84d981d4738c21b878","3ca89ecb953fe3b63dae41e5bb986506e812754dde0369c5fe61de26eff47dbe","123ec69e4b3a686eb49afd94ebe3292a5c84a867ecbcb6bb84bdd720a12af803","525c8fc510d9632d2a0a9de2d41c3ac1cdd79ff44d3b45c6d81cacabb683528d","90c85ddbb8de82cd19198bda062065fc51b7407c0f206f2e399e65a52e979720","d56c93b6bf66e602869e926ddc8b1b4630d1ff397909291767d18d4ffc22d33f","7ecfe97b43aa6c8b8f90caa599d5648bb559962e74e6f038f73a77320569dd78","aad3237c3f99480041cad7ca04d64307c98933996f822342b7c0ee4a78553346","4d4c83f77ac21a72252785baa5328a5612b0b6598d512f68b8cb14f7966d059e","5ffa4219ee64e130980a4231392cbc628544df137ccf650ae8d76e0a1744fd2b","e1a12c7e7951b9762cfbcc43c72eb5611120967706a7c3142ad303c6b7ee767f","b5fd0a137bd6d0afe291d465e99c7469b082b66b3ee89273b3b22801b6c2948e","873da589b78a1f1fa7d623483bd2c2730a02e0852259fb8fdcfe5221ac51d18a","c969bf4c7cdfe4d5dd28aa09432f99d09ad1d8d8b839959646579521d0467d1a","4218ced3933a31eed1278d350dd63c5900df0f0904f57d61c054d7a4b83dbe4c","a376e245f494b58365a4391a2568e6dd9da372c3453f4732eb6e15ebb9038451","ffe8912b7c45288810c870b768190c6c097459930a587dd6ef0d900a5529a811","f53678bdb9f25445c8cdf021f2b003b74fd638e69bb1959dde8e370e8cc1e4fa","84044697c8b3e08ef24e4b32cfe6440143d07e469a5e34bda0635276d32d9f35","0b6098fedb648cab8091cca2b022a5c729b6ef18da923852033f495907cb1a45",{"version":"0e0d58f5e90c0a270dac052b9c5ad8ccdfc8271118c2105b361063218d528d6e","affectsGlobalScope":true},"30ec6f9c683b988c3cfaa0c4690692049c4e7ed7dc6f6e94f56194c06b86f5e1","9f633ecf3e065ff82c19eccab35c8aa1d6d5d1a49af282dc29ef5a64cca34164","6b2bb67b0942bcfce93e1d6fad5f70afd54940a2b13df7f311201fba54b2cbe9","dd3706b25d06fe23c73d16079e8c66ac775831ef419da00716bf2aee530a04a4","d74b8e644da7415e3757a17a42b7f284597b577e3c87b80f4b3ba0cc2db1184f","7e62aac2cc9c0710d772047ad89e8d7117f52592c791eb995ce1f865fedab432","b40652bf8ce4a18133b31349086523b219724dca8df3448c1a0742528e7ad5b9","424bc64b2794d9280c1e1f4a3518ba9d285385a16d84753a6427bb469e582eca","a77fdb357c78b70142b2fdbbfb72958d69e8f765fd2a3c69946c1018e89d4638","3c2ac350c3baa61fd2b1925844109e098f4376d0768a4643abc82754fd752748","826d48e49c905cedb906cbde6ccaf758827ff5867d4daa006b5a79e0fb489357","893d1b5dd98f1c01a0ec4122dfd7f774e0fa1560e1aa19e509c96ed543c6244e","289be113bad7ee27ee7fa5b1e373c964c9789a5e9ed7db5ddcb631371120b953","e4abb8eaa8a7d78236be0f8342404aab076668d20590209e32fdeb924588531e","1b4db6ed54916341a48bb81cfd9f910999b3bcd6b71c6a4c7416532a6908775d","f409183966a1dd93d3a9cd1d54fbeb85c73101e87cd5b19467c5e37b252f3fd8","5ff4ecfd544d596de3c8011a6d44c59443c85e1f99065095e556b15237eb39ac","12b2608d6074167c331c9c3c6994a57819f6ff934c7fd4527e23aabf56d4c8d1","ffc1cd688606ad1ddb59a40e8f3defbde907af2a3402d1d9ddf69accb2903f07",{"version":"4926e99d2ad39c0bbd36f2d37cc8f52756bc7a5661ad7b12815df871a4b07ba1","affectsGlobalScope":true},"8a70903bbbdad1d58e3936ca90b3ad993e54827ea324e20f2f63cef4e14e9d55","f61a4062a627acbe5c4a9650319132ec8fa7fe2f276a7f40a056e59c2a877e04","9522f3e35b412f2f17974b1431a1b18d06e0a8f614a0700c37220a4afb04afa8","aca36e2d27783f4bad7fc1786a532ff76024f0fc8575df48bcd9a5eb452fe7e7","c52df7a3b3374dd91f6f2065afbe6989cfb4ed30e75a1276510fb2d58de08601","80eb36a37da8a5bb0d4ab16b03994b46323c34bddd11865c12b10104e932f66f","67672bb2a23218983d3f324f4db4627752710c373099ed4f52faeed9f8d4af67","cde30ed872269da44acc3204e9821dc19cc36dfd8d0a7ecd559c1c992d4fd660","dcaa31f5874abcda93de0321fdbc885822ba7fc97af1846b20369fa37459c524","a78ebf48c90ab4ffb882bee5b1b7787759a083c8f52afc8cb35e0c9567848fb5","3fa86a2c33804b6a4221dda3714a6a2f8a2f26983ea6c63d2bf6f2839fbb778a","9703052ca709ef34391435ab48be179a9aea2d147ba3cad511939061bd0b8eef","798fb3c3e238dffdc500c9b084b848f0ba7a632481fdeb61f27ec77119145249","f310b0b23f4da8b175dc624ccaabfdc6e2ad7c39a748e6654731e3244ae88e7f","398e4ceec08b7213ea298f3e8d21291bfe3eab02d54e73e55bd4a7d9516e86e3","04a8325eae3068508705bc97ffc9f2264ca7a815d4e827063fd50994cb26e864","8ba05c762dc962a67461fa232026dadb297e4353fdca246bc1b0a10188fdf263","8e01e494310fbcd0a03fac76255e9ed644ef1c3caa7f5ae97d8fadb1f393b913","57516bf3b3306bb220e070b9752519e8c1c5dd4a1131656d73f2861b61e83d1c","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","0ee8b79b9ddcadaea3ec651fedcb4f68537b0b09472db7705417e9dbc0a0f5c1","16a208b54a4b620972bfa1d47a0f385b86f9d5d93abe41f2b5b324518003054d","98a4308025de3ec9b0fb3b7a2c04feb246de0d19d6c755122ee8d7d0cf5061ac","fb3a81e471f6806643755e3aef26cbe7acc2072ebbd30710faf657486f6e459b","79928af80b034e57ed37f9e217df3fdc39c1d533ae1d3779f621f060163d85b1","946531beb77588c59ba425fd177c819a57f6d5a7f43fd835a6792bcb0ffac61c","7973b106430ca1912ebc66aceadeb7199987f07c59a3df9977c1db0f9bf3c67a","3c284c6e21c847747d692362398c2a45bd64504b43b220248342dc687d485b47","a2b5bf283c5736f955ed4778d9eea162d14f151ebfa94e451bb74f5cb878f782","c78205643a9f7b3117509fdc7354ca26cb7f13aa211ad97e4a6482a303cb8a05","e5e23fbe13ef86342c5e3d77186c6f6becc87e5217670edd4190ce9491166fc8","32c4e13314dda331e859d79ce75532fc168badc762795c7241757576a34ff9e1","2eb12f53f429b6aa9d6d333291c655974b6ec128b8ad74d5373e8ea06d949df4","15776be02179ec1893999fc17c96965b318357804a890cde808a6edb97cf350d","4a88fc742f5043c3110ee53801dbe883b016166d25b00e10cfa50bdcbd6d2c8c","ce3edbf0f31d05de18f3ecc61ab27d05fed4b0f7b75199503a5617fb9f6040ca","a06102cd2ccb1a03257c4723ad3f553cb2136703d609cf7d943a49eeb0feff11","1f7fbf49cf59cf3a4a12355b7e5c4a800773eed0de3a37c7719cd743a0a35099","a31e375ef29c41d4f2300750cfe0074c009dd75f65026469aae6693d5ff23c09","3f5c9851a0609ef648a9964e1cd14dbd936821640822cc8868005c7ef507495c","8b3f92884ac79df9d23e07613486cb80cb39141d9a2e18c8b572f2e3264d1116","2ae3e594877f4315b67ef6e48c360b5547b49dff5d0317f92e6fff1285724711","d393584878c89f3c51cc32ef3fcb979ed262791c40b4fad35b00f3f9d8daf81a","30fd76f01607cc86c76847bb0cb59476aa499ed603fd51bcc6608a1ffddc4d24","991d8bfc6d522027f6b036a307f8fdf0d8a92d0c70f2bcc3a61b9dc404c84015","921c958cdc8f894744da609e6297cd50f99e99cd466646e302d989d3ffae4701","5b1bab68dbf582168c3793299405dd3a0dde2f33d7d88aa87378602f93f6ab43","6ba49425a0fba05d751dcc4620c8f3af5f52b7de5748151c40ced2c7eff281da","4e0108b3601686dd62b489ea5e08bc2491ae92f5dc67a8fa9a88aeb81d603fde","032b925e68baf0862a1eb2b3ce0816adfebb087d9c1803bb27d8c8f442db1477","8ef6a2749e6709896e32b1092204010a9ad7d92a1b23b9fc92320ea6e297ad1a","ab469b5917405f2d716237ab63c734068bfa61871a235f6203128accd94e8e18","94bd2207b35164142ee9916b5bd68957b269bb6fa59df03ec63aa46afd14f4ff","ee7662dbfdde0ac507771e0451d6e83afb8233ad76f91218c012ee5229be6411","af99c327a792f7ce482714d88923051f740bfc0710a379dc3a5d8809188ddb39","229f3754baf0fbd7d843efb5b2c893ddbf3afdc8c56a6c314be875d252a6c38f","fe9ce231afed6b55948323e8ca86622ad75285e2017480a63a697c315cb64125","001ba6b2e1568515cc5838dd41443729e4ba4ed8eeef1531fdd8a828f9687f87","6081ef7c93615e1b8e6b69b8160efaebf2d8472cd91d582c019f45671ca527ba","338f4ae8b09016b38a6d85f62c57c15ce1f915c010cb0a2db8e73696882eeab4","8bb25d6acd56f90bfc1a68d1411c6a3cd3721bb2831d4e616224a4c261ec609f","d556bb956a29a945d01a2c4e0274abf100fbb7af3d6bca2166e0821393f4189d","e9bc7151ea7a5c85928c8ca386d2070e128275313fc6f0ca9a3c210518afd7d6","6adeedd02f416bfc4cea1acb1b894b3f99e3ace16f68ae591ea0da6dda0b27c8","37d60d0d1bbc6d6c76fe8b775393a1cae30ea75acd516c9dadcf9ed0577251f8","166af25919d24ea68ec151ef4ca8b8806a5c1436efbf56bfeb06236d5d783ca2","944f92b28d9adbda129561a5cd9394ec325385b8ff5eb593be3ce2472a91f3fe","5f39b3d22db6e484ec55e26b1626319ba46398b4b6c73eaaf106ed9c13f10f3f","15f72d03b1253d9e9ca4967e656ba47cf04f332dd3f105a9f4c963f20c5cd078","ad2af7f84d67745d8b087c542fc3aca59493d096965e82709a97e6583d1ca90c","9155af0d8b7036906c8d2c12236ed557cb412e6acc19ffd448389497c90aea7a","2013ddaea1403c44d3d066ebaf9781182eb07fb3ae40eb6a09b62bd5444bee28","6ccc16f2cb2dd364288620d9d9f83a7c0e2afb1e411f1c02a4b2ed979a602bd5","3fb9d1a12731f24e255d4494c71bf05f4dd954c38ab2b106d49385d07aa0f5ae","cdb8bcb9a35f1199aa3e02d14f84ff9f1bee9a504152d6e708ea42aeb75a6b1a","f50954c7ff56b315c6bd5eed8df9916cd78cfef9ebd39ab4c48763235eb32570","8035daaa421a189f0cd54b4bca84efb6a0d1789cbd5cd7e0224c6bb2d6c37d17","c33567f7cd50f60c1878e4973a84a4b5ea0b37904ce2d352f4ee28025dec94d0","18b367be83dd090a405b8a3672127ee0d821059733219281364673eee34f0d93","c6e38bc615f617fad0fa4fc0d61a10f02bfc09d878772a8346e40ef2edf8e26a","99726ff3d48f9c2856b8ce43ae447e22abb56372db696053b0ee4c6ed60f4285","38342a5558c5694ffdae67c95910f3a00641d89f93912272996bb64939fde45a","a9297b87e275ede7ed72a0e6e2d7b4cd47ca12f82959ceb3cccb48a1f5bdf881","f8e97664b7bbbf34ffd6e0da6d9b1710563d87db1f5cdc7bbfd01016cee3039a","59ea85a9f435fd3007dbd3b9d1348251f61e2622855066b36215f4cefd87dc90","8a780780b3a1c9250df5034221e133dbfa63b61da631c1be94ba673d03b1ca6e","c7e3d65b88793b7dc8d312cd0b07e02522ce62b8c90b26d835c8bdb0c29f5192","c30b5c8c0cea1f63089fc9882990180820adaf3cf8a60008942f14636e65acea","9f5efec58a41c317b30f13141c49203a1f523218d1b3cd94db29f0a7b3fa24e4","d201d6990bbb97da498b6f74ba7fe55d14e059fa28f8d3874840ef2d8efab60d","d01773095134932e4fed24324a6865a0cf20c192fc2729c3e6600c04a2290799","ede589e21c65b5b7eb55357c4a1877437c31a07cf3c159bd9db997d72124050c","e769029ca93e0c09d3192b1d2e9803d7c0483ecd7fd8800b1f018a72eea1afff","479f504bd25a18d70d3c18318057af9d213786da2c1041a4a929acd0eb5de3af","315e3b387cbe6a4b8b25bd5f6fd6465f7c95830d95418a61992c347705678bf8","431a894b127a0df31953c36234b6b8b514a5060b2e056dcb384aafab86d9dc86","dc8bb410a5727a99e00f85fefe9dddf92a6c6d5df7f9390e0c1882dc2990000d","0c4a2103ad48d35e1468d9ce01b6ff23088d19e716a2fec3e851741368d5f897","5e7fda78ad800074d2db45165cee396a06e6527d5e330d4fc9e57a21c85adafe","81ebdcd89851e47c983ed60b7c050cab246900df759acf656f59f01425386df9","2ef62aaab68ff5a596d7f64acc7efcfd03d1ff87571edfe2401609ea5abd0478","adf9d04e1fb6ad4c5d3fe5adb4aece91b1a3720c4a5044386036e766afab3df5","890d431634afe65ab22f2e6189d01a8a90bdca296ec9c3b9e4e4d80ae7ebf3a6","c37e880192ceeb90ca20dd52562d162c9036d098b5c07bee1f1ab5f8b924c3d0","cef87859891b21abfc47bc31586a210dfd0fc7596e5dcd858c6fa69f1f3d4d75","7a19ea3694c4ebc3546d772b78fa2eb34869f08b25994b5217159b47cdbc1dd5","2dd1f9bae1cf717dd2e1391e83e0174b052697b5568c1efbf52a70fa15a6a6f3","e1248ba5dccbb0bdf8fc97dc6b461983a381d9840ea7aa72379dc5608db079f2","f2485d7dcaf6376a634a2e89ddd8ee157a72013348b0d77cfd8e0b2911a3f297","5ed9fd6b3b55d40305506ba1065e4679329c6887cf10746dac35445058f8a1f4","6934e70b784924236ea8ab328eb25509e429217bbbee2e03645c8b59afd97280","f3f418116b8e6ac9554a88e8c33e9550986ebae98a769cbff817faa210599fdf","84bfc05cc4e45c2f4e81f2dc5cd5d9d7e23bc56241d413cbd7995b03dde32131","658c59bd93996b5760e0a0c0eee9a2084a03f0041789e107ab73a112eef06117",{"version":"8d406582f55ee8a8d50a0ebb60aead2c99a4e28e83b14101e4b0bb42dd6cc6bf","signature":"5c2d62dcd4c669adf658513a180e6636a166dfa256298a5c8ac7d1f3f964f16e"},{"version":"a4dc00fe003983556e2ac9f746395dcb68512c787f8676aec3ac756dee628f94","signature":"e7443f0dd1b7b582c00e64ea1142b4a98b1047c7e61c755470a70f1251ebf11f"},"41edcdae87a935477f0fd67fea79f9c3d4a8f59f9d8ee9b32d37a5ae2d9fabd6","63357eb2e74c59dd8da1b0fe2b759beac5584614a1dc83adc5e6e6d0fe15d2b5","c02730242928e405e8d79f110c11cfbef94ac3931fad1996aa63a65a53773e72","8cda0f7349cb38d1bbc27f5cfc12a8a26f0c188c40902f675436cc9a34092b6d","e2ae5aa7a93eb36cea60b4c922ef22262728e114059f2e0bf25129c8aa70119e","ac17a8d374bd3dc1b6836846e0c96650a6d3fdda3d1027c989a808004f543c99","280247d715a3a47a39f6d7b07c2648642fd8403280df2d3f352fc4cd7fbe1e4a","53b171cf7bc1e16ea61419d84ae189daa5369bff79a3d717e7c747ace98bae84","09b96e8fcd86f6596483c528f3656377796138c901531803947629e636dedbab","7c4a5e3d8540057b699654bac19f9b439785bdfa7889cd9f5a45d20ac74dfe78","88bdf0f442cc1672a0b28e2676f75627492afd43a7c517f223da3f42fdadece1","d10bfe4565c3d0e9d6e8a79ba90d434fbb732cec441b132e257ab72627924543","5eaa1112a996927a1216ea5da6aea4b8acaa3e01f1cb8d9545b18ceb24bcf5aa","a37fd08da1b34b4d7003e79631f50a0205a61226fee2beb5bef81a71902cfa46","dd34db3fb9be7fb3d474070a6d9b912cc204271687e1425d6ddbdb0512f78eb9","d63f46bebe8f8089950f9a9eb0755cce3ad9887285c6abd7bdf556beee8b3e97","78c4cea948fd307a09aa017a9b05f601dc5560166f9cb562353237d9d0480c43","6b081ccb656855db88b49f8a434bc7cf61aa6f9f67822e527329b7f84d61ee97","65d4fbe40d30e01a230d41bf49d44d69b75e4895ca07aedde6b15c812a60916d","63df934ff4e61472be885417264225a221a9548b5e52e847cc56657766c5f1ed","02fdedab5a3a8c53144228df36eeba76f46b7b403118db28dcd319646b8fe6ca","482b4c61bc9fd77de7d3ed52698d2e0f0d04d4839274828b16cf5e7282e17747","36db183865741677731ed2ecbfb195ffd40e931cd64f2b6bddc72b33d2dd2f40","87526303738e4edeb08c38cc3750dc874e54111dd8c6f4816a9df00d3b5dc7ea","3a43fa1f2b440d233560ff371920ccd14c1ab29ad5074fa5a1e4616c4a51b6e7","00eb294c52e2b41644a3d86e2191f609ea6185968130376045eb47a69669de2e","00eb294c52e2b41644a3d86e2191f609ea6185968130376045eb47a69669de2e","43f7bc619e86d96191873c2c9494cfc88c9e7252b0b8a451f702d77739690d29","744408cd7dc1bf1e1dbc770aac0e50c142a702316c0359a9cc7ae1fa6aafc90d","e13acbdd9813434ab367bcc954092541175da09e603b5bd1cd671a5818dca96e","00eb294c52e2b41644a3d86e2191f609ea6185968130376045eb47a69669de2e","00eb294c52e2b41644a3d86e2191f609ea6185968130376045eb47a69669de2e","9f34570701f561709ffe7c3b4d8b46612524eae40b7a35671596677f5ad22fcd","780c1d3215b8359686fa0e84cb5a0f376b2175f5a5ee0cf9a679b5a904b3ef3a","c31a6806095fa2a0ff15e2274fc5a3823cc7ec50fe265244b06f76768790dfb2","574b0f3c9c97978dfaf21d3c60d54f6f4735ebad6c29f8d526ea5d71505c2e81","e6d67ff57b8e1d8cc1df2e2d4d3f4804194fd7ef74f79011c81a4c602f1cda06","5369af45989a6f87e2da43c116bceb19b58fa492456a7a7b49044d6ca90fea60","cd44b752f67662e754920ff7da1906e1f8421f1afbac70c80360bed74e62c481","53aaa9de3f13af71c05000d02013744798b1cb1f7abb6afee5936eef7b40de4e","34137f912d03e00d1f303f420aa781d28a213e94ebc72de39dc66afb1c2d7116","28ac68ecf33f7d1d02639f51b13662ce756119cf09c46694146ad7d50d4c91d6","82dbc3f62003d918765a113b0249f6cdb6afdb1e4432a1ce7c4ffb609a73902f","ed29b20b028d13f213b2d7006e8c682c1a5cf4e437cf2a887c266abe5a0dc76e","9d5742fe3f5aff0314e4acf98f4ab91511727afdb15d87e86beff1c1537dcdb1","a9e95b5704917009178a1bfef3bb6dcead2d5982f96d8de93d78eb1d55dfcf16","e2175e8956be6be66af258546ada6dea78d7575042780f8a3cdae8df388dd88f","5b93f01cc0b506546233d420c85376a26520b16473910df1c3e196df302c70fb","6273dd597ec315aee91189b3edbd271f2834f984543351d945df99a99ee73f97","04a7a83d4fddcc85027defe7e56d3712d4dc51fa9a11f34c3dfe7bf5cdcbef0b",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"a1c79f857f5c7754e14c93949dad8cfefcd7df2ecc0dc9dd79a30fd493e28449","2d474dfb84cd28ea43f27fe684da8c00382cbd40cee45e1dad4e9f41f6c437b6",{"version":"9e0b92236fd2906aac40e4ff5c25807b3f25095cae468976c0b1cdd07be00b66","signature":"005f15fba9161382b69bc800833496fcd7f976cfaceac2b4b8436af1ac557d81"},{"version":"e3acc705c6103e20bb520267ed6910ef9facc2192ed4f226d5372524360acca9","signature":"b1d3b2f8dfefd6caa17ce76d2f82c4c22f500988e49e863bedd66a48323f1884"},{"version":"191fd10d75b57a8f5e77eb26e5f1b5a05a33b5e2321eb4bbb9981707949c718f","signature":"7c144b6b6774f02ebfd419375ecf9059b5f60b3d0cd402913d6722feeb5bb217"},{"version":"5b1f8948e8bbefb8931d5479d78fe673bbe3187dd75ca429aa4a578b886e1c89","signature":"918e62f749e2506a4a64c1253a258147a1761a28ee44c63e41edc9344dd97425"},"626520302b2c8880e9eaa3a6a12022cc8b577a32e4d903aef85e3dd275063da4","f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","2893564a05d3bbe2a4d812dfd5ad3d7a6981a754283b695272d6ead03f638b67","2a11a191f7429646627bbf3b6bbc9361d3430722ada1a3eebf0b7a1b8053b557",{"version":"55e45c073448b8448b473663f66a069831be6a725dc355d0d320a1fb443cab18","signature":"038565ded3173fd6e85bedf1d0aae23fe49b8adfb7227e1533c7425be07708ff"},{"version":"427cfc42a6c338fe2d414e2c6bb9c4415bd1f76e21de0b80384c2d4451aaf12e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6511c8d4a967dc6972e935281f7216d5da03761737c3ed8623bc7e10a5a610f1","signature":"ff483da1331ff89da770bfe278335d01c1c4cc5119923f86704153990489c491"},{"version":"08ddc3d1d5f1395d5ebce085794420806fc4516875f749431d3370b402f73ccd","signature":"47961190a74b07f2c6665a595b6204586657edb95951143a3c8971714f5cb19f"},{"version":"91ad5d9f6113edd78d85aa659c99854daa5903de262aeceab6e38f99f96047fb","signature":"0056091984fb861ffc46f8ca0ba58cc9c6a41beb4f18e15445ac90dcc7f43737"},{"version":"d756e04236e72d822c1ab86ef1cea7de0bdf57951541b249b5fc6bf64b0ad173","signature":"7e43a8bdb3b37b9557b14bba05f85e9a6d738461b9b7d70bca083a9eebd5ab06"},{"version":"2cd78785bdd3cb040333d7d114bf97b73f1bfc96ea1436673bbabf63c9963232","signature":"64b9dcbebcbf10acf10c33e922e3b16105725849576256019308f34769f85ae1"},{"version":"d2c8472a36527e0c7e2e40a2957f37fcb9b0ffffea9943e49f0c36904dadb00e","signature":"e7ac98ab295fa8f1fe4d76a52e00c6aafdde90ef544110bd9e77dc242ae5a875"},{"version":"f062fcf62344b8e9026027362b16df13899716aa5cec4adef87689e085b650e6","signature":"980e689af0bd3ddd01b17939ce56cdb36cd68e57b9e14b1e279dd29812f691f2"},{"version":"fcc99969d10c978908a1fc82eedb116cdfae80dd2e1cd7434c05c5b262b6ea05","signature":"741bc98b7e17e64068bc812f6d92772fde6ae98dab387a5d59023e08a55e1dc3"},{"version":"2db09f270a63a0eda12367a14276bf646a1f9c930b8190c1c754bd17d0f13412","signature":"5c89c2d8632e34cadc23af66968af371c99beb9c0d57fad62ec3206b1c63ca87"},{"version":"d5f6ef3dc8c66cd9aacbd19d5f117adf115644f02241bbb0dd96ae650c6e0f87","signature":"6afd75ffc7c55efd6d72800fe9342ef93401cea0c7446b15d279cf71e0f85a03"},{"version":"132f8dea773cc4beb2cf8acc874c3ee840d9e64c323b109868dbdd3c99f9e76c","signature":"40b8f0d145b4b17fa97c12ea97a5fb879aa73f55897d30fd019c6cc86080cc20"},{"version":"ff3a4351d6b9fdd25cac50a45e463768d54ec5547d0f1f583bc3fdf5fcd6e757","signature":"fefac23b9771d1181090df59d128cadb51291169205250e226da887018072324"},{"version":"4c53f38d128959ac5ded620000ca09c1a2cbd1269c0c3d857b36e80b0bf2130e","signature":"d83b076fd2c4397c8625f2b434593da65b3b06d540ed57c5d55b41b419ea3f8d"},{"version":"e41e554ed74805d1844ea86217a646382917acd4c72f447fffbd2953a4a46c65","signature":"741bc98b7e17e64068bc812f6d92772fde6ae98dab387a5d59023e08a55e1dc3"},{"version":"82735b371318b87d41eaa68b3475aa79049bc1e23bdc149d4b563bb3ddf5eb3a","signature":"980e689af0bd3ddd01b17939ce56cdb36cd68e57b9e14b1e279dd29812f691f2"},{"version":"b852bde093e88512213b3e690426381798afbd6291bfc1aad10984bfa9108737","signature":"dae7bc99180eae7217a7b7de63336280897e526b667b51453a4d16fed01f52cc"},{"version":"4b02ef1e89be01a1250988e7a40c1e2f37df22840e7c5aa0126c080525a29871","signature":"0be14e707cda5093046e80be865d45311cd8a7a2fd8bb1d07c05cc3605c5c074"},{"version":"6736fcd4c75c4b54a0969ad772e5f7b3e8ed33858749829c09b776d303f489eb","signature":"980e689af0bd3ddd01b17939ce56cdb36cd68e57b9e14b1e279dd29812f691f2"},{"version":"998a461c1caf0ac52fd917d282ad3277ef5d3906aa26df4637e60a9ddcd08c23","signature":"dae7bc99180eae7217a7b7de63336280897e526b667b51453a4d16fed01f52cc"},{"version":"8d1b6900a4146bf54b9d25d6fd0d818847015b9329653e8877d8a382530f8ec7","signature":"dae7bc99180eae7217a7b7de63336280897e526b667b51453a4d16fed01f52cc"},{"version":"4354fd811c30397bb645adcdf5fda3b10e5b9e817a9a4e3389f7d851becd4cb9","signature":"40339a86455b81d4dcab09cb4843483e78bedb5d46c9f060775bfd6e8f974e79"},{"version":"86d141f6b223e5071d7a8ed2615732ea93cb3ca8a616773671ee85a895a9851c","signature":"980e689af0bd3ddd01b17939ce56cdb36cd68e57b9e14b1e279dd29812f691f2"}],"options":{"allowUnreachableCode":false,"allowUnusedLabels":false,"composite":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./dist","rootDir":"./src","sourceMap":true,"strict":true,"target":6},"fileIdsList":[[67,89,95,96],[67,89,95,96,117,264,265],[67,89,95,96,272],[67,89,95,96,100],[55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,95,96],[66,67,73,82,89,95,96],[58,66,67,73,89,95,96],[62,67,74,89,95,96],[67,82,89,95,96],[64,66,67,73,89,95,96],[66,67,89,95,96],[66,82,88,89,95,96],[66,67,73,82,88,89,95,96],[66,67,68,73,82,85,88,89,95,96],[66,67,68,85,88,89,95,96],[67,88,89,95,96],[64,66,67,82,89,95,96],[56,67,89,95,96],[67,87,89,95,96],[66,67,82,89,95,96],[67,80,89,91,95,96],[62,64,67,73,82,89,95,96],[67,89,94,95,96,97],[67,89,96],[55,67,89,95,96],[67,89,95,96,98,99],[67,89,95],[67,73,89,95,96],[67,79,89,95,96],[67,95,96],[66,67,82,88,89,91,95,96],[67,89,95,96,107,120,121,141,161],[67,89,95,96,107,142,170],[67,89,95,96,107,122,123],[67,89,95,96,124,125,126,127,128,129,130,131,132,133,134],[67,89,95,96,107,122],[67,89,95,96,122,124,125,126,127,128,129,130,131,132,133,134,135],[67,89,95,96,136,141,142,161,162,167,168,171],[67,89,95,96,107,166],[67,89,95,96,107,141,161],[67,89,95,96,107,142,161,162,168],[67,89,95,96,107,166,167],[67,89,95,96,107,165],[67,89,95,96,169],[67,89,95,96,107,119,142,147,159],[67,89,95,96,107,119,141,142,147,159,162],[67,89,95,96,107,119,141,142,147,159],[67,89,95,96,120,121,143,144,145,146,148,149,150,151,152,153,154,155,156,157,158,160],[67,89,95,96,107,119,136,141,142,143,144,145,146,159,162],[67,89,95,96,119,120,143,144,145,146,148,149,150,151,152,153,154,155,156,157,158,159,160],[67,89,95,96,107,137],[67,89,95,96,138,139,161],[67,89,95,96,137],[67,89,95,96,107,136,161,162],[67,89,95,96,138,139,140],[67,89,95,96,102],[67,89,95,96,103,104,105,106],[67,89,95,96,102,104],[67,89,95,96,103,106],[67,89,95,96,108,113],[67,89,95,96,107,108,109,112],[67,89,95,96,107,108,110],[67,89,95,96,107,110,111],[67,89,95,96,108],[67,89,95,96,114,180],[67,89,95,96,181,182,183,184,185],[67,89,95,96,114],[67,89,95,96,186,187,188,189],[67,89,95,96,180],[67,89,95,96,175],[67,89,95,96,191,192,193,194,195,196,197,198],[67,89,95,96,114,118,180,190,199,209],[67,89,95,96,117],[67,89,95,96,114,204,206],[67,89,95,96,114,201,203],[67,89,95,96,114,203,204,206],[67,89,95,96,114,200,201,202,204],[67,89,95,96,114,180,201,203],[67,89,95,96,114,200,202,203],[67,89,95,96,114,180,204],[67,89,95,96,200,201,202,203,204,205,206,207,208],[67,89,95,96,175,176],[67,89,95,96,176],[67,89,95,96,114,116,173,174,175],[67,89,95,96,107],[67,89,95,96,114,115,118,173,174,176],[67,89,95,96,114,116,175,176],[67,89,95,96,172],[67,89,95,96,114,173],[67,89,95,96,115,116,173,174,175,176,177,178,179],[67,89,95,96,107,113],[67,89,95,96,163,164],[67,89,95,96,235],[67,89,95,96,102,235],[67,89,95,96,263],[67,89,95,96,238,248],[67,89,95,96,235,237,238],[67,89,95,96,239,240,241,242,243,244,245,246,247],[67,89,95,96,234,235,236,237,249,253,256,257,258,259,260,261,262],[67,89,95,96,235,237],[67,89,95,96,102,234,235],[67,89,95,96,102,235,250],[67,89,95,96,102,234],[67,89,95,96,102,231,235],[67,89,95,96,227,228,229,230,231,232,233],[67,89,95,96,102,230,235],[67,89,95,96,102,227,229,235],[67,89,95,96,102,228,235],[67,89,95,96,102,235,236,263],[67,89,95,96,250,251,252],[67,89,95,96,254,255],[67,89,95,96,100,102],[53,54,67,75,89,95,96,99,101,102,212],[53,54,67,75,89,95,96,99,101,212,213,226,268],[53,67,75,89,95,96,99,101,102,212,226,263,266,267],[54,67,89,95,96,212],[67,74,75,89,95,96,102,212,263],[67,89,95,96,210,212],[67,89,95,96,212],[67,89,95,96,102,212,263],[67,89,95,96,99,102,263],[67,89,95,96,102,212,263,270,274],[67,74,75,89,95,96,263],[58,67,75,89,95,96,102,263,268,271,273,275],[67,75,89,95,96,99,101,102,210,211],[52,53,67,89,95,96],[67,89,95,96,214,215,216,217,219,220,221,222,223,224,225],[67,70,89,95,96,217,219,299],[67,89,95,96,219],[58,67,89,95,96,299],[67,89,95,96,299],[53,67,89,95,96],[53,102],[175],[102,263],[102,263,274],[263],[102,175,210]],"referencedMap":[[264,1],[266,2],[265,1],[117,1],[271,1],[52,1],[272,1],[273,3],[11,1],[10,1],[2,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[3,1],[4,1],[23,1],[20,1],[21,1],[22,1],[24,1],[25,1],[26,1],[5,1],[27,1],[28,1],[29,1],[30,1],[6,1],[31,1],[32,1],[33,1],[34,1],[7,1],[35,1],[40,1],[41,1],[36,1],[37,1],[38,1],[39,1],[8,1],[45,1],[42,1],[43,1],[44,1],[46,1],[9,1],[47,1],[48,1],[49,1],[50,1],[1,1],[51,1],[274,1],[101,4],[99,1],[56,1],[94,5],[57,1],[58,6],[59,7],[60,1],[61,8],[62,9],[63,10],[64,1],[65,11],[66,1],[67,12],[55,1],[68,13],[69,14],[70,15],[71,11],[72,16],[73,17],[74,1],[75,1],[76,18],[77,19],[78,1],[79,1],[80,20],[81,21],[82,11],[83,1],[84,1],[85,22],[86,1],[98,23],[95,24],[97,25],[100,26],[96,27],[87,28],[88,29],[89,30],[90,9],[91,1],[92,31],[93,9],[211,1],[142,32],[171,33],[124,34],[125,34],[135,35],[123,36],[122,1],[126,34],[127,34],[128,34],[129,34],[130,34],[131,34],[132,34],[133,34],[134,34],[136,37],[172,38],[167,39],[162,40],[169,41],[168,42],[166,43],[170,44],[160,45],[148,45],[120,45],[149,45],[121,45],[150,45],[151,45],[152,45],[143,46],[153,45],[144,47],[154,45],[145,45],[159,48],[147,49],[119,1],[155,45],[156,45],[146,45],[157,45],[158,45],[161,50],[138,51],[140,52],[139,53],[137,54],[141,55],[103,56],[107,57],[104,1],[105,58],[106,59],[109,60],[113,61],[111,62],[112,63],[110,64],[108,1],[182,1],[184,65],[181,65],[186,66],[183,67],[185,65],[187,67],[190,68],[188,67],[189,67],[194,69],[195,70],[196,69],[191,1],[192,69],[197,1],[193,65],[199,71],[198,1],[210,72],[118,73],[200,67],[206,67],[207,74],[202,75],[208,76],[203,77],[204,78],[201,79],[205,80],[209,81],[115,67],[177,82],[178,83],[176,84],[116,85],[175,86],[179,87],[173,88],[174,89],[180,90],[114,91],[163,85],[165,92],[164,1],[236,93],[259,94],[260,95],[249,96],[245,97],[244,97],[248,98],[239,97],[247,97],[240,97],[241,97],[243,97],[246,97],[242,97],[263,99],[238,100],[237,93],[250,101],[252,102],[235,103],[251,102],[262,94],[232,104],[234,105],[233,106],[230,107],[231,106],[227,56],[228,94],[229,108],[258,109],[261,93],[253,110],[254,1],[256,111],[257,112],[255,1],[102,1],[213,113],[269,114],[268,115],[277,116],[267,117],[278,118],[279,118],[280,119],[281,119],[282,119],[283,120],[284,120],[285,120],[286,120],[287,120],[288,121],[289,120],[290,120],[291,120],[292,120],[293,120],[275,122],[294,120],[295,120],[296,120],[297,119],[298,120],[270,123],[276,124],[212,125],[54,126],[53,1],[214,1],[215,1],[216,1],[217,1],[226,127],[220,128],[219,1],[221,1],[222,129],[223,130],[224,1],[218,131],[225,132]],"exportedModulesMap":[[264,1],[266,2],[265,1],[117,1],[271,1],[52,1],[272,1],[273,3],[11,1],[10,1],[2,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[3,1],[4,1],[23,1],[20,1],[21,1],[22,1],[24,1],[25,1],[26,1],[5,1],[27,1],[28,1],[29,1],[30,1],[6,1],[31,1],[32,1],[33,1],[34,1],[7,1],[35,1],[40,1],[41,1],[36,1],[37,1],[38,1],[39,1],[8,1],[45,1],[42,1],[43,1],[44,1],[46,1],[9,1],[47,1],[48,1],[49,1],[50,1],[1,1],[51,1],[274,1],[101,4],[99,1],[56,1],[94,5],[57,1],[58,6],[59,7],[60,1],[61,8],[62,9],[63,10],[64,1],[65,11],[66,1],[67,12],[55,1],[68,13],[69,14],[70,15],[71,11],[72,16],[73,17],[74,1],[75,1],[76,18],[77,19],[78,1],[79,1],[80,20],[81,21],[82,11],[83,1],[84,1],[85,22],[86,1],[98,23],[95,24],[97,25],[100,26],[96,27],[87,28],[88,29],[89,30],[90,9],[91,1],[92,31],[93,9],[211,1],[142,32],[171,33],[124,34],[125,34],[135,35],[123,36],[122,1],[126,34],[127,34],[128,34],[129,34],[130,34],[131,34],[132,34],[133,34],[134,34],[136,37],[172,38],[167,39],[162,40],[169,41],[168,42],[166,43],[170,44],[160,45],[148,45],[120,45],[149,45],[121,45],[150,45],[151,45],[152,45],[143,46],[153,45],[144,47],[154,45],[145,45],[159,48],[147,49],[119,1],[155,45],[156,45],[146,45],[157,45],[158,45],[161,50],[138,51],[140,52],[139,53],[137,54],[141,55],[103,56],[107,57],[104,1],[105,58],[106,59],[109,60],[113,61],[111,62],[112,63],[110,64],[108,1],[182,1],[184,65],[181,65],[186,66],[183,67],[185,65],[187,67],[190,68],[188,67],[189,67],[194,69],[195,70],[196,69],[191,1],[192,69],[197,1],[193,65],[199,71],[198,1],[210,72],[118,73],[200,67],[206,67],[207,74],[202,75],[208,76],[203,77],[204,78],[201,79],[205,80],[209,81],[115,67],[177,82],[178,83],[176,84],[116,85],[175,86],[179,87],[173,88],[174,89],[180,90],[114,91],[163,85],[165,92],[164,1],[236,93],[259,94],[260,95],[249,96],[245,97],[244,97],[248,98],[239,97],[247,97],[240,97],[241,97],[243,97],[246,97],[242,97],[263,99],[238,100],[237,93],[250,101],[252,102],[235,103],[251,102],[262,94],[232,104],[234,105],[233,106],[230,107],[231,106],[227,56],[228,94],[229,108],[258,109],[261,93],[253,110],[254,1],[256,111],[257,112],[255,1],[102,1],[213,133],[268,133],[277,134],[267,135],[278,134],[279,134],[280,134],[281,134],[282,134],[283,135],[284,135],[285,135],[286,135],[287,135],[288,135],[289,135],[290,135],[291,135],[292,135],[293,135],[275,136],[294,135],[295,135],[296,135],[297,134],[298,135],[270,137],[212,138],[54,126],[53,1],[214,1],[215,1],[216,1],[217,1],[226,127],[220,128],[219,1],[221,1],[222,129],[223,130],[224,1],[218,131],[225,132]],"semanticDiagnosticsPerFile":[264,266,265,117,271,52,272,273,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,31,32,33,34,7,35,40,41,36,37,38,39,8,45,42,43,44,46,9,47,48,49,50,1,51,274,101,99,56,94,57,58,59,60,61,62,63,64,65,66,67,55,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,98,95,97,100,96,87,88,89,90,91,92,93,211,142,171,124,125,135,123,122,126,127,128,129,130,131,132,133,134,136,172,167,162,169,168,166,170,160,148,120,149,121,150,151,152,143,153,144,154,145,159,147,119,155,156,146,157,158,161,138,140,139,137,141,103,107,104,105,106,109,113,111,112,110,108,182,184,181,186,183,185,187,190,188,189,194,195,196,191,192,197,193,199,198,210,118,200,206,207,202,208,203,204,201,205,209,115,177,178,176,116,175,179,173,174,180,114,163,165,164,236,259,260,249,245,244,248,239,247,240,241,243,246,242,263,238,237,250,252,235,251,262,232,234,233,230,231,227,228,229,258,261,253,254,256,257,255,102,213,269,268,277,267,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,275,294,295,296,297,298,270,276,212,54,53,214,215,216,217,226,220,219,221,222,223,224,218,225]},"version":"4.7.4"}
1
+ {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/@types/parsimmon/index.d.ts","../typescript-versions/dist/index.d.ts","../header-parser/dist/index.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/base.d.ts","./node_modules/@types/node/ts3.2/fs.d.ts","./node_modules/@types/node/ts3.2/util.d.ts","./node_modules/@types/node/ts3.2/globals.d.ts","./node_modules/@types/node/ts3.2/base.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/ts3.2/index.d.ts","./node_modules/@types/fs-extra/index.d.ts","../../node_modules/typescript/lib/typescript.d.ts","./node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts","./node_modules/@typescript-eslint/types/dist/lib.d.ts","./node_modules/@typescript-eslint/types/dist/parser-options.d.ts","./node_modules/@typescript-eslint/types/dist/ts-estree.d.ts","./node_modules/@typescript-eslint/types/dist/index.d.ts","./node_modules/@typescript-eslint/typescript-estree/dist/create-program/shared.d.ts","./node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/ts-nodes.d.ts","./node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/estree-to-ts-node-types.d.ts","./node_modules/@typescript-eslint/typescript-estree/dist/ts-estree/index.d.ts","./node_modules/@typescript-eslint/typescript-estree/dist/parser-options.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-estree.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/AST.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/ParserOptions.d.ts","../../node_modules/@types/json-schema/index.d.ts","./node_modules/@typescript-eslint/utils/dist/json-schema.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeType.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/ClassFieldInitializerScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/ClassStaticBlockScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionType.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/DefinitionBase.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/CatchClauseDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/ClassNameDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/FunctionNameDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/ImplicitGlobalVariableDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/ImportBindingDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/ParameterDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/TSEnumMemberDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/TSEnumNameDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/TSModuleNameDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/TypeDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/VariableDefinition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/Definition.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/definition/index.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/variable/VariableBase.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/variable/ESLintScopeVariable.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/variable/Variable.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/variable/ImplicitLibVariable.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/variable/index.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/ScopeManager.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/GlobalScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/ModuleScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/TSModuleScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/ScopeBase.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/CatchScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/ClassScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/ConditionalTypeScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/ForScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionExpressionNameScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/FunctionTypeScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/MappedTypeScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/SwitchScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/TSEnumScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/TypeScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/WithScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/Scope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/BlockScope.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/scope/index.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/referencer/Reference.d.ts","./node_modules/@typescript-eslint/visitor-keys/dist/get-keys.d.ts","./node_modules/@typescript-eslint/visitor-keys/dist/visitor-keys.d.ts","./node_modules/@typescript-eslint/visitor-keys/dist/index.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/referencer/VisitorBase.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/referencer/PatternVisitor.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/referencer/Visitor.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/referencer/Referencer.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/referencer/index.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/analyze.d.ts","./node_modules/@typescript-eslint/scope-manager/dist/index.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/Scope.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/SourceCode.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/Rule.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/Linter.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/CLIEngine.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/ESLint.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/RuleTester.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint/index.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/astUtilities.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/PatternMatcher.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/predicates.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/ReferenceTracker.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/scopeAnalysis.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/eslint-utils/index.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/helpers.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/misc.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/predicates.d.ts","./node_modules/@typescript-eslint/utils/dist/ast-utils/index.d.ts","./node_modules/@typescript-eslint/utils/dist/eslint-utils/applyDefault.d.ts","./node_modules/@typescript-eslint/utils/dist/eslint-utils/batchedSingleLineTests.d.ts","./node_modules/@typescript-eslint/utils/dist/eslint-utils/getParserServices.d.ts","./node_modules/@typescript-eslint/utils/dist/eslint-utils/InferTypesFromRule.d.ts","./node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleCreator.d.ts","./node_modules/@typescript-eslint/utils/dist/eslint-utils/RuleTester.d.ts","./node_modules/@typescript-eslint/utils/dist/eslint-utils/deepMerge.d.ts","./node_modules/@typescript-eslint/utils/dist/eslint-utils/nullThrows.d.ts","./node_modules/@typescript-eslint/utils/dist/eslint-utils/index.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Definition.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Variable.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Reference.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Scope.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/ScopeManager.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/analyze.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Options.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/PatternVisitor.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/Referencer.d.ts","./node_modules/@typescript-eslint/utils/dist/ts-eslint-scope/index.d.ts","./node_modules/@typescript-eslint/utils/dist/index.d.ts","./node_modules/@types/strip-json-comments/index.d.ts","./src/util.ts","./src/checks.ts","../utils/dist/assertions.d.ts","../utils/dist/async.d.ts","../utils/dist/collections.d.ts","../utils/dist/fs.d.ts","../utils/dist/types/fstream.d.ts","../utils/dist/logging.d.ts","../utils/dist/io.d.ts","../utils/dist/miscellany.d.ts","../utils/dist/npm.d.ts","../utils/dist/process.d.ts","../utils/dist/progress.d.ts","../utils/dist/typescript-installer.d.ts","../utils/dist/index.d.ts","./node_modules/tslint/lib/language/walker/syntaxWalker.d.ts","./node_modules/tslint/lib/language/walker/walkContext.d.ts","./node_modules/tslint/lib/language/walker/walker.d.ts","./node_modules/tslint/lib/language/walker/ruleWalker.d.ts","./node_modules/tslint/lib/language/walker/scopeAwareRuleWalker.d.ts","./node_modules/tslint/lib/language/walker/blockScopeAwareRuleWalker.d.ts","./node_modules/tslint/lib/language/walker/programAwareRuleWalker.d.ts","./node_modules/tslint/lib/language/walker/index.d.ts","./node_modules/tslint/lib/language/rule/rule.d.ts","./node_modules/tslint/lib/configuration.d.ts","./node_modules/tslint/lib/language/formatter/formatter.d.ts","./node_modules/tslint/lib/language/formatter/abstractFormatter.d.ts","./node_modules/tslint/lib/formatters/jsonFormatter.d.ts","./node_modules/tslint/lib/formatters/pmdFormatter.d.ts","./node_modules/tslint/lib/formatters/proseFormatter.d.ts","./node_modules/tslint/lib/formatters/verboseFormatter.d.ts","./node_modules/tslint/lib/formatters/stylishFormatter.d.ts","./node_modules/tslint/lib/formatters/fileslistFormatter.d.ts","./node_modules/tslint/lib/formatters/codeFrameFormatter.d.ts","./node_modules/tslint/lib/formatters/tapFormatter.d.ts","./node_modules/tslint/lib/formatters/junitFormatter.d.ts","./node_modules/tslint/lib/formatters/index.d.ts","./node_modules/tslint/lib/formatters.d.ts","./node_modules/tslint/lib/language/rule/abstractRule.d.ts","./node_modules/tslint/lib/language/rule/typedRule.d.ts","./node_modules/tslint/lib/language/rule/optionallyTypedRule.d.ts","./node_modules/tslint/lib/rules.d.ts","./node_modules/tslint/lib/runner.d.ts","./node_modules/tslint/lib/verify/lintError.d.ts","./node_modules/tslint/lib/test.d.ts","./node_modules/tslint/lib/utils.d.ts","./node_modules/tslint/lib/linter.d.ts","./node_modules/tslint/lib/enableDisableRules.d.ts","./node_modules/tslint/lib/formatterLoader.d.ts","./node_modules/tslint/lib/ruleLoader.d.ts","./node_modules/tslint/lib/language/utils.d.ts","./node_modules/tslint/lib/index.d.ts","../../node_modules/@types/eslint/helpers.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/eslint/index.d.ts","./src/rules/expectRule.ts","./src/lint.ts","./src/index.ts","./src/suggestions.ts","../../node_modules/@types/json-stable-stringify/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts","../dts-critic/dist/index.d.ts","./src/rules/npmNamingRule.ts","./src/updateConfig.ts","./src/rules/dt-header.ts","./src/rules/export-just-namespace.ts","./src/rules/no-bad-reference.ts","./src/rules/no-const-enum.ts","./src/rules/no-dead-reference.ts","./src/rules/no-unnecessary-generics.ts","./src/rules/no-useless-files.ts","./src/rules/noAnyUnionRule.ts","./src/rules/noDeclareCurrentPackageRule.ts","./src/rules/noImportDefaultOfExportEqualsRule.ts","./src/rules/noOutsideDependenciesRule.ts","./src/rules/noPaddingRule.ts","./src/rules/noRedundantJsdoc2Rule.ts","./src/rules/noRelativeImportInTestRule.ts","./src/rules/noSelfImportRule.ts","./src/rules/noSingleDeclareModuleRule.ts","./src/rules/noSingleElementTupleTypeRule.ts","./src/rules/preferDeclareFunctionRule.ts","./src/rules/redundantUndefinedRule.ts","./src/rules/strictExportDeclareModifiersRule.ts","./src/rules/trim-file.ts","./src/rules/voidReturnRule.ts","../utils/node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","3eb679a56cab01203a1ba7edeade937f6a2a4c718513b2cd930b579807fa9359",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"ff667ee99e5a28c3dc5063a3cfd4d3436699e3fb035d4451037da7f567da542a","affectsGlobalScope":true},{"version":"34478567f8a80171f88f2f30808beb7da15eac0538ae91282dd33dce928d98ed","affectsGlobalScope":true},{"version":"6ea9ab679ea030cf46c16a711a316078e9e02619ebaf07a7fcd16964aba88f2d","affectsGlobalScope":true},{"version":"6bda95ea27a59a276e46043b7065b55bd4b316c25e70e29b572958fa77565d43","affectsGlobalScope":true},{"version":"aedb8de1abb2ff1095c153854a6df7deae4a5709c37297f9d6e9948b6806fa66","affectsGlobalScope":true},{"version":"11ffe3c281f375fff9ffdde8bbec7669b4dd671905509079f866f2354a788064","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},"19b32dcf848f5a494e0220509b2ce6bb5f85ef8d82ed1d48d1c4c255133a2936","608bd926d5f4b71593c5b32aabb63c2c08920ded66293447fe321548353de7b1","4a825b1e80b4bd281b0e1945c6b814ff8b7d047e324227a1b2208ef06c2a8897",{"version":"9d0b32c595a2e0d320a56b3d0e8f0a317e4149239ec913aa8f11eeb73edc92be","affectsGlobalScope":true},"96e547b51f95ee76bdb25731c92420fa6f93b59c3f38f23d505be36e2de394ee","61215c1a376bbe8f51cab4cc4ddbf3746387015113c37a84d981d4738c21b878","3ca89ecb953fe3b63dae41e5bb986506e812754dde0369c5fe61de26eff47dbe","123ec69e4b3a686eb49afd94ebe3292a5c84a867ecbcb6bb84bdd720a12af803","525c8fc510d9632d2a0a9de2d41c3ac1cdd79ff44d3b45c6d81cacabb683528d","90c85ddbb8de82cd19198bda062065fc51b7407c0f206f2e399e65a52e979720","d56c93b6bf66e602869e926ddc8b1b4630d1ff397909291767d18d4ffc22d33f","7ecfe97b43aa6c8b8f90caa599d5648bb559962e74e6f038f73a77320569dd78","aad3237c3f99480041cad7ca04d64307c98933996f822342b7c0ee4a78553346","4d4c83f77ac21a72252785baa5328a5612b0b6598d512f68b8cb14f7966d059e","5ffa4219ee64e130980a4231392cbc628544df137ccf650ae8d76e0a1744fd2b","e1a12c7e7951b9762cfbcc43c72eb5611120967706a7c3142ad303c6b7ee767f","b5fd0a137bd6d0afe291d465e99c7469b082b66b3ee89273b3b22801b6c2948e","873da589b78a1f1fa7d623483bd2c2730a02e0852259fb8fdcfe5221ac51d18a","c969bf4c7cdfe4d5dd28aa09432f99d09ad1d8d8b839959646579521d0467d1a","4218ced3933a31eed1278d350dd63c5900df0f0904f57d61c054d7a4b83dbe4c","a376e245f494b58365a4391a2568e6dd9da372c3453f4732eb6e15ebb9038451","ffe8912b7c45288810c870b768190c6c097459930a587dd6ef0d900a5529a811","f53678bdb9f25445c8cdf021f2b003b74fd638e69bb1959dde8e370e8cc1e4fa","84044697c8b3e08ef24e4b32cfe6440143d07e469a5e34bda0635276d32d9f35","0b6098fedb648cab8091cca2b022a5c729b6ef18da923852033f495907cb1a45",{"version":"0e0d58f5e90c0a270dac052b9c5ad8ccdfc8271118c2105b361063218d528d6e","affectsGlobalScope":true},"30ec6f9c683b988c3cfaa0c4690692049c4e7ed7dc6f6e94f56194c06b86f5e1","9f633ecf3e065ff82c19eccab35c8aa1d6d5d1a49af282dc29ef5a64cca34164","6b2bb67b0942bcfce93e1d6fad5f70afd54940a2b13df7f311201fba54b2cbe9","dd3706b25d06fe23c73d16079e8c66ac775831ef419da00716bf2aee530a04a4","d74b8e644da7415e3757a17a42b7f284597b577e3c87b80f4b3ba0cc2db1184f","7e62aac2cc9c0710d772047ad89e8d7117f52592c791eb995ce1f865fedab432","b40652bf8ce4a18133b31349086523b219724dca8df3448c1a0742528e7ad5b9","424bc64b2794d9280c1e1f4a3518ba9d285385a16d84753a6427bb469e582eca","a77fdb357c78b70142b2fdbbfb72958d69e8f765fd2a3c69946c1018e89d4638","3c2ac350c3baa61fd2b1925844109e098f4376d0768a4643abc82754fd752748","826d48e49c905cedb906cbde6ccaf758827ff5867d4daa006b5a79e0fb489357","893d1b5dd98f1c01a0ec4122dfd7f774e0fa1560e1aa19e509c96ed543c6244e","289be113bad7ee27ee7fa5b1e373c964c9789a5e9ed7db5ddcb631371120b953","e4abb8eaa8a7d78236be0f8342404aab076668d20590209e32fdeb924588531e","1b4db6ed54916341a48bb81cfd9f910999b3bcd6b71c6a4c7416532a6908775d","f409183966a1dd93d3a9cd1d54fbeb85c73101e87cd5b19467c5e37b252f3fd8","5ff4ecfd544d596de3c8011a6d44c59443c85e1f99065095e556b15237eb39ac","12b2608d6074167c331c9c3c6994a57819f6ff934c7fd4527e23aabf56d4c8d1","ffc1cd688606ad1ddb59a40e8f3defbde907af2a3402d1d9ddf69accb2903f07",{"version":"4926e99d2ad39c0bbd36f2d37cc8f52756bc7a5661ad7b12815df871a4b07ba1","affectsGlobalScope":true},"8a70903bbbdad1d58e3936ca90b3ad993e54827ea324e20f2f63cef4e14e9d55","f61a4062a627acbe5c4a9650319132ec8fa7fe2f276a7f40a056e59c2a877e04","9522f3e35b412f2f17974b1431a1b18d06e0a8f614a0700c37220a4afb04afa8","aca36e2d27783f4bad7fc1786a532ff76024f0fc8575df48bcd9a5eb452fe7e7","3fa86a2c33804b6a4221dda3714a6a2f8a2f26983ea6c63d2bf6f2839fbb778a","80eb36a37da8a5bb0d4ab16b03994b46323c34bddd11865c12b10104e932f66f","67672bb2a23218983d3f324f4db4627752710c373099ed4f52faeed9f8d4af67","cde30ed872269da44acc3204e9821dc19cc36dfd8d0a7ecd559c1c992d4fd660","dcaa31f5874abcda93de0321fdbc885822ba7fc97af1846b20369fa37459c524","a78ebf48c90ab4ffb882bee5b1b7787759a083c8f52afc8cb35e0c9567848fb5","9703052ca709ef34391435ab48be179a9aea2d147ba3cad511939061bd0b8eef","798fb3c3e238dffdc500c9b084b848f0ba7a632481fdeb61f27ec77119145249","f310b0b23f4da8b175dc624ccaabfdc6e2ad7c39a748e6654731e3244ae88e7f","398e4ceec08b7213ea298f3e8d21291bfe3eab02d54e73e55bd4a7d9516e86e3","04a8325eae3068508705bc97ffc9f2264ca7a815d4e827063fd50994cb26e864","8ba05c762dc962a67461fa232026dadb297e4353fdca246bc1b0a10188fdf263","8e01e494310fbcd0a03fac76255e9ed644ef1c3caa7f5ae97d8fadb1f393b913","57516bf3b3306bb220e070b9752519e8c1c5dd4a1131656d73f2861b61e83d1c","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","0ee8b79b9ddcadaea3ec651fedcb4f68537b0b09472db7705417e9dbc0a0f5c1","16a208b54a4b620972bfa1d47a0f385b86f9d5d93abe41f2b5b324518003054d","98a4308025de3ec9b0fb3b7a2c04feb246de0d19d6c755122ee8d7d0cf5061ac","fb3a81e471f6806643755e3aef26cbe7acc2072ebbd30710faf657486f6e459b","79928af80b034e57ed37f9e217df3fdc39c1d533ae1d3779f621f060163d85b1","946531beb77588c59ba425fd177c819a57f6d5a7f43fd835a6792bcb0ffac61c","7973b106430ca1912ebc66aceadeb7199987f07c59a3df9977c1db0f9bf3c67a","3c284c6e21c847747d692362398c2a45bd64504b43b220248342dc687d485b47","a2b5bf283c5736f955ed4778d9eea162d14f151ebfa94e451bb74f5cb878f782","c78205643a9f7b3117509fdc7354ca26cb7f13aa211ad97e4a6482a303cb8a05","e5e23fbe13ef86342c5e3d77186c6f6becc87e5217670edd4190ce9491166fc8","32c4e13314dda331e859d79ce75532fc168badc762795c7241757576a34ff9e1","2eb12f53f429b6aa9d6d333291c655974b6ec128b8ad74d5373e8ea06d949df4","15776be02179ec1893999fc17c96965b318357804a890cde808a6edb97cf350d","4a88fc742f5043c3110ee53801dbe883b016166d25b00e10cfa50bdcbd6d2c8c","ce3edbf0f31d05de18f3ecc61ab27d05fed4b0f7b75199503a5617fb9f6040ca","a06102cd2ccb1a03257c4723ad3f553cb2136703d609cf7d943a49eeb0feff11","1f7fbf49cf59cf3a4a12355b7e5c4a800773eed0de3a37c7719cd743a0a35099","a31e375ef29c41d4f2300750cfe0074c009dd75f65026469aae6693d5ff23c09","3f5c9851a0609ef648a9964e1cd14dbd936821640822cc8868005c7ef507495c","8b3f92884ac79df9d23e07613486cb80cb39141d9a2e18c8b572f2e3264d1116","2ae3e594877f4315b67ef6e48c360b5547b49dff5d0317f92e6fff1285724711","d393584878c89f3c51cc32ef3fcb979ed262791c40b4fad35b00f3f9d8daf81a","30fd76f01607cc86c76847bb0cb59476aa499ed603fd51bcc6608a1ffddc4d24","991d8bfc6d522027f6b036a307f8fdf0d8a92d0c70f2bcc3a61b9dc404c84015","921c958cdc8f894744da609e6297cd50f99e99cd466646e302d989d3ffae4701","5b1bab68dbf582168c3793299405dd3a0dde2f33d7d88aa87378602f93f6ab43","6ba49425a0fba05d751dcc4620c8f3af5f52b7de5748151c40ced2c7eff281da","4e0108b3601686dd62b489ea5e08bc2491ae92f5dc67a8fa9a88aeb81d603fde","032b925e68baf0862a1eb2b3ce0816adfebb087d9c1803bb27d8c8f442db1477","8ef6a2749e6709896e32b1092204010a9ad7d92a1b23b9fc92320ea6e297ad1a","ab469b5917405f2d716237ab63c734068bfa61871a235f6203128accd94e8e18","94bd2207b35164142ee9916b5bd68957b269bb6fa59df03ec63aa46afd14f4ff","ee7662dbfdde0ac507771e0451d6e83afb8233ad76f91218c012ee5229be6411","af99c327a792f7ce482714d88923051f740bfc0710a379dc3a5d8809188ddb39","229f3754baf0fbd7d843efb5b2c893ddbf3afdc8c56a6c314be875d252a6c38f","fe9ce231afed6b55948323e8ca86622ad75285e2017480a63a697c315cb64125","001ba6b2e1568515cc5838dd41443729e4ba4ed8eeef1531fdd8a828f9687f87","6081ef7c93615e1b8e6b69b8160efaebf2d8472cd91d582c019f45671ca527ba","338f4ae8b09016b38a6d85f62c57c15ce1f915c010cb0a2db8e73696882eeab4","8bb25d6acd56f90bfc1a68d1411c6a3cd3721bb2831d4e616224a4c261ec609f","d556bb956a29a945d01a2c4e0274abf100fbb7af3d6bca2166e0821393f4189d","e9bc7151ea7a5c85928c8ca386d2070e128275313fc6f0ca9a3c210518afd7d6","6adeedd02f416bfc4cea1acb1b894b3f99e3ace16f68ae591ea0da6dda0b27c8","37d60d0d1bbc6d6c76fe8b775393a1cae30ea75acd516c9dadcf9ed0577251f8","166af25919d24ea68ec151ef4ca8b8806a5c1436efbf56bfeb06236d5d783ca2","944f92b28d9adbda129561a5cd9394ec325385b8ff5eb593be3ce2472a91f3fe","5f39b3d22db6e484ec55e26b1626319ba46398b4b6c73eaaf106ed9c13f10f3f","15f72d03b1253d9e9ca4967e656ba47cf04f332dd3f105a9f4c963f20c5cd078","ad2af7f84d67745d8b087c542fc3aca59493d096965e82709a97e6583d1ca90c","9155af0d8b7036906c8d2c12236ed557cb412e6acc19ffd448389497c90aea7a","2013ddaea1403c44d3d066ebaf9781182eb07fb3ae40eb6a09b62bd5444bee28","6ccc16f2cb2dd364288620d9d9f83a7c0e2afb1e411f1c02a4b2ed979a602bd5","3fb9d1a12731f24e255d4494c71bf05f4dd954c38ab2b106d49385d07aa0f5ae","cdb8bcb9a35f1199aa3e02d14f84ff9f1bee9a504152d6e708ea42aeb75a6b1a","f50954c7ff56b315c6bd5eed8df9916cd78cfef9ebd39ab4c48763235eb32570","8035daaa421a189f0cd54b4bca84efb6a0d1789cbd5cd7e0224c6bb2d6c37d17","c33567f7cd50f60c1878e4973a84a4b5ea0b37904ce2d352f4ee28025dec94d0","18b367be83dd090a405b8a3672127ee0d821059733219281364673eee34f0d93","c6e38bc615f617fad0fa4fc0d61a10f02bfc09d878772a8346e40ef2edf8e26a","99726ff3d48f9c2856b8ce43ae447e22abb56372db696053b0ee4c6ed60f4285","38342a5558c5694ffdae67c95910f3a00641d89f93912272996bb64939fde45a","a9297b87e275ede7ed72a0e6e2d7b4cd47ca12f82959ceb3cccb48a1f5bdf881","f8e97664b7bbbf34ffd6e0da6d9b1710563d87db1f5cdc7bbfd01016cee3039a","59ea85a9f435fd3007dbd3b9d1348251f61e2622855066b36215f4cefd87dc90","8a780780b3a1c9250df5034221e133dbfa63b61da631c1be94ba673d03b1ca6e","c7e3d65b88793b7dc8d312cd0b07e02522ce62b8c90b26d835c8bdb0c29f5192","c30b5c8c0cea1f63089fc9882990180820adaf3cf8a60008942f14636e65acea","9f5efec58a41c317b30f13141c49203a1f523218d1b3cd94db29f0a7b3fa24e4","d201d6990bbb97da498b6f74ba7fe55d14e059fa28f8d3874840ef2d8efab60d","d01773095134932e4fed24324a6865a0cf20c192fc2729c3e6600c04a2290799","ede589e21c65b5b7eb55357c4a1877437c31a07cf3c159bd9db997d72124050c","e769029ca93e0c09d3192b1d2e9803d7c0483ecd7fd8800b1f018a72eea1afff","479f504bd25a18d70d3c18318057af9d213786da2c1041a4a929acd0eb5de3af","315e3b387cbe6a4b8b25bd5f6fd6465f7c95830d95418a61992c347705678bf8","431a894b127a0df31953c36234b6b8b514a5060b2e056dcb384aafab86d9dc86","dc8bb410a5727a99e00f85fefe9dddf92a6c6d5df7f9390e0c1882dc2990000d","0c4a2103ad48d35e1468d9ce01b6ff23088d19e716a2fec3e851741368d5f897","5e7fda78ad800074d2db45165cee396a06e6527d5e330d4fc9e57a21c85adafe","81ebdcd89851e47c983ed60b7c050cab246900df759acf656f59f01425386df9","2ef62aaab68ff5a596d7f64acc7efcfd03d1ff87571edfe2401609ea5abd0478","adf9d04e1fb6ad4c5d3fe5adb4aece91b1a3720c4a5044386036e766afab3df5","890d431634afe65ab22f2e6189d01a8a90bdca296ec9c3b9e4e4d80ae7ebf3a6","c37e880192ceeb90ca20dd52562d162c9036d098b5c07bee1f1ab5f8b924c3d0","cef87859891b21abfc47bc31586a210dfd0fc7596e5dcd858c6fa69f1f3d4d75","7a19ea3694c4ebc3546d772b78fa2eb34869f08b25994b5217159b47cdbc1dd5","2dd1f9bae1cf717dd2e1391e83e0174b052697b5568c1efbf52a70fa15a6a6f3","e1248ba5dccbb0bdf8fc97dc6b461983a381d9840ea7aa72379dc5608db079f2","f2485d7dcaf6376a634a2e89ddd8ee157a72013348b0d77cfd8e0b2911a3f297","5ed9fd6b3b55d40305506ba1065e4679329c6887cf10746dac35445058f8a1f4","6934e70b784924236ea8ab328eb25509e429217bbbee2e03645c8b59afd97280","f3f418116b8e6ac9554a88e8c33e9550986ebae98a769cbff817faa210599fdf","84bfc05cc4e45c2f4e81f2dc5cd5d9d7e23bc56241d413cbd7995b03dde32131","658c59bd93996b5760e0a0c0eee9a2084a03f0041789e107ab73a112eef06117",{"version":"8d406582f55ee8a8d50a0ebb60aead2c99a4e28e83b14101e4b0bb42dd6cc6bf","signature":"5c2d62dcd4c669adf658513a180e6636a166dfa256298a5c8ac7d1f3f964f16e"},{"version":"a4dc00fe003983556e2ac9f746395dcb68512c787f8676aec3ac756dee628f94","signature":"e7443f0dd1b7b582c00e64ea1142b4a98b1047c7e61c755470a70f1251ebf11f"},"41edcdae87a935477f0fd67fea79f9c3d4a8f59f9d8ee9b32d37a5ae2d9fabd6","63357eb2e74c59dd8da1b0fe2b759beac5584614a1dc83adc5e6e6d0fe15d2b5","c02730242928e405e8d79f110c11cfbef94ac3931fad1996aa63a65a53773e72","8cda0f7349cb38d1bbc27f5cfc12a8a26f0c188c40902f675436cc9a34092b6d","e2ae5aa7a93eb36cea60b4c922ef22262728e114059f2e0bf25129c8aa70119e","ac17a8d374bd3dc1b6836846e0c96650a6d3fdda3d1027c989a808004f543c99","280247d715a3a47a39f6d7b07c2648642fd8403280df2d3f352fc4cd7fbe1e4a","53b171cf7bc1e16ea61419d84ae189daa5369bff79a3d717e7c747ace98bae84","09b96e8fcd86f6596483c528f3656377796138c901531803947629e636dedbab","7c4a5e3d8540057b699654bac19f9b439785bdfa7889cd9f5a45d20ac74dfe78","88bdf0f442cc1672a0b28e2676f75627492afd43a7c517f223da3f42fdadece1","d10bfe4565c3d0e9d6e8a79ba90d434fbb732cec441b132e257ab72627924543","5eaa1112a996927a1216ea5da6aea4b8acaa3e01f1cb8d9545b18ceb24bcf5aa","a37fd08da1b34b4d7003e79631f50a0205a61226fee2beb5bef81a71902cfa46","dd34db3fb9be7fb3d474070a6d9b912cc204271687e1425d6ddbdb0512f78eb9","d63f46bebe8f8089950f9a9eb0755cce3ad9887285c6abd7bdf556beee8b3e97","78c4cea948fd307a09aa017a9b05f601dc5560166f9cb562353237d9d0480c43","6b081ccb656855db88b49f8a434bc7cf61aa6f9f67822e527329b7f84d61ee97","65d4fbe40d30e01a230d41bf49d44d69b75e4895ca07aedde6b15c812a60916d","63df934ff4e61472be885417264225a221a9548b5e52e847cc56657766c5f1ed","02fdedab5a3a8c53144228df36eeba76f46b7b403118db28dcd319646b8fe6ca","482b4c61bc9fd77de7d3ed52698d2e0f0d04d4839274828b16cf5e7282e17747","36db183865741677731ed2ecbfb195ffd40e931cd64f2b6bddc72b33d2dd2f40","87526303738e4edeb08c38cc3750dc874e54111dd8c6f4816a9df00d3b5dc7ea","3a43fa1f2b440d233560ff371920ccd14c1ab29ad5074fa5a1e4616c4a51b6e7","00eb294c52e2b41644a3d86e2191f609ea6185968130376045eb47a69669de2e","00eb294c52e2b41644a3d86e2191f609ea6185968130376045eb47a69669de2e","43f7bc619e86d96191873c2c9494cfc88c9e7252b0b8a451f702d77739690d29","744408cd7dc1bf1e1dbc770aac0e50c142a702316c0359a9cc7ae1fa6aafc90d","e13acbdd9813434ab367bcc954092541175da09e603b5bd1cd671a5818dca96e","00eb294c52e2b41644a3d86e2191f609ea6185968130376045eb47a69669de2e","00eb294c52e2b41644a3d86e2191f609ea6185968130376045eb47a69669de2e","9f34570701f561709ffe7c3b4d8b46612524eae40b7a35671596677f5ad22fcd","780c1d3215b8359686fa0e84cb5a0f376b2175f5a5ee0cf9a679b5a904b3ef3a","c31a6806095fa2a0ff15e2274fc5a3823cc7ec50fe265244b06f76768790dfb2","574b0f3c9c97978dfaf21d3c60d54f6f4735ebad6c29f8d526ea5d71505c2e81","e6d67ff57b8e1d8cc1df2e2d4d3f4804194fd7ef74f79011c81a4c602f1cda06","5369af45989a6f87e2da43c116bceb19b58fa492456a7a7b49044d6ca90fea60","cd44b752f67662e754920ff7da1906e1f8421f1afbac70c80360bed74e62c481","53aaa9de3f13af71c05000d02013744798b1cb1f7abb6afee5936eef7b40de4e","34137f912d03e00d1f303f420aa781d28a213e94ebc72de39dc66afb1c2d7116","28ac68ecf33f7d1d02639f51b13662ce756119cf09c46694146ad7d50d4c91d6","82dbc3f62003d918765a113b0249f6cdb6afdb1e4432a1ce7c4ffb609a73902f","ed29b20b028d13f213b2d7006e8c682c1a5cf4e437cf2a887c266abe5a0dc76e","9d5742fe3f5aff0314e4acf98f4ab91511727afdb15d87e86beff1c1537dcdb1","a9e95b5704917009178a1bfef3bb6dcead2d5982f96d8de93d78eb1d55dfcf16","e2175e8956be6be66af258546ada6dea78d7575042780f8a3cdae8df388dd88f","5b93f01cc0b506546233d420c85376a26520b16473910df1c3e196df302c70fb","6273dd597ec315aee91189b3edbd271f2834f984543351d945df99a99ee73f97","04a7a83d4fddcc85027defe7e56d3712d4dc51fa9a11f34c3dfe7bf5cdcbef0b",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"a1c79f857f5c7754e14c93949dad8cfefcd7df2ecc0dc9dd79a30fd493e28449","2d474dfb84cd28ea43f27fe684da8c00382cbd40cee45e1dad4e9f41f6c437b6",{"version":"9e0b92236fd2906aac40e4ff5c25807b3f25095cae468976c0b1cdd07be00b66","signature":"005f15fba9161382b69bc800833496fcd7f976cfaceac2b4b8436af1ac557d81"},{"version":"e3acc705c6103e20bb520267ed6910ef9facc2192ed4f226d5372524360acca9","signature":"b1d3b2f8dfefd6caa17ce76d2f82c4c22f500988e49e863bedd66a48323f1884"},{"version":"191fd10d75b57a8f5e77eb26e5f1b5a05a33b5e2321eb4bbb9981707949c718f","signature":"7c144b6b6774f02ebfd419375ecf9059b5f60b3d0cd402913d6722feeb5bb217"},{"version":"5b1f8948e8bbefb8931d5479d78fe673bbe3187dd75ca429aa4a578b886e1c89","signature":"918e62f749e2506a4a64c1253a258147a1761a28ee44c63e41edc9344dd97425"},"626520302b2c8880e9eaa3a6a12022cc8b577a32e4d903aef85e3dd275063da4","f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","2893564a05d3bbe2a4d812dfd5ad3d7a6981a754283b695272d6ead03f638b67","2a11a191f7429646627bbf3b6bbc9361d3430722ada1a3eebf0b7a1b8053b557",{"version":"55e45c073448b8448b473663f66a069831be6a725dc355d0d320a1fb443cab18","signature":"038565ded3173fd6e85bedf1d0aae23fe49b8adfb7227e1533c7425be07708ff"},{"version":"427cfc42a6c338fe2d414e2c6bb9c4415bd1f76e21de0b80384c2d4451aaf12e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"6511c8d4a967dc6972e935281f7216d5da03761737c3ed8623bc7e10a5a610f1","signature":"ff483da1331ff89da770bfe278335d01c1c4cc5119923f86704153990489c491"},{"version":"08ddc3d1d5f1395d5ebce085794420806fc4516875f749431d3370b402f73ccd","signature":"47961190a74b07f2c6665a595b6204586657edb95951143a3c8971714f5cb19f"},{"version":"91ad5d9f6113edd78d85aa659c99854daa5903de262aeceab6e38f99f96047fb","signature":"0056091984fb861ffc46f8ca0ba58cc9c6a41beb4f18e15445ac90dcc7f43737"},{"version":"d756e04236e72d822c1ab86ef1cea7de0bdf57951541b249b5fc6bf64b0ad173","signature":"7e43a8bdb3b37b9557b14bba05f85e9a6d738461b9b7d70bca083a9eebd5ab06"},{"version":"2cd78785bdd3cb040333d7d114bf97b73f1bfc96ea1436673bbabf63c9963232","signature":"64b9dcbebcbf10acf10c33e922e3b16105725849576256019308f34769f85ae1"},{"version":"d41f408b6a9e964154f97380d2c784cadf87d1a898015bf57a66b38b6c9df513","signature":"2b4bb1606f9cbc2d9dcba4fbde572bb327b530e598fb6b953bcce21738311349"},{"version":"d2c8472a36527e0c7e2e40a2957f37fcb9b0ffffea9943e49f0c36904dadb00e","signature":"e7ac98ab295fa8f1fe4d76a52e00c6aafdde90ef544110bd9e77dc242ae5a875"},{"version":"f062fcf62344b8e9026027362b16df13899716aa5cec4adef87689e085b650e6","signature":"980e689af0bd3ddd01b17939ce56cdb36cd68e57b9e14b1e279dd29812f691f2"},{"version":"fcc99969d10c978908a1fc82eedb116cdfae80dd2e1cd7434c05c5b262b6ea05","signature":"741bc98b7e17e64068bc812f6d92772fde6ae98dab387a5d59023e08a55e1dc3"},{"version":"2db09f270a63a0eda12367a14276bf646a1f9c930b8190c1c754bd17d0f13412","signature":"5c89c2d8632e34cadc23af66968af371c99beb9c0d57fad62ec3206b1c63ca87"},{"version":"d5f6ef3dc8c66cd9aacbd19d5f117adf115644f02241bbb0dd96ae650c6e0f87","signature":"6afd75ffc7c55efd6d72800fe9342ef93401cea0c7446b15d279cf71e0f85a03"},{"version":"132f8dea773cc4beb2cf8acc874c3ee840d9e64c323b109868dbdd3c99f9e76c","signature":"40b8f0d145b4b17fa97c12ea97a5fb879aa73f55897d30fd019c6cc86080cc20"},{"version":"ff3a4351d6b9fdd25cac50a45e463768d54ec5547d0f1f583bc3fdf5fcd6e757","signature":"fefac23b9771d1181090df59d128cadb51291169205250e226da887018072324"},{"version":"4c53f38d128959ac5ded620000ca09c1a2cbd1269c0c3d857b36e80b0bf2130e","signature":"d83b076fd2c4397c8625f2b434593da65b3b06d540ed57c5d55b41b419ea3f8d"},{"version":"e41e554ed74805d1844ea86217a646382917acd4c72f447fffbd2953a4a46c65","signature":"741bc98b7e17e64068bc812f6d92772fde6ae98dab387a5d59023e08a55e1dc3"},{"version":"82735b371318b87d41eaa68b3475aa79049bc1e23bdc149d4b563bb3ddf5eb3a","signature":"980e689af0bd3ddd01b17939ce56cdb36cd68e57b9e14b1e279dd29812f691f2"},{"version":"b852bde093e88512213b3e690426381798afbd6291bfc1aad10984bfa9108737","signature":"dae7bc99180eae7217a7b7de63336280897e526b667b51453a4d16fed01f52cc"},{"version":"6736fcd4c75c4b54a0969ad772e5f7b3e8ed33858749829c09b776d303f489eb","signature":"980e689af0bd3ddd01b17939ce56cdb36cd68e57b9e14b1e279dd29812f691f2"},{"version":"998a461c1caf0ac52fd917d282ad3277ef5d3906aa26df4637e60a9ddcd08c23","signature":"dae7bc99180eae7217a7b7de63336280897e526b667b51453a4d16fed01f52cc"},{"version":"8d1b6900a4146bf54b9d25d6fd0d818847015b9329653e8877d8a382530f8ec7","signature":"dae7bc99180eae7217a7b7de63336280897e526b667b51453a4d16fed01f52cc"},{"version":"4354fd811c30397bb645adcdf5fda3b10e5b9e817a9a4e3389f7d851becd4cb9","signature":"40339a86455b81d4dcab09cb4843483e78bedb5d46c9f060775bfd6e8f974e79"},{"version":"86d141f6b223e5071d7a8ed2615732ea93cb3ca8a616773671ee85a895a9851c","signature":"980e689af0bd3ddd01b17939ce56cdb36cd68e57b9e14b1e279dd29812f691f2"}],"options":{"allowUnreachableCode":false,"allowUnusedLabels":false,"composite":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./dist","rootDir":"./src","sourceMap":true,"strict":true,"target":6},"fileIdsList":[[67,89,95,96],[67,89,95,96,116,263,264],[67,89,95,96,271],[67,89,95,96,100],[55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,95,96],[66,67,73,82,89,95,96],[58,66,67,73,89,95,96],[62,67,74,89,95,96],[67,82,89,95,96],[64,66,67,73,89,95,96],[66,67,89,95,96],[66,82,88,89,95,96],[66,67,73,82,88,89,95,96],[66,67,68,73,82,85,88,89,95,96],[66,67,68,85,88,89,95,96],[67,88,89,95,96],[64,66,67,82,89,95,96],[56,67,89,95,96],[67,87,89,95,96],[66,67,82,89,95,96],[67,80,89,91,95,96],[62,64,67,73,82,89,95,96],[67,89,94,95,96,97],[67,89,96],[55,67,89,95,96],[67,89,95,96,98,99],[67,89,95],[67,73,89,95,96],[67,79,89,95,96],[67,95,96],[66,67,82,88,89,91,95,96],[67,89,95,96,107,119,120,140,160],[67,89,95,96,107,141,169],[67,89,95,96,107,121,122],[67,89,95,96,123,124,125,126,127,128,129,130,131,132,133],[67,89,95,96,107,121],[67,89,95,96,121,123,124,125,126,127,128,129,130,131,132,133,134],[67,89,95,96,135,140,141,160,161,166,167,170],[67,89,95,96,107,165],[67,89,95,96,107,140,160],[67,89,95,96,107,141,160,161,167],[67,89,95,96,107,165,166],[67,89,95,96,107,164],[67,89,95,96,168],[67,89,95,96,107,118,141,146,158],[67,89,95,96,107,118,140,141,146,158,161],[67,89,95,96,107,118,140,141,146,158],[67,89,95,96,119,120,142,143,144,145,147,148,149,150,151,152,153,154,155,156,157,159],[67,89,95,96,107,118,135,140,141,142,143,144,145,158,161],[67,89,95,96,118,119,142,143,144,145,147,148,149,150,151,152,153,154,155,156,157,158,159],[67,89,95,96,107,136],[67,89,95,96,137,138,160],[67,89,95,96,136],[67,89,95,96,107,135,160,161],[67,89,95,96,137,138,139],[67,89,95,96,102],[67,89,95,96,103,104,105,106],[67,89,95,96,102,104],[67,89,95,96,103,106],[67,89,95,96,102,112],[67,89,95,96,102,107,108,111],[67,89,95,96,102,107,109],[67,89,95,96,107,109,110],[67,89,95,96,102,289],[67,89,95,96,113,179],[67,89,95,96,180,181,182,183,184],[67,89,95,96,113],[67,89,95,96,185,186,187,188],[67,89,95,96,179],[67,89,95,96,174],[67,89,95,96,190,191,192,193,194,195,196,197],[67,89,95,96,113,117,179,189,198,208],[67,89,95,96,116],[67,89,95,96,113,203,205],[67,89,95,96,113,200,202],[67,89,95,96,113,202,203,205],[67,89,95,96,113,199,200,201,203],[67,89,95,96,113,179,200,202],[67,89,95,96,113,199,201,202],[67,89,95,96,113,179,203],[67,89,95,96,199,200,201,202,203,204,205,206,207],[67,89,95,96,174,175],[67,89,95,96,175],[67,89,95,96,113,115,172,173,174],[67,89,95,96,107],[67,89,95,96,113,114,117,172,173,175],[67,89,95,96,113,115,174,175],[67,89,95,96,171],[67,89,95,96,113,172],[67,89,95,96,114,115,172,173,174,175,176,177,178],[67,89,95,96,107,112],[67,89,95,96,162,163],[67,89,95,96,234],[67,89,95,96,102,234],[67,89,95,96,262],[67,89,95,96,237,247],[67,89,95,96,234,236,237],[67,89,95,96,238,239,240,241,242,243,244,245,246],[67,89,95,96,233,234,235,236,248,252,255,256,257,258,259,260,261],[67,89,95,96,234,236],[67,89,95,96,102,233,234],[67,89,95,96,102,234,249],[67,89,95,96,102,233],[67,89,95,96,102,230,234],[67,89,95,96,226,227,228,229,230,231,232],[67,89,95,96,102,229,234],[67,89,95,96,102,226,228,234],[67,89,95,96,102,227,234],[67,89,95,96,102,234,235,262],[67,89,95,96,249,250,251],[67,89,95,96,253,254],[67,89,95,96,100,102],[53,54,67,75,89,95,96,99,101,102,211],[53,54,67,75,89,95,96,99,101,211,212,225,267],[53,67,75,89,95,96,99,101,102,211,225,262,265,266],[54,67,89,95,96,211],[67,74,75,89,95,96,102,211,262],[67,89,95,96,209,211],[67,89,95,96,211],[67,89,95,96,102,209,211],[67,89,95,96,102,211,262],[67,89,95,96,99,102,262],[67,89,95,96,102,109,211,262],[67,89,95,96,102,211,262,269,273],[67,74,75,89,95,96,262],[58,67,75,89,95,96,102,262,267,270,272,274],[67,75,89,95,96,99,101,102,209,210],[52,53,67,89,95,96],[67,89,95,96,213,214,215,216,218,219,220,221,222,223,224],[67,70,89,95,96,216,218,298],[67,89,95,96,218],[58,67,89,95,96,298],[67,89,95,96,298],[53,67,89,95,96],[53,102],[174],[102,262],[174,209],[102,262,273],[262],[102,174,209]],"referencedMap":[[263,1],[265,2],[264,1],[116,1],[270,1],[52,1],[271,1],[272,3],[11,1],[10,1],[2,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[3,1],[4,1],[23,1],[20,1],[21,1],[22,1],[24,1],[25,1],[26,1],[5,1],[27,1],[28,1],[29,1],[30,1],[6,1],[31,1],[32,1],[33,1],[34,1],[7,1],[35,1],[40,1],[41,1],[36,1],[37,1],[38,1],[39,1],[8,1],[45,1],[42,1],[43,1],[44,1],[46,1],[9,1],[47,1],[48,1],[49,1],[50,1],[1,1],[51,1],[102,1],[273,1],[101,4],[99,1],[56,1],[94,5],[57,1],[58,6],[59,7],[60,1],[61,8],[62,9],[63,10],[64,1],[65,11],[66,1],[67,12],[55,1],[68,13],[69,14],[70,15],[71,11],[72,16],[73,17],[74,1],[75,1],[76,18],[77,19],[78,1],[79,1],[80,20],[81,21],[82,11],[83,1],[84,1],[85,22],[86,1],[98,23],[95,24],[97,25],[100,26],[96,27],[87,28],[88,29],[89,30],[90,9],[91,1],[92,31],[93,9],[210,1],[141,32],[170,33],[123,34],[124,34],[134,35],[122,36],[121,1],[125,34],[126,34],[127,34],[128,34],[129,34],[130,34],[131,34],[132,34],[133,34],[135,37],[171,38],[166,39],[161,40],[168,41],[167,42],[165,43],[169,44],[159,45],[147,45],[119,45],[148,45],[120,45],[149,45],[150,45],[151,45],[142,46],[152,45],[143,47],[153,45],[144,45],[158,48],[146,49],[118,1],[154,45],[155,45],[145,45],[156,45],[157,45],[160,50],[137,51],[139,52],[138,53],[136,54],[140,55],[103,56],[107,57],[104,1],[105,58],[106,59],[108,60],[112,61],[110,62],[111,63],[109,64],[181,1],[183,65],[180,65],[185,66],[182,67],[184,65],[186,67],[189,68],[187,67],[188,67],[193,69],[194,70],[195,69],[190,1],[191,69],[196,1],[192,65],[198,71],[197,1],[209,72],[117,73],[199,67],[205,67],[206,74],[201,75],[207,76],[202,77],[203,78],[200,79],[204,80],[208,81],[114,67],[176,82],[177,83],[175,84],[115,85],[174,86],[178,87],[172,88],[173,89],[179,90],[113,91],[162,85],[164,92],[163,1],[235,93],[258,94],[259,95],[248,96],[244,97],[243,97],[247,98],[238,97],[246,97],[239,97],[240,97],[242,97],[245,97],[241,97],[262,99],[237,100],[236,93],[249,101],[251,102],[234,103],[250,102],[261,94],[231,104],[233,105],[232,106],[229,107],[230,106],[226,56],[227,94],[228,108],[257,109],[260,93],[252,110],[253,1],[255,111],[256,112],[254,1],[212,113],[268,114],[267,115],[276,116],[266,117],[277,118],[278,118],[279,119],[280,119],[281,120],[282,119],[283,121],[284,121],[285,121],[286,121],[287,121],[288,122],[289,123],[290,121],[291,121],[292,121],[274,124],[293,121],[294,121],[295,121],[296,119],[297,121],[269,125],[275,126],[211,127],[54,128],[53,1],[213,1],[214,1],[215,1],[216,1],[225,129],[219,130],[218,1],[220,1],[221,131],[222,132],[223,1],[217,133],[224,134]],"exportedModulesMap":[[263,1],[265,2],[264,1],[116,1],[270,1],[52,1],[271,1],[272,3],[11,1],[10,1],[2,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[3,1],[4,1],[23,1],[20,1],[21,1],[22,1],[24,1],[25,1],[26,1],[5,1],[27,1],[28,1],[29,1],[30,1],[6,1],[31,1],[32,1],[33,1],[34,1],[7,1],[35,1],[40,1],[41,1],[36,1],[37,1],[38,1],[39,1],[8,1],[45,1],[42,1],[43,1],[44,1],[46,1],[9,1],[47,1],[48,1],[49,1],[50,1],[1,1],[51,1],[102,1],[273,1],[101,4],[99,1],[56,1],[94,5],[57,1],[58,6],[59,7],[60,1],[61,8],[62,9],[63,10],[64,1],[65,11],[66,1],[67,12],[55,1],[68,13],[69,14],[70,15],[71,11],[72,16],[73,17],[74,1],[75,1],[76,18],[77,19],[78,1],[79,1],[80,20],[81,21],[82,11],[83,1],[84,1],[85,22],[86,1],[98,23],[95,24],[97,25],[100,26],[96,27],[87,28],[88,29],[89,30],[90,9],[91,1],[92,31],[93,9],[210,1],[141,32],[170,33],[123,34],[124,34],[134,35],[122,36],[121,1],[125,34],[126,34],[127,34],[128,34],[129,34],[130,34],[131,34],[132,34],[133,34],[135,37],[171,38],[166,39],[161,40],[168,41],[167,42],[165,43],[169,44],[159,45],[147,45],[119,45],[148,45],[120,45],[149,45],[150,45],[151,45],[142,46],[152,45],[143,47],[153,45],[144,45],[158,48],[146,49],[118,1],[154,45],[155,45],[145,45],[156,45],[157,45],[160,50],[137,51],[139,52],[138,53],[136,54],[140,55],[103,56],[107,57],[104,1],[105,58],[106,59],[108,60],[112,61],[110,62],[111,63],[109,64],[181,1],[183,65],[180,65],[185,66],[182,67],[184,65],[186,67],[189,68],[187,67],[188,67],[193,69],[194,70],[195,69],[190,1],[191,69],[196,1],[192,65],[198,71],[197,1],[209,72],[117,73],[199,67],[205,67],[206,74],[201,75],[207,76],[202,77],[203,78],[200,79],[204,80],[208,81],[114,67],[176,82],[177,83],[175,84],[115,85],[174,86],[178,87],[172,88],[173,89],[179,90],[113,91],[162,85],[164,92],[163,1],[235,93],[258,94],[259,95],[248,96],[244,97],[243,97],[247,98],[238,97],[246,97],[239,97],[240,97],[242,97],[245,97],[241,97],[262,99],[237,100],[236,93],[249,101],[251,102],[234,103],[250,102],[261,94],[231,104],[233,105],[232,106],[229,107],[230,106],[226,56],[227,94],[228,108],[257,109],[260,93],[252,110],[253,1],[255,111],[256,112],[254,1],[212,135],[267,135],[276,136],[266,137],[277,136],[278,136],[279,136],[280,136],[281,138],[282,136],[283,137],[284,137],[285,137],[286,137],[287,137],[288,137],[289,137],[290,137],[291,137],[292,137],[274,139],[293,137],[294,137],[295,137],[296,136],[297,137],[269,140],[211,141],[54,128],[53,1],[213,1],[214,1],[215,1],[216,1],[225,129],[219,130],[218,1],[220,1],[221,131],[222,132],[223,1],[217,133],[224,134]],"semanticDiagnosticsPerFile":[263,265,264,116,270,52,271,272,11,10,2,12,13,14,15,16,17,18,19,3,4,23,20,21,22,24,25,26,5,27,28,29,30,6,31,32,33,34,7,35,40,41,36,37,38,39,8,45,42,43,44,46,9,47,48,49,50,1,51,102,273,101,99,56,94,57,58,59,60,61,62,63,64,65,66,67,55,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,98,95,97,100,96,87,88,89,90,91,92,93,210,141,170,123,124,134,122,121,125,126,127,128,129,130,131,132,133,135,171,166,161,168,167,165,169,159,147,119,148,120,149,150,151,142,152,143,153,144,158,146,118,154,155,145,156,157,160,137,139,138,136,140,103,107,104,105,106,108,112,110,111,109,181,183,180,185,182,184,186,189,187,188,193,194,195,190,191,196,192,198,197,209,117,199,205,206,201,207,202,203,200,204,208,114,176,177,175,115,174,178,172,173,179,113,162,164,163,235,258,259,248,244,243,247,238,246,239,240,242,245,241,262,237,236,249,251,234,250,261,231,233,232,229,230,226,227,228,257,260,252,253,255,256,254,212,268,267,276,266,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,274,293,294,295,296,297,269,275,211,54,53,213,214,215,216,225,219,218,220,221,222,223,217,224]},"version":"4.7.4"}
@@ -1,8 +0,0 @@
1
- import * as Lint from "tslint";
2
- import * as ts from "typescript";
3
- export declare class Rule extends Lint.Rules.TypedRule {
4
- static metadata: Lint.IRuleMetadata;
5
- static FAILURE_STRING(typeParameter: string): string;
6
- static FAILURE_STRING_NEVER(typeParameter: string): string;
7
- applyWithProgram(sourceFile: ts.SourceFile, program: ts.Program): Lint.RuleFailure[];
8
- }
@@ -1,134 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.Rule = void 0;
27
- const Lint = __importStar(require("tslint"));
28
- const ts = __importStar(require("typescript"));
29
- const util_1 = require("../util");
30
- class Rule extends Lint.Rules.TypedRule {
31
- // eslint-disable-next-line @typescript-eslint/naming-convention
32
- static FAILURE_STRING(typeParameter) {
33
- return (0, util_1.failure)(Rule.metadata.ruleName, `Type parameter ${typeParameter} is used only once.`);
34
- }
35
- // eslint-disable-next-line @typescript-eslint/naming-convention
36
- static FAILURE_STRING_NEVER(typeParameter) {
37
- return (0, util_1.failure)(Rule.metadata.ruleName, `Type parameter ${typeParameter} is never used.`);
38
- }
39
- applyWithProgram(sourceFile, program) {
40
- return this.applyWithFunction(sourceFile, (ctx) => walk(ctx, program.getTypeChecker()));
41
- }
42
- }
43
- exports.Rule = Rule;
44
- Rule.metadata = {
45
- ruleName: "no-unnecessary-generics",
46
- description: "Forbids signatures using a generic parameter only once.",
47
- optionsDescription: "Not configurable.",
48
- options: null,
49
- type: "style",
50
- typescriptOnly: true,
51
- };
52
- function walk(ctx, checker) {
53
- const { sourceFile } = ctx;
54
- sourceFile.forEachChild(function cb(node) {
55
- if (ts.isFunctionLike(node)) {
56
- checkSignature(node);
57
- }
58
- node.forEachChild(cb);
59
- });
60
- function checkSignature(sig) {
61
- if (!sig.typeParameters) {
62
- return;
63
- }
64
- for (const tp of sig.typeParameters) {
65
- const typeParameter = tp.name.text;
66
- const res = getSoleUse(sig, assertDefined(checker.getSymbolAtLocation(tp.name)), checker);
67
- switch (res.type) {
68
- case "ok":
69
- break;
70
- case "sole":
71
- ctx.addFailureAtNode(res.soleUse, Rule.FAILURE_STRING(typeParameter));
72
- break;
73
- case "never":
74
- ctx.addFailureAtNode(tp, Rule.FAILURE_STRING_NEVER(typeParameter));
75
- break;
76
- default:
77
- assertNever(res);
78
- }
79
- }
80
- }
81
- }
82
- function getSoleUse(sig, typeParameterSymbol, checker) {
83
- const exit = {};
84
- let soleUse;
85
- try {
86
- if (sig.typeParameters) {
87
- for (const tp of sig.typeParameters) {
88
- if (tp.constraint) {
89
- recur(tp.constraint);
90
- }
91
- }
92
- }
93
- for (const param of sig.parameters) {
94
- if (param.type) {
95
- recur(param.type);
96
- }
97
- }
98
- if (sig.type) {
99
- recur(sig.type);
100
- }
101
- }
102
- catch (err) {
103
- if (err === exit) {
104
- return { type: "ok" };
105
- }
106
- throw err;
107
- }
108
- return soleUse ? { type: "sole", soleUse } : { type: "never" };
109
- function recur(node) {
110
- if (ts.isIdentifier(node)) {
111
- if (checker.getSymbolAtLocation(node) === typeParameterSymbol) {
112
- if (soleUse === undefined) {
113
- soleUse = node;
114
- }
115
- else {
116
- throw exit;
117
- }
118
- }
119
- }
120
- else {
121
- node.forEachChild(recur);
122
- }
123
- }
124
- }
125
- function assertDefined(value) {
126
- if (value === undefined) {
127
- throw new Error("unreachable");
128
- }
129
- return value;
130
- }
131
- function assertNever(_) {
132
- throw new Error("unreachable");
133
- }
134
- //# sourceMappingURL=noUnnecessaryGenericsRule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"noUnnecessaryGenericsRule.js","sourceRoot":"","sources":["../../src/rules/noUnnecessaryGenericsRule.ts"],"names":[],"mappings":"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"}
@@ -1,115 +0,0 @@
1
- import * as Lint from "tslint";
2
- import * as ts from "typescript";
3
-
4
- import { failure } from "../util";
5
-
6
- export class Rule extends Lint.Rules.TypedRule {
7
- static metadata: Lint.IRuleMetadata = {
8
- ruleName: "no-unnecessary-generics",
9
- description: "Forbids signatures using a generic parameter only once.",
10
- optionsDescription: "Not configurable.",
11
- options: null,
12
- type: "style",
13
- typescriptOnly: true,
14
- };
15
- // eslint-disable-next-line @typescript-eslint/naming-convention
16
- static FAILURE_STRING(typeParameter: string) {
17
- return failure(Rule.metadata.ruleName, `Type parameter ${typeParameter} is used only once.`);
18
- }
19
- // eslint-disable-next-line @typescript-eslint/naming-convention
20
- static FAILURE_STRING_NEVER(typeParameter: string) {
21
- return failure(Rule.metadata.ruleName, `Type parameter ${typeParameter} is never used.`);
22
- }
23
-
24
- applyWithProgram(sourceFile: ts.SourceFile, program: ts.Program): Lint.RuleFailure[] {
25
- return this.applyWithFunction(sourceFile, (ctx) => walk(ctx, program.getTypeChecker()));
26
- }
27
- }
28
-
29
- function walk(ctx: Lint.WalkContext<void>, checker: ts.TypeChecker): void {
30
- const { sourceFile } = ctx;
31
- sourceFile.forEachChild(function cb(node) {
32
- if (ts.isFunctionLike(node)) {
33
- checkSignature(node);
34
- }
35
- node.forEachChild(cb);
36
- });
37
-
38
- function checkSignature(sig: ts.SignatureDeclaration) {
39
- if (!sig.typeParameters) {
40
- return;
41
- }
42
-
43
- for (const tp of sig.typeParameters) {
44
- const typeParameter = tp.name.text;
45
- const res = getSoleUse(sig, assertDefined(checker.getSymbolAtLocation(tp.name)), checker);
46
- switch (res.type) {
47
- case "ok":
48
- break;
49
- case "sole":
50
- ctx.addFailureAtNode(res.soleUse, Rule.FAILURE_STRING(typeParameter));
51
- break;
52
- case "never":
53
- ctx.addFailureAtNode(tp, Rule.FAILURE_STRING_NEVER(typeParameter));
54
- break;
55
- default:
56
- assertNever(res);
57
- }
58
- }
59
- }
60
- }
61
-
62
- type Result = { type: "ok" | "never" } | { type: "sole"; soleUse: ts.Identifier };
63
- function getSoleUse(sig: ts.SignatureDeclaration, typeParameterSymbol: ts.Symbol, checker: ts.TypeChecker): Result {
64
- const exit = {};
65
- let soleUse: ts.Identifier | undefined;
66
-
67
- try {
68
- if (sig.typeParameters) {
69
- for (const tp of sig.typeParameters) {
70
- if (tp.constraint) {
71
- recur(tp.constraint);
72
- }
73
- }
74
- }
75
- for (const param of sig.parameters) {
76
- if (param.type) {
77
- recur(param.type);
78
- }
79
- }
80
- if (sig.type) {
81
- recur(sig.type);
82
- }
83
- } catch (err) {
84
- if (err === exit) {
85
- return { type: "ok" };
86
- }
87
- throw err;
88
- }
89
-
90
- return soleUse ? { type: "sole", soleUse } : { type: "never" };
91
-
92
- function recur(node: ts.Node): void {
93
- if (ts.isIdentifier(node)) {
94
- if (checker.getSymbolAtLocation(node) === typeParameterSymbol) {
95
- if (soleUse === undefined) {
96
- soleUse = node;
97
- } else {
98
- throw exit;
99
- }
100
- }
101
- } else {
102
- node.forEachChild(recur);
103
- }
104
- }
105
- }
106
-
107
- function assertDefined<T>(value: T | undefined): T {
108
- if (value === undefined) {
109
- throw new Error("unreachable");
110
- }
111
- return value;
112
- }
113
- function assertNever(_: never) {
114
- throw new Error("unreachable");
115
- }
@@ -1,38 +0,0 @@
1
- interface I {
2
- <T>(value: T): void;
3
- ~ [0]
4
- m<T>(x: T): void;
5
- ~ [0]
6
- }
7
-
8
- class C {
9
- constructor<T>(x: T) {}
10
- ~ [0]
11
- }
12
-
13
- type Fn = <T>() => T;
14
- ~ [0]
15
- type Ctr = new<T>() => T;
16
- ~ [0]
17
-
18
- function f<T>(): T { }
19
- ~ [0]
20
-
21
- const f = function<T>(): T {};
22
- ~ [0]
23
- const f2 = <T>(): T => {};
24
- ~ [0]
25
-
26
- function f<T>(x: { T: number }): void;
27
- ~ [Type parameter T is never used. See: https://github.com/microsoft/DefinitelyTyped-tools/blob/master/packages/dtslint/docs/no-unnecessary-generics.md]
28
-
29
- function f<T, U extends T>(u: U): U;
30
- ~ [0]
31
-
32
- // OK:
33
- // Uses type parameter twice
34
- function foo<T>(m: Map<T, T>): void {}
35
- // `T` appears in a constraint, so it appears twice.
36
- function f<T, U extends T>(t: T, u: U): U;
37
-
38
- [0]: Type parameter T is used only once. See: https://github.com/microsoft/DefinitelyTyped-tools/blob/master/packages/dtslint/docs/no-unnecessary-generics.md
@@ -1,6 +0,0 @@
1
- {
2
- "rulesDirectory": ["../../dist/rules"],
3
- "rules": {
4
- "no-unnecessary-generics": true
5
- }
6
- }