@cdklabs/eslint-plugin 1.5.9 → 2.0.0

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,163 @@
1
+ import path from 'node:path';
2
+ import { fileURLToPath } from 'node:url';
3
+ import { fixupConfigRules, fixupPluginRules } from '@eslint/compat';
4
+ import { FlatCompat } from '@eslint/eslintrc';
5
+ import js from '@eslint/js';
6
+ import stylistic from '@stylistic/eslint-plugin';
7
+ import _import from 'eslint-plugin-import';
8
+ import globals from 'globals';
9
+ import tseslint from 'typescript-eslint';
10
+
11
+ const __filename = fileURLToPath(import.meta.url);
12
+ const __dirname = path.dirname(__filename);
13
+ const compat = new FlatCompat({
14
+ baseDirectory: __dirname,
15
+ recommendedConfig: js.configs.recommended,
16
+ allConfig: js.configs.all,
17
+ });
18
+
19
+ export default [{
20
+ ignores: ['test/rules/fixtures/**/*', '!**/.projenrc.ts', '!projenrc/**/*'],
21
+ }, ...tseslint.configs.recommended,
22
+ ...fixupConfigRules(compat.extends('plugin:import/typescript')), {
23
+ plugins: {
24
+ 'import': fixupPluginRules(_import),
25
+ '@stylistic': stylistic,
26
+ },
27
+
28
+ languageOptions: {
29
+ globals: {
30
+ ...globals.jest,
31
+ ...globals.node,
32
+ },
33
+
34
+ ecmaVersion: 2018,
35
+ sourceType: 'module',
36
+
37
+ parserOptions: {
38
+ project: './tsconfig.dev.json',
39
+ },
40
+ },
41
+
42
+ settings: {
43
+ 'import/parsers': {
44
+ '@typescript-eslint/parser': ['.ts', '.tsx'],
45
+ },
46
+
47
+ 'import/resolver': {
48
+ node: {},
49
+
50
+ typescript: {
51
+ project: './tsconfig.dev.json',
52
+ alwaysTryTypes: true,
53
+ },
54
+ },
55
+ },
56
+
57
+ rules: {
58
+ 'indent': ['off'],
59
+ '@stylistic/indent': ['error', 2],
60
+ '@typescript-eslint/no-explicit-any': 'off',
61
+
62
+ 'quotes': ['error', 'single', {
63
+ avoidEscape: true,
64
+ }],
65
+
66
+ 'comma-dangle': ['error', 'always-multiline'],
67
+
68
+ 'comma-spacing': ['error', {
69
+ before: false,
70
+ after: true,
71
+ }],
72
+
73
+ 'no-multi-spaces': ['error', {
74
+ ignoreEOLComments: false,
75
+ }],
76
+
77
+ 'array-bracket-spacing': ['error', 'never'],
78
+ 'array-bracket-newline': ['error', 'consistent'],
79
+ 'object-curly-spacing': ['error', 'always'],
80
+
81
+ 'object-curly-newline': ['error', {
82
+ multiline: true,
83
+ consistent: true,
84
+ }],
85
+
86
+ 'object-property-newline': ['error', {
87
+ allowAllPropertiesOnSameLine: true,
88
+ }],
89
+
90
+ 'keyword-spacing': ['error'],
91
+
92
+ 'brace-style': ['error', '1tbs', {
93
+ allowSingleLine: true,
94
+ }],
95
+
96
+ 'space-before-blocks': ['error'],
97
+ 'curly': ['error', 'multi-line', 'consistent'],
98
+ '@stylistic/member-delimiter-style': ['error'],
99
+ 'semi': ['error', 'always'],
100
+
101
+ 'max-len': ['error', {
102
+ code: 150,
103
+ ignoreUrls: true,
104
+ ignoreStrings: true,
105
+ ignoreTemplateLiterals: true,
106
+ ignoreComments: true,
107
+ ignoreRegExpLiterals: true,
108
+ }],
109
+
110
+ 'quote-props': ['error', 'consistent-as-needed'],
111
+ '@typescript-eslint/no-require-imports': ['error'],
112
+
113
+ 'import/no-extraneous-dependencies': ['error', {
114
+ devDependencies: ['**/test/**', '**/build-tools/**', '.projenrc.ts', 'projenrc/**/*.ts', 'eslint.config.mjs'],
115
+ optionalDependencies: false,
116
+ peerDependencies: true,
117
+ }],
118
+
119
+ 'import/no-unresolved': ['error'],
120
+
121
+ 'import/order': ['warn', {
122
+ groups: ['builtin', 'external'],
123
+
124
+ alphabetize: {
125
+ order: 'asc',
126
+ caseInsensitive: true,
127
+ },
128
+ }],
129
+
130
+ 'import/no-duplicates': ['error'],
131
+ 'no-shadow': ['off'],
132
+ '@typescript-eslint/no-shadow': ['error'],
133
+ 'key-spacing': ['error'],
134
+ 'no-multiple-empty-lines': ['error'],
135
+ '@typescript-eslint/no-floating-promises': ['error'],
136
+ 'no-return-await': ['off'],
137
+ '@typescript-eslint/return-await': ['error'],
138
+ 'no-trailing-spaces': ['error'],
139
+ 'dot-notation': ['error'],
140
+ 'no-bitwise': ['error'],
141
+
142
+ '@typescript-eslint/member-ordering': ['error', {
143
+ default: [
144
+ 'public-static-field',
145
+ 'public-static-method',
146
+ 'protected-static-field',
147
+ 'protected-static-method',
148
+ 'private-static-field',
149
+ 'private-static-method',
150
+ 'field',
151
+ 'constructor',
152
+ 'method',
153
+ ],
154
+ }],
155
+ },
156
+ }, {
157
+ files: ['**/.projenrc.ts'],
158
+
159
+ rules: {
160
+ '@typescript-eslint/no-require-imports': 'off',
161
+ 'import/no-extraneous-dependencies': 'off',
162
+ },
163
+ }];
@@ -59,4 +59,4 @@ function hashed(key) {
59
59
  hash.update(JSON.stringify(key));
60
60
  return hash.digest('hex');
61
61
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByaXZhdGUvaW1wb3J0LWNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQWlCakMsTUFBYSxXQUFXO0lBQXhCO1FBQ1UsWUFBTyxHQUF5QyxFQUFFLENBQUM7SUFpQjdELENBQUM7SUFmUSxNQUFNLENBQUMsTUFBeUI7UUFDckMsTUFBTSxHQUFHLEdBQW1CO1lBQzFCLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7U0FDMUIsQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxJQUFJLENBQUMsR0FBbUI7UUFDN0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFsQkQsa0NBa0JDO0FBRUQsU0FBUyxNQUFNLENBQUMsR0FBTztJQUNyQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1wb3J0Q2FjaGVLZXkge1xuICByZWFkb25seSBmaWxlTmFtZTogc3RyaW5nO1xuICByZWFkb25seSB0eXBlTmFtZTogc3RyaW5nO1xufVxuXG4vLyBgbm9kZWAgaXMgYSB0eXBlIGZyb20gQHR5cGVzY3JpcHQtZXNsaW50L3R5cGVzY3JpcHQtZXN0cmVlLCBidXQgdXNpbmcgJ2FueScgZm9yIG5vd1xuLy8gc2luY2UgaXQncyBpbmNvbXBhdGlibGUgd2l0aCBlc2xpbnQuUnVsZSBuYW1lc3BhY2UuIFdhaXRpbmcgZm9yIGJldHRlciBjb21wYXRpYmlsaXR5IGluXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHlwZXNjcmlwdC1lc2xpbnQvdHlwZXNjcmlwdC1lc2xpbnQvdHJlZS8xNzY1YTE3OGU0NTZiMTUyYmQ0ODE5MmViNWRiN2U4NTQxZTJhZGYyL3BhY2thZ2VzL2V4cGVyaW1lbnRhbC11dGlscyNub3RlXG5leHBvcnQgdHlwZSBOb2RlID0gYW55O1xuXG5leHBvcnQgaW50ZXJmYWNlIEltcG9ydENhY2hlUmVjb3JkIGV4dGVuZHMgSW1wb3J0Q2FjaGVLZXkge1xuICByZWFkb25seSBpbXBvcnROb2RlOiBOb2RlO1xuICByZWFkb25seSBsb2NhbE5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEltcG9ydENhY2hlIHtcbiAgcHJpdmF0ZSByZWNvcmRzOiB7IFtrZXk6IHN0cmluZ106IEltcG9ydENhY2hlUmVjb3JkIH0gPSB7fTtcblxuICBwdWJsaWMgcmVjb3JkKHJlY29yZDogSW1wb3J0Q2FjaGVSZWNvcmQpOiB2b2lkIHtcbiAgICBjb25zdCBrZXk6IEltcG9ydENhY2hlS2V5ID0ge1xuICAgICAgZmlsZU5hbWU6IHJlY29yZC5maWxlTmFtZSxcbiAgICAgIHR5cGVOYW1lOiByZWNvcmQudHlwZU5hbWUsXG4gICAgfTtcbiAgICB0aGlzLnJlY29yZHNbaGFzaGVkKGtleSldID0gcmVjb3JkO1xuICB9XG5cbiAgcHVibGljIGZpbmQoa2V5OiBJbXBvcnRDYWNoZUtleSk6IEltcG9ydENhY2hlUmVjb3JkIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5yZWNvcmRzW2hhc2hlZChrZXkpXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW1wb3J0cygpOiBJbXBvcnRDYWNoZVJlY29yZFtdIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLnJlY29yZHMpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhc2hlZChrZXk6IHt9KTogc3RyaW5nIHtcbiAgY29uc3QgaGFzaCA9IGNyeXB0by5jcmVhdGVIYXNoKCdtZDUnKTtcbiAgaGFzaC51cGRhdGUoSlNPTi5zdHJpbmdpZnkoa2V5KSk7XG4gIHJldHVybiBoYXNoLmRpZ2VzdCgnaGV4Jyk7XG59Il19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByaXZhdGUvaW1wb3J0LWNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQWlCakMsTUFBYSxXQUFXO0lBQXhCO1FBQ1UsWUFBTyxHQUF5QyxFQUFFLENBQUM7SUFpQjdELENBQUM7SUFmUSxNQUFNLENBQUMsTUFBeUI7UUFDckMsTUFBTSxHQUFHLEdBQW1CO1lBQzFCLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7U0FDMUIsQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxJQUFJLENBQUMsR0FBbUI7UUFDN0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFsQkQsa0NBa0JDO0FBRUQsU0FBUyxNQUFNLENBQUMsR0FBbUI7SUFDakMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNqQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdjcnlwdG8nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEltcG9ydENhY2hlS2V5IHtcbiAgcmVhZG9ubHkgZmlsZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgdHlwZU5hbWU6IHN0cmluZztcbn1cblxuLy8gYG5vZGVgIGlzIGEgdHlwZSBmcm9tIEB0eXBlc2NyaXB0LWVzbGludC90eXBlc2NyaXB0LWVzdHJlZSwgYnV0IHVzaW5nICdhbnknIGZvciBub3dcbi8vIHNpbmNlIGl0J3MgaW5jb21wYXRpYmxlIHdpdGggZXNsaW50LlJ1bGUgbmFtZXNwYWNlLiBXYWl0aW5nIGZvciBiZXR0ZXIgY29tcGF0aWJpbGl0eSBpblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R5cGVzY3JpcHQtZXNsaW50L3R5cGVzY3JpcHQtZXNsaW50L3RyZWUvMTc2NWExNzhlNDU2YjE1MmJkNDgxOTJlYjVkYjdlODU0MWUyYWRmMi9wYWNrYWdlcy9leHBlcmltZW50YWwtdXRpbHMjbm90ZVxuZXhwb3J0IHR5cGUgTm9kZSA9IGFueTtcblxuZXhwb3J0IGludGVyZmFjZSBJbXBvcnRDYWNoZVJlY29yZCBleHRlbmRzIEltcG9ydENhY2hlS2V5IHtcbiAgcmVhZG9ubHkgaW1wb3J0Tm9kZTogTm9kZTtcbiAgcmVhZG9ubHkgbG9jYWxOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBJbXBvcnRDYWNoZSB7XG4gIHByaXZhdGUgcmVjb3JkczogeyBba2V5OiBzdHJpbmddOiBJbXBvcnRDYWNoZVJlY29yZCB9ID0ge307XG5cbiAgcHVibGljIHJlY29yZChyZWNvcmQ6IEltcG9ydENhY2hlUmVjb3JkKTogdm9pZCB7XG4gICAgY29uc3Qga2V5OiBJbXBvcnRDYWNoZUtleSA9IHtcbiAgICAgIGZpbGVOYW1lOiByZWNvcmQuZmlsZU5hbWUsXG4gICAgICB0eXBlTmFtZTogcmVjb3JkLnR5cGVOYW1lLFxuICAgIH07XG4gICAgdGhpcy5yZWNvcmRzW2hhc2hlZChrZXkpXSA9IHJlY29yZDtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kKGtleTogSW1wb3J0Q2FjaGVLZXkpOiBJbXBvcnRDYWNoZVJlY29yZCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucmVjb3Jkc1toYXNoZWQoa2V5KV07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGltcG9ydHMoKTogSW1wb3J0Q2FjaGVSZWNvcmRbXSB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5yZWNvcmRzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBoYXNoZWQoa2V5OiBJbXBvcnRDYWNoZUtleSk6IHN0cmluZyB7XG4gIGNvbnN0IGhhc2ggPSBjcnlwdG8uY3JlYXRlSGFzaCgnbWQ1Jyk7XG4gIGhhc2gudXBkYXRlKEpTT04uc3RyaW5naWZ5KGtleSkpO1xuICByZXR1cm4gaGFzaC5kaWdlc3QoJ2hleCcpO1xufSJdfQ==
@@ -7,8 +7,7 @@
7
7
  * backtracking. We don't need it yet and it's a bit of work, so it's not in
8
8
  * here.)
9
9
  */
10
- export interface Match {
11
- }
10
+ export type Match = Record<PropertyKey, unknown>;
12
11
  export type Pattern = (x: unknown, state: Match) => Match | undefined;
13
12
  export declare function match(value: unknown, pattern: Pattern): Match | undefined;
14
13
  /**
@@ -29,7 +28,7 @@ export declare function matchObject(fields: Record<string, unknown>): Pattern;
29
28
  * If it is already a Pattern (function0, return. Otherwise,
30
29
  * make a Pattern that matches a literal value.
31
30
  */
32
- export declare function makePattern(x: unknown): Function;
31
+ export declare function makePattern(x: unknown): Pattern;
33
32
  /**
34
33
  * Create a capturable variable in the matching
35
34
  *
@@ -33,10 +33,11 @@ function matchObject(fields) {
33
33
  return undefined;
34
34
  }
35
35
  for (const [field, pattern] of Object.entries(patFields)) {
36
- state = pattern(value[field], state);
37
- if (!state) {
38
- break;
36
+ const result = pattern(value[field], state);
37
+ if (!result) {
38
+ return undefined;
39
39
  }
40
+ state = result;
40
41
  }
41
42
  return state;
42
43
  };
@@ -60,12 +61,10 @@ function makePattern(x) {
60
61
  * not lie about the type it has captured later on.
61
62
  */
62
63
  function variable(inner, tester) {
63
- if (!inner) {
64
- inner = matchAny;
65
- }
64
+ const resolvedInner = inner ?? matchAny();
66
65
  const sym = Symbol();
67
66
  const ret = function variable(x, state) {
68
- const newState = inner(x, state);
67
+ const newState = resolvedInner(x, state);
69
68
  if (!newState) {
70
69
  return undefined;
71
70
  }
@@ -82,4 +81,4 @@ function variable(inner, tester) {
82
81
  };
83
82
  return ret;
84
83
  }
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2gtYXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByaXZhdGUvbWF0Y2gtYXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBY0Esc0JBRUM7QUFLRCw0QkFFQztBQUtELG9DQUlDO0FBS0Qsa0NBZUM7QUFRRCxrQ0FFQztBQVdELDRCQXdCQztBQW5GRCxTQUFnQixLQUFLLENBQUMsS0FBYyxFQUFFLE9BQWdCO0lBQ3BELE9BQU8sT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixRQUFRO0lBQ3RCLE9BQU8sU0FBUyxRQUFRLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFnQixZQUFZLENBQUMsQ0FBTTtJQUNqQyxPQUFPLFNBQVMsWUFBWSxDQUFDLEtBQUssRUFBRSxLQUFLO1FBQ3ZDLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDekMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLE1BQStCO0lBQ3pELE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTFHLE9BQU8sU0FBUyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUs7UUFDdEMsSUFBSSxDQUFDLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN4QyxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsS0FBSyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUN6RCxLQUFLLEdBQUcsT0FBTyxDQUFFLEtBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1gsTUFBTTtZQUNSLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixXQUFXLENBQUMsQ0FBVTtJQUNwQyxPQUFPLE9BQU8sQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBZ0IsUUFBUSxDQUFJLEtBQWUsRUFBRSxNQUEyQjtJQUN0RSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxLQUFLLEdBQUcsUUFBUSxDQUFDO0lBQ25CLENBQUM7SUFFRCxNQUFNLEdBQUcsR0FBRyxNQUFNLEVBQUUsQ0FBQztJQUNyQixNQUFNLEdBQUcsR0FBRyxTQUFTLFFBQVEsQ0FBQyxDQUFVLEVBQUUsS0FBWTtRQUNwRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFDRCxJQUFJLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsTUFBTSxDQUFDLElBQUksZUFBZSxDQUFDLENBQUM7UUFDeEYsQ0FBQztRQUNELE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtZQUNuQyxLQUFLLEVBQUUsQ0FBQztTQUNULENBQUMsQ0FBQztRQUVILE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FBQztJQUNGLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFRLEVBQUUsRUFBRTtRQUNyQixPQUFRLENBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDLENBQUM7SUFDRixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tc2hhZG93ICovXG4vKipcbiAqIE1hdGNoaW5nIHRoZSBBU1QgaXMgYSBwZXJlbm5pYWwgcHJvYmxlbS4gSGVyZSBhcmUgc29tZSBoZWxwZXJzLlxuICpcbiAqIChOT1RFOiB2YXJpYWJsZSBiaW5kaW5nIGhlcmUgZG9lcyBub3Qgc3VwcG9ydCBiYWNrdHJhY2tpbmcgeWV0LlxuICogVGhhdCByZXF1aXJlcyBlaXRoZXIgZXhwbGljaXRseSBrZWVwaW5nIGEgc3RhY2sgc29tZXdoZXJlLCBvciB1c2luZ1xuICogY29udGludWF0aW9uLXBhc3Npbmcgc3R5bGUgZXZlcnl3aGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgSlMgZm9yXG4gKiBiYWNrdHJhY2tpbmcuIFdlIGRvbid0IG5lZWQgaXQgeWV0IGFuZCBpdCdzIGEgYml0IG9mIHdvcmssIHNvIGl0J3Mgbm90IGluXG4gKiBoZXJlLilcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYXRjaCB7IH1cblxuZXhwb3J0IHR5cGUgUGF0dGVybiA9ICh4OiB1bmtub3duLCBzdGF0ZTogTWF0Y2gpID0+IE1hdGNoIHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2godmFsdWU6IHVua25vd24sIHBhdHRlcm46IFBhdHRlcm4pOiBNYXRjaCB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBwYXR0ZXJuKHZhbHVlLCB7fSk7XG59XG5cbi8qKlxuICogTWF0Y2ggYW55IHZhbHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaEFueSgpOiBQYXR0ZXJuIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIG1hdGNoQW55KF8sIHN0YXRlKSB7IHJldHVybiBzdGF0ZTsgfTtcbn1cblxuLyoqXG4gKiBNYWtlIGEgUGF0dGVybiB0aGF0IG1hdGNoZXMgYSBsaXRlcmFsIHZhbHVlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hMaXRlcmFsKHg6IGFueSk6IFBhdHRlcm4ge1xuICByZXR1cm4gZnVuY3Rpb24gbWF0Y2hMaXRlcmFsKHZhbHVlLCBzdGF0ZSkge1xuICAgIHJldHVybiB2YWx1ZSA9PT0geCA/IHN0YXRlIDogdW5kZWZpbmVkO1xuICB9O1xufVxuXG4vKipcbiAqIE1hdGNoIGFuIG9iamVjdCdzIGZpZWxkc1xuICovXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hPYmplY3QoZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IFBhdHRlcm4ge1xuICBjb25zdCBwYXRGaWVsZHMgPSBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoZmllbGRzKS5tYXAoKFtrZXksIHBhdF0pID0+IFtrZXksIG1ha2VQYXR0ZXJuKHBhdCldKSk7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIG1hdGNoT2JqZWN0KHZhbHVlLCBzdGF0ZSkge1xuICAgIGlmICghdmFsdWUgfHwgdHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgZm9yIChjb25zdCBbZmllbGQsIHBhdHRlcm5dIG9mIE9iamVjdC5lbnRyaWVzKHBhdEZpZWxkcykpIHtcbiAgICAgIHN0YXRlID0gcGF0dGVybigodmFsdWUgYXMgYW55KVtmaWVsZF0sIHN0YXRlKTtcbiAgICAgIGlmICghc3RhdGUpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzdGF0ZTtcbiAgfTtcbn1cblxuLyoqXG4gKiBUdXJuIGFueSB2YWx1ZSBpbnRvIGEgUGF0dGVyblxuICpcbiAqIElmIGl0IGlzIGFscmVhZHkgYSBQYXR0ZXJuIChmdW5jdGlvbjAsIHJldHVybi4gT3RoZXJ3aXNlLFxuICogbWFrZSBhIFBhdHRlcm4gdGhhdCBtYXRjaGVzIGEgbGl0ZXJhbCB2YWx1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ha2VQYXR0ZXJuKHg6IHVua25vd24pIHtcbiAgcmV0dXJuIHR5cGVvZiB4ID09PSAnZnVuY3Rpb24nID8geCA6IG1hdGNoTGl0ZXJhbCh4KTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBjYXB0dXJhYmxlIHZhcmlhYmxlIGluIHRoZSBtYXRjaGluZ1xuICpcbiAqIFRoZSB2YXJpYWJsZSBjYW4gaGF2ZSBhbiBgaW5uZXJgIHBhdHRlcm4sIHdoaWNoIGl0IHdpbGwgb25seSBtYXRjaCBpZiB0aGUgaW5uZXJcbiAqIG1hdGNoZXIgc3VjY2VlZHMuXG4gKlxuICogSXQgb3B0aW9uYWxseSBjYW4gYWxzbyBoYXZlIGEgdHlwZSB0ZXN0ZXIsIHRvIHZhbGlkYXRlIHRoYXQgYHZhcmlhYmxlLmdldCgpYCB3aWxsXG4gKiBub3QgbGllIGFib3V0IHRoZSB0eXBlIGl0IGhhcyBjYXB0dXJlZCBsYXRlciBvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlPFQ+KGlubmVyPzogUGF0dGVybiwgdGVzdGVyPzogKHg6IGFueSkgPT4geCBpcyBUKTogVmFyaWFibGU8VD4ge1xuICBpZiAoIWlubmVyKSB7XG4gICAgaW5uZXIgPSBtYXRjaEFueTtcbiAgfVxuXG4gIGNvbnN0IHN5bSA9IFN5bWJvbCgpO1xuICBjb25zdCByZXQgPSBmdW5jdGlvbiB2YXJpYWJsZSh4OiB1bmtub3duLCBzdGF0ZTogTWF0Y2gpIHtcbiAgICBjb25zdCBuZXdTdGF0ZSA9IGlubmVyKHgsIHN0YXRlKTtcbiAgICBpZiAoIW5ld1N0YXRlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAodGVzdGVyICYmICF0ZXN0ZXIoeCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtKU09OLnN0cmluZ2lmeSh4KX0gc2hvdWxkIGJlIG9mIHR5cGUgJHt0ZXN0ZXIubmFtZX0sIGJ1dCBkb2Vzbid0YCk7XG4gICAgfVxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXdTdGF0ZSwgc3ltLCB7XG4gICAgICB2YWx1ZTogeCxcbiAgICB9KTtcblxuICAgIHJldHVybiBuZXdTdGF0ZTtcbiAgfTtcbiAgcmV0LmdldCA9IChtOiBNYXRjaCkgPT4ge1xuICAgIHJldHVybiAobSBhcyBhbnkpW3N5bV07XG4gIH07XG4gIHJldHVybiByZXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFyaWFibGU8VD4gZXh0ZW5kcyBQYXR0ZXJuIHtcbiAgZ2V0KG06IE1hdGNoKTogVDtcbn1cbiJdfQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2gtYXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByaXZhdGUvbWF0Y2gtYXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBY0Esc0JBRUM7QUFLRCw0QkFFQztBQUtELG9DQUlDO0FBS0Qsa0NBZ0JDO0FBUUQsa0NBRUM7QUFXRCw0QkFzQkM7QUFsRkQsU0FBZ0IsS0FBSyxDQUFDLEtBQWMsRUFBRSxPQUFnQjtJQUNwRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsUUFBUTtJQUN0QixPQUFPLFNBQVMsUUFBUSxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsWUFBWSxDQUFDLENBQU07SUFDakMsT0FBTyxTQUFTLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSztRQUN2QyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3pDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLFdBQVcsQ0FBQyxNQUErQjtJQUN6RCxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUxRyxPQUFPLFNBQVMsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLO1FBQ3RDLElBQUksQ0FBQyxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDeEMsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDekQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFFLEtBQWEsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ1osT0FBTyxTQUFTLENBQUM7WUFDbkIsQ0FBQztZQUNELEtBQUssR0FBRyxNQUFNLENBQUM7UUFDakIsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsV0FBVyxDQUFDLENBQVU7SUFDcEMsT0FBTyxPQUFPLENBQUMsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLFFBQVEsQ0FBSSxLQUFlLEVBQUUsTUFBMkI7SUFDdEUsTUFBTSxhQUFhLEdBQUcsS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO0lBRTFDLE1BQU0sR0FBRyxHQUFHLE1BQU0sRUFBRSxDQUFDO0lBQ3JCLE1BQU0sR0FBRyxHQUFHLFNBQVMsUUFBUSxDQUFDLENBQVUsRUFBRSxLQUFZO1FBQ3BELE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELElBQUksTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixNQUFNLENBQUMsSUFBSSxlQUFlLENBQUMsQ0FBQztRQUN4RixDQUFDO1FBQ0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO1lBQ25DLEtBQUssRUFBRSxDQUFDO1NBQ1QsQ0FBQyxDQUFDO1FBRUgsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBQ0YsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQVEsRUFBRSxFQUFFO1FBQ3JCLE9BQVEsQ0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUMsQ0FBQztJQUNGLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1zaGFkb3cgKi9cbi8qKlxuICogTWF0Y2hpbmcgdGhlIEFTVCBpcyBhIHBlcmVubmlhbCBwcm9ibGVtLiBIZXJlIGFyZSBzb21lIGhlbHBlcnMuXG4gKlxuICogKE5PVEU6IHZhcmlhYmxlIGJpbmRpbmcgaGVyZSBkb2VzIG5vdCBzdXBwb3J0IGJhY2t0cmFja2luZyB5ZXQuXG4gKiBUaGF0IHJlcXVpcmVzIGVpdGhlciBleHBsaWNpdGx5IGtlZXBpbmcgYSBzdGFjayBzb21ld2hlcmUsIG9yIHVzaW5nXG4gKiBjb250aW51YXRpb24tcGFzc2luZyBzdHlsZSBldmVyeXdoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSBKUyBmb3JcbiAqIGJhY2t0cmFja2luZy4gV2UgZG9uJ3QgbmVlZCBpdCB5ZXQgYW5kIGl0J3MgYSBiaXQgb2Ygd29yaywgc28gaXQncyBub3QgaW5cbiAqIGhlcmUuKVxuICovXG5leHBvcnQgdHlwZSBNYXRjaCA9IFJlY29yZDxQcm9wZXJ0eUtleSwgdW5rbm93bj47XG5cbmV4cG9ydCB0eXBlIFBhdHRlcm4gPSAoeDogdW5rbm93biwgc3RhdGU6IE1hdGNoKSA9PiBNYXRjaCB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IGZ1bmN0aW9uIG1hdGNoKHZhbHVlOiB1bmtub3duLCBwYXR0ZXJuOiBQYXR0ZXJuKTogTWF0Y2ggfCB1bmRlZmluZWQge1xuICByZXR1cm4gcGF0dGVybih2YWx1ZSwge30pO1xufVxuXG4vKipcbiAqIE1hdGNoIGFueSB2YWx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hBbnkoKTogUGF0dGVybiB7XG4gIHJldHVybiBmdW5jdGlvbiBtYXRjaEFueShfLCBzdGF0ZSkgeyByZXR1cm4gc3RhdGU7IH07XG59XG5cbi8qKlxuICogTWFrZSBhIFBhdHRlcm4gdGhhdCBtYXRjaGVzIGEgbGl0ZXJhbCB2YWx1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hdGNoTGl0ZXJhbCh4OiBhbnkpOiBQYXR0ZXJuIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIG1hdGNoTGl0ZXJhbCh2YWx1ZSwgc3RhdGUpIHtcbiAgICByZXR1cm4gdmFsdWUgPT09IHggPyBzdGF0ZSA6IHVuZGVmaW5lZDtcbiAgfTtcbn1cblxuLyoqXG4gKiBNYXRjaCBhbiBvYmplY3QncyBmaWVsZHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hdGNoT2JqZWN0KGZpZWxkczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBQYXR0ZXJuIHtcbiAgY29uc3QgcGF0RmllbGRzID0gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGZpZWxkcykubWFwKChba2V5LCBwYXRdKSA9PiBba2V5LCBtYWtlUGF0dGVybihwYXQpXSkpO1xuXG4gIHJldHVybiBmdW5jdGlvbiBtYXRjaE9iamVjdCh2YWx1ZSwgc3RhdGUpIHtcbiAgICBpZiAoIXZhbHVlIHx8IHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIGZvciAoY29uc3QgW2ZpZWxkLCBwYXR0ZXJuXSBvZiBPYmplY3QuZW50cmllcyhwYXRGaWVsZHMpKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBwYXR0ZXJuKCh2YWx1ZSBhcyBhbnkpW2ZpZWxkXSwgc3RhdGUpO1xuICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHN0YXRlID0gcmVzdWx0O1xuICAgIH1cbiAgICByZXR1cm4gc3RhdGU7XG4gIH07XG59XG5cbi8qKlxuICogVHVybiBhbnkgdmFsdWUgaW50byBhIFBhdHRlcm5cbiAqXG4gKiBJZiBpdCBpcyBhbHJlYWR5IGEgUGF0dGVybiAoZnVuY3Rpb24wLCByZXR1cm4uIE90aGVyd2lzZSxcbiAqIG1ha2UgYSBQYXR0ZXJuIHRoYXQgbWF0Y2hlcyBhIGxpdGVyYWwgdmFsdWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWtlUGF0dGVybih4OiB1bmtub3duKTogUGF0dGVybiB7XG4gIHJldHVybiB0eXBlb2YgeCA9PT0gJ2Z1bmN0aW9uJyA/IHggYXMgUGF0dGVybiA6IG1hdGNoTGl0ZXJhbCh4KTtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBjYXB0dXJhYmxlIHZhcmlhYmxlIGluIHRoZSBtYXRjaGluZ1xuICpcbiAqIFRoZSB2YXJpYWJsZSBjYW4gaGF2ZSBhbiBgaW5uZXJgIHBhdHRlcm4sIHdoaWNoIGl0IHdpbGwgb25seSBtYXRjaCBpZiB0aGUgaW5uZXJcbiAqIG1hdGNoZXIgc3VjY2VlZHMuXG4gKlxuICogSXQgb3B0aW9uYWxseSBjYW4gYWxzbyBoYXZlIGEgdHlwZSB0ZXN0ZXIsIHRvIHZhbGlkYXRlIHRoYXQgYHZhcmlhYmxlLmdldCgpYCB3aWxsXG4gKiBub3QgbGllIGFib3V0IHRoZSB0eXBlIGl0IGhhcyBjYXB0dXJlZCBsYXRlciBvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlPFQ+KGlubmVyPzogUGF0dGVybiwgdGVzdGVyPzogKHg6IGFueSkgPT4geCBpcyBUKTogVmFyaWFibGU8VD4ge1xuICBjb25zdCByZXNvbHZlZElubmVyID0gaW5uZXIgPz8gbWF0Y2hBbnkoKTtcblxuICBjb25zdCBzeW0gPSBTeW1ib2woKTtcbiAgY29uc3QgcmV0ID0gZnVuY3Rpb24gdmFyaWFibGUoeDogdW5rbm93biwgc3RhdGU6IE1hdGNoKSB7XG4gICAgY29uc3QgbmV3U3RhdGUgPSByZXNvbHZlZElubmVyKHgsIHN0YXRlKTtcbiAgICBpZiAoIW5ld1N0YXRlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAodGVzdGVyICYmICF0ZXN0ZXIoeCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtKU09OLnN0cmluZ2lmeSh4KX0gc2hvdWxkIGJlIG9mIHR5cGUgJHt0ZXN0ZXIubmFtZX0sIGJ1dCBkb2Vzbid0YCk7XG4gICAgfVxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXdTdGF0ZSwgc3ltLCB7XG4gICAgICB2YWx1ZTogeCxcbiAgICB9KTtcblxuICAgIHJldHVybiBuZXdTdGF0ZTtcbiAgfTtcbiAgcmV0LmdldCA9IChtOiBNYXRjaCkgPT4ge1xuICAgIHJldHVybiAobSBhcyBhbnkpW3N5bV07XG4gIH07XG4gIHJldHVybiByZXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFyaWFibGU8VD4gZXh0ZW5kcyBQYXR0ZXJuIHtcbiAgZ2V0KG06IE1hdGNoKTogVDtcbn1cbiJdfQ==
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.create = create;
4
4
  const type_checkers_1 = require("../private/type-checkers");
5
- let namespaceImports = {};
5
+ const namespaceImports = {};
6
6
  function create(context) {
7
7
  // The format of Cfn imports only matters for alpha packages, so that they can be
8
8
  // formatted correctly when released separately for V2. The linter rule should only be
@@ -129,4 +129,4 @@ function checkLeftAndRightForCfn(node) {
129
129
  const left = checkLeftAndRightForCfn(node.left);
130
130
  return right ?? left ?? undefined;
131
131
  }
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52YWxpZC1jZm4taW1wb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9pbnZhbGlkLWNmbi1pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUEsd0JBNkVDO0FBbkZELDREQUF3RDtBQUV4RCxJQUFJLGdCQUFnQixHQUVoQixFQUFFLENBQUM7QUFFUCxTQUFnQixNQUFNLENBQUMsT0FBeUI7SUFDOUMsaUZBQWlGO0lBQ2pGLHNGQUFzRjtJQUN0RixvRUFBb0U7SUFDcEUsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1FBQ3JGLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU87UUFDTCxpQkFBaUIsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUN4QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQWUsQ0FBQztZQUM3QyxvR0FBb0c7WUFDcEcsa0NBQWtDO1lBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssMEJBQTBCLEVBQUUsQ0FBQztvQkFDMUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUM7Z0JBQzVDLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxRQUFRLEtBQUssZUFBZSxFQUFFLENBQUM7Z0JBQ25FLDBJQUEwSTtnQkFDMUksT0FBTztZQUNULENBQUM7WUFLRCxNQUFNLFVBQVUsR0FBaUMsRUFBRSxDQUFDO1lBQ3BELE1BQU0sWUFBWSxH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dUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWhELE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxTQUFTLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHR5cGUgeyBJZGVudGlmaWVyLCBJbXBvcnRTcGVjaWZpZXIgfSBmcm9tICdlc3RyZWUnO1xuaW1wb3J0IHsgaXNJZGVudGlmaWVyIH0gZnJvbSAnLi4vcHJpdmF0ZS90eXBlLWNoZWNrZXJzJztcblxubGV0IG5hbWVzcGFjZUltcG9ydHM6IHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufSA9IHt9O1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQpOiBSdWxlLk5vZGVMaXN0ZW5lciB7XG4gIC8vIFRoZSBmb3JtYXQgb2YgQ2ZuIGltcG9ydHMgb25seSBtYXR0ZXJzIGZvciBhbHBoYSBwYWNrYWdlcywgc28gdGhhdCB0aGV5IGNhbiBiZVxuICAvLyBmb3JtYXR0ZWQgY29ycmVjdGx5IHdoZW4gcmVsZWFzZWQgc2VwYXJhdGVseSBmb3IgVjIuIFRoZSBsaW50ZXIgcnVsZSBzaG91bGQgb25seSBiZVxuICAvLyBhcHBsaWVkIGlmIHRoZSBmaWxlIGlzIGluIGFuIGFscGhhIHBhY2thZ2UsIG9yIGl0IGlzIGEgdGVzdCBmaWxlLlxuICBjb25zdCBmaWxlbmFtZSA9IGNvbnRleHQuZ2V0RmlsZW5hbWUoKTtcbiAgaWYgKCFjdXJyZW50RmlsZUlzSW5BbHBoYVBhY2thZ2UoZmlsZW5hbWUpICYmICFmaWxlbmFtZS5tYXRjaCgndGVzdC9ydWxlcy9maXh0dXJlcycpKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBJbXBvcnREZWNsYXJhdGlvbjogbm9kZSA9PiB7XG4gICAgICBjb25zdCBsb2NhdGlvbiA9IG5vZGUuc291cmNlLnZhbHVlIGFzIHN0cmluZztcbiAgICAgIC8vIFN0b3JlIGFsbCBvZiB0aGUgJ2ltcG9ydCAqIGFzIG5hbWUgZnJvbSBsb2NhdGlvbicgaW1wb3J0cywgc28gdGhhdCB3ZSBjYW4gY2hlY2sgdGhlIGxvY2F0aW9uIHdoZW5cbiAgICAgIC8vIHdlIGZpbmQgbmFtZS5DZm5YWFggcmVmZXJlbmNlcy5cbiAgICAgIG5vZGUuc3BlY2lmaWVycy5mb3JFYWNoKGUgPT4ge1xuICAgICAgICBpZiAoZS50eXBlID09PSAnSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyJykge1xuICAgICAgICAgIG5hbWVzcGFjZUltcG9ydHNbZS5sb2NhbC5uYW1lXSA9IGxvY2F0aW9uO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgaWYgKGxvY2F0aW9uLmVuZHNXaXRoKCdnZW5lcmF0ZWQnKSB8fCBsb2NhdGlvbiA9PT0gJ0Bhd3MtY2RrL2NvcmUnKSB7XG4gICAgICAgIC8vIElmIGltcG9ydGluZyBkaXJlY3RseSBmcm9tIGEgZ2VuZXJhdGVkIGZpbGUsIHRoaXMgaXMgZmluZS4gQWxzbyB3ZSBrbm93IHRoYXQgYXdzLWNkay9jb3JlIGlzIG5vdCBleHBlcmltZW50YWwsIHNvIHRoYXQgaXMgZmluZSBhcyB3ZWxsLlxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIEltcG9ydFNwZWNpZmllcnMgY2FuIGFsc28gY29udGFpbiBsaXRlcmFscy5cbiAgICAgIHR5cGUgSW1wb3J0U3BlY2lmaWVyV0lkZW50aWZpZXIgPSBPbWl0PEltcG9ydFNwZWNpZmllciwgJ2ltcG9ydGVkJz4gJiB7IGltcG9ydGVkOiBJZGVudGlmaWVyIH07XG5cbiAgICAgIGNvbnN0IGNmbkltcG9ydHM6IEltcG9ydFNwZWNpZmllcldJZGVudGlmaWVyW10gPSBbXTtcbiAgICAgIGNvbnN0IG90aGVySW1wb3J0czogSW1wb3J0U3BlY2lmaWVyV0lkZW50aWZpZXJbXSA9IFtdO1xuICAgICAgbm9kZS5zcGVjaWZpZXJzLmZvckVhY2goZSA9PiB7XG4gICAgICAgIGlmIChlLnR5cGUgPT09ICdJbXBvcnRTcGVjaWZpZXInICYmIGlzSWRlbnRpZmllcihlLmltcG9ydGVkKSkge1xuICAgICAgICAgIGlmIChlLmltcG9ydGVkLm5hbWUuc3RhcnRzV2l0aCgnQ2ZuJykpIHtcbiAgICAgICAgICAgIGNmbkltcG9ydHMucHVzaChlIGFzIGFueSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG90aGVySW1wb3J0cy5wdXNoKGUgYXMgYW55KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAoY2ZuSW1wb3J0cy5sZW5ndGggPiAwICYmIG90aGVySW1wb3J0cy5sZW5ndGggPiAwICYmIGxvY2F0aW9uLnN0YXJ0c1dpdGgoJy4nKSkge1xuICAgICAgICAvLyBpbXBvcnQgeyBDZm5YWFgsIFNvbWV0aGluZ0Vsc2UsIEFub3RoZXJUaGluZyB9IGZyb20gJy4vc29tZS9yZWxhdGl2ZS9wYXRoL25vdC9lbmRpbmcvaW4vZ2VuZXJhdGVkJztcbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG1lc3NhZ2U6ICdUbyBhbGxvdyByZXdyaXRpbmcgaW1wb3J0cyB3aGVuIGdlbmVyYXRpbmcgdjIgZXhwZXJpbWVudGFsIHBhY2thZ2VzLCBpbXBvcnQgb2YgYCcgKyBjZm5JbXBvcnRzLm1hcChlID0+IGUuaW1wb3J0ZWQubmFtZSkuam9pbignLCAnKSArICdgIG11c3QgYmUgc2VwYXJhdGUgZnJvbSBpbXBvcnQgb2YgYCcgKyBvdGhlckltcG9ydHMubWFwKGUgPT4gZS5pbXBvcnRlZC5uYW1lKS5qb2luKCcsICcpICsgJ2AsIGFuZCBpbXBvcnRlZCBmcm9tIGl0cyBzcGVjaWZpYyAuZ2VuZXJhdGVkIGxvY2F0aW9uLicsXG4gICAgICAgICAgbm9kZTogbm9kZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGNmbkltcG9ydHMubGVuZ3RoID4gMCAmJiBsb2NhdGlvbi5zdGFydHNXaXRoKCcuJykpIHtcbiAgICAgICAgLy8gaW1wb3J0IHsgQ2ZuWFhYIH0gZnJvbSAnLi9zb21lL3JlbGF0aXZlL3BhdGgvbm90L2VuZGluZy9pbi9nZW5lcmF0ZWQnO1xuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbWVzc2FnZTogJ1RvIGFsbG93IHJld3JpdGluZyBpbXBvcnRzIHdoZW4gZ2VuZXJhdGluZyB2MiBleHBlcmltZW50YWwgcGFja2FnZXMsIGltcG9ydCBvZiBgJyArIGNmbkltcG9ydHMubWFwKGUgPT4gZS5pbXBvcnRlZC5uYW1lKS5qb2luKCcsICcpICsgJ2AgbXVzdCBiZSBpbXBvcnRlZCBmcm9tIGl0cyBzcGVjaWZpYyAuZ2VuZXJhdGVkIGxvY2F0aW9uLicsXG4gICAgICAgICAgbm9kZTogbm9kZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGNmbkltcG9ydHMubGVuZ3RoID4gMCAmJiBvdGhlckltcG9ydHMubGVuZ3RoID4gMCAmJiBjaGVja0lmSW1wb3J0ZWRMb2NhdGlvbklzQW5BbHBoYVBhY2thZ2UobG9jYXRpb24pKSB7XG4gICAgICAgIC8vIGltcG9ydCB7IENmblhYWCwgU29tZXRoaW5nRWxzZSwgQW5vdGhlclRoaW5nIH0gZnJvbSAnQGF3cy1jZGsvYW5vdGhlci1hbHBoYS1wYWNrYWdlJztcbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG1lc3NhZ2U6ICdUbyBhbGxvdyByZXdyaXRpbmcgaW1wb3J0cyB3aGVuIGdlbmVyYXRpbmcgdjIgZXhwZXJpbWVudGFsIHBhY2thZ2VzLCBpbXBvcnQgb2YgYCcgKyBjZm5JbXBvcnRzLm1hcChlID0+IGUuaW1wb3J0ZWQubmFtZSkuam9pbignLCAnKSArICdgIG11c3QgYmUgc2VwYXJhdGUgZnJvbSBpbXBvcnQgb2YgYCcgKyBvdGhlckltcG9ydHMubWFwKGUgPT4gZS5pbXBvcnRlZC5uYW1lKS5qb2luKCcsICcpICsgJ2AnLFxuICAgICAgICAgIG5vZGU6IG5vZGUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyBUaGlzIGNhcHR1cmVzIHVzaW5nIGB4eHguQ2ZuQ29uc3RydWN0YCBhcyBhbiBpZGVudGlmaWVyXG4gICAgSWRlbnRpZmllcjogbm9kZSA9PiB7XG4gICAgICBjb25zdCB0eXBlQW5ub3RhdGlvbiA9IChub2RlIGFzIGFueSkudHlwZUFubm90YXRpb24/LnR5cGVBbm5vdGF0aW9uO1xuICAgICAgY29uc3QgdHlwZSA9IHR5cGVBbm5vdGF0aW9uPy50eXBlTmFtZTtcbiAgICAgIGlmICh0eXBlPy50eXBlID09PSAnVFNRdWFsaWZpZWROYW1lJykge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBjaGVja0xlZnRBbmRSaWdodEZvckNmbih0eXBlKTtcbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgIHJlcG9ydEVycm9ySWZJbXBvcnRlZExvY2F0aW9uSXNOb3RWYWxpZChjb250ZXh0LCBub2RlLCByZXN1bHQubmFtZSwgcmVzdWx0LmxvY2F0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKG5vZGUubmFtZS5zdGFydHNXaXRoKCdDZm4nKSAmJiBub2RlLnBhcmVudC50eXBlID09PSAnTWVtYmVyRXhwcmVzc2lvbicgJiYgbm9kZS5wYXJlbnQub2JqZWN0LnR5cGUgPT09ICdJZGVudGlmaWVyJykge1xuICAgICAgICAvLyBuZXcgeHh4LkNmbkNvbnN0cnVjdCgpO1xuICAgICAgICByZXBvcnRFcnJvcklmSW1wb3J0ZWRMb2NhdGlvbklzTm90VmFsaWQoY29udGV4dCwgbm9kZSwgbm9kZS5uYW1lLCBub2RlLnBhcmVudC5vYmplY3QubmFtZSk7XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gcmVwb3J0RXJyb3JJZkltcG9ydGVkTG9jYXRpb25Jc05vdFZhbGlkKGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsIG5vZGU6IElkZW50aWZpZXIsIG5hbWU6IHN0cmluZywgYmFycmVsSW1wb3J0TmFtZTogc3RyaW5nKSB7XG4gIGNvbnN0IGxvY2F0aW9uID0gbmFtZXNwYWNlSW1wb3J0c1tiYXJyZWxJbXBvcnROYW1lXTtcbiAgaWYgKCFsb2NhdGlvbikge1xuICAgIC8vIFRoaXMgc2NlbmFyaW8gc2hvdWxkIG5vdCBoYXBwZW4sIGJ1dCBpZiBpdCBkb2VzLCB3ZSBkb24ndCB3YW50IHVzZXJzIHRvIHJ1biBpbnRvIHdlaXJkIHJ1bnRpbWUgZXJyb3JzIGZyb20gdGhlIGxpbnRlci5cbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKGxvY2F0aW9uLmVuZHNXaXRoKCdnZW5lcmF0ZWQnKSB8fCBsb2NhdGlvbiA9PT0gJ0Bhd3MtY2RrL2NvcmUnKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChsb2NhdGlvbi5zdGFydHNXaXRoKCcuJykpIHtcbiAgICAvLyBpbXBvcnQgKiBhcyBuYW1lIGZyb20gJy4vc29tZS9yZWxhdGl2ZS9wYXRoL25vdC9lbmRpbmcvaW4vZ2VuZXJhdGVkJzsgbmFtZS5DZm5Db25zdHJ1Y3QoKTtcbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBtZXNzYWdlOiAnVG8gYWxsb3cgcmV3cml0aW5nIGltcG9ydHMgd2hlbiBnZW5lcmF0aW5nIHYyIGV4cGVyaW1lbnRhbCBwYWNrYWdlcywgYCcgKyBuYW1lICsgJ2AgbXVzdCBiZSBpbXBvcnRlZCBieSBuYW1lIGZyb20gaXRzIHNwZWNpZmljIC5nZW5lcmF0ZWQgbG9jYXRpb24uJyxcbiAgICAgIG5vZGU6IG5vZGUsXG4gICAgfSk7XG4gIH0gZWxzZSBpZiAoY2hlY2tJZkltcG9ydGVkTG9jYXRpb25Jc0FuQWxwaGFQYWNrYWdlKGxvY2F0aW9uKSkge1xuICAgIC8vIGltcG9ydCAqIGFzIG5hbWUgZnJvbSAnQGF3cy1jZGsvYW5vdGhlci1hbHBoYS1wYWNrYWdlJzsgbmFtZS5DZm5Db25zdHJ1Y3QoKTtcbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBtZXNzYWdlOiAnVG8gYWxsb3cgcmV3cml0aW5nIGltcG9ydHMgd2hlbiBnZW5lcmF0aW5nIHYyIGV4cGVyaW1lbnRhbCBwYWNrYWdlcywgYCcgKyBuYW1lICsgJ2AgbXVzdCBiZSBpbXBvcnRlZCBieSBuYW1lIGFuZCBzZXBhcmF0ZSBmcm9tIG5vbi1MMSBpbXBvcnRzLCBzaW5jZSBpdCBpcyBiZWluZyBpbXBvcnRlZCBmcm9tIGFuIGV4cGVyaW1lbnRhbCBwYWNrYWdlOiAnICsgbG9jYXRpb24sXG4gICAgICBub2RlOiBub2RlLFxuICAgIH0pO1xuICB9XG59XG5cbmNvbnN0IEFMUEhBX1JFID0gL0Bhd3MtY2RrKFxcL3xcXFxcKVthLXowLTktXSstYWxwaGEvaTtcblxuZnVuY3Rpb24gY3VycmVudEZpbGVJc0luQWxwaGFQYWNrYWdlKGZpbGVuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIEFMUEhBX1JFLnRlc3QoZmlsZW5hbWUpO1xufVxuXG5mdW5jdGlvbiBjaGVja0lmSW1wb3J0ZWRMb2NhdGlvbklzQW5BbHBoYVBhY2thZ2UobG9jYXRpb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gQUxQSEFfUkUudGVzdChsb2NhdGlvbik7XG59XG5cbmZ1bmN0aW9uIGNoZWNrTGVmdEFuZFJpZ2h0Rm9yQ2ZuKG5vZGU6IGFueSk6IHsgbmFtZTogc3RyaW5nOyBsb2NhdGlvbjogc3RyaW5nIH0gfCB1bmRlZmluZWQge1xuICAvLyBDaGVja2luZyB0aGUgbGVmdCBhbmQgcmlnaHQgYWxsb3dzIGNhcHR1cmluZyB0aGUgQ2ZuQ29uc3RydWN0IG5hbWUgZXZlbiBpZiB0aGUgVFNRdWFsaWZpZWROYW1lIHJlZmVyZW5jZXMgYSBzdWJ0eXBlIGxpa2U6XG4gIC8vICAgIHh4eC5DZm5Db25zdHJ1Y3Quc3VidHlwZVxuICAvLyAgICB4eHguQ2ZuQ29uc3RydWN0LnN1YnR5cGUuYW5vdGhlcnN1YnR5cGVcbiAgaWYgKCFub2RlKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBpZiAobm9kZS5uYW1lPy5zdGFydHNXaXRoKCdDZm4nKSkge1xuICAgIGlmIChub2RlLm5hbWUgPT09IG5vZGUucGFyZW50LmxlZnQubmFtZSkge1xuICAgICAgLy8gVGhpcyBpcyB0aGUgc2NlbmFyaW8gZm9yIGEgcmVmZXJlbmNlIHRvIENmbkNvbnN0cnVjdC5zdWJ0eXBlXG4gICAgICAvLyBJbiB0aGlzIGNhc2UsIGl0IGlzIG5vdCBxdWFsaWZpZWQgd2l0aCBhIGJhcnJlbCBpbXBvcnQsIHNvIHdlIGRvbid0IG5lZWQgdG8gZG8gYW55dGhpbmcuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogbm9kZS5uYW1lLFxuICAgICAgbG9jYXRpb246IG5vZGUucGFyZW50LmxlZnQubmFtZSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgcmlnaHQgPSBjaGVja0xlZnRBbmRSaWdodEZvckNmbihub2RlLnJpZ2h0KTtcbiAgY29uc3QgbGVmdCA9IGNoZWNrTGVmdEFuZFJpZ2h0Rm9yQ2ZuKG5vZGUubGVmdCk7XG5cbiAgcmV0dXJuIHJpZ2h0ID8/IGxlZnQgPz8gdW5kZWZpbmVkO1xufVxuIl19
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52YWxpZC1jZm4taW1wb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWxlcy9pbnZhbGlkLWNmbi1pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBUUEsd0JBNkVDO0FBbkZELDREQUF3RDtBQUV4RCxNQUFNLGdCQUFnQixHQUVsQixFQUFFLENBQUM7QUFFUCxTQUFnQixNQUFNLENBQUMsT0FBeUI7SUFDOUMsaUZBQWlGO0lBQ2pGLHNGQUFzRjtJQUN0RixvRUFBb0U7SUFDcEUsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1FBQ3JGLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU87UUFDTCxpQkFBaUIsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUN4QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQWUsQ0FBQztZQUM3QyxvR0FBb0c7WUFDcEcsa0NBQWtDO1lBQ2xDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUMxQixJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssMEJBQTBCLEVBQUUsQ0FBQztvQkFDMUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUM7Z0JBQzVDLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxRQUFRLEtBQUssZUFBZSxFQUFFLENBQUM7Z0JBQ25FLDBJQUEwSTtnQkFDMUksT0FBTztZQUNULENBQUM7WUFLRCxNQUFNLFVBQVUsR0FBaUMsRUFBRSxDQUFDO1lBQ3BELE1BQU0sWUFBWSxH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dUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWhELE9BQU8sS0FBSyxJQUFJLElBQUksSUFBSSxTQUFTLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHR5cGUgeyBJZGVudGlmaWVyLCBJbXBvcnRTcGVjaWZpZXIgfSBmcm9tICdlc3RyZWUnO1xuaW1wb3J0IHsgaXNJZGVudGlmaWVyIH0gZnJvbSAnLi4vcHJpdmF0ZS90eXBlLWNoZWNrZXJzJztcblxuY29uc3QgbmFtZXNwYWNlSW1wb3J0czoge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59ID0ge307XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuTm9kZUxpc3RlbmVyIHtcbiAgLy8gVGhlIGZvcm1hdCBvZiBDZm4gaW1wb3J0cyBvbmx5IG1hdHRlcnMgZm9yIGFscGhhIHBhY2thZ2VzLCBzbyB0aGF0IHRoZXkgY2FuIGJlXG4gIC8vIGZvcm1hdHRlZCBjb3JyZWN0bHkgd2hlbiByZWxlYXNlZCBzZXBhcmF0ZWx5IGZvciBWMi4gVGhlIGxpbnRlciBydWxlIHNob3VsZCBvbmx5IGJlXG4gIC8vIGFwcGxpZWQgaWYgdGhlIGZpbGUgaXMgaW4gYW4gYWxwaGEgcGFja2FnZSwgb3IgaXQgaXMgYSB0ZXN0IGZpbGUuXG4gIGNvbnN0IGZpbGVuYW1lID0gY29udGV4dC5nZXRGaWxlbmFtZSgpO1xuICBpZiAoIWN1cnJlbnRGaWxlSXNJbkFscGhhUGFja2FnZShmaWxlbmFtZSkgJiYgIWZpbGVuYW1lLm1hdGNoKCd0ZXN0L3J1bGVzL2ZpeHR1cmVzJykpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICByZXR1cm4ge1xuICAgIEltcG9ydERlY2xhcmF0aW9uOiBub2RlID0+IHtcbiAgICAgIGNvbnN0IGxvY2F0aW9uID0gbm9kZS5zb3VyY2UudmFsdWUgYXMgc3RyaW5nO1xuICAgICAgLy8gU3RvcmUgYWxsIG9mIHRoZSAnaW1wb3J0ICogYXMgbmFtZSBmcm9tIGxvY2F0aW9uJyBpbXBvcnRzLCBzbyB0aGF0IHdlIGNhbiBjaGVjayB0aGUgbG9jYXRpb24gd2hlblxuICAgICAgLy8gd2UgZmluZCBuYW1lLkNmblhYWCByZWZlcmVuY2VzLlxuICAgICAgbm9kZS5zcGVjaWZpZXJzLmZvckVhY2goZSA9PiB7XG4gICAgICAgIGlmIChlLnR5cGUgPT09ICdJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXInKSB7XG4gICAgICAgICAgbmFtZXNwYWNlSW1wb3J0c1tlLmxvY2FsLm5hbWVdID0gbG9jYXRpb247XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBpZiAobG9jYXRpb24uZW5kc1dpdGgoJ2dlbmVyYXRlZCcpIHx8IGxvY2F0aW9uID09PSAnQGF3cy1jZGsvY29yZScpIHtcbiAgICAgICAgLy8gSWYgaW1wb3J0aW5nIGRpcmVjdGx5IGZyb20gYSBnZW5lcmF0ZWQgZmlsZSwgdGhpcyBpcyBmaW5lLiBBbHNvIHdlIGtub3cgdGhhdCBhd3MtY2RrL2NvcmUgaXMgbm90IGV4cGVyaW1lbnRhbCwgc28gdGhhdCBpcyBmaW5lIGFzIHdlbGwuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gSW1wb3J0U3BlY2lmaWVycyBjYW4gYWxzbyBjb250YWluIGxpdGVyYWxzLlxuICAgICAgdHlwZSBJbXBvcnRTcGVjaWZpZXJXSWRlbnRpZmllciA9IE9taXQ8SW1wb3J0U3BlY2lmaWVyLCAnaW1wb3J0ZWQnPiAmIHsgaW1wb3J0ZWQ6IElkZW50aWZpZXIgfTtcblxuICAgICAgY29uc3QgY2ZuSW1wb3J0czogSW1wb3J0U3BlY2lmaWVyV0lkZW50aWZpZXJbXSA9IFtdO1xuICAgICAgY29uc3Qgb3RoZXJJbXBvcnRzOiBJbXBvcnRTcGVjaWZpZXJXSWRlbnRpZmllcltdID0gW107XG4gICAgICBub2RlLnNwZWNpZmllcnMuZm9yRWFjaChlID0+IHtcbiAgICAgICAgaWYgKGUudHlwZSA9PT0gJ0ltcG9ydFNwZWNpZmllcicgJiYgaXNJZGVudGlmaWVyKGUuaW1wb3J0ZWQpKSB7XG4gICAgICAgICAgaWYgKGUuaW1wb3J0ZWQubmFtZS5zdGFydHNXaXRoKCdDZm4nKSkge1xuICAgICAgICAgICAgY2ZuSW1wb3J0cy5wdXNoKGUgYXMgYW55KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3RoZXJJbXBvcnRzLnB1c2goZSBhcyBhbnkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIGlmIChjZm5JbXBvcnRzLmxlbmd0aCA+IDAgJiYgb3RoZXJJbXBvcnRzLmxlbmd0aCA+IDAgJiYgbG9jYXRpb24uc3RhcnRzV2l0aCgnLicpKSB7XG4gICAgICAgIC8vIGltcG9ydCB7IENmblhYWCwgU29tZXRoaW5nRWxzZSwgQW5vdGhlclRoaW5nIH0gZnJvbSAnLi9zb21lL3JlbGF0aXZlL3BhdGgvbm90L2VuZGluZy9pbi9nZW5lcmF0ZWQnO1xuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbWVzc2FnZTogJ1RvIGFsbG93IHJld3JpdGluZyBpbXBvcnRzIHdoZW4gZ2VuZXJhdGluZyB2MiBleHBlcmltZW50YWwgcGFja2FnZXMsIGltcG9ydCBvZiBgJyArIGNmbkltcG9ydHMubWFwKGUgPT4gZS5pbXBvcnRlZC5uYW1lKS5qb2luKCcsICcpICsgJ2AgbXVzdCBiZSBzZXBhcmF0ZSBmcm9tIGltcG9ydCBvZiBgJyArIG90aGVySW1wb3J0cy5tYXAoZSA9PiBlLmltcG9ydGVkLm5hbWUpLmpvaW4oJywgJykgKyAnYCwgYW5kIGltcG9ydGVkIGZyb20gaXRzIHNwZWNpZmljIC5nZW5lcmF0ZWQgbG9jYXRpb24uJyxcbiAgICAgICAgICBub2RlOiBub2RlLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoY2ZuSW1wb3J0cy5sZW5ndGggPiAwICYmIGxvY2F0aW9uLnN0YXJ0c1dpdGgoJy4nKSkge1xuICAgICAgICAvLyBpbXBvcnQgeyBDZm5YWFggfSBmcm9tICcuL3NvbWUvcmVsYXRpdmUvcGF0aC9ub3QvZW5kaW5nL2luL2dlbmVyYXRlZCc7XG4gICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICBtZXNzYWdlOiAnVG8gYWxsb3cgcmV3cml0aW5nIGltcG9ydHMgd2hlbiBnZW5lcmF0aW5nIHYyIGV4cGVyaW1lbnRhbCBwYWNrYWdlcywgaW1wb3J0IG9mIGAnICsgY2ZuSW1wb3J0cy5tYXAoZSA9PiBlLmltcG9ydGVkLm5hbWUpLmpvaW4oJywgJykgKyAnYCBtdXN0IGJlIGltcG9ydGVkIGZyb20gaXRzIHNwZWNpZmljIC5nZW5lcmF0ZWQgbG9jYXRpb24uJyxcbiAgICAgICAgICBub2RlOiBub2RlLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoY2ZuSW1wb3J0cy5sZW5ndGggPiAwICYmIG90aGVySW1wb3J0cy5sZW5ndGggPiAwICYmIGNoZWNrSWZJbXBvcnRlZExvY2F0aW9uSXNBbkFscGhhUGFja2FnZShsb2NhdGlvbikpIHtcbiAgICAgICAgLy8gaW1wb3J0IHsgQ2ZuWFhYLCBTb21ldGhpbmdFbHNlLCBBbm90aGVyVGhpbmcgfSBmcm9tICdAYXdzLWNkay9hbm90aGVyLWFscGhhLXBhY2thZ2UnO1xuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbWVzc2FnZTogJ1RvIGFsbG93IHJld3JpdGluZyBpbXBvcnRzIHdoZW4gZ2VuZXJhdGluZyB2MiBleHBlcmltZW50YWwgcGFja2FnZXMsIGltcG9ydCBvZiBgJyArIGNmbkltcG9ydHMubWFwKGUgPT4gZS5pbXBvcnRlZC5uYW1lKS5qb2luKCcsICcpICsgJ2AgbXVzdCBiZSBzZXBhcmF0ZSBmcm9tIGltcG9ydCBvZiBgJyArIG90aGVySW1wb3J0cy5tYXAoZSA9PiBlLmltcG9ydGVkLm5hbWUpLmpvaW4oJywgJykgKyAnYCcsXG4gICAgICAgICAgbm9kZTogbm9kZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcblxuICAgIC8vIFRoaXMgY2FwdHVyZXMgdXNpbmcgYHh4eC5DZm5Db25zdHJ1Y3RgIGFzIGFuIGlkZW50aWZpZXJcbiAgICBJZGVudGlmaWVyOiBub2RlID0+IHtcbiAgICAgIGNvbnN0IHR5cGVBbm5vdGF0aW9uID0gKG5vZGUgYXMgYW55KS50eXBlQW5ub3RhdGlvbj8udHlwZUFubm90YXRpb247XG4gICAgICBjb25zdCB0eXBlID0gdHlwZUFubm90YXRpb24/LnR5cGVOYW1lO1xuICAgICAgaWYgKHR5cGU/LnR5cGUgPT09ICdUU1F1YWxpZmllZE5hbWUnKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGNoZWNrTGVmdEFuZFJpZ2h0Rm9yQ2ZuKHR5cGUpO1xuICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgcmVwb3J0RXJyb3JJZkltcG9ydGVkTG9jYXRpb25Jc05vdFZhbGlkKGNvbnRleHQsIG5vZGUsIHJlc3VsdC5uYW1lLCByZXN1bHQubG9jYXRpb24pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAobm9kZS5uYW1lLnN0YXJ0c1dpdGgoJ0NmbicpICYmIG5vZGUucGFyZW50LnR5cGUgPT09ICdNZW1iZXJFeHByZXNzaW9uJyAmJiBub2RlLnBhcmVudC5vYmplY3QudHlwZSA9PT0gJ0lkZW50aWZpZXInKSB7XG4gICAgICAgIC8vIG5ldyB4eHguQ2ZuQ29uc3RydWN0KCk7XG4gICAgICAgIHJlcG9ydEVycm9ySWZJbXBvcnRlZExvY2F0aW9uSXNOb3RWYWxpZChjb250ZXh0LCBub2RlLCBub2RlLm5hbWUsIG5vZGUucGFyZW50Lm9iamVjdC5uYW1lKTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xufVxuXG5mdW5jdGlvbiByZXBvcnRFcnJvcklmSW1wb3J0ZWRMb2NhdGlvbklzTm90VmFsaWQoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCwgbm9kZTogSWRlbnRpZmllciwgbmFtZTogc3RyaW5nLCBiYXJyZWxJbXBvcnROYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgbG9jYXRpb24gPSBuYW1lc3BhY2VJbXBvcnRzW2JhcnJlbEltcG9ydE5hbWVdO1xuICBpZiAoIWxvY2F0aW9uKSB7XG4gICAgLy8gVGhpcyBzY2VuYXJpbyBzaG91bGQgbm90IGhhcHBlbiwgYnV0IGlmIGl0IGRvZXMsIHdlIGRvbid0IHdhbnQgdXNlcnMgdG8gcnVuIGludG8gd2VpcmQgcnVudGltZSBlcnJvcnMgZnJvbSB0aGUgbGludGVyLlxuICAgIHJldHVybjtcbiAgfVxuICBpZiAobG9jYXRpb24uZW5kc1dpdGgoJ2dlbmVyYXRlZCcpIHx8IGxvY2F0aW9uID09PSAnQGF3cy1jZGsvY29yZScpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKGxvY2F0aW9uLnN0YXJ0c1dpdGgoJy4nKSkge1xuICAgIC8vIGltcG9ydCAqIGFzIG5hbWUgZnJvbSAnLi9zb21lL3JlbGF0aXZlL3BhdGgvbm90L2VuZGluZy9pbi9nZW5lcmF0ZWQnOyBuYW1lLkNmbkNvbnN0cnVjdCgpO1xuICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgIG1lc3NhZ2U6ICdUbyBhbGxvdyByZXdyaXRpbmcgaW1wb3J0cyB3aGVuIGdlbmVyYXRpbmcgdjIgZXhwZXJpbWVudGFsIHBhY2thZ2VzLCBgJyArIG5hbWUgKyAnYCBtdXN0IGJlIGltcG9ydGVkIGJ5IG5hbWUgZnJvbSBpdHMgc3BlY2lmaWMgLmdlbmVyYXRlZCBsb2NhdGlvbi4nLFxuICAgICAgbm9kZTogbm9kZSxcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChjaGVja0lmSW1wb3J0ZWRMb2NhdGlvbklzQW5BbHBoYVBhY2thZ2UobG9jYXRpb24pKSB7XG4gICAgLy8gaW1wb3J0ICogYXMgbmFtZSBmcm9tICdAYXdzLWNkay9hbm90aGVyLWFscGhhLXBhY2thZ2UnOyBuYW1lLkNmbkNvbnN0cnVjdCgpO1xuICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgIG1lc3NhZ2U6ICdUbyBhbGxvdyByZXdyaXRpbmcgaW1wb3J0cyB3aGVuIGdlbmVyYXRpbmcgdjIgZXhwZXJpbWVudGFsIHBhY2thZ2VzLCBgJyArIG5hbWUgKyAnYCBtdXN0IGJlIGltcG9ydGVkIGJ5IG5hbWUgYW5kIHNlcGFyYXRlIGZyb20gbm9uLUwxIGltcG9ydHMsIHNpbmNlIGl0IGlzIGJlaW5nIGltcG9ydGVkIGZyb20gYW4gZXhwZXJpbWVudGFsIHBhY2thZ2U6ICcgKyBsb2NhdGlvbixcbiAgICAgIG5vZGU6IG5vZGUsXG4gICAgfSk7XG4gIH1cbn1cblxuY29uc3QgQUxQSEFfUkUgPSAvQGF3cy1jZGsoXFwvfFxcXFwpW2EtejAtOS1dKy1hbHBoYS9pO1xuXG5mdW5jdGlvbiBjdXJyZW50RmlsZUlzSW5BbHBoYVBhY2thZ2UoZmlsZW5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gQUxQSEFfUkUudGVzdChmaWxlbmFtZSk7XG59XG5cbmZ1bmN0aW9uIGNoZWNrSWZJbXBvcnRlZExvY2F0aW9uSXNBbkFscGhhUGFja2FnZShsb2NhdGlvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBBTFBIQV9SRS50ZXN0KGxvY2F0aW9uKTtcbn1cblxuZnVuY3Rpb24gY2hlY2tMZWZ0QW5kUmlnaHRGb3JDZm4obm9kZTogYW55KTogeyBuYW1lOiBzdHJpbmc7IGxvY2F0aW9uOiBzdHJpbmcgfSB8IHVuZGVmaW5lZCB7XG4gIC8vIENoZWNraW5nIHRoZSBsZWZ0IGFuZCByaWdodCBhbGxvd3MgY2FwdHVyaW5nIHRoZSBDZm5Db25zdHJ1Y3QgbmFtZSBldmVuIGlmIHRoZSBUU1F1YWxpZmllZE5hbWUgcmVmZXJlbmNlcyBhIHN1YnR5cGUgbGlrZTpcbiAgLy8gICAgeHh4LkNmbkNvbnN0cnVjdC5zdWJ0eXBlXG4gIC8vICAgIHh4eC5DZm5Db25zdHJ1Y3Quc3VidHlwZS5hbm90aGVyc3VidHlwZVxuICBpZiAoIW5vZGUpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGlmIChub2RlLm5hbWU/LnN0YXJ0c1dpdGgoJ0NmbicpKSB7XG4gICAgaWYgKG5vZGUubmFtZSA9PT0gbm9kZS5wYXJlbnQubGVmdC5uYW1lKSB7XG4gICAgICAvLyBUaGlzIGlzIHRoZSBzY2VuYXJpbyBmb3IgYSByZWZlcmVuY2UgdG8gQ2ZuQ29uc3RydWN0LnN1YnR5cGVcbiAgICAgIC8vIEluIHRoaXMgY2FzZSwgaXQgaXMgbm90IHF1YWxpZmllZCB3aXRoIGEgYmFycmVsIGltcG9ydCwgc28gd2UgZG9uJ3QgbmVlZCB0byBkbyBhbnl0aGluZy5cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiBub2RlLm5hbWUsXG4gICAgICBsb2NhdGlvbjogbm9kZS5wYXJlbnQubGVmdC5uYW1lLFxuICAgIH07XG4gIH1cblxuICBjb25zdCByaWdodCA9IGNoZWNrTGVmdEFuZFJpZ2h0Rm9yQ2ZuKG5vZGUucmlnaHQpO1xuICBjb25zdCBsZWZ0ID0gY2hlY2tMZWZ0QW5kUmlnaHRGb3JDZm4obm9kZS5sZWZ0KTtcblxuICByZXR1cm4gcmlnaHQgPz8gbGVmdCA/PyB1bmRlZmluZWQ7XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { Rule } from 'eslint';
2
2
  export declare const meta: {
3
- fixable: boolean;
3
+ fixable: "code";
4
4
  };
5
5
  export declare function create(context: Rule.RuleContext): Rule.NodeListener;
@@ -7,7 +7,7 @@ let importCache;
7
7
  let importsFixed;
8
8
  const BANNED_TYPES = ['IConstruct', 'Construct'];
9
9
  exports.meta = {
10
- fixable: true,
10
+ fixable: 'code',
11
11
  };
12
12
  function create(context) {
13
13
  return {
@@ -15,6 +15,7 @@ function create(context) {
15
15
  // since it's incompatible with eslint.Rule namespace. Waiting for better compatibility in
16
16
  // https://github.com/typescript-eslint/typescript-eslint/tree/1765a178e456b152bd48192eb5db7e8541e2adf2/packages/experimental-utils#note
17
17
  // Meanwhile, use a debugger to explore the AST node.
18
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
18
19
  Program(_node) {
19
20
  if (!isTestFile(context.getFilename())) {
20
21
  return;
@@ -151,4 +152,4 @@ function create(context) {
151
152
  function isTestFile(filename) {
152
153
  return new RegExp(/\/test\//).test(filename);
153
154
  }
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tY29yZS1jb25zdHJ1Y3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVsZXMvbm8tY29yZS1jb25zdHJ1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBWUEsd0JBdUlDO0FBbEpELDBEQUE0RDtBQUU1RCxJQUFJLFdBQXdCLENBQUM7QUFDN0IsSUFBSSxZQUFxQixDQUFDO0FBRTFCLE1BQU0sWUFBWSxHQUFHLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBRXBDLFFBQUEsSUFBSSxHQUFHO0lBQ2xCLE9BQU8sRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVGLFNBQWdCLE1BQU0sQ0FBQyxPQUF5QjtJQUM5QyxPQUFPO1FBRUwsc0ZBQXNGO1FBQ3RGLDBGQUEwRjtRQUMxRix3SUFBd0k7UUFDeEkscURBQXFEO1FBRXJELE9BQU8sQ0FBQyxLQUFVO1lBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsT0FBTztZQUNULENBQUM7WUFDRCxXQUFXLEdBQUcsSUFBSSwwQkFBVyxFQUFFLENBQUM7WUFDaEMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDO1FBRUQsaUJBQWlCLENBQUMsSUFBUztZQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZDLE9BQU87WUFDVCxDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxlQUFlLEVBQUUsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtvQkFDakMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLGlCQUFpQixJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO3dCQUMz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QUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO29CQUM1RSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO3dCQUN0QyxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUM7b0JBQ3hCLENBQUM7b0JBQ0QsT0FBTyxTQUFTLENBQUM7Z0JBQ25CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQztZQUNoQyxDQUFDO1FBQ0gsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsUUFBZ0I7SUFDbEMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHsgSW1wb3J0Q2FjaGUsIE5vZGUgfSBmcm9tICcuLi9wcml2YXRlL2ltcG9ydC1jYWNoZSc7XG5cbmxldCBpbXBvcnRDYWNoZTogSW1wb3J0Q2FjaGU7XG5sZXQgaW1wb3J0c0ZpeGVkOiBib29sZWFuO1xuXG5jb25zdCBCQU5ORURfVFlQRVMgPSBbJ0lDb25zdHJ1Y3QnLCAnQ29uc3RydWN0J107XG5cbmV4cG9ydCBjb25zdCBtZXRhID0ge1xuICBmaXhhYmxlOiB0cnVlLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZShjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5Ob2RlTGlzdGVuZXIge1xuICByZXR1cm4ge1xuXG4gICAgLy8gYG5vZGVgIGlzIGEgdHlwZSBmcm9tIEB0eXBlc2NyaXB0LWVzbGludC90eXBlc2NyaXB0LWVzdHJlZSwgYnV0IHVzaW5nICdhbnknIGZvciBub3dcbiAgICAvLyBzaW5jZSBpdCdzIGluY29tcGF0aWJsZSB3aXRoIGVzbGludC5SdWxlIG5hbWVzcGFjZS4gV2FpdGluZyBmb3IgYmV0dGVyIGNvbXBhdGliaWxpdHkgaW5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHlwZXNjcmlwdC1lc2xpbnQvdHlwZXNjcmlwdC1lc2xpbnQvdHJlZS8xNzY1YTE3OGU0NTZiMTUyYmQ0ODE5MmViNWRiN2U4NTQxZTJhZGYyL3BhY2thZ2VzL2V4cGVyaW1lbnRhbC11dGlscyNub3RlXG4gICAgLy8gTWVhbndoaWxlLCB1c2UgYSBkZWJ1Z2dlciB0byBleHBsb3JlIHRoZSBBU1Qgbm9kZS5cblxuICAgIFByb2dyYW0oX25vZGU6IGFueSkge1xuICAgICAgaWYgKCFpc1Rlc3RGaWxlKGNvbnRleHQuZ2V0RmlsZW5hbWUoKSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaW1wb3J0Q2FjaGUgPSBuZXcgSW1wb3J0Q2FjaGUoKTtcbiAgICAgIGltcG9ydHNGaXhlZCA9IGZhbHNlO1xuICAgIH0sXG5cbiAgICBJbXBvcnREZWNsYXJhdGlvbihub2RlOiBhbnkpIHtcbiAgICAgIGlmICghaXNUZXN0RmlsZShjb250ZXh0LmdldEZpbGVuYW1lKCkpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChub2RlLnNvdXJjZS52YWx1ZSA9PT0gJ0Bhd3MtY2RrL2NvcmUnKSB7XG4gICAgICAgIG5vZGUuc3BlY2lmaWVycy5mb3JFYWNoKChzOiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAocy50eXBlID09PSAnSW1wb3J0U3BlY2lmaWVyJyAmJiBCQU5ORURfVFlQRVMuaW5jbHVkZXMocy5pbXBvcnRlZC5uYW1lKSkge1xuICAgICAgICAgICAgLy8gbmFtZWQgaW1wb3J0XG4gICAgICAgICAgICBpbXBvcnRDYWNoZS5yZWNvcmQoe1xuICAgICAgICAgICAgICBmaWxlTmFtZTogY29udGV4dC5nZXRGaWxlbmFtZSgpLFxuICAgICAgICAgICAgICB0eXBlTmFtZTogcy5pbXBvcnRlZC5uYW1lLFxuICAgICAgICAgICAgICBpbXBvcnROb2RlOiBub2RlLFxuICAgICAgICAgICAgICBsb2NhbE5hbWU6IHMubG9jYWwubmFtZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAocy50eXBlID09PSAnSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyJykge1xuICAgICAgICAgICAgLy8gYmFycmVsIGltcG9ydFxuICAgICAgICAgICAgQkFOTkVEX1RZUEVTLmZvckVhY2godHlwZU5hbWUgPT4ge1xuICAgICAgICAgICAgICBpbXBvcnRDYWNoZS5yZWNvcmQoe1xuICAgICAgICAgICAgICAgIGZpbGVOYW1lOiBjb250ZXh0LmdldEZpbGVuYW1lKCksXG4gICAgICAgICAgICAgICAgdHlwZU5hbWUsXG4gICAgICAgICAgICAgICAgaW1wb3J0Tm9kZTogbm9kZSxcbiAgICAgICAgICAgICAgICBsb2NhbE5hbWU6IGAke3MubG9jYWwubmFtZX0uJHt0eXBlTmFtZX1gLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSxcblxuICAgIElkZW50aWZpZXIobm9kZTogYW55KSB7XG4gICAgICBpZiAoIWlzVGVzdEZpbGUoY29udGV4dC5nZXRGaWxlbmFtZSgpKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICAvLyBPbmx5IGFwcGx5IHJ1bGUgdG8gYmluZGluZ3MgKHZhcmlhYmxlcyBhbmQgZnVuY3Rpb24gcGFyYW1ldGVycylcbiAgICAgIGNvbnN0IHR5cGVBbm5vdGF0aW9uID0gbm9kZS50eXBlQW5ub3RhdGlvbj8udHlwZUFubm90YXRpb247XG4gICAgICBpZiAoIXR5cGVBbm5vdGF0aW9uKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHR5cGUgPSB0eXBlQW5ub3RhdGlvbi50eXBlTmFtZTtcbiAgICAgIGlmICghdHlwZSkgeyByZXR1cm47IH1cblxuICAgICAgY29uc3QgbWVzc2FnZSA9ICdVc2UgQ29uc3RydWN0IGFuZCBJQ29uc3RydWN0IGZyb20gdGhlIFwiY29uc3RydWN0c1wiIG1vZHVsZSBpbiB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgKG5vdCBcIkBhd3MtY2RrL2NvcmVcIiknO1xuXG4gICAgICBpZiAodHlwZS50eXBlID09PSAnVFNRdWFsaWZpZWROYW1lJykge1xuICAgICAgICAvLyBiYXJyZWwgaW1wb3J0XG4gICAgICAgIGNvbnN0IHF1YWxpZmllciA9IHR5cGUubGVmdC5uYW1lO1xuICAgICAgICBjb25zdCB0eXBlbmFtZSA9IHR5cGUucmlnaHQubmFtZTtcbiAgICAgICAgY29uc3QgaW1wb3J0Tm9kZSA9IGZpbmRJbXBvcnROb2RlKGAke3F1YWxpZmllcn0uJHt0eXBlbmFtZX1gKTtcbiAgICAgICAgaWYgKCFpbXBvcnROb2RlKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICBub2RlLFxuICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgZml4OiAoZml4ZXI6IFJ1bGUuUnVsZUZpeGVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaXhlczogUnVsZS5GaXhbXSA9IFtdO1xuICAgICAgICAgICAgaWYgKCFpbXBvcnRzRml4ZWQpIHtcbiAgICAgICAgICAgICAgZml4ZXMucHVzaChmaXhlci5pbnNlcnRUZXh0QWZ0ZXIoaW1wb3J0Tm9kZSwgXCJcXG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gJ2NvbnN0cnVjdHMnO1wiKSk7XG4gICAgICAgICAgICAgIGltcG9ydHNGaXhlZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmaXhlcy5wdXNoKGZpeGVyLnJlcGxhY2VUZXh0UmFuZ2UodHlwZUFubm90YXRpb24ucmFuZ2UsIGBjb25zdHJ1Y3RzLiR7dHlwZW5hbWV9YCkpO1xuICAgICAgICAgICAgcmV0dXJuIGZpeGVzO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmICh0eXBlLnR5cGUgPT09ICdJZGVudGlmaWVyJykge1xuICAgICAgICAvLyBuYW1lZCBpbXBvcnRzXG4gICAgICAgIGNvbnN0IGltcG9ydE5vZGUgPSBmaW5kSW1wb3J0Tm9kZSh0eXBlLm5hbWUpO1xuICAgICAgICBpZiAoIWltcG9ydE5vZGUpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICBmaXg6IChmaXhlcjogUnVsZS5SdWxlRml4ZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpeGVzOiBSdWxlLkZpeFtdID0gW107XG4gICAgICAgICAgICBpZiAoIWltcG9ydHNGaXhlZCkge1xuICAgICAgICAgICAgICBjb25zdCB0eXBlc1RvSW1wb3J0ID0gQkFOTkVEX1RZUEVTLm1hcCh0eXBlTmFtZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsID0gaW1wb3J0Q2FjaGUuZmluZCh7IGZpbGVOYW1lOiBjb250ZXh0LmdldEZpbGVuYW1lKCksIHR5cGVOYW1lIH0pO1xuICAgICAgICAgICAgICAgIGlmICghdmFsKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZU5hbWUgPT09IHZhbC5sb2NhbE5hbWUpIHsgcmV0dXJuIHR5cGVOYW1lOyB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke3R5cGVOYW1lfSBhcyAke3ZhbC5sb2NhbE5hbWV9YDtcbiAgICAgICAgICAgICAgfSkuZmlsdGVyKHggPT4geCAhPT0gdW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgZml4ZXMucHVzaChmaXhlci5pbnNlcnRUZXh0QWZ0ZXIoaW1wb3J0Tm9kZSwgYFxcbmltcG9ydCB7ICR7dHlwZXNUb0ltcG9ydC5qb2luKCcsICcpfSB9IGZyb20gJ2NvbnN0cnVjdHMnO2ApKTtcblxuICAgICAgICAgICAgICBjb25zdCBzcGVjaWZpZXJzID0gaW1wb3J0Tm9kZS5zcGVjaWZpZXJzO1xuICAgICAgICAgICAgICBpZiAoc3BlY2lmaWVycy5sZW5ndGggPT09IHR5cGVzVG9JbXBvcnQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgZml4ZXMucHVzaChmaXhlci5yZW1vdmVSYW5nZShpbXBvcnROb2RlLnJhbmdlKSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzcGVjaWZpZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBzID0gc3BlY2lmaWVyc1tpXTtcbiAgICAgICAgICAgICAgICAgIGlmICh0eXBlc1RvSW1wb3J0LmluY2x1ZGVzKHMuaW1wb3J0ZWQubmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IHNwZWNpZmllcnMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgIGZpeGVzLnB1c2goZml4ZXIucmVtb3ZlUmFuZ2UoW3MucmFuZ2VbMF0gLSAyLCBzLnJhbmdlWzFdXSkpOyAvLyBpbmNsdWRlIHRoZSBsZWFkaW5nIGNvbW1hXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgZml4ZXMucHVzaChmaXhlci5yZW1vdmVSYW5nZShbcy5yYW5nZVswXSwgcy5yYW5nZVsxXSArIDJdKSk7IC8vIGluY2x1ZGUgdGhlIHRyYWlsaW5nIGNvbW1hXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaW1wb3J0c0ZpeGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmaXhlcztcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gZmluZEltcG9ydE5vZGUobG9jYU5hbWU6IHN0cmluZyk6IE5vZGUgfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gQkFOTkVEX1RZUEVTLm1hcCh0eXBlTmFtZSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFsID0gaW1wb3J0Q2FjaGUuZmluZCh7IGZpbGVOYW1lOiBjb250ZXh0LmdldEZpbGVuYW1lKCksIHR5cGVOYW1lIH0pO1xuICAgICAgICAgIGlmICh2YWwgJiYgdmFsLmxvY2FsTmFtZSA9PT0gbG9jYU5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWwuaW1wb3J0Tm9kZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfSkuZmluZCh4ID0+IHggIT09IHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNUZXN0RmlsZShmaWxlbmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiBuZXcgUmVnRXhwKC9cXC90ZXN0XFwvLykudGVzdChmaWxlbmFtZSk7XG59Il19
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tY29yZS1jb25zdHJ1Y3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVsZXMvbm8tY29yZS1jb25zdHJ1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBWUEsd0JBd0lDO0FBbkpELDBEQUE0RDtBQUU1RCxJQUFJLFdBQXdCLENBQUM7QUFDN0IsSUFBSSxZQUFxQixDQUFDO0FBRTFCLE1BQU0sWUFBWSxHQUFHLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBRXBDLFFBQUEsSUFBSSxHQUFHO0lBQ2xCLE9BQU8sRUFBRSxNQUFlO0NBQ3pCLENBQUM7QUFFRixTQUFnQixNQUFNLENBQUMsT0FBeUI7SUFDOUMsT0FBTztRQUVMLHNGQUFzRjtRQUN0RiwwRkFBMEY7UUFDMUYsd0lBQXdJO1FBQ3hJLHFEQUFxRDtRQUVyRCw2REFBNkQ7UUFDN0QsT0FBTyxDQUFDLEtBQVU7WUFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUN2QyxPQUFPO1lBQ1QsQ0FBQztZQUNELFdBQVcsR0FBRyxJQUFJLDBCQUFXLEVBQUUsQ0FBQztZQUNoQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxpQkFBaUIsQ0FBQyxJQUFTO1lBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsT0FBTztZQUNULENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLGVBQWUsRUFBRSxDQUFDO2dCQUMxQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFO29CQUNqQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssaUJBQWlCLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxF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TyxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7b0JBQzVFLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7d0JBQ3RDLE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQztvQkFDeEIsQ0FBQztvQkFDRCxPQUFPLFNBQVMsQ0FBQztnQkFDbkIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1lBQ2hDLENBQUM7UUFDSCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLFVBQVUsQ0FBQyxRQUFnQjtJQUNsQyxPQUFPLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUnVsZSB9IGZyb20gJ2VzbGludCc7XG5pbXBvcnQgeyBJbXBvcnRDYWNoZSwgTm9kZSB9IGZyb20gJy4uL3ByaXZhdGUvaW1wb3J0LWNhY2hlJztcblxubGV0IGltcG9ydENhY2hlOiBJbXBvcnRDYWNoZTtcbmxldCBpbXBvcnRzRml4ZWQ6IGJvb2xlYW47XG5cbmNvbnN0IEJBTk5FRF9UWVBFUyA9IFsnSUNvbnN0cnVjdCcsICdDb25zdHJ1Y3QnXTtcblxuZXhwb3J0IGNvbnN0IG1ldGEgPSB7XG4gIGZpeGFibGU6ICdjb2RlJyBhcyBjb25zdCxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuTm9kZUxpc3RlbmVyIHtcbiAgcmV0dXJuIHtcblxuICAgIC8vIGBub2RlYCBpcyBhIHR5cGUgZnJvbSBAdHlwZXNjcmlwdC1lc2xpbnQvdHlwZXNjcmlwdC1lc3RyZWUsIGJ1dCB1c2luZyAnYW55JyBmb3Igbm93XG4gICAgLy8gc2luY2UgaXQncyBpbmNvbXBhdGlibGUgd2l0aCBlc2xpbnQuUnVsZSBuYW1lc3BhY2UuIFdhaXRpbmcgZm9yIGJldHRlciBjb21wYXRpYmlsaXR5IGluXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R5cGVzY3JpcHQtZXNsaW50L3R5cGVzY3JpcHQtZXNsaW50L3RyZWUvMTc2NWExNzhlNDU2YjE1MmJkNDgxOTJlYjVkYjdlODU0MWUyYWRmMi9wYWNrYWdlcy9leHBlcmltZW50YWwtdXRpbHMjbm90ZVxuICAgIC8vIE1lYW53aGlsZSwgdXNlIGEgZGVidWdnZXIgdG8gZXhwbG9yZSB0aGUgQVNUIG5vZGUuXG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgUHJvZ3JhbShfbm9kZTogYW55KSB7XG4gICAgICBpZiAoIWlzVGVzdEZpbGUoY29udGV4dC5nZXRGaWxlbmFtZSgpKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpbXBvcnRDYWNoZSA9IG5ldyBJbXBvcnRDYWNoZSgpO1xuICAgICAgaW1wb3J0c0ZpeGVkID0gZmFsc2U7XG4gICAgfSxcblxuICAgIEltcG9ydERlY2xhcmF0aW9uKG5vZGU6IGFueSkge1xuICAgICAgaWYgKCFpc1Rlc3RGaWxlKGNvbnRleHQuZ2V0RmlsZW5hbWUoKSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKG5vZGUuc291cmNlLnZhbHVlID09PSAnQGF3cy1jZGsvY29yZScpIHtcbiAgICAgICAgbm9kZS5zcGVjaWZpZXJzLmZvckVhY2goKHM6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChzLnR5cGUgPT09ICdJbXBvcnRTcGVjaWZpZXInICYmIEJBTk5FRF9UWVBFUy5pbmNsdWRlcyhzLmltcG9ydGVkLm5hbWUpKSB7XG4gICAgICAgICAgICAvLyBuYW1lZCBpbXBvcnRcbiAgICAgICAgICAgIGltcG9ydENhY2hlLnJlY29yZCh7XG4gICAgICAgICAgICAgIGZpbGVOYW1lOiBjb250ZXh0LmdldEZpbGVuYW1lKCksXG4gICAgICAgICAgICAgIHR5cGVOYW1lOiBzLmltcG9ydGVkLm5hbWUsXG4gICAgICAgICAgICAgIGltcG9ydE5vZGU6IG5vZGUsXG4gICAgICAgICAgICAgIGxvY2FsTmFtZTogcy5sb2NhbC5uYW1lLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChzLnR5cGUgPT09ICdJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXInKSB7XG4gICAgICAgICAgICAvLyBiYXJyZWwgaW1wb3J0XG4gICAgICAgICAgICBCQU5ORURfVFlQRVMuZm9yRWFjaCh0eXBlTmFtZSA9PiB7XG4gICAgICAgICAgICAgIGltcG9ydENhY2hlLnJlY29yZCh7XG4gICAgICAgICAgICAgICAgZmlsZU5hbWU6IGNvbnRleHQuZ2V0RmlsZW5hbWUoKSxcbiAgICAgICAgICAgICAgICB0eXBlTmFtZSxcbiAgICAgICAgICAgICAgICBpbXBvcnROb2RlOiBub2RlLFxuICAgICAgICAgICAgICAgIGxvY2FsTmFtZTogYCR7cy5sb2NhbC5uYW1lfS4ke3R5cGVOYW1lfWAsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgSWRlbnRpZmllcihub2RlOiBhbnkpIHtcbiAgICAgIGlmICghaXNUZXN0RmlsZShjb250ZXh0LmdldEZpbGVuYW1lKCkpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIC8vIE9ubHkgYXBwbHkgcnVsZSB0byBiaW5kaW5ncyAodmFyaWFibGVzIGFuZCBmdW5jdGlvbiBwYXJhbWV0ZXJzKVxuICAgICAgY29uc3QgdHlwZUFubm90YXRpb24gPSBub2RlLnR5cGVBbm5vdGF0aW9uPy50eXBlQW5ub3RhdGlvbjtcbiAgICAgIGlmICghdHlwZUFubm90YXRpb24pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgdHlwZSA9IHR5cGVBbm5vdGF0aW9uLnR5cGVOYW1lO1xuICAgICAgaWYgKCF0eXBlKSB7IHJldHVybjsgfVxuXG4gICAgICBjb25zdCBtZXNzYWdlID0gJ1VzZSBDb25zdHJ1Y3QgYW5kIElDb25zdHJ1Y3QgZnJvbSB0aGUgXCJjb25zdHJ1Y3RzXCIgbW9kdWxlIGluIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyAobm90IFwiQGF3cy1jZGsvY29yZVwiKSc7XG5cbiAgICAgIGlmICh0eXBlLnR5cGUgPT09ICdUU1F1YWxpZmllZE5hbWUnKSB7XG4gICAgICAgIC8vIGJhcnJlbCBpbXBvcnRcbiAgICAgICAgY29uc3QgcXVhbGlmaWVyID0gdHlwZS5sZWZ0Lm5hbWU7XG4gICAgICAgIGNvbnN0IHR5cGVuYW1lID0gdHlwZS5yaWdodC5uYW1lO1xuICAgICAgICBjb25zdCBpbXBvcnROb2RlID0gZmluZEltcG9ydE5vZGUoYCR7cXVhbGlmaWVyfS4ke3R5cGVuYW1lfWApO1xuICAgICAgICBpZiAoIWltcG9ydE5vZGUpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICBmaXg6IChmaXhlcjogUnVsZS5SdWxlRml4ZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpeGVzOiBSdWxlLkZpeFtdID0gW107XG4gICAgICAgICAgICBpZiAoIWltcG9ydHNGaXhlZCkge1xuICAgICAgICAgICAgICBmaXhlcy5wdXNoKGZpeGVyLmluc2VydFRleHRBZnRlcihpbXBvcnROb2RlLCBcIlxcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSAnY29uc3RydWN0cyc7XCIpKTtcbiAgICAgICAgICAgICAgaW1wb3J0c0ZpeGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpeGVzLnB1c2goZml4ZXIucmVwbGFjZVRleHRSYW5nZSh0eXBlQW5ub3RhdGlvbi5yYW5nZSwgYGNvbnN0cnVjdHMuJHt0eXBlbmFtZX1gKSk7XG4gICAgICAgICAgICByZXR1cm4gZml4ZXM7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUudHlwZSA9PT0gJ0lkZW50aWZpZXInKSB7XG4gICAgICAgIC8vIG5hbWVkIGltcG9ydHNcbiAgICAgICAgY29uc3QgaW1wb3J0Tm9kZSA9IGZpbmRJbXBvcnROb2RlKHR5cGUubmFtZSk7XG4gICAgICAgIGlmICghaW1wb3J0Tm9kZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgIGZpeDogKGZpeGVyOiBSdWxlLlJ1bGVGaXhlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgZml4ZXM6IFJ1bGUuRml4W10gPSBbXTtcbiAgICAgICAgICAgIGlmICghaW1wb3J0c0ZpeGVkKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHR5cGVzVG9JbXBvcnQgPSBCQU5ORURfVFlQRVMubWFwKHR5cGVOYW1lID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWwgPSBpbXBvcnRDYWNoZS5maW5kKHsgZmlsZU5hbWU6IGNvbnRleHQuZ2V0RmlsZW5hbWUoKSwgdHlwZU5hbWUgfSk7XG4gICAgICAgICAgICAgICAgaWYgKCF2YWwpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlTmFtZSA9PT0gdmFsLmxvY2FsTmFtZSkgeyByZXR1cm4gdHlwZU5hbWU7IH1cbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7dHlwZU5hbWV9IGFzICR7dmFsLmxvY2FsTmFtZX1gO1xuICAgICAgICAgICAgICB9KS5maWx0ZXIoeCA9PiB4ICE9PSB1bmRlZmluZWQpO1xuICAgICAgICAgICAgICBmaXhlcy5wdXNoKGZpeGVyLmluc2VydFRleHRBZnRlcihpbXBvcnROb2RlLCBgXFxuaW1wb3J0IHsgJHt0eXBlc1RvSW1wb3J0LmpvaW4oJywgJyl9IH0gZnJvbSAnY29uc3RydWN0cyc7YCkpO1xuXG4gICAgICAgICAgICAgIGNvbnN0IHNwZWNpZmllcnMgPSBpbXBvcnROb2RlLnNwZWNpZmllcnM7XG4gICAgICAgICAgICAgIGlmIChzcGVjaWZpZXJzLmxlbmd0aCA9PT0gdHlwZXNUb0ltcG9ydC5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBmaXhlcy5wdXNoKGZpeGVyLnJlbW92ZVJhbmdlKGltcG9ydE5vZGUucmFuZ2UpKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNwZWNpZmllcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHMgPSBzcGVjaWZpZXJzW2ldO1xuICAgICAgICAgICAgICAgICAgaWYgKHR5cGVzVG9JbXBvcnQuaW5jbHVkZXMocy5pbXBvcnRlZC5uYW1lKSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaSA9PT0gc3BlY2lmaWVycy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgZml4ZXMucHVzaChmaXhlci5yZW1vdmVSYW5nZShbcy5yYW5nZVswXSAtIDIsIHMucmFuZ2VbMV1dKSk7IC8vIGluY2x1ZGUgdGhlIGxlYWRpbmcgY29tbWFcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBmaXhlcy5wdXNoKGZpeGVyLnJlbW92ZVJhbmdlKFtzLnJhbmdlWzBdLCBzLnJhbmdlWzFdICsgMl0pKTsgLy8gaW5jbHVkZSB0aGUgdHJhaWxpbmcgY29tbWFcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpbXBvcnRzRml4ZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZpeGVzO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBmdW5jdGlvbiBmaW5kSW1wb3J0Tm9kZShsb2NhTmFtZTogc3RyaW5nKTogTm9kZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBCQU5ORURfVFlQRVMubWFwKHR5cGVOYW1lID0+IHtcbiAgICAgICAgICBjb25zdCB2YWwgPSBpbXBvcnRDYWNoZS5maW5kKHsgZmlsZU5hbWU6IGNvbnRleHQuZ2V0RmlsZW5hbWUoKSwgdHlwZU5hbWUgfSk7XG4gICAgICAgICAgaWYgKHZhbCAmJiB2YWwubG9jYWxOYW1lID09PSBsb2NhTmFtZSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbC5pbXBvcnROb2RlO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9KS5maW5kKHggPT4geCAhPT0gdW5kZWZpbmVkKTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xufVxuXG5mdW5jdGlvbiBpc1Rlc3RGaWxlKGZpbGVuYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIG5ldyBSZWdFeHAoL1xcL3Rlc3RcXC8vKS50ZXN0KGZpbGVuYW1lKTtcbn0iXX0=
@@ -6,6 +6,6 @@
6
6
  */
7
7
  import { Rule } from 'eslint';
8
8
  export declare const meta: {
9
- fixable: boolean;
9
+ fixable: "code";
10
10
  };
11
11
  export declare function create(context: Rule.RuleContext): Rule.NodeListener;
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.meta = void 0;
10
10
  exports.create = create;
11
11
  exports.meta = {
12
- fixable: true,
12
+ fixable: 'code',
13
13
  };
14
14
  function create(context) {
15
15
  const sourceCode = context.sourceCode;
@@ -115,4 +115,4 @@ function create(context) {
115
115
  'ClassDeclaration': enterClass,
116
116
  };
117
117
  }
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdGhpcy1pbi1zdGF0aWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVsZXMvbm8tdGhpcy1pbi1zdGF0aWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7OztHQUtHOzs7QUFVSCx3QkF1SUM7QUEzSVksUUFBQSxJQUFJLEdBQUc7SUFDbEIsT0FBTyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBRUYsU0FBZ0IsTUFBTSxDQUFDLE9BQXlCO0lBQzlDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDdEMsTUFBTSxtQkFBbUIsR0FBYyxFQUFFLENBQUM7SUFDMUMsTUFBTSxpQkFBaUIsR0FBa0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVuRSxTQUFTLGNBQWMsQ0FBQyxJQUFTO1FBQy9CLE9BQU8sQ0FDTCxJQUFJLENBQUMsSUFBSSxLQUFLLG9CQUFvQjtZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxrQkFBa0I7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUM1QixDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMsYUFBYSxDQUFDLElBQXNFO1FBQzNGLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsU0FBUyxZQUFZO1FBQ25CLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxTQUFTLGNBQWMsQ0FBQyxJQUFvRDtRQUMxRSxNQUFNLHFCQUFxQixHQUFHLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXBILElBQUkscUJBQXFCLEVBQUUsQ0FBQztZQUMxQixPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUNiLElBQUk7Z0JBQ0osR0FBRyxFQUFFLElB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YTtRQUNwQyxvQkFBb0IsRUFBRSxhQUFhO1FBQ25DLDBCQUEwQixFQUFFLFlBQVk7UUFDeEMseUJBQXlCLEVBQUUsWUFBWTtRQUN2QyxnQkFBZ0IsRUFBRSxjQUFjO1FBQ2hDLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLGtCQUFrQixFQUFFLFVBQVU7S0FDL0IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFkYXB0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vbXlzdGljYXRlYS9lc2xpbnQtcGx1Z2luL2Jsb2IvdjEzLjAuMC90ZXN0cy9saWIvcnVsZXMvbm8tdGhpcy1pbi1zdGF0aWMuanNcbiAqIEBhdXRob3IgVG9ydSBOYWdhc2hpbWFcbiAqIEBjb3B5cmlnaHQgMjAxNiBUb3J1IE5hZ2FzaGltYS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIE1JVCBMaWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgUnVsZSB9IGZyb20gJ2VzbGludCc7XG5pbXBvcnQgdHlwZSB7IENsYXNzRGVjbGFyYXRpb24sIEZ1bmN0aW9uRGVjbGFyYXRpb24sIEZ1bmN0aW9uRXhwcmVzc2lvbiwgU3VwZXIsIFRoaXNFeHByZXNzaW9uIH0gZnJvbSAnZXN0cmVlJztcbmltcG9ydCBOb2RlUGFyZW50RXh0ZW5zaW9uID0gUnVsZS5Ob2RlUGFyZW50RXh0ZW5zaW9uO1xuXG5leHBvcnQgY29uc3QgbWV0YSA9IHtcbiAgZml4YWJsZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuTm9kZUxpc3RlbmVyIHtcbiAgY29uc3Qgc291cmNlQ29kZSA9IGNvbnRleHQuc291cmNlQ29kZTtcbiAgY29uc3Qgc3RhdGljRnVuY3Rpb25TdGFjazogYm9vbGVhbltdID0gW107XG4gIGNvbnN0IGNsYXNzRGVjbGFyYXRpb25zOiBNYXA8c3RyaW5nLCBDbGFzc0RlY2xhcmF0aW9uPiA9IG5ldyBNYXAoKTtcblxuICBmdW5jdGlvbiBpc1N0YXRpY01ldGhvZChub2RlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgbm9kZS50eXBlID09PSAnRnVuY3Rpb25FeHByZXNzaW9uJyAmJlxuICAgICAgbm9kZS5wYXJlbnQudHlwZSA9PT0gJ01ldGhvZERlZmluaXRpb24nICYmXG4gICAgICBub2RlLnBhcmVudC5zdGF0aWMgPT09IHRydWVcbiAgICApO1xuICB9XG5cbiAgZnVuY3Rpb24gZW50ZXJGdW5jdGlvbihub2RlOiAoRnVuY3Rpb25EZWNsYXJhdGlvbiB8IEZ1bmN0aW9uRXhwcmVzc2lvbikgJiBOb2RlUGFyZW50RXh0ZW5zaW9uKSB7XG4gICAgc3RhdGljRnVuY3Rpb25TdGFjay5wdXNoKGlzU3RhdGljTWV0aG9kKG5vZGUpKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGV4aXRGdW5jdGlvbigpIHtcbiAgICBzdGF0aWNGdW5jdGlvblN0YWNrLnBvcCgpO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVwb3J0SWZTdGF0aWMobm9kZTogKFRoaXNFeHByZXNzaW9uIHwgU3VwZXIpICYgTm9kZVBhcmVudEV4dGVuc2lvbikge1xuICAgIGNvbnN0IGN1cnJlbnRNZXRob2RJc1N0YXRpYyA9IHN0YXRpY0Z1bmN0aW9uU3RhY2subGVuZ3RoID4gMCAmJiBzdGF0aWNGdW5jdGlvblN0YWNrW3N0YXRpY0Z1bmN0aW9uU3RhY2subGVuZ3RoIC0gMV07XG5cbiAgICBpZiAoY3VycmVudE1ldGhvZElzU3RhdGljKSB7XG4gICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgIG5vZGUsXG4gICAgICAgIGxvYzogbm9kZS5sb2MgPz8geyBsaW5lOiAwLCBjb2x1bW46IDAgfSxcbiAgICAgICAgbWVzc2FnZTogXCIne3t0eXBlfX0nIGtleXdvcmQgZm91bmQgaW4gYSBzdGF0aWMgbWV0aG9kLiBSZXBsYWNlIGl0IHdpdGggdGhlIGNsYXNzIG5hbWUuXCIsXG4gICAgICAgIGRhdGE6IHsgdHlwZTogc291cmNlQ29kZS5nZXRUZXh0KG5vZGUpIH0sXG4gICAgICAgIGZpeChmaXhlcjogUnVsZS5SdWxlRml4ZXIpIHtcbiAgICAgICAgICBpZiAobm9kZS50eXBlID09PSAnU3VwZXInKSB7XG4gICAgICAgICAgICBjb25zdCBoaWVyYXJjaHkgPSBzdXBlckNsYXNzZXMoZmluZENsYXNzRGVjbGFyYXRpb24obm9kZSkpO1xuICAgICAgICAgICAgY29uc3QgbWVtYmVyTmFtZSA9IGZpbmRNZW1iZXJOYW1lKG5vZGUpO1xuXG4gICAgICAgICAgICBpZiAobWVtYmVyTmFtZSA9PSBudWxsKSB7XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzdXBlckRlY2wgPSBoaWVyYXJjaHkuZmluZChoYXNTdGF0aWNNZW1iZXJDYWxsZWQobWVtYmVyTmFtZSkpO1xuICAgICAgICAgICAgcmV0dXJuIHN1cGVyRGVjbCA/IGZpeGVyLnJlcGxhY2VUZXh0KG5vZGUsIHN1cGVyRGVjbC5pZC5uYW1lKSA6IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKG5vZGUudHlwZSA9PT0gJ1RoaXNFeHByZXNzaW9uJykge1xuICAgICAgICAgICAgY29uc3QgZGVjbCA9IGZpbmRDbGFzc0RlY2xhcmF0aW9uKG5vZGUpO1xuICAgICAgICAgICAgcmV0dXJuIGRlY2wgPyBmaXhlci5yZXBsYWNlVGV4dChub2RlLCBkZWNsLmlkLm5hbWUpIDogbnVsbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHN1cGVyQ2xhc3Nlcyhub2RlOiBDbGFzc0RlY2xhcmF0aW9uIHwgbnVsbCk6IENsYXNzRGVjbGFyYXRpb25bXSB7XG4gICAgaWYgKG5vZGUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdDogQ2xhc3NEZWNsYXJhdGlvbltdID0gW107XG5cbiAgICBsZXQgc3VwZXJDbGFzcyA9IG5vZGUuc3VwZXJDbGFzcztcblxuICAgIHdoaWxlIChzdXBlckNsYXNzICE9IG51bGwpIHtcbiAgICAgIGlmIChzdXBlckNsYXNzLnR5cGUgPT09ICdJZGVudGlmaWVyJykge1xuICAgICAgICBjb25zdCBjbGFzc05hbWUgPSBzdXBlckNsYXNzLm5hbWU7XG4gICAgICAgIGNvbnN0IGRlY2wgPSBjbGFzc0RlY2xhcmF0aW9ucy5nZXQoY2xhc3NOYW1lKSE7XG4gICAgICAgIHJlc3VsdC5wdXNoKGRlY2wpO1xuICAgICAgICBzdXBlckNsYXNzID0gY2xhc3NEZWNsYXJhdGlvbnMuZ2V0KGNsYXNzTmFtZSk/LnN1cGVyQ2xhc3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGVudGVyQ2xhc3Mobm9kZTogQ2xhc3NEZWNsYXJhdGlvbiAmIE5vZGVQYXJlbnRFeHRlbnNpb24pIHtcbiAgICBjbGFzc0RlY2xhcmF0aW9ucy5zZXQobm9kZS5pZC5uYW1lLCBub2RlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGZpbmRDbGFzc0RlY2xhcmF0aW9uKG5vZGU6IE5vZGVQYXJlbnRFeHRlbnNpb24pOiBDbGFzc0RlY2xhcmF0aW9uIHwgbnVsbCB7XG4gICAgbGV0IHBhcmVudCA9IG5vZGUucGFyZW50O1xuXG4gICAgd2hpbGUgKHBhcmVudCAhPSBudWxsKSB7XG4gICAgICBpZiAocGFyZW50LnR5cGUgPT09ICdDbGFzc0RlY2xhcmF0aW9uJykge1xuICAgICAgICByZXR1cm4gcGFyZW50O1xuICAgICAgfVxuXG4gICAgICBwYXJlbnQgPSBwYXJlbnQucGFyZW50O1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gZmluZE1lbWJlck5hbWUobm9kZTogTm9kZVBhcmVudEV4dGVuc2lvbik6IHN0cmluZyB8IG51bGwge1xuICAgIGxldCBwYXJlbnQgPSBub2RlLnBhcmVudDtcblxuICAgIHdoaWxlIChwYXJlbnQgIT0gbnVsbCkge1xuICAgICAgaWYgKFxuICAgICAgICBwYXJlbnQudHlwZSA9PSAnTWVtYmVyRXhwcmVzc2lvbidcbiAgICAgICAgJiYgcGFyZW50LnByb3BlcnR5LnR5cGUgPT09ICdJZGVudGlmaWVyJ1xuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBwYXJlbnQucHJvcGVydHkubmFtZTtcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICBwYXJlbnQudHlwZSA9PT0gJ0NhbGxFeHByZXNzaW9uJ1xuICAgICAgICAmJiBwYXJlbnQuY2FsbGVlLnR5cGUgPT09ICdNZW1iZXJFeHByZXNzaW9uJ1xuICAgICAgICAmJiBwYXJlbnQuY2FsbGVlLnByb3BlcnR5LnR5cGUgPT09ICdJZGVudGlmaWVyJ1xuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBwYXJlbnQuY2FsbGVlLnByb3BlcnR5Lm5hbWU7XG4gICAgICB9XG5cbiAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBoYXNTdGF0aWNNZW1iZXJDYWxsZWQgPSAobmFtZTogc3RyaW5nKSA9PiAoZGVjbDogQ2xhc3NEZWNsYXJhdGlvbikgPT4ge1xuICAgIHJldHVybiBkZWNsLmJvZHkuYm9keS5zb21lKChub2RlKSA9PiB7XG4gICAgICByZXR1cm4gKG5vZGUudHlwZSA9PT0gJ01ldGhvZERlZmluaXRpb24nIHx8IG5vZGUudHlwZSA9PT0gJ1Byb3BlcnR5RGVmaW5pdGlvbicpXG4gICAgICAgICYmIG5vZGUuc3RhdGljICYmIG5vZGUua2V5LnR5cGUgPT09ICdJZGVudGlmaWVyJ1xuICAgICAgICAmJiBub2RlLmtleS5uYW1lID09PSBuYW1lO1xuICAgIH0pO1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgJ0Z1bmN0aW9uRGVjbGFyYXRpb24nOiBlbnRlckZ1bmN0aW9uLFxuICAgICdGdW5jdGlvbkV4cHJlc3Npb24nOiBlbnRlckZ1bmN0aW9uLFxuICAgICdGdW5jdGlvbkRlY2xhcmF0aW9uOmV4aXQnOiBleGl0RnVuY3Rpb24sXG4gICAgJ0Z1bmN0aW9uRXhwcmVzc2lvbjpleGl0JzogZXhpdEZ1bmN0aW9uLFxuICAgICdUaGlzRXhwcmVzc2lvbic6IHJlcG9ydElmU3RhdGljLFxuICAgICdTdXBlcic6IHJlcG9ydElmU3RhdGljLFxuICAgICdDbGFzc0RlY2xhcmF0aW9uJzogZW50ZXJDbGFzcyxcbiAgfTtcbn1cbiJdfQ==
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tdGhpcy1pbi1zdGF0aWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnVsZXMvbm8tdGhpcy1pbi1zdGF0aWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7OztHQUtHOzs7QUFVSCx3QkF1SUM7QUEzSVksUUFBQSxJQUFJLEdBQUc7SUFDbEIsT0FBTyxFQUFFLE1BQWU7Q0FDekIsQ0FBQztBQUVGLFNBQWdCLE1BQU0sQ0FBQyxPQUF5QjtJQUM5QyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO0lBQ3RDLE1BQU0sbUJBQW1CLEdBQWMsRUFBRSxDQUFDO0lBQzFDLE1BQU0saUJBQWlCLEdBQWtDLElBQUksR0FBRyxFQUFFLENBQUM7SUFFbkUsU0FBUyxjQUFjLENBQUMsSUFBUztRQUMvQixPQUFPLENBQ0wsSUFBSSxDQUFDLElBQUksS0FBSyxvQkFBb0I7WUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssa0JBQWtCO1lBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLElBQUksQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxTQUFTLGFBQWEsQ0FBQyxJQUFzRTtRQUMzRixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFNBQVMsWUFBWTtRQUNuQixtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsU0FBUyxjQUFjLENBQUMsSUFBb0Q7UUFDMUUsTUFBTSxxQkFBcUIsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVwSCxJQUFJLHFCQUFxQixFQUFFLENBQUM7WUFDMUIsT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFDYixJQUFJO2dCQUNKLEdBQUcsRUFBRSxJ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YUFBYTtRQUNwQyxvQkFBb0IsRUFBRSxhQUFhO1FBQ25DLDBCQUEwQixFQUFFLFlBQVk7UUFDeEMseUJBQXlCLEVBQUUsWUFBWTtRQUN2QyxnQkFBZ0IsRUFBRSxjQUFjO1FBQ2hDLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLGtCQUFrQixFQUFFLFVBQVU7S0FDL0IsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFkYXB0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vbXlzdGljYXRlYS9lc2xpbnQtcGx1Z2luL2Jsb2IvdjEzLjAuMC90ZXN0cy9saWIvcnVsZXMvbm8tdGhpcy1pbi1zdGF0aWMuanNcbiAqIEBhdXRob3IgVG9ydSBOYWdhc2hpbWFcbiAqIEBjb3B5cmlnaHQgMjAxNiBUb3J1IE5hZ2FzaGltYS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIE1JVCBMaWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgUnVsZSB9IGZyb20gJ2VzbGludCc7XG5pbXBvcnQgdHlwZSB7IENsYXNzRGVjbGFyYXRpb24sIEZ1bmN0aW9uRGVjbGFyYXRpb24sIEZ1bmN0aW9uRXhwcmVzc2lvbiwgU3VwZXIsIFRoaXNFeHByZXNzaW9uIH0gZnJvbSAnZXN0cmVlJztcbmltcG9ydCBOb2RlUGFyZW50RXh0ZW5zaW9uID0gUnVsZS5Ob2RlUGFyZW50RXh0ZW5zaW9uO1xuXG5leHBvcnQgY29uc3QgbWV0YSA9IHtcbiAgZml4YWJsZTogJ2NvZGUnIGFzIGNvbnN0LFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZShjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0KTogUnVsZS5Ob2RlTGlzdGVuZXIge1xuICBjb25zdCBzb3VyY2VDb2RlID0gY29udGV4dC5zb3VyY2VDb2RlO1xuICBjb25zdCBzdGF0aWNGdW5jdGlvblN0YWNrOiBib29sZWFuW10gPSBbXTtcbiAgY29uc3QgY2xhc3NEZWNsYXJhdGlvbnM6IE1hcDxzdHJpbmcsIENsYXNzRGVjbGFyYXRpb24+ID0gbmV3IE1hcCgpO1xuXG4gIGZ1bmN0aW9uIGlzU3RhdGljTWV0aG9kKG5vZGU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBub2RlLnR5cGUgPT09ICdGdW5jdGlvbkV4cHJlc3Npb24nICYmXG4gICAgICBub2RlLnBhcmVudC50eXBlID09PSAnTWV0aG9kRGVmaW5pdGlvbicgJiZcbiAgICAgIG5vZGUucGFyZW50LnN0YXRpYyA9PT0gdHJ1ZVxuICAgICk7XG4gIH1cblxuICBmdW5jdGlvbiBlbnRlckZ1bmN0aW9uKG5vZGU6IChGdW5jdGlvbkRlY2xhcmF0aW9uIHwgRnVuY3Rpb25FeHByZXNzaW9uKSAmIE5vZGVQYXJlbnRFeHRlbnNpb24pIHtcbiAgICBzdGF0aWNGdW5jdGlvblN0YWNrLnB1c2goaXNTdGF0aWNNZXRob2Qobm9kZSkpO1xuICB9XG5cbiAgZnVuY3Rpb24gZXhpdEZ1bmN0aW9uKCkge1xuICAgIHN0YXRpY0Z1bmN0aW9uU3RhY2sucG9wKCk7XG4gIH1cblxuICBmdW5jdGlvbiByZXBvcnRJZlN0YXRpYyhub2RlOiAoVGhpc0V4cHJlc3Npb24gfCBTdXBlcikgJiBOb2RlUGFyZW50RXh0ZW5zaW9uKSB7XG4gICAgY29uc3QgY3VycmVudE1ldGhvZElzU3RhdGljID0gc3RhdGljRnVuY3Rpb25TdGFjay5sZW5ndGggPiAwICYmIHN0YXRpY0Z1bmN0aW9uU3RhY2tbc3RhdGljRnVuY3Rpb25TdGFjay5sZW5ndGggLSAxXTtcblxuICAgIGlmIChjdXJyZW50TWV0aG9kSXNTdGF0aWMpIHtcbiAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgbm9kZSxcbiAgICAgICAgbG9jOiBub2RlLmxvYyA/PyB7IGxpbmU6IDAsIGNvbHVtbjogMCB9LFxuICAgICAgICBtZXNzYWdlOiBcIid7e3R5cGV9fScga2V5d29yZCBmb3VuZCBpbiBhIHN0YXRpYyBtZXRob2QuIFJlcGxhY2UgaXQgd2l0aCB0aGUgY2xhc3MgbmFtZS5cIixcbiAgICAgICAgZGF0YTogeyB0eXBlOiBzb3VyY2VDb2RlLmdldFRleHQobm9kZSkgfSxcbiAgICAgICAgZml4KGZpeGVyOiBSdWxlLlJ1bGVGaXhlcikge1xuICAgICAgICAgIGlmIChub2RlLnR5cGUgPT09ICdTdXBlcicpIHtcbiAgICAgICAgICAgIGNvbnN0IGhpZXJhcmNoeSA9IHN1cGVyQ2xhc3NlcyhmaW5kQ2xhc3NEZWNsYXJhdGlvbihub2RlKSk7XG4gICAgICAgICAgICBjb25zdCBtZW1iZXJOYW1lID0gZmluZE1lbWJlck5hbWUobm9kZSk7XG5cbiAgICAgICAgICAgIGlmIChtZW1iZXJOYW1lID09IG51bGwpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHN1cGVyRGVjbCA9IGhpZXJhcmNoeS5maW5kKGhhc1N0YXRpY01lbWJlckNhbGxlZChtZW1iZXJOYW1lKSk7XG4gICAgICAgICAgICByZXR1cm4gc3VwZXJEZWNsID8gZml4ZXIucmVwbGFjZVRleHQobm9kZSwgc3VwZXJEZWNsLmlkLm5hbWUpIDogbnVsbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobm9kZS50eXBlID09PSAnVGhpc0V4cHJlc3Npb24nKSB7XG4gICAgICAgICAgICBjb25zdCBkZWNsID0gZmluZENsYXNzRGVjbGFyYXRpb24obm9kZSk7XG4gICAgICAgICAgICByZXR1cm4gZGVjbCA/IGZpeGVyLnJlcGxhY2VUZXh0KG5vZGUsIGRlY2wuaWQubmFtZSkgOiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gc3VwZXJDbGFzc2VzKG5vZGU6IENsYXNzRGVjbGFyYXRpb24gfCBudWxsKTogQ2xhc3NEZWNsYXJhdGlvbltdIHtcbiAgICBpZiAobm9kZSA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgcmVzdWx0OiBDbGFzc0RlY2xhcmF0aW9uW10gPSBbXTtcblxuICAgIGxldCBzdXBlckNsYXNzID0gbm9kZS5zdXBlckNsYXNzO1xuXG4gICAgd2hpbGUgKHN1cGVyQ2xhc3MgIT0gbnVsbCkge1xuICAgICAgaWYgKHN1cGVyQ2xhc3MudHlwZSA9PT0gJ0lkZW50aWZpZXInKSB7XG4gICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IHN1cGVyQ2xhc3MubmFtZTtcbiAgICAgICAgY29uc3QgZGVjbCA9IGNsYXNzRGVjbGFyYXRpb25zLmdldChjbGFzc05hbWUpITtcbiAgICAgICAgcmVzdWx0LnB1c2goZGVjbCk7XG4gICAgICAgIHN1cGVyQ2xhc3MgPSBjbGFzc0RlY2xhcmF0aW9ucy5nZXQoY2xhc3NOYW1lKT8uc3VwZXJDbGFzcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZnVuY3Rpb24gZW50ZXJDbGFzcyhub2RlOiBDbGFzc0RlY2xhcmF0aW9uICYgTm9kZVBhcmVudEV4dGVuc2lvbikge1xuICAgIGNsYXNzRGVjbGFyYXRpb25zLnNldChub2RlLmlkLm5hbWUsIG5vZGUpO1xuICB9XG5cbiAgZnVuY3Rpb24gZmluZENsYXNzRGVjbGFyYXRpb24obm9kZTogTm9kZVBhcmVudEV4dGVuc2lvbik6IENsYXNzRGVjbGFyYXRpb24gfCBudWxsIHtcbiAgICBsZXQgcGFyZW50OiBSdWxlLk5vZGUgfCBudWxsID0gbm9kZS5wYXJlbnQ7XG5cbiAgICB3aGlsZSAocGFyZW50ICE9IG51bGwpIHtcbiAgICAgIGlmIChwYXJlbnQudHlwZSA9PT0gJ0NsYXNzRGVjbGFyYXRpb24nKSB7XG4gICAgICAgIHJldHVybiBwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBmdW5jdGlvbiBmaW5kTWVtYmVyTmFtZShub2RlOiBOb2RlUGFyZW50RXh0ZW5zaW9uKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgbGV0IHBhcmVudDogUnVsZS5Ob2RlIHwgbnVsbCA9IG5vZGUucGFyZW50O1xuXG4gICAgd2hpbGUgKHBhcmVudCAhPSBudWxsKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHBhcmVudC50eXBlID09ICdNZW1iZXJFeHByZXNzaW9uJ1xuICAgICAgICAmJiBwYXJlbnQucHJvcGVydHkudHlwZSA9PT0gJ0lkZW50aWZpZXInXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHBhcmVudC5wcm9wZXJ0eS5uYW1lO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIHBhcmVudC50eXBlID09PSAnQ2FsbEV4cHJlc3Npb24nXG4gICAgICAgICYmIHBhcmVudC5jYWxsZWUudHlwZSA9PT0gJ01lbWJlckV4cHJlc3Npb24nXG4gICAgICAgICYmIHBhcmVudC5jYWxsZWUucHJvcGVydHkudHlwZSA9PT0gJ0lkZW50aWZpZXInXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHBhcmVudC5jYWxsZWUucHJvcGVydHkubmFtZTtcbiAgICAgIH1cblxuICAgICAgcGFyZW50ID0gcGFyZW50LnBhcmVudDtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IGhhc1N0YXRpY01lbWJlckNhbGxlZCA9IChuYW1lOiBzdHJpbmcpID0+IChkZWNsOiBDbGFzc0RlY2xhcmF0aW9uKSA9PiB7XG4gICAgcmV0dXJuIGRlY2wuYm9keS5ib2R5LnNvbWUoKG5vZGUpID0+IHtcbiAgICAgIHJldHVybiAobm9kZS50eXBlID09PSAnTWV0aG9kRGVmaW5pdGlvbicgfHwgbm9kZS50eXBlID09PSAnUHJvcGVydHlEZWZpbml0aW9uJylcbiAgICAgICAgJiYgbm9kZS5zdGF0aWMgJiYgbm9kZS5rZXkudHlwZSA9PT0gJ0lkZW50aWZpZXInXG4gICAgICAgICYmIG5vZGUua2V5Lm5hbWUgPT09IG5hbWU7XG4gICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICAnRnVuY3Rpb25EZWNsYXJhdGlvbic6IGVudGVyRnVuY3Rpb24sXG4gICAgJ0Z1bmN0aW9uRXhwcmVzc2lvbic6IGVudGVyRnVuY3Rpb24sXG4gICAgJ0Z1bmN0aW9uRGVjbGFyYXRpb246ZXhpdCc6IGV4aXRGdW5jdGlvbixcbiAgICAnRnVuY3Rpb25FeHByZXNzaW9uOmV4aXQnOiBleGl0RnVuY3Rpb24sXG4gICAgJ1RoaXNFeHByZXNzaW9uJzogcmVwb3J0SWZTdGF0aWMsXG4gICAgJ1N1cGVyJzogcmVwb3J0SWZTdGF0aWMsXG4gICAgJ0NsYXNzRGVjbGFyYXRpb24nOiBlbnRlckNsYXNzLFxuICB9O1xufVxuIl19
package/package.json CHANGED
@@ -6,26 +6,26 @@
6
6
  "url": "https://github.com/cdklabs/eslint-rules"
7
7
  },
8
8
  "scripts": {
9
- "build": "npx projen build",
10
- "bump": "npx projen bump",
11
- "clobber": "npx projen clobber",
12
- "compile": "npx projen compile",
13
- "default": "npx projen default",
14
- "eject": "npx projen eject",
15
- "eslint": "npx projen eslint",
16
- "package": "npx projen package",
17
- "post-compile": "npx projen post-compile",
18
- "post-upgrade": "npx projen post-upgrade",
19
- "pre-compile": "npx projen pre-compile",
20
- "release": "npx projen release",
21
- "test": "npx projen test",
22
- "test:watch": "npx projen test:watch",
23
- "unbump": "npx projen unbump",
24
- "upgrade": "npx projen upgrade",
25
- "upgrade-cdklabs-projen-project-types": "npx projen upgrade-cdklabs-projen-project-types",
26
- "upgrade-dev-deps": "npx projen upgrade-dev-deps",
27
- "watch": "npx projen watch",
28
- "projen": "npx projen"
9
+ "build": "projen build",
10
+ "bump": "projen bump",
11
+ "clobber": "projen clobber",
12
+ "compile": "projen compile",
13
+ "default": "projen default",
14
+ "eject": "projen eject",
15
+ "eslint": "projen eslint",
16
+ "package": "projen package",
17
+ "post-compile": "projen post-compile",
18
+ "post-upgrade": "projen post-upgrade",
19
+ "pre-compile": "projen pre-compile",
20
+ "release": "projen release",
21
+ "test": "projen test",
22
+ "test:watch": "projen test:watch",
23
+ "unbump": "projen unbump",
24
+ "upgrade": "projen upgrade",
25
+ "upgrade-cdklabs-projen-project-types": "projen upgrade-cdklabs-projen-project-types",
26
+ "upgrade-dev-deps": "projen upgrade-dev-deps",
27
+ "watch": "projen watch",
28
+ "projen": "projen"
29
29
  },
30
30
  "author": {
31
31
  "name": "Amazon Web Services",
@@ -34,46 +34,54 @@
34
34
  "organization": true
35
35
  },
36
36
  "devDependencies": {
37
+ "@eslint/compat": "^1.2.5",
38
+ "@eslint/eslintrc": "^3.2.0",
39
+ "@eslint/js": "^9.18.0",
37
40
  "@stylistic/eslint-plugin": "^2",
38
- "@types/eslint": "^8",
39
41
  "@types/estree": "^1.0.8",
40
42
  "@types/fs-extra": "^11.0.4",
41
43
  "@types/jest": "^29.5.14",
42
44
  "@types/node": "^18",
43
- "@typescript-eslint/eslint-plugin": "^8",
44
45
  "@typescript-eslint/parser": "^8",
45
- "@typescript-eslint/rule-tester": "^8.57.1",
46
- "cdklabs-projen-project-types": "^0.3.7",
46
+ "@typescript-eslint/rule-tester": "^8.58.1",
47
+ "cdklabs-projen-project-types": "^0.3.28",
47
48
  "commit-and-tag-version": "^12",
48
49
  "constructs": "^10.0.0",
49
- "eslint": "^8",
50
+ "eslint": "^9.18.0",
50
51
  "eslint-import-resolver-typescript": "^3.10.1",
51
52
  "eslint-plugin-import": "^2.32.0",
53
+ "globals": "^15.14.0",
52
54
  "jest": "^29.7.0",
53
55
  "jest-junit": "^16",
54
- "projen": "^0.98.4",
55
- "ts-jest": "^29.4.6",
56
+ "projen": "^0.99.48",
57
+ "ts-jest": "^29.4.9",
56
58
  "ts-node": "^10.9.2",
57
- "typescript": "^5.9.3"
59
+ "typescript": "^5.9.3",
60
+ "typescript-eslint": "^8.58.1"
58
61
  },
59
62
  "peerDependencies": {
60
- "@typescript-eslint/parser": "^7.18.0",
61
- "eslint": ">=6 <9"
63
+ "eslint": ">=9 <11"
62
64
  },
63
65
  "dependencies": {
64
- "@typescript-eslint/utils": "^8.57.2",
66
+ "@typescript-eslint/utils": "^8.58.0",
65
67
  "fs-extra": "^11.3.4",
66
68
  "typescript": "^5.9.3"
67
69
  },
68
70
  "engines": {
69
71
  "node": ">= 18.12.0"
70
72
  },
73
+ "devEngines": {
74
+ "packageManager": {
75
+ "name": "npm",
76
+ "onFail": "ignore"
77
+ }
78
+ },
71
79
  "main": "lib/index.js",
72
80
  "license": "Apache-2.0",
73
81
  "publishConfig": {
74
82
  "access": "public"
75
83
  },
76
- "version": "1.5.9",
84
+ "version": "2.0.0",
77
85
  "jest": {
78
86
  "coverageProvider": "v8",
79
87
  "testMatch": [