@codeperfect/eslint-plugin 2.6.0 → 2.8.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.
- package/README.md +3 -7
- package/dist/application/custom-rules.d.ts.map +1 -1
- package/dist/application/custom-rules.js +15 -57
- package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
- package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.js +1 -1
- package/dist/domain/architecture/consistent-barrel-files/index.d.ts +0 -1
- package/dist/domain/architecture/consistent-barrel-files/index.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/index.js +1 -2
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.js +3 -9
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +3 -9
- package/dist/domain/architecture/index.d.ts +2 -1
- package/dist/domain/architecture/index.d.ts.map +1 -1
- package/dist/domain/architecture/index.js +3 -2
- package/dist/domain/architecture/no-import-export-extensions/index.d.ts +2 -0
- package/dist/domain/architecture/no-import-export-extensions/index.d.ts.map +1 -0
- package/dist/domain/architecture/no-import-export-extensions/index.js +2 -0
- package/dist/domain/architecture/no-import-export-extensions/no-import-export-extensions-rule.d.ts.map +1 -0
- package/dist/domain/architecture/no-import-export-extensions/no-import-export-extensions-rule.js +171 -0
- package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -1
- package/dist/domain/core/no-multiple-declarators/rule.js +6 -1
- package/dist/domain/core/no-multiple-declarators/types.js +1 -1
- package/dist/domain/core/no-useless-delegation/rule.d.ts.map +1 -1
- package/dist/domain/core/no-useless-delegation/rule.js +12 -8
- package/dist/domain/core/prefer-interface-types/autofix.d.ts +15 -0
- package/dist/domain/core/prefer-interface-types/autofix.d.ts.map +1 -0
- package/dist/domain/core/prefer-interface-types/autofix.js +196 -0
- package/dist/domain/core/prefer-interface-types/declaration-names.d.ts +23 -0
- package/dist/domain/core/prefer-interface-types/declaration-names.d.ts.map +1 -0
- package/dist/domain/core/prefer-interface-types/declaration-names.js +139 -0
- package/dist/domain/core/prefer-interface-types/naming.d.ts +45 -0
- package/dist/domain/core/prefer-interface-types/naming.d.ts.map +1 -0
- package/dist/domain/core/prefer-interface-types/naming.js +179 -0
- package/dist/domain/core/prefer-interface-types/rule-utilities.d.ts +2 -0
- package/dist/domain/core/prefer-interface-types/rule-utilities.d.ts.map +1 -1
- package/dist/domain/core/prefer-interface-types/rule-utilities.js +1 -1
- package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -1
- package/dist/domain/core/prefer-interface-types/rule.js +40 -16
- package/dist/domain/core/prefer-interface-types/types.d.ts +80 -0
- package/dist/domain/core/prefer-interface-types/types.d.ts.map +1 -0
- package/dist/domain/core/prefer-interface-types/types.js +2 -0
- package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/comment-removal-ranges.js +2 -7
- package/dist/domain/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +2 -6
- package/dist/domain/docs/no-interface-member-docs/parameter-utilities.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +2 -5
- package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/rule.js +6 -2
- package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/examples.js +2 -6
- package/dist/domain/docs/require-example-language/reporting.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/reporting.js +34 -7
- package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/rule.js +6 -1
- package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -1
- package/dist/domain/docs/single-line-jsdoc/rule.js +5 -3
- package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +1 -1
- package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +4 -2
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +1 -1
- package/dist/domain/testing/aaa/analyzer.analysis.js +1 -1
- package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +27 -3
- package/dist/domain/testing/aaa/analyzer.assertions.operands.js +1 -1
- package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.classification.helpers.js +29 -4
- package/dist/domain/testing/aaa/analyzer.classification.traversal.js +1 -1
- package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.super.helpers.js +1 -1
- package/dist/domain/testing/aaa/analyzer.super.js +10 -3
- package/dist/domain/testing/aaa/index.d.ts +1 -1
- package/dist/domain/testing/aaa/index.d.ts.map +1 -1
- package/dist/domain/testing/aaa/index.js +1 -1
- package/dist/domain/testing/aaa/types.d.ts +7 -9
- package/dist/domain/testing/aaa/types.d.ts.map +1 -1
- package/dist/domain/testing/aaa/types.js +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.js +2 -18
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.js +1 -1
- package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.js +3 -2
- package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-structure/rule-section-reporting.js +44 -58
- package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-structure/rule.js +4 -1
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.d.ts.map +1 -1
- package/dist/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.js +10 -4
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.js +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.js +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-imports.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-imports.js +2 -6
- package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/rule.js +10 -4
- package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -1
- package/dist/domain/testing/require-act-result-capture/rule.js +10 -5
- package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -1
- package/dist/domain/testing/require-test-companion/rule.js +4 -13
- package/dist/infrastructure/codeperfect-plugin.d.ts.map +1 -1
- package/dist/infrastructure/codeperfect-plugin.js +2 -4
- package/dist/infrastructure/index.js +1 -1
- package/dist/infrastructure/presets.d.ts.map +1 -1
- package/dist/infrastructure/presets.js +2 -4
- package/package.json +24 -23
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.d.ts.map +0 -1
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.js +0 -134
- /package/dist/domain/architecture/{consistent-barrel-files → no-import-export-extensions}/no-import-export-extensions-rule.d.ts +0 -0
|
@@ -13,15 +13,18 @@ import { buildMissingSectionFixes } from "./missing-section-fixes.js";
|
|
|
13
13
|
function reportBlankLineSeparators(context, analysis) {
|
|
14
14
|
const firstSectionComment = analysis.sectionComments[0]?.comment;
|
|
15
15
|
for (const sectionComment of getPhaseBoundaryComments(analysis)) {
|
|
16
|
-
if (sectionComment.comment
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
data: { section: sectionComment.phases.join(" & ") },
|
|
20
|
-
fix: (fixer) => fixer.insertTextBeforeRange(getLineStartRange(analysis.sourceText, sectionComment.comment.loc.start.line), analysis.newline),
|
|
21
|
-
messageId: "blankLineBeforeSection",
|
|
22
|
-
node: sectionComment.comment,
|
|
23
|
-
});
|
|
16
|
+
if (sectionComment.comment === firstSectionComment ||
|
|
17
|
+
hasBlankLineBeforeComment(analysis.sourceText, sectionComment.comment)) {
|
|
18
|
+
continue;
|
|
24
19
|
}
|
|
20
|
+
const fix = (fixer) => fixer.insertTextBeforeRange(getLineStartRange(analysis.sourceText, sectionComment.comment.loc.start.line), analysis.newline);
|
|
21
|
+
context.report({
|
|
22
|
+
data: { section: sectionComment.phases.join(" & ") },
|
|
23
|
+
fix,
|
|
24
|
+
messageId: "blankLineBeforeSection",
|
|
25
|
+
node: sectionComment.comment,
|
|
26
|
+
suggest: [{ fix, messageId: "addBlankLineBeforeSection" }],
|
|
27
|
+
});
|
|
25
28
|
}
|
|
26
29
|
}
|
|
27
30
|
/**
|
|
@@ -73,27 +76,6 @@ function reportEmptySections(context, analysis) {
|
|
|
73
76
|
}
|
|
74
77
|
}
|
|
75
78
|
}
|
|
76
|
-
/**
|
|
77
|
-
* Reports a single out-of-order section pair.
|
|
78
|
-
* @param context ESLint rule context.
|
|
79
|
-
* @param previous Previous section comment.
|
|
80
|
-
* @param current Current section comment.
|
|
81
|
-
* @example
|
|
82
|
-
* ```typescript
|
|
83
|
-
* reportIfOutOfOrder({ report() {} } as never, { comment: {} as never, phases: [] }, { comment: {} as never, phases: [] });
|
|
84
|
-
* ```
|
|
85
|
-
*/
|
|
86
|
-
function reportIfOutOfOrder(context, previous, current) {
|
|
87
|
-
const maxPreviousOrder = Math.max(...previous.phases.map((phase) => aaaPhaseOrder[phase]));
|
|
88
|
-
const minCurrentOrder = Math.min(...current.phases.map((phase) => aaaPhaseOrder[phase]));
|
|
89
|
-
if (minCurrentOrder <= maxPreviousOrder) {
|
|
90
|
-
context.report({
|
|
91
|
-
data: { section: current.phases.join(" & ") },
|
|
92
|
-
messageId: "outOfOrderSection",
|
|
93
|
-
node: current.comment,
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
79
|
/**
|
|
98
80
|
* Reports any AAA section markers that are missing from a supported test block.
|
|
99
81
|
* @param context ESLint rule context.
|
|
@@ -111,13 +93,17 @@ function reportMissingSections(context, analysis) {
|
|
|
111
93
|
if (missingSections.length === 0) {
|
|
112
94
|
return;
|
|
113
95
|
}
|
|
96
|
+
const fix = analysis.bodyLineCount >= 3
|
|
97
|
+
? (fixer) => buildMissingSectionFixes(analysis, missingSections, fixer)
|
|
98
|
+
: void 0;
|
|
114
99
|
context.report({
|
|
115
100
|
data: { sections: missingSections.join(", ") },
|
|
116
|
-
fix
|
|
117
|
-
? (fixer) => buildMissingSectionFixes(analysis, missingSections, fixer)
|
|
118
|
-
: void 0,
|
|
101
|
+
...(fix !== void 0 && { fix }),
|
|
119
102
|
messageId: "missingSections",
|
|
120
103
|
node: analysis.callExpression,
|
|
104
|
+
...(fix !== void 0 && {
|
|
105
|
+
suggest: [{ fix, messageId: "addMissingSections" }],
|
|
106
|
+
}),
|
|
121
107
|
});
|
|
122
108
|
}
|
|
123
109
|
/**
|
|
@@ -130,31 +116,23 @@ function reportMissingSections(context, analysis) {
|
|
|
130
116
|
* ```
|
|
131
117
|
*/
|
|
132
118
|
function reportOutOfOrderSections(context, analysis) {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
119
|
+
for (let index = 0; index < analysis.sectionComments.length - 1; index += 1) {
|
|
120
|
+
const previous = analysis.sectionComments[index];
|
|
121
|
+
const current = analysis.sectionComments[index + 1];
|
|
122
|
+
if (previous === void 0 || current === void 0) {
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
const maxPreviousOrder = Math.max(...previous.phases.map((phase) => aaaPhaseOrder[phase]));
|
|
126
|
+
const minCurrentOrder = Math.min(...current.phases.map((phase) => aaaPhaseOrder[phase]));
|
|
127
|
+
if (minCurrentOrder <= maxPreviousOrder) {
|
|
128
|
+
context.report({
|
|
129
|
+
data: { section: current.phases.join(" & ") },
|
|
130
|
+
messageId: "outOfOrderSection",
|
|
131
|
+
node: current.comment,
|
|
132
|
+
});
|
|
133
|
+
}
|
|
140
134
|
}
|
|
141
135
|
}
|
|
142
|
-
/**
|
|
143
|
-
* Reports a duplicate or out-of-order AAA section comment.
|
|
144
|
-
* @param input Composite reporting input for the current section.
|
|
145
|
-
* @example
|
|
146
|
-
* ```typescript
|
|
147
|
-
* reportSectionIssue({ context: {} as Rule.RuleContext, messageId: "duplicateSection", section: {} as never });
|
|
148
|
-
* ```
|
|
149
|
-
*/
|
|
150
|
-
const reportSectionIssue = (input) => {
|
|
151
|
-
const { context, messageId, section } = input;
|
|
152
|
-
context.report({
|
|
153
|
-
data: { section: section.phase },
|
|
154
|
-
messageId,
|
|
155
|
-
node: section.comment,
|
|
156
|
-
});
|
|
157
|
-
};
|
|
158
136
|
/**
|
|
159
137
|
* Tracks the current AAA ordering state for one flattened section.
|
|
160
138
|
* @param input Composite ordering state for the current section.
|
|
@@ -167,15 +145,23 @@ const reportSectionIssue = (input) => {
|
|
|
167
145
|
const updateSectionOrder = (input) => {
|
|
168
146
|
const { context, lastPhaseOrder, section, seenPhases } = input;
|
|
169
147
|
if (seenPhases.has(section.phase)) {
|
|
170
|
-
|
|
148
|
+
context.report({
|
|
149
|
+
data: { section: section.phase },
|
|
150
|
+
messageId: "duplicateSection",
|
|
151
|
+
node: section.comment,
|
|
152
|
+
});
|
|
171
153
|
return lastPhaseOrder;
|
|
172
154
|
}
|
|
173
155
|
const currentPhaseOrder = aaaPhaseOrder[section.phase];
|
|
174
156
|
if (currentPhaseOrder < lastPhaseOrder) {
|
|
175
|
-
|
|
157
|
+
context.report({
|
|
158
|
+
data: { section: section.phase },
|
|
159
|
+
messageId: "invalidOrder",
|
|
160
|
+
node: section.comment,
|
|
161
|
+
});
|
|
176
162
|
}
|
|
177
163
|
seenPhases.add(section.phase);
|
|
178
164
|
return Math.max(lastPhaseOrder, currentPhaseOrder);
|
|
179
165
|
};
|
|
180
166
|
export { reportBlankLineSeparators, reportCodeBeforeArrange, reportEmptySections, reportMissingSections, reportOutOfOrderSections, updateSectionOrder, };
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1zZWN0aW9uLXJlcG9ydGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9lbmZvcmNlLWFhYS1zdHJ1Y3R1cmUvcnVsZS1zZWN0aW9uLXJlcG9ydGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQ0wsYUFBYSxFQUNiLGlCQUFpQixFQUNqQix3QkFBd0IsR0FDekIsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQW1DbkU7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHlCQUF5QixDQUNoQyxPQUF5QixFQUN6QixRQUEyQjtJQUUzQixNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBRWpFLEtBQUssTUFBTSxjQUFjLElBQUksd0JBQXdCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNoRSxJQUNFLGNBQWMsQ0FBQyxPQUFPLEtBQUssbUJBQW1CO1lBQzlDLENBQUMseUJBQXlCLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQ3ZFLENBQUM7WUFDRCxPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUNiLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDcEQsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDYixLQUFLLENBQUMscUJBQXFCLENBQ3pCLGlCQUFpQixDQUNmLFFBQVEsQ0FBQyxVQUFVLEVBQ25CLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3RDLEVBQ0QsUUFBUSxDQUFD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UUFDVCxJQUFJLEVBQUUsT0FBTyxDQUFDLE9BQU87S0FDdEIsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBOEIsRUFBVSxFQUFFO0lBQ3BFLE1BQU0sRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFFL0QsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2xDLGtCQUFrQixDQUFDLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxNQUFNLGlCQUFpQixHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsSUFBSSxpQkFBaUIsR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUN2QyxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUM7QUFHRixPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2QixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN4QixrQkFBa0IsR0FDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHR5cGUgeyBnZXRGbGF0dGVuZWRTZWN0aW9ucyB9IGZyb20gXCIuLi9hYWEvYW5hbHl6ZXIuYW5hbHlzaXMuaGVscGVyc1wiO1xuaW1wb3J0IHR5cGUgeyBTZWN0aW9uQ29tbWVudCwgVGVzdEJsb2NrQW5hbHlzaXMgfSBmcm9tIFwiLi4vYWFhL3R5cGVzXCI7XG5cbmltcG9ydCB7XG4gIGFhYVBoYXNlT3JkZXIsXG4gIGdldExpbmVTdGFydFJhbmdlLFxuICBnZXRQaGFzZUJvdW5kYXJ5Q29tbWVudHMsXG59IGZyb20gXCIuLi9hYWEvYW5hbHl6ZXIuYW5hbHlzaXMuaGVscGVyc1wiO1xuaW1wb3J0IHsgaGFzQmxhbmtMaW5lQmVmb3JlQ29tbWVudCB9IGZyb20gXCIuLi9hYWEvYW5hbHl6ZXIuY2xhc3NpZmljYXRpb24uaGVscGVyc1wiO1xuaW1wb3J0IHsgYnVpbGRNaXNzaW5nU2VjdGlvbkZpeGVzIH0gZnJvbSBcIi4vbWlzc2luZy1zZWN0aW9uLWZpeGVzXCI7XG5cbi8qKiBGbGF0dGVuZWQgc2VjdGlvbiBlbnRyeSBlbWl0dGVkIGJ5IHRoZSBBQUEgYW5hbHl6ZXIgaGVscGVyLiAqL1xudHlwZSBGbGF0dGVuZWRTZWN0aW9uID0gUmV0dXJuVHlwZTx0eXBlb2YgZ2V0RmxhdHRlbmVkU2VjdGlvbnM+W251bWJlcl07XG5cbi8qKiBVbmlvbiBvZiB2YWxpZCBBQUEgcGhhc2UgbGFiZWxzIGVtaXR0ZWQgZm9yIGZsYXR0ZW5lZCBzZWN0aW9ucy4gKi9cbnR5cGUgRmxhdHRlbmVkU2VjdGlvblBoYXNlID0gRmxhdHRlbmVkU2VjdGlvbltcInBoYXNlXCJdO1xuXG4vKiogQ29tcG9zaXRlIGlucHV0IGZvciByZXBvcnRpbmcgb25lIEFBQSBzZWN0aW9uIGlzc3VlLiAqL1xuaW50ZXJmYWNlIFJlcG9ydFNlY3Rpb25Jc3N1ZUlucHV0IHtcbiAgLyoqIEFjdGl2ZSBFU0xpbnQgcnVsZSBjb250ZXh0LiAqL1xuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0O1xuXG4gIC8qKiBNZXNzYWdlIGlkZW50aWZpZXIgdG8gcmVwb3J0IGZvciB0aGUgc2VjdGlvbi4gKi9cbiAgbWVzc2FnZUlkOiBcImR1cGxpY2F0ZVNlY3Rpb25cIiB8IFwiaW52YWxpZE9yZGVyXCI7XG5cbiAgLyoqIFNlY3Rpb24gY29tbWVudCBhbmQgcGhhc2UgbWV0YWRhdGEgdW5kZXIgaW5zcGVjdGlvbi4gKi9cbiAgc2VjdGlvbjogRmxhdHRlbmVkU2VjdGlvbjtcbn1cblxuLyoqIENvbXBvc2l0ZSBpbnB1dCBmb3IgYWR2YW5jaW5nIHRoZSBBQUEgc2VjdGlvbiBvcmRlcmluZyBzdGF0ZS4gKi9cbmludGVyZmFjZSBVcGRhdGVTZWN0aW9uT3JkZXJJbnB1dCB7XG4gIC8qKiBBY3RpdmUgRVNMaW50IHJ1bGUgY29udGV4dC4gKi9cbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dDtcblxuICAvKiogSGlnaGVzdCBwaGFzZSBvcmRlciBzZWVuIHNvIGZhci4gKi9cbiAgbGFzdFBoYXNlT3JkZXI6IG51bWJlcjtcblxuICAvKiogU2VjdGlvbiBjb21tZW50IGFuZCBwaGFzZSBtZXRhZGF0YSB1bmRlciBpbnNwZWN0aW9uLiAqL1xuICBzZWN0aW9uOiBGbGF0dGVuZWRTZWN0aW9uO1xuXG4gIC8qKiBTZXQgb2YgcGhhc2VzIGFscmVhZHkgc2VlbiBpbiB0aGUgY3VycmVudCB0ZXN0IGJsb2NrLiAqL1xuICBzZWVuUGhhc2VzOiBTZXQ8RmxhdHRlbmVkU2VjdGlvblBoYXNlPjtcbn1cblxuLyoqXG4gKiBSZXBvcnRzIHNlY3Rpb24gY29tbWVudHMgdGhhdCBhcmUgbWlzc2luZyBhIGJsYW5rIGxpbmUgYWJvdmUgdGhlbS5cbiAqIEBwYXJhbSBjb250ZXh0IEVTTGludCBydWxlIGNvbnRleHQuXG4gKiBAcGFyYW0gYW5hbHlzaXMgUGFyc2VkIHRlc3QtYmxvY2sgYW5hbHlzaXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogcmVwb3J0QmxhbmtMaW5lU2VwYXJhdG9ycyh7IHJlcG9ydCgpIHt9IH0gYXMgbmV2ZXIsIHsgc2VjdGlvbkNvbW1lbnRzOiBbXSwgc291cmNlVGV4dDogXCJcIiB9IGFzIG5ldmVyKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiByZXBvcnRCbGFua0xpbmVTZXBhcmF0b3JzKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBhbmFseXNpczogVGVzdEJsb2NrQW5hbHlzaXMsXG4pOiB2b2lkIHtcbiAgY29uc3QgZmlyc3RTZWN0aW9uQ29tbWVudCA9IGFuYWx5c2lzLnNlY3Rpb25Db21tZW50c1swXT8uY29tbWVudDtcblxuICBmb3IgKGNvbnN0IHNlY3Rpb25Db21tZW50IG9mIGdldFBoYXNlQm91bmRhcnlDb21tZW50cyhhbmFseXNpcykpIHtcbiAgICBpZiAoXG4gICAgICBzZWN0aW9uQ29tbWVudC5jb21tZW50ICE9PSBmaXJzdFNlY3Rpb25Db21tZW50ICYmXG4gICAgICAhaGFzQmxhbmtMaW5lQmVmb3JlQ29tbWVudChhbmFseXNpcy5zb3VyY2VUZXh0LCBzZWN0aW9uQ29tbWVudC5jb21tZW50KVxuICAgICkge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBkYXRhOiB7IHNlY3Rpb246IHNlY3Rpb25Db21tZW50LnBoYXNlcy5qb2luKFwiICYgXCIpIH0sXG4gICAgICAgIGZpeDogKGZpeGVyKSA9PlxuICAgICAgICAgIGZpeGVyLmluc2VydFRleHRCZWZvcmVSYW5nZShcbiAgICAgICAgICAgIGdldExpbmVTdGFydFJhbmdlKFxuICAgICAgICAgICAgICBhbmFseXNpcy5zb3VyY2VUZXh0LFxuICAgICAgICAgICAgICBzZWN0aW9uQ29tbWVudC5jb21tZW50LmxvYy5zdGFydC5saW5lLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIGFuYWx5c2lzLm5ld2xpbmUsXG4gICAgICAgICAgKSxcbiAgICAgICAgbWVzc2FnZUlkOiBcImJsYW5rTGluZUJlZm9yZVNlY3Rpb25cIixcbiAgICAgICAgbm9kZTogc2VjdGlvbkNvbW1lbnQuY29tbWVudCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFJlcG9ydHMgZXhlY3V0YWJsZSBzdGF0ZW1lbnRzIHRoYXQgYXBwZWFyIGJlZm9yZSB0aGUgZmlyc3QgQXJyYW5nZSBzZWN0aW9uLlxuICogQHBhcmFtIGNvbnRleHQgRVNMaW50IHJ1bGUgY29udGV4dC5cbiAqIEBwYXJhbSBhbmFseXNpcyBQYXJzZWQgdGVzdC1ibG9jayBhbmFseXNpcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiByZXBvcnRDb2RlQmVmb3JlQXJyYW5nZSh7IHJlcG9ydCgpIHt9IH0gYXMgbmV2ZXIsIHsgc2VjdGlvbkNvbW1lbnRzOiBbXSwgc3RhdGVtZW50czogW10gfSBhcyBuZXZlcik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gcmVwb3J0Q29kZUJlZm9yZUFycmFuZ2UoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIGFuYWx5c2lzOiBUZXN0QmxvY2tBbmFseXNpcyxcbik6IHZvaWQge1xuICBjb25zdCBmaXJzdEFycmFuZ2VMaW5lID0gYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmZpbmQoKHNlY3Rpb25Db21tZW50KSA9PlxuICAgIHNlY3Rpb25Db21tZW50LnBoYXNlcy5pbmNsdWRlcyhcIkFycmFuZ2VcIiksXG4gICk/LmNvbW1lbnQubG9jLnN0YXJ0LmxpbmU7XG4gIGlmIChmaXJzdEFycmFuZ2VMaW5lID09PSB2b2lkIDApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBzdGF0ZW1lbnRCZWZvcmVBcnJhbmdlID0gYW5hbHlzaXMuc3RhdGVtZW50cy5maW5kKFxuICAgIChzdGF0ZW1lbnQpID0+IHN0YXRlbWVudC5ub2RlLmxvYy5zdGFydC5saW5lIDwgZmlyc3RBcnJhbmdlTGluZSxcbiAgKTtcbiAgaWYgKHN0YXRlbWVudEJlZm9yZUFycmFuZ2UgPT09IHZvaWQgMCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnRleHQucmVwb3J0KHtcbiAgICBtZXNzYWdlSWQ6IFwiY29kZUJlZm9yZUFycmFuZ2VcIixcbiAgICBub2RlOiBzdGF0ZW1lbnRCZWZvcmVBcnJhbmdlLm5vZGUsXG4gIH0pO1xufVxuXG4vKipcbiAqIFJlcG9ydHMgc2VjdGlvbnMgdGhhdCBjb250YWluIG9ubHkgY29tbWVudHMgb3Igd2hpdGVzcGFjZS5cbiAqIEBwYXJhbSBjb250ZXh0IEVTTGludCBydWxlIGNvbnRleHQuXG4gKiBAcGFyYW0gYW5hbHlzaXMgUGFyc2VkIHRlc3QtYmxvY2sgYW5hbHlzaXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogcmVwb3J0RW1wdHlTZWN0aW9ucyh7IHJlcG9ydCgpIHt9IH0gYXMgbmV2ZXIsIHsgc2VjdGlvbkNvbW1lbnRzOiBbXSwgc3RhdGVtZW50czogW10gfSBhcyBuZXZlcik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gcmVwb3J0RW1wdHlTZWN0aW9ucyhcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgYW5hbHlzaXM6IFRlc3RCbG9ja0FuYWx5c2lzLFxuKTogdm9pZCB7XG4gIGZvciAoY29uc3QgW2luZGV4LCBzZWN0aW9uQ29tbWVudF0gb2YgYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmVudHJpZXMoKSkge1xuICAgIGNvbnN0IG5leHRTZWN0aW9uTGluZSA9XG4gICAgICBhbmFseXNpcy5zZWN0aW9uQ29tbWVudHNbaW5kZXggKyAxXT8uY29tbWVudC5sb2Muc3RhcnQubGluZTtcbiAgICBjb25zdCBoYXNDb2RlSW5TZWN0aW9uID0gYW5hbHlzaXMuc3RhdGVtZW50cy5zb21lKChzdGF0ZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudExpbmUgPSBzdGF0ZW1lbnQubm9kZS5sb2Muc3RhcnQubGluZTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgc3RhdGVtZW50TGluZSA+IHNlY3Rpb25Db21tZW50LmNvbW1lbnQubG9jLnN0YXJ0LmxpbmUgJiZcbiAgICAgICAgKG5leHRTZWN0aW9uTGluZSA9PT0gdm9pZCAwIHx8IHN0YXRlbWVudExpbmUgPCBuZXh0U2VjdGlvbkxpbmUpXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaWYgKCFoYXNDb2RlSW5TZWN0aW9uKSB7XG4gICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgIGRhdGE6IHsgc2VjdGlvbjogc2VjdGlvbkNvbW1lbnQucGhhc2VzLmpvaW4oXCIgJiBcIikgfSxcbiAgICAgICAgbWVzc2FnZUlkOiBcImVtcHR5U2VjdGlvblwiLFxuICAgICAgICBub2RlOiBzZWN0aW9uQ29tbWVudC5jb21tZW50LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUmVwb3J0cyBhIHNpbmdsZSBvdXQtb2Ytb3JkZXIgc2VjdGlvbiBwYWlyLlxuICogQHBhcmFtIGNvbnRleHQgRVNMaW50IHJ1bGUgY29udGV4dC5cbiAqIEBwYXJhbSBwcmV2aW91cyBQcmV2aW91cyBzZWN0aW9uIGNvbW1lbnQuXG4gKiBAcGFyYW0gY3VycmVudCBDdXJyZW50IHNlY3Rpb24gY29tbWVudC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiByZXBvcnRJZk91dE9mT3JkZXIoeyByZXBvcnQoKSB7fSB9IGFzIG5ldmVyLCB7IGNvbW1lbnQ6IHt9IGFzIG5ldmVyLCBwaGFzZXM6IFtdIH0sIHsgY29tbWVudDoge30gYXMgbmV2ZXIsIHBoYXNlczogW10gfSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gcmVwb3J0SWZPdXRPZk9yZGVyKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBwcmV2aW91czogU2VjdGlvbkNvbW1lbnQsXG4gIGN1cnJlbnQ6IFNlY3Rpb25Db21tZW50LFxuKTogdm9pZCB7XG4gIGNvbnN0IG1heFByZXZpb3VzT3JkZXIgPSBNYXRoLm1heChcbiAgICAuLi5wcmV2aW91cy5waGFzZXMubWFwKChwaGFzZSkgPT4gYWFhUGhhc2VPcmRlcltwaGFzZV0pLFxuICApO1xuICBjb25zdCBtaW5DdXJyZW50T3JkZXIgPSBNYXRoLm1pbihcbiAgICAuLi5jdXJyZW50LnBoYXNlcy5tYXAoKHBoYXNlKSA9PiBhYWFQaGFzZU9yZGVyW3BoYXNlXSksXG4gICk7XG5cbiAgaWYgKG1pbkN1cnJlbnRPcmRlciA8PSBtYXhQcmV2aW91c09yZGVyKSB7XG4gICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgZGF0YTogeyBzZWN0aW9uOiBjdXJyZW50LnBoYXNlcy5qb2luKFwiICYgXCIpIH0sXG4gICAgICBtZXNzYWdlSWQ6IFwib3V0T2ZPcmRlclNlY3Rpb25cIixcbiAgICAgIG5vZGU6IGN1cnJlbnQuY29tbWVudCxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcG9ydHMgYW55IEFBQSBzZWN0aW9uIG1hcmtlcnMgdGhhdCBhcmUgbWlzc2luZyBmcm9tIGEgc3VwcG9ydGVkIHRlc3QgYmxvY2suXG4gKiBAcGFyYW0gY29udGV4dCBFU0xpbnQgcnVsZSBjb250ZXh0LlxuICogQHBhcmFtIGFuYWx5c2lzIFBhcnNlZCB0ZXN0LWJsb2NrIGFuYWx5c2lzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydE1pc3NpbmdTZWN0aW9ucyh7IHJlcG9ydCgpIHt9IH0gYXMgbmV2ZXIsIHsgc2VjdGlvbkNvbW1lbnRzOiBbXSB9IGFzIG5ldmVyKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiByZXBvcnRNaXNzaW5nU2VjdGlvbnMoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIGFuYWx5c2lzOiBUZXN0QmxvY2tBbmFseXNpcyxcbik6IHZvaWQge1xuICBjb25zdCBwcmVzZW50U2VjdGlvbnMgPSBuZXcgU2V0KFxuICAgIGFuYWx5c2lzLnNlY3Rpb25Db21tZW50cy5mbGF0TWFwKChzZWN0aW9uQ29tbWVudCkgPT4gc2VjdGlvbkNvbW1lbnQucGhhc2VzKSxcbiAgKTtcbiAgY29uc3QgaGFzUHJlU2VjdGlvblN0YXRlbWVudHMgPSBhbmFseXNpcy5zdGF0ZW1lbnRzLnNvbWUoXG4gICAgKHN0YXRlbWVudCkgPT4gc3RhdGVtZW50LnBoYXNlcy5sZW5ndGggPT09IDAsXG4gICk7XG4gIGNvbnN0IG1pc3NpbmdTZWN0aW9ucyA9IChbXCJBcnJhbmdlXCIsIFwiQWN0XCIsIFwiQXNzZXJ0XCJdIGFzIGNvbnN0KS5maWx0ZXIoXG4gICAgKHBoYXNlKSA9PlxuICAgICAgIXByZXNlbnRTZWN0aW9ucy5oYXMocGhhc2UpICYmXG4gICAgICAocGhhc2UgIT09IFwiQXJyYW5nZVwiIHx8IGhhc1ByZVNlY3Rpb25TdGF0ZW1lbnRzKSxcbiAgKTtcblxuICBpZiAobWlzc2luZ1NlY3Rpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnRleHQucmVwb3J0KHtcbiAgICBkYXRhOiB7IHNlY3Rpb25zOiBtaXNzaW5nU2VjdGlvbnMuam9pbihcIiwgXCIpIH0sXG4gICAgZml4OlxuICAgICAgYW5hbHlzaXMuYm9keUxpbmVDb3VudCA+PSAzXG4gICAgICAgID8gKGZpeGVyOiBSdWxlLlJ1bGVGaXhlcik6IFJ1bGUuRml4W10gPT5cbiAgICAgICAgICAgIGJ1aWxkTWlzc2luZ1NlY3Rpb25GaXhlcyhhbmFseXNpcywgbWlzc2luZ1NlY3Rpb25zLCBmaXhlcilcbiAgICAgICAgOiB2b2lkIDAsXG4gICAgbWVzc2FnZUlkOiBcIm1pc3NpbmdTZWN0aW9uc1wiLFxuICAgIG5vZGU6IGFuYWx5c2lzLmNhbGxFeHByZXNzaW9uLFxuICB9KTtcbn1cblxuLyoqXG4gKiBSZXBvcnRzIHNlY3Rpb24gY29tbWVudHMgdGhhdCBhcHBlYXIgb3V0IG9mIGNhbm9uaWNhbCBBcnJhbmdlIC0+IEFjdCAtPiBBc3NlcnQgb3JkZXIuXG4gKiBAcGFyYW0gY29udGV4dCBFU0xpbnQgcnVsZSBjb250ZXh0LlxuICogQHBhcmFtIGFuYWx5c2lzIFBhcnNlZCB0ZXN0LWJsb2NrIGFuYWx5c2lzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydE91dE9mT3JkZXJTZWN0aW9ucyh7IHJlcG9ydCgpIHt9IH0gYXMgbmV2ZXIsIHsgc2VjdGlvbkNvbW1lbnRzOiBbXSB9IGFzIG5ldmVyKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiByZXBvcnRPdXRPZk9yZGVyU2VjdGlvbnMoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIGFuYWx5c2lzOiBUZXN0QmxvY2tBbmFseXNpcyxcbik6IHZvaWQge1xuICBjb25zdCBjb21tZW50cyA9IGFuYWx5c2lzLnNlY3Rpb25Db21tZW50cztcbiAgY29uc3QgbGFzdEluZGV4ID0gY29tbWVudHMubGVuZ3RoIC0gMTtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGFzdEluZGV4OyBpbmRleCArPSAxKSB7XG4gICAgY29uc3QgcHJldmlvdXMgPSBjb21tZW50c1tpbmRleF07XG4gICAgY29uc3QgY3VycmVudCA9IGNvbW1lbnRzW2luZGV4ICsgMV07XG5cbiAgICBpZiAocHJldmlvdXMgJiYgY3VycmVudCkgcmVwb3J0SWZPdXRPZk9yZGVyKGNvbnRleHQsIHByZXZpb3VzLCBjdXJyZW50KTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcG9ydHMgYSBkdXBsaWNhdGUgb3Igb3V0LW9mLW9yZGVyIEFBQSBzZWN0aW9uIGNvbW1lbnQuXG4gKiBAcGFyYW0gaW5wdXQgQ29tcG9zaXRlIHJlcG9ydGluZyBpbnB1dCBmb3IgdGhlIGN1cnJlbnQgc2VjdGlvbi5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiByZXBvcnRTZWN0aW9uSXNzdWUoeyBjb250ZXh0OiB7fSBhcyBSdWxlLlJ1bGVDb250ZXh0LCBtZXNzYWdlSWQ6IFwiZHVwbGljYXRlU2VjdGlvblwiLCBzZWN0aW9uOiB7fSBhcyBuZXZlciB9KTtcbiAqIGBgYFxuICovXG5jb25zdCByZXBvcnRTZWN0aW9uSXNzdWUgPSAoaW5wdXQ6IFJlcG9ydFNlY3Rpb25Jc3N1ZUlucHV0KTogdm9pZCA9PiB7XG4gIGNvbnN0IHsgY29udGV4dCwgbWVzc2FnZUlkLCBzZWN0aW9uIH0gPSBpbnB1dDtcblxuICBjb250ZXh0LnJlcG9ydCh7XG4gICAgZGF0YTogeyBzZWN0aW9uOiBzZWN0aW9uLnBoYXNlIH0sXG4gICAgbWVzc2FnZUlkLFxuICAgIG5vZGU6IHNlY3Rpb24uY29tbWVudCxcbiAgfSk7XG59O1xuXG4vKipcbiAqIFRyYWNrcyB0aGUgY3VycmVudCBBQUEgb3JkZXJpbmcgc3RhdGUgZm9yIG9uZSBmbGF0dGVuZWQgc2VjdGlvbi5cbiAqIEBwYXJhbSBpbnB1dCBDb21wb3NpdGUgb3JkZXJpbmcgc3RhdGUgZm9yIHRoZSBjdXJyZW50IHNlY3Rpb24uXG4gKiBAcmV0dXJucyBVcGRhdGVkIHBoYXNlIG9yZGVyIHdhdGVybWFyay5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBuZXh0T3JkZXIgPSB1cGRhdGVTZWN0aW9uT3JkZXIoeyBjb250ZXh0OiB7fSBhcyBSdWxlLlJ1bGVDb250ZXh0LCBsYXN0UGhhc2VPcmRlcjogLTEsIHNlY3Rpb246IHt9IGFzIG5ldmVyLCBzZWVuUGhhc2VzOiBuZXcgU2V0KCkgfSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgdXBkYXRlU2VjdGlvbk9yZGVyID0gKGlucHV0OiBVcGRhdGVTZWN0aW9uT3JkZXJJbnB1dCk6IG51bWJlciA9PiB7XG4gIGNvbnN0IHsgY29udGV4dCwgbGFzdFBoYXNlT3JkZXIsIHNlY3Rpb24sIHNlZW5QaGFzZXMgfSA9IGlucHV0O1xuXG4gIGlmIChzZWVuUGhhc2VzLmhhcyhzZWN0aW9uLnBoYXNlKSkge1xuICAgIHJlcG9ydFNlY3Rpb25Jc3N1ZSh7IGNvbnRleHQsIG1lc3NhZ2VJZDogXCJkdXBsaWNhdGVTZWN0aW9uXCIsIHNlY3Rpb24gfSk7XG4gICAgcmV0dXJuIGxhc3RQaGFzZU9yZGVyO1xuICB9XG5cbiAgY29uc3QgY3VycmVudFBoYXNlT3JkZXIgPSBhYWFQaGFzZU9yZGVyW3NlY3Rpb24ucGhhc2VdO1xuICBpZiAoY3VycmVudFBoYXNlT3JkZXIgPCBsYXN0UGhhc2VPcmRlcikge1xuICAgIHJlcG9ydFNlY3Rpb25Jc3N1ZSh7IGNvbnRleHQsIG1lc3NhZ2VJZDogXCJpbnZhbGlkT3JkZXJcIiwgc2VjdGlvbiB9KTtcbiAgfVxuXG4gIHNlZW5QaGFzZXMuYWRkKHNlY3Rpb24ucGhhc2UpO1xuICByZXR1cm4gTWF0aC5tYXgobGFzdFBoYXNlT3JkZXIsIGN1cnJlbnRQaGFzZU9yZGVyKTtcbn07XG5cbmV4cG9ydCB0eXBlIHsgRmxhdHRlbmVkU2VjdGlvblBoYXNlIH07XG5leHBvcnQge1xuICByZXBvcnRCbGFua0xpbmVTZXBhcmF0b3JzLFxuICByZXBvcnRDb2RlQmVmb3JlQXJyYW5nZSxcbiAgcmVwb3J0RW1wdHlTZWN0aW9ucyxcbiAgcmVwb3J0TWlzc2luZ1NlY3Rpb25zLFxuICByZXBvcnRPdXRPZk9yZGVyU2VjdGlvbnMsXG4gIHVwZGF0ZVNlY3Rpb25PcmRlcixcbn07XG4iXX0=
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS1zZWN0aW9uLXJlcG9ydGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9lbmZvcmNlLWFhYS1zdHJ1Y3R1cmUvcnVsZS1zZWN0aW9uLXJlcG9ydGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEVBQ0wsYUFBYSxFQUNiLGlCQUFpQixFQUNqQix3QkFBd0IsR0FDekIsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNuRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQXVCbkU7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLHlCQUF5QixDQUNoQyxPQUF5QixFQUN6QixRQUEyQjtJQUUzQixNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBRWpFLEtBQUssTUFBTSxjQUFjLElBQUksd0JBQXdCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNoRSxJQUNFLGNBQWMsQ0FBQyxPQUFPLEtBQUssbUJBQW1CO1lBQzlDLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUN0RSxDQUFDO1lBQ0QsU0FBUztRQUNYLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQXFCLEVBQVksRUFBRSxDQUM5QyxLQUFLLENBQUMscUJBQXFCLENBQ3pCLGlCQUFpQixDQUNmLFFBQVEsQ0FBQyxVQUFVLEVBQ25CLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3RDLEVBQ0QsUUFBUSxDQUFDLE9BQU8sQ0FDakIsQ0FBQztRQUVKLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDYixJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxDQUFD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LEVBQVUsRUFBRTtJQUNwRSxNQUFNLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBRS9ELElBQUksVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNsQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ2IsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDaEMsU0FBUyxFQUFFLGtCQUFrQjtZQUM3QixJQUFJLEVBQUUsT0FBTyxDQUFDLE9BQU87U0FDdEIsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQztJQUVELE1BQU0saUJBQWlCLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxJQUFJLGlCQUFpQixHQUFHLGNBQWMsRUFBRSxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDYixJQUFJLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNoQyxTQUFTLEVBQUUsY0FBYztZQUN6QixJQUFJLEVBQUUsT0FBTyxDQUFDLE9BQU87U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUM7QUFHRixPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2QixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN4QixrQkFBa0IsR0FDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHR5cGUgeyBnZXRGbGF0dGVuZWRTZWN0aW9ucyB9IGZyb20gXCIuLi9hYWEvYW5hbHl6ZXIuYW5hbHlzaXMuaGVscGVyc1wiO1xuaW1wb3J0IHR5cGUgeyBUZXN0QmxvY2tBbmFseXNpcyB9IGZyb20gXCIuLi9hYWEvdHlwZXNcIjtcblxuaW1wb3J0IHtcbiAgYWFhUGhhc2VPcmRlcixcbiAgZ2V0TGluZVN0YXJ0UmFuZ2UsXG4gIGdldFBoYXNlQm91bmRhcnlDb21tZW50cyxcbn0gZnJvbSBcIi4uL2FhYS9hbmFseXplci5hbmFseXNpcy5oZWxwZXJzXCI7XG5pbXBvcnQgeyBoYXNCbGFua0xpbmVCZWZvcmVDb21tZW50IH0gZnJvbSBcIi4uL2FhYS9hbmFseXplci5jbGFzc2lmaWNhdGlvbi5oZWxwZXJzXCI7XG5pbXBvcnQgeyBidWlsZE1pc3NpbmdTZWN0aW9uRml4ZXMgfSBmcm9tIFwiLi9taXNzaW5nLXNlY3Rpb24tZml4ZXNcIjtcblxuLyoqIEZsYXR0ZW5lZCBzZWN0aW9uIGVudHJ5IGVtaXR0ZWQgYnkgdGhlIEFBQSBhbmFseXplciBoZWxwZXIuICovXG50eXBlIEZsYXR0ZW5lZFNlY3Rpb24gPSBSZXR1cm5UeXBlPHR5cGVvZiBnZXRGbGF0dGVuZWRTZWN0aW9ucz5bbnVtYmVyXTtcblxuLyoqIFVuaW9uIG9mIHZhbGlkIEFBQSBwaGFzZSBsYWJlbHMgZW1pdHRlZCBmb3IgZmxhdHRlbmVkIHNlY3Rpb25zLiAqL1xudHlwZSBGbGF0dGVuZWRTZWN0aW9uUGhhc2UgPSBGbGF0dGVuZWRTZWN0aW9uW1wicGhhc2VcIl07XG5cbi8qKiBDb21wb3NpdGUgaW5wdXQgZm9yIGFkdmFuY2luZyB0aGUgQUFBIHNlY3Rpb24gb3JkZXJpbmcgc3RhdGUuICovXG5pbnRlcmZhY2UgVXBkYXRlU2VjdGlvbk9yZGVySW5wdXQge1xuICAvKiogQWN0aXZlIEVTTGludCBydWxlIGNvbnRleHQuICovXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQ7XG5cbiAgLyoqIEhpZ2hlc3QgcGhhc2Ugb3JkZXIgc2VlbiBzbyBmYXIuICovXG4gIGxhc3RQaGFzZU9yZGVyOiBudW1iZXI7XG5cbiAgLyoqIFNlY3Rpb24gY29tbWVudCBhbmQgcGhhc2UgbWV0YWRhdGEgdW5kZXIgaW5zcGVjdGlvbi4gKi9cbiAgc2VjdGlvbjogRmxhdHRlbmVkU2VjdGlvbjtcblxuICAvKiogU2V0IG9mIHBoYXNlcyBhbHJlYWR5IHNlZW4gaW4gdGhlIGN1cnJlbnQgdGVzdCBibG9jay4gKi9cbiAgc2VlblBoYXNlczogU2V0PEZsYXR0ZW5lZFNlY3Rpb25QaGFzZT47XG59XG5cbi8qKlxuICogUmVwb3J0cyBzZWN0aW9uIGNvbW1lbnRzIHRoYXQgYXJlIG1pc3NpbmcgYSBibGFuayBsaW5lIGFib3ZlIHRoZW0uXG4gKiBAcGFyYW0gY29udGV4dCBFU0xpbnQgcnVsZSBjb250ZXh0LlxuICogQHBhcmFtIGFuYWx5c2lzIFBhcnNlZCB0ZXN0LWJsb2NrIGFuYWx5c2lzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydEJsYW5rTGluZVNlcGFyYXRvcnMoeyByZXBvcnQoKSB7fSB9IGFzIG5ldmVyLCB7IHNlY3Rpb25Db21tZW50czogW10sIHNvdXJjZVRleHQ6IFwiXCIgfSBhcyBuZXZlcik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gcmVwb3J0QmxhbmtMaW5lU2VwYXJhdG9ycyhcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgYW5hbHlzaXM6IFRlc3RCbG9ja0FuYWx5c2lzLFxuKTogdm9pZCB7XG4gIGNvbnN0IGZpcnN0U2VjdGlvbkNvbW1lbnQgPSBhbmFseXNpcy5zZWN0aW9uQ29tbWVudHNbMF0/LmNvbW1lbnQ7XG5cbiAgZm9yIChjb25zdCBzZWN0aW9uQ29tbWVudCBvZiBnZXRQaGFzZUJvdW5kYXJ5Q29tbWVudHMoYW5hbHlzaXMpKSB7XG4gICAgaWYgKFxuICAgICAgc2VjdGlvbkNvbW1lbnQuY29tbWVudCA9PT0gZmlyc3RTZWN0aW9uQ29tbWVudCB8fFxuICAgICAgaGFzQmxhbmtMaW5lQmVmb3JlQ29tbWVudChhbmFseXNpcy5zb3VyY2VUZXh0LCBzZWN0aW9uQ29tbWVudC5jb21tZW50KVxuICAgICkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3QgZml4ID0gKGZpeGVyOiBSdWxlLlJ1bGVGaXhlcik6IFJ1bGUuRml4ID0+XG4gICAgICBmaXhlci5pbnNlcnRUZXh0QmVmb3JlUmFuZ2UoXG4gICAgICAgIGdldExpbmVTdGFydFJhbmdlKFxuICAgICAgICAgIGFuYWx5c2lzLnNvdXJjZVRleHQsXG4gICAgICAgICAgc2VjdGlvbkNvbW1lbnQuY29tbWVudC5sb2Muc3RhcnQubGluZSxcbiAgICAgICAgKSxcbiAgICAgICAgYW5hbHlzaXMubmV3bGluZSxcbiAgICAgICk7XG5cbiAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICBkYXRhOiB7IHNlY3Rpb246IHNlY3Rpb25Db21tZW50LnBoYXNlcy5qb2luKFwiICYgXCIpIH0sXG4gICAgICBmaXgsXG4gICAgICBtZXNzYWdlSWQ6IFwiYmxhbmtMaW5lQmVmb3JlU2VjdGlvblwiLFxuICAgICAgbm9kZTogc2VjdGlvbkNvbW1lbnQuY29tbWVudCxcbiAgICAgIHN1Z2dlc3Q6IFt7IGZpeCwgbWVzc2FnZUlkOiBcImFkZEJsYW5rTGluZUJlZm9yZVNlY3Rpb25cIiB9XSxcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcG9ydHMgZXhlY3V0YWJsZSBzdGF0ZW1lbnRzIHRoYXQgYXBwZWFyIGJlZm9yZSB0aGUgZmlyc3QgQXJyYW5nZSBzZWN0aW9uLlxuICogQHBhcmFtIGNvbnRleHQgRVNMaW50IHJ1bGUgY29udGV4dC5cbiAqIEBwYXJhbSBhbmFseXNpcyBQYXJzZWQgdGVzdC1ibG9jayBhbmFseXNpcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiByZXBvcnRDb2RlQmVmb3JlQXJyYW5nZSh7IHJlcG9ydCgpIHt9IH0gYXMgbmV2ZXIsIHsgc2VjdGlvbkNvbW1lbnRzOiBbXSwgc3RhdGVtZW50czogW10gfSBhcyBuZXZlcik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gcmVwb3J0Q29kZUJlZm9yZUFycmFuZ2UoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIGFuYWx5c2lzOiBUZXN0QmxvY2tBbmFseXNpcyxcbik6IHZvaWQge1xuICBjb25zdCBmaXJzdEFycmFuZ2VMaW5lID0gYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmZpbmQoKHNlY3Rpb25Db21tZW50KSA9PlxuICAgIHNlY3Rpb25Db21tZW50LnBoYXNlcy5pbmNsdWRlcyhcIkFycmFuZ2VcIiksXG4gICk/LmNvbW1lbnQubG9jLnN0YXJ0LmxpbmU7XG4gIGlmIChmaXJzdEFycmFuZ2VMaW5lID09PSB2b2lkIDApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBzdGF0ZW1lbnRCZWZvcmVBcnJhbmdlID0gYW5hbHlzaXMuc3RhdGVtZW50cy5maW5kKFxuICAgIChzdGF0ZW1lbnQpID0+IHN0YXRlbWVudC5ub2RlLmxvYy5zdGFydC5saW5lIDwgZmlyc3RBcnJhbmdlTGluZSxcbiAgKTtcbiAgaWYgKHN0YXRlbWVudEJlZm9yZUFycmFuZ2UgPT09IHZvaWQgMCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnRleHQucmVwb3J0KHtcbiAgICBtZXNzYWdlSWQ6IFwiY29kZUJlZm9yZUFycmFuZ2VcIixcbiAgICBub2RlOiBzdGF0ZW1lbnRCZWZvcmVBcnJhbmdlLm5vZGUsXG4gIH0pO1xufVxuXG4vKipcbiAqIFJlcG9ydHMgc2VjdGlvbnMgdGhhdCBjb250YWluIG9ubHkgY29tbWVudHMgb3Igd2hpdGVzcGFjZS5cbiAqIEBwYXJhbSBjb250ZXh0IEVTTGludCBydWxlIGNvbnRleHQuXG4gKiBAcGFyYW0gYW5hbHlzaXMgUGFyc2VkIHRlc3QtYmxvY2sgYW5hbHlzaXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogcmVwb3J0RW1wdHlTZWN0aW9ucyh7IHJlcG9ydCgpIHt9IH0gYXMgbmV2ZXIsIHsgc2VjdGlvbkNvbW1lbnRzOiBbXSwgc3RhdGVtZW50czogW10gfSBhcyBuZXZlcik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gcmVwb3J0RW1wdHlTZWN0aW9ucyhcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgYW5hbHlzaXM6IFRlc3RCbG9ja0FuYWx5c2lzLFxuKTogdm9pZCB7XG4gIGZvciAoY29uc3QgW2luZGV4LCBzZWN0aW9uQ29tbWVudF0gb2YgYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmVudHJpZXMoKSkge1xuICAgIGNvbnN0IG5leHRTZWN0aW9uTGluZSA9XG4gICAgICBhbmFseXNpcy5zZWN0aW9uQ29tbWVudHNbaW5kZXggKyAxXT8uY29tbWVudC5sb2Muc3RhcnQubGluZTtcbiAgICBjb25zdCBoYXNDb2RlSW5TZWN0aW9uID0gYW5hbHlzaXMuc3RhdGVtZW50cy5zb21lKChzdGF0ZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudExpbmUgPSBzdGF0ZW1lbnQubm9kZS5sb2Muc3RhcnQubGluZTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgc3RhdGVtZW50TGluZSA+IHNlY3Rpb25Db21tZW50LmNvbW1lbnQubG9jLnN0YXJ0LmxpbmUgJiZcbiAgICAgICAgKG5leHRTZWN0aW9uTGluZSA9PT0gdm9pZCAwIHx8IHN0YXRlbWVudExpbmUgPCBuZXh0U2VjdGlvbkxpbmUpXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgaWYgKCFoYXNDb2RlSW5TZWN0aW9uKSB7XG4gICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgIGRhdGE6IHsgc2VjdGlvbjogc2VjdGlvbkNvbW1lbnQucGhhc2VzLmpvaW4oXCIgJiBcIikgfSxcbiAgICAgICAgbWVzc2FnZUlkOiBcImVtcHR5U2VjdGlvblwiLFxuICAgICAgICBub2RlOiBzZWN0aW9uQ29tbWVudC5jb21tZW50LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUmVwb3J0cyBhbnkgQUFBIHNlY3Rpb24gbWFya2VycyB0aGF0IGFyZSBtaXNzaW5nIGZyb20gYSBzdXBwb3J0ZWQgdGVzdCBibG9jay5cbiAqIEBwYXJhbSBjb250ZXh0IEVTTGludCBydWxlIGNvbnRleHQuXG4gKiBAcGFyYW0gYW5hbHlzaXMgUGFyc2VkIHRlc3QtYmxvY2sgYW5hbHlzaXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogcmVwb3J0TWlzc2luZ1NlY3Rpb25zKHsgcmVwb3J0KCkge30gfSBhcyBuZXZlciwgeyBzZWN0aW9uQ29tbWVudHM6IFtdIH0gYXMgbmV2ZXIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHJlcG9ydE1pc3NpbmdTZWN0aW9ucyhcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgYW5hbHlzaXM6IFRlc3RCbG9ja0FuYWx5c2lzLFxuKTogdm9pZCB7XG4gIGNvbnN0IHByZXNlbnRTZWN0aW9ucyA9IG5ldyBTZXQoXG4gICAgYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmZsYXRNYXAoKHNlY3Rpb25Db21tZW50KSA9PiBzZWN0aW9uQ29tbWVudC5waGFzZXMpLFxuICApO1xuICBjb25zdCBoYXNQcmVTZWN0aW9uU3RhdGVtZW50cyA9IGFuYWx5c2lzLnN0YXRlbWVudHMuc29tZShcbiAgICAoc3RhdGVtZW50KSA9PiBzdGF0ZW1lbnQucGhhc2VzLmxlbmd0aCA9PT0gMCxcbiAgKTtcbiAgY29uc3QgbWlzc2luZ1NlY3Rpb25zID0gKFtcIkFycmFuZ2VcIiwgXCJBY3RcIiwgXCJBc3NlcnRcIl0gYXMgY29uc3QpLmZpbHRlcihcbiAgICAocGhhc2UpID0+XG4gICAgICAhcHJlc2VudFNlY3Rpb25zLmhhcyhwaGFzZSkgJiZcbiAgICAgIChwaGFzZSAhPT0gXCJBcnJhbmdlXCIgfHwgaGFzUHJlU2VjdGlvblN0YXRlbWVudHMpLFxuICApO1xuXG4gIGlmIChtaXNzaW5nU2VjdGlvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgZml4ID1cbiAgICBhbmFseXNpcy5ib2R5TGluZUNvdW50ID49IDNcbiAgICAgID8gKGZpeGVyOiBSdWxlLlJ1bGVGaXhlcik6IFJ1bGUuRml4W10gPT5cbiAgICAgICAgICBidWlsZE1pc3NpbmdTZWN0aW9uRml4ZXMoYW5hbHlzaXMsIG1pc3NpbmdTZWN0aW9ucywgZml4ZXIpXG4gICAgICA6IHZvaWQgMDtcblxuICBjb250ZXh0LnJlcG9ydCh7XG4gICAgZGF0YTogeyBzZWN0aW9uczogbWlzc2luZ1NlY3Rpb25zLmpvaW4oXCIsIFwiKSB9LFxuICAgIC4uLihmaXggIT09IHZvaWQgMCAmJiB7IGZpeCB9KSxcbiAgICBtZXNzYWdlSWQ6IFwibWlzc2luZ1NlY3Rpb25zXCIsXG4gICAgbm9kZTogYW5hbHlzaXMuY2FsbEV4cHJlc3Npb24sXG4gICAgLi4uKGZpeCAhPT0gdm9pZCAwICYmIHtcbiAgICAgIHN1Z2dlc3Q6IFt7IGZpeCwgbWVzc2FnZUlkOiBcImFkZE1pc3NpbmdTZWN0aW9uc1wiIH1dLFxuICAgIH0pLFxuICB9KTtcbn1cblxuLyoqXG4gKiBSZXBvcnRzIHNlY3Rpb24gY29tbWVudHMgdGhhdCBhcHBlYXIgb3V0IG9mIGNhbm9uaWNhbCBBcnJhbmdlIC0+IEFjdCAtPiBBc3NlcnQgb3JkZXIuXG4gKiBAcGFyYW0gY29udGV4dCBFU0xpbnQgcnVsZSBjb250ZXh0LlxuICogQHBhcmFtIGFuYWx5c2lzIFBhcnNlZCB0ZXN0LWJsb2NrIGFuYWx5c2lzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIHJlcG9ydE91dE9mT3JkZXJTZWN0aW9ucyh7IHJlcG9ydCgpIHt9IH0gYXMgbmV2ZXIsIHsgc2VjdGlvbkNvbW1lbnRzOiBbXSB9IGFzIG5ldmVyKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiByZXBvcnRPdXRPZk9yZGVyU2VjdGlvbnMoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIGFuYWx5c2lzOiBUZXN0QmxvY2tBbmFseXNpcyxcbik6IHZvaWQge1xuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYW5hbHlzaXMuc2VjdGlvbkNvbW1lbnRzLmxlbmd0aCAtIDE7IGluZGV4ICs9IDEpIHtcbiAgICBjb25zdCBwcmV2aW91cyA9IGFuYWx5c2lzLnNlY3Rpb25Db21tZW50c1tpbmRleF07XG4gICAgY29uc3QgY3VycmVudCA9IGFuYWx5c2lzLnNlY3Rpb25Db21tZW50c1tpbmRleCArIDFdO1xuXG4gICAgaWYgKHByZXZpb3VzID09PSB2b2lkIDAgfHwgY3VycmVudCA9PT0gdm9pZCAwKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXhQcmV2aW91c09yZGVyID0gTWF0aC5tYXgoXG4gICAgICAuLi5wcmV2aW91cy5waGFzZXMubWFwKChwaGFzZSkgPT4gYWFhUGhhc2VPcmRlcltwaGFzZV0pLFxuICAgICk7XG4gICAgY29uc3QgbWluQ3VycmVudE9yZGVyID0gTWF0aC5taW4oXG4gICAgICAuLi5jdXJyZW50LnBoYXNlcy5tYXAoKHBoYXNlKSA9PiBhYWFQaGFzZU9yZGVyW3BoYXNlXSksXG4gICAgKTtcblxuICAgIGlmIChtaW5DdXJyZW50T3JkZXIgPD0gbWF4UHJldmlvdXNPcmRlcikge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBkYXRhOiB7IHNlY3Rpb246IGN1cnJlbnQucGhhc2VzLmpvaW4oXCIgJiBcIikgfSxcbiAgICAgICAgbWVzc2FnZUlkOiBcIm91dE9mT3JkZXJTZWN0aW9uXCIsXG4gICAgICAgIG5vZGU6IGN1cnJlbnQuY29tbWVudCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFRyYWNrcyB0aGUgY3VycmVudCBBQUEgb3JkZXJpbmcgc3RhdGUgZm9yIG9uZSBmbGF0dGVuZWQgc2VjdGlvbi5cbiAqIEBwYXJhbSBpbnB1dCBDb21wb3NpdGUgb3JkZXJpbmcgc3RhdGUgZm9yIHRoZSBjdXJyZW50IHNlY3Rpb24uXG4gKiBAcmV0dXJucyBVcGRhdGVkIHBoYXNlIG9yZGVyIHdhdGVybWFyay5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBuZXh0T3JkZXIgPSB1cGRhdGVTZWN0aW9uT3JkZXIoeyBjb250ZXh0OiB7fSBhcyBSdWxlLlJ1bGVDb250ZXh0LCBsYXN0UGhhc2VPcmRlcjogLTEsIHNlY3Rpb246IHt9IGFzIG5ldmVyLCBzZWVuUGhhc2VzOiBuZXcgU2V0KCkgfSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgdXBkYXRlU2VjdGlvbk9yZGVyID0gKGlucHV0OiBVcGRhdGVTZWN0aW9uT3JkZXJJbnB1dCk6IG51bWJlciA9PiB7XG4gIGNvbnN0IHsgY29udGV4dCwgbGFzdFBoYXNlT3JkZXIsIHNlY3Rpb24sIHNlZW5QaGFzZXMgfSA9IGlucHV0O1xuXG4gIGlmIChzZWVuUGhhc2VzLmhhcyhzZWN0aW9uLnBoYXNlKSkge1xuICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgIGRhdGE6IHsgc2VjdGlvbjogc2VjdGlvbi5waGFzZSB9LFxuICAgICAgbWVzc2FnZUlkOiBcImR1cGxpY2F0ZVNlY3Rpb25cIixcbiAgICAgIG5vZGU6IHNlY3Rpb24uY29tbWVudCxcbiAgICB9KTtcbiAgICByZXR1cm4gbGFzdFBoYXNlT3JkZXI7XG4gIH1cblxuICBjb25zdCBjdXJyZW50UGhhc2VPcmRlciA9IGFhYVBoYXNlT3JkZXJbc2VjdGlvbi5waGFzZV07XG4gIGlmIChjdXJyZW50UGhhc2VPcmRlciA8IGxhc3RQaGFzZU9yZGVyKSB7XG4gICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgZGF0YTogeyBzZWN0aW9uOiBzZWN0aW9uLnBoYXNlIH0sXG4gICAgICBtZXNzYWdlSWQ6IFwiaW52YWxpZE9yZGVyXCIsXG4gICAgICBub2RlOiBzZWN0aW9uLmNvbW1lbnQsXG4gICAgfSk7XG4gIH1cblxuICBzZWVuUGhhc2VzLmFkZChzZWN0aW9uLnBoYXNlKTtcbiAgcmV0dXJuIE1hdGgubWF4KGxhc3RQaGFzZU9yZGVyLCBjdXJyZW50UGhhc2VPcmRlcik7XG59O1xuXG5leHBvcnQgdHlwZSB7IEZsYXR0ZW5lZFNlY3Rpb25QaGFzZSB9O1xuZXhwb3J0IHtcbiAgcmVwb3J0QmxhbmtMaW5lU2VwYXJhdG9ycyxcbiAgcmVwb3J0Q29kZUJlZm9yZUFycmFuZ2UsXG4gIHJlcG9ydEVtcHR5U2VjdGlvbnMsXG4gIHJlcG9ydE1pc3NpbmdTZWN0aW9ucyxcbiAgcmVwb3J0T3V0T2ZPcmRlclNlY3Rpb25zLFxuICB1cGRhdGVTZWN0aW9uT3JkZXIsXG59O1xuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/enforce-aaa-structure/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAiBnC,kFAAkF;AAClF,QAAA,MAAM,uBAAuB,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/enforce-aaa-structure/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAiBnC,kFAAkF;AAClF,QAAA,MAAM,uBAAuB,EAAE,IAAI,CAAC,UAwEnC,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
|
|
@@ -33,8 +33,11 @@ const enforceAaaStructureRule = {
|
|
|
33
33
|
meta: {
|
|
34
34
|
docs: createRuleDocumentation("enforce-aaa-structure", "Require explicit AAA markers, enforce section order and uniqueness, and keep setup, action, and assertions in their intended phases."),
|
|
35
35
|
fixable: "code",
|
|
36
|
+
hasSuggestions: true,
|
|
36
37
|
messages: {
|
|
37
38
|
actionInArrange: "Keep the function under test out of Arrange; reserve Arrange for setup only.",
|
|
39
|
+
addBlankLineBeforeSection: "Insert a blank line before the // {{section}} section comment.",
|
|
40
|
+
addMissingSections: "Add the missing AAA section comments: {{sections}}.",
|
|
38
41
|
assertionOutsideAssert: "Move assertions into the // Assert section so test logic does not leak earlier.",
|
|
39
42
|
asyncInArrange: "Do not trigger async behavior in Arrange.",
|
|
40
43
|
awaitOutsideAct: "Use await only inside the // Act section.",
|
|
@@ -55,4 +58,4 @@ const enforceAaaStructureRule = {
|
|
|
55
58
|
},
|
|
56
59
|
};
|
|
57
60
|
export { enforceAaaStructureRule };
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9lbmZvcmNlLWFhYS1zdHJ1Y3R1cmUvcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNqRyxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2QixtQkFBbUIsRUFDbkIscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN4QixrQkFBa0IsR0FDbkIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxrRkFBa0Y7QUFDbEYsTUFBTSx1QkFBdUIsR0FBb0I7SUFDL0MsTUFBTSxFQUFFLENBQUMsT0FBeUIsRUFBcUIsRUFBRSxDQUN2RCxDQUFDO1FBQ0MsY0FBYyxDQUFDLElBQUk7WUFDakIsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ2pELElBQUksUUFBUSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLE9BQU87WUFDVCxDQUFDO1lBRUQsTUFBTSxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN6RCxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztZQUNwRCxJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUV4QixLQUFLLE1BQU0sT0FBTyxJQUFJLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3hDLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTztvQkFDUCxjQUFjO29CQUNkLE9BQU87b0JBQ1AsVUFBVTtpQkFDWCxDQUFDLENBQUM7WUFDTCxDQUFDO1lBRUQscUJBQXFCLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3pDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN2Qyx3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDNUMsdUJBQXVCLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzNDLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM3QywyQkFBMkIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDakQsQ0FBQztLQUNGLENBQTZCO0lBQ2hDLElBQUksRUFBRTtRQUNKLElBQUksRUFBRSx1QkFBdUIsQ0FDM0IsdUJBQXVCLEVBQ3ZCLHNJQUFzSSxDQUN2STtRQUNELE9BQU8sRUFBRSxNQUFNO1FBQ2YsY0FBYyxFQUFFLElBQUk7UUFDcEIsUUFBUSxFQUFFO1lBQ1IsZUFBZSxFQUNiLDhFQUE4RTtZQUNoRix5QkFBeUIsRUFDdkIsZ0VBQWdFO1lBQ2xFLGtCQUFrQixFQUFFLHFEQUFxRDtZQUN6RSxzQkFBc0IsRUFDcEIsaUZBQWlGO1lBQ25GLGNBQWMsRUFBRSwyQ0FBMkM7WUFDM0QsZUFBZSxFQUFFLDJDQUEyQztZQUM1RCxzQkFBc0IsRUFDcEIsZ0VBQWdFO1lBQ2xFLGlCQUFpQixFQUNmLG1FQUFtRTtZQUNyRSxnQkFBZ0IsRUFDZCw0REFBNEQ7WUFDOUQsWUFBWSxFQUNWLDRFQUE0RTtZQUM5RSxZQUFZLEVBQ1YsMkZBQTJGO1lBQzdGLG9CQUFvQixFQUNsQixnR0FBZ0c7WUFDbEcsZUFBZSxFQUFFLHFEQUFxRDtZQUN0RSxnQkFBZ0IsRUFDZCwyREFBMkQ7WUFDN0Qsb0JBQW9CLEVBQ2xCLDhFQUE4RTtZQUNoRixpQkFBaUIsRUFDZiwwREFBMEQ7WUFDNUQsYUFBYSxFQUNYLDJFQUEyRTtTQUM5RTtRQUNELE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLFNBQVM7S0FDaEI7Q0FDRixDQUFDO0FBRUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB0eXBlIHsgRmxhdHRlbmVkU2VjdGlvblBoYXNlIH0gZnJvbSBcIi4vcnVsZS1zZWN0aW9uLXJlcG9ydGluZ1wiO1xuXG5pbXBvcnQgeyBjcmVhdGVSdWxlRG9jdW1lbnRhdGlvbiB9IGZyb20gXCIuLi8uLi9jdXN0b20tcnVsZS1kb2N1bWVudGF0aW9uXCI7XG5pbXBvcnQgeyBhbmFseXplVGVzdEJsb2NrIH0gZnJvbSBcIi4uL2FhYS9hbmFseXplci5hbmFseXNpc1wiO1xuaW1wb3J0IHsgZ2V0RmxhdHRlbmVkU2VjdGlvbnMgfSBmcm9tIFwiLi4vYWFhL2FuYWx5emVyLmFuYWx5c2lzLmhlbHBlcnNcIjtcbmltcG9ydCB7IHJlcG9ydFBoYXNlUHVyaXR5VmlvbGF0aW9ucyB9IGZyb20gXCIuLi9lbmZvcmNlLWFhYS1waGFzZS1wdXJpdHkvcGhhc2UtcHVyaXR5LXJlcG9ydGluZ1wiO1xuaW1wb3J0IHtcbiAgcmVwb3J0QmxhbmtMaW5lU2VwYXJhdG9ycyxcbiAgcmVwb3J0Q29kZUJlZm9yZUFycmFuZ2UsXG4gIHJlcG9ydEVtcHR5U2VjdGlvbnMsXG4gIHJlcG9ydE1pc3NpbmdTZWN0aW9ucyxcbiAgcmVwb3J0T3V0T2ZPcmRlclNlY3Rpb25zLFxuICB1cGRhdGVTZWN0aW9uT3JkZXIsXG59IGZyb20gXCIuL3J1bGUtc2VjdGlvbi1yZXBvcnRpbmdcIjtcblxuLyoqIEVuZm9yY2VzIGEgc2luZ2xlIEFycmFuZ2UvQWN0L0Fzc2VydCBzZXF1ZW5jZSBpbnNpZGUgc3VwcG9ydGVkIHRlc3QgYmxvY2tzLiAqL1xuY29uc3QgZW5mb3JjZUFhYVN0cnVjdHVyZVJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlOiAoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyID0+XG4gICAgKHtcbiAgICAgIENhbGxFeHByZXNzaW9uKG5vZGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYW5hbHlzaXMgPSBhbmFseXplVGVzdEJsb2NrKGNvbnRleHQsIG5vZGUpO1xuICAgICAgICBpZiAoYW5hbHlzaXMgPT09IHZvaWQgMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZsYXR0ZW5lZFNlY3Rpb25zID0gZ2V0RmxhdHRlbmVkU2VjdGlvbnMoYW5hbHlzaXMpO1xuICAgICAgICBjb25zdCBzZWVuUGhhc2VzID0gbmV3IFNldDxGbGF0dGVuZWRTZWN0aW9uUGhhc2U+KCk7XG4gICAgICAgIGxldCBsYXN0UGhhc2VPcmRlciA9IC0xO1xuXG4gICAgICAgIGZvciAoY29uc3Qgc2VjdGlvbiBvZiBmbGF0dGVuZWRTZWN0aW9ucykge1xuICAgICAgICAgIGxhc3RQaGFzZU9yZGVyID0gdXBkYXRlU2VjdGlvbk9yZGVyKHtcbiAgICAgICAgICAgIGNvbnRleHQsXG4gICAgICAgICAgICBsYXN0UGhhc2VPcmRlcixcbiAgICAgICAgICAgIHNlY3Rpb24sXG4gICAgICAgICAgICBzZWVuUGhhc2VzLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVwb3J0TWlzc2luZ1NlY3Rpb25zKGNvbnRleHQsIGFuYWx5c2lzKTtcbiAgICAgICAgcmVwb3J0RW1wdHlTZWN0aW9ucyhjb250ZXh0LCBhbmFseXNpcyk7XG4gICAgICAgIHJlcG9ydE91dE9mT3JkZXJTZWN0aW9ucyhjb250ZXh0LCBhbmFseXNpcyk7XG4gICAgICAgIHJlcG9ydENvZGVCZWZvcmVBcnJhbmdlKGNvbnRleHQsIGFuYWx5c2lzKTtcbiAgICAgICAgcmVwb3J0QmxhbmtMaW5lU2VwYXJhdG9ycyhjb250ZXh0LCBhbmFseXNpcyk7XG4gICAgICAgIHJlcG9ydFBoYXNlUHVyaXR5VmlvbGF0aW9ucyhjb250ZXh0LCBhbmFseXNpcyk7XG4gICAgICB9LFxuICAgIH0pIHNhdGlzZmllcyBSdWxlLlJ1bGVMaXN0ZW5lcixcbiAgbWV0YToge1xuICAgIGRvY3M6IGNyZWF0ZVJ1bGVEb2N1bWVudGF0aW9uKFxuICAgICAgXCJlbmZvcmNlLWFhYS1zdHJ1Y3R1cmVcIixcbiAgICAgIFwiUmVxdWlyZSBleHBsaWNpdCBBQUEgbWFya2VycywgZW5mb3JjZSBzZWN0aW9uIG9yZGVyIGFuZCB1bmlxdWVuZXNzLCBhbmQga2VlcCBzZXR1cCwgYWN0aW9uLCBhbmQgYXNzZXJ0aW9ucyBpbiB0aGVpciBpbnRlbmRlZCBwaGFzZXMuXCIsXG4gICAgKSxcbiAgICBmaXhhYmxlOiBcImNvZGVcIixcbiAgICBoYXNTdWdnZXN0aW9uczogdHJ1ZSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgYWN0aW9uSW5BcnJhbmdlOlxuICAgICAgICBcIktlZXAgdGhlIGZ1bmN0aW9uIHVuZGVyIHRlc3Qgb3V0IG9mIEFycmFuZ2U7IHJlc2VydmUgQXJyYW5nZSBmb3Igc2V0dXAgb25seS5cIixcbiAgICAgIGFkZEJsYW5rTGluZUJlZm9yZVNlY3Rpb246XG4gICAgICAgIFwiSW5zZXJ0IGEgYmxhbmsgbGluZSBiZWZvcmUgdGhlIC8vIHt7c2VjdGlvbn19IHNlY3Rpb24gY29tbWVudC5cIixcbiAgICAgIGFkZE1pc3NpbmdTZWN0aW9uczogXCJBZGQgdGhlIG1pc3NpbmcgQUFBIHNlY3Rpb24gY29tbWVudHM6IHt7c2VjdGlvbnN9fS5cIixcbiAgICAgIGFzc2VydGlvbk91dHNpZGVBc3NlcnQ6XG4gICAgICAgIFwiTW92ZSBhc3NlcnRpb25zIGludG8gdGhlIC8vIEFzc2VydCBzZWN0aW9uIHNvIHRlc3QgbG9naWMgZG9lcyBub3QgbGVhayBlYXJsaWVyLlwiLFxuICAgICAgYXN5bmNJbkFycmFuZ2U6IFwiRG8gbm90IHRyaWdnZXIgYXN5bmMgYmVoYXZpb3IgaW4gQXJyYW5nZS5cIixcbiAgICAgIGF3YWl0T3V0c2lkZUFjdDogXCJVc2UgYXdhaXQgb25seSBpbnNpZGUgdGhlIC8vIEFjdCBzZWN0aW9uLlwiLFxuICAgICAgYmxhbmtMaW5lQmVmb3JlU2VjdGlvbjpcbiAgICAgICAgXCJJbnNlcnQgYSBibGFuayBsaW5lIGJlZm9yZSB0aGUgLy8ge3tzZWN0aW9ufX0gc2VjdGlvbiBjb21tZW50LlwiLFxuICAgICAgY29kZUJlZm9yZUFycmFuZ2U6XG4gICAgICAgIFwiTW92ZSBzZXR1cCBzdGF0ZW1lbnRzIGJlbG93IHRoZSBmaXJzdCAvLyBBcnJhbmdlIHNlY3Rpb24gY29tbWVudC5cIixcbiAgICAgIGR1cGxpY2F0ZVNlY3Rpb246XG4gICAgICAgIFwiVXNlIHRoZSAvLyB7e3NlY3Rpb259fSBzZWN0aW9uIGNvbW1lbnQgb25seSBvbmNlIHBlciB0ZXN0LlwiLFxuICAgICAgZW1wdHlTZWN0aW9uOlxuICAgICAgICBcIlRoZSAvLyB7e3NlY3Rpb259fSBzZWN0aW9uIG11c3QgY29udGFpbiBjb2RlOyBjb21tZW50cyBhbG9uZSBkbyBub3QgY291bnQuXCIsXG4gICAgICBpbnZhbGlkT3JkZXI6XG4gICAgICAgIFwiTW92ZSB0aGUgLy8ge3tzZWN0aW9ufX0gc2VjdGlvbiBjb21tZW50IHNvIEFBQSBwaGFzZXMgc3RheSBpbiBBcnJhbmdlLCBBY3QsIEFzc2VydCBvcmRlci5cIixcbiAgICAgIG1pc3NpbmdNZWFuaW5nZnVsQWN0OlxuICAgICAgICBcIlRoZSAvLyBBY3Qgc2VjdGlvbiBtdXN0IGNvbnRhaW4gYSBtZWFuaW5nZnVsIFNVVCBpbnRlcmFjdGlvbiwgbm90IG9ubHkgdXRpbGl0eSBvciBzZXR1cCBjYWxscy5cIixcbiAgICAgIG1pc3NpbmdTZWN0aW9uczogXCJBZGQgdGhlIG1pc3NpbmcgQUFBIHNlY3Rpb24gY29tbWVudHM6IHt7c2VjdGlvbnN9fS5cIixcbiAgICAgIG11dGF0aW9uQWZ0ZXJBY3Q6XG4gICAgICAgIFwiRG8gbm90IG11dGF0ZSB0ZXN0IGRhdGEgYWZ0ZXIgdGhlIC8vIEFjdCBzZWN0aW9uIGhhcyBydW4uXCIsXG4gICAgICBub25Bc3NlcnRpb25JbkFzc2VydDpcbiAgICAgICAgXCJLZWVwIHRoZSAvLyBBc3NlcnQgc2VjdGlvbiBmb2N1c2VkIG9uIGFzc2VydGlvbnMgYW5kIGFzc2VydGlvbi1sb2NhbCB2YWx1ZXMuXCIsXG4gICAgICBvdXRPZk9yZGVyU2VjdGlvbjpcbiAgICAgICAgXCJUaGUgLy8ge3tzZWN0aW9ufX0gc2VjdGlvbiBjb21tZW50IGFwcGVhcnMgb3V0IG9mIG9yZGVyLlwiLFxuICAgICAgc2V0dXBBZnRlckFjdDpcbiAgICAgICAgXCJEbyBub3QgY29udGludWUgYXJyYW5naW5nIHRlc3QgZGF0YSBhZnRlciB0aGUgLy8gQWN0IHNlY3Rpb24gaGFzIHN0YXJ0ZWQuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6IFwicHJvYmxlbVwiLFxuICB9LFxufTtcblxuZXhwb3J0IHsgZW5mb3JjZUFhYVN0cnVjdHVyZVJ1bGUgfTtcbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAKnC,4DAA4D;AAC5D,QAAA,MAAM,iCAAiC,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/no-unsafe-vitest-mock-factory-cast/rule.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAKnC,4DAA4D;AAC5D,QAAA,MAAM,iCAAiC,EAAE,IAAI,CAAC,UA0C7C,CAAC;AAEF,OAAO,EAAE,iCAAiC,EAAE,CAAC"}
|
|
@@ -8,12 +8,16 @@ const noUnsafeVitestMockFactoryCastRule = {
|
|
|
8
8
|
if (match === void 0) {
|
|
9
9
|
return;
|
|
10
10
|
}
|
|
11
|
+
const fix = match.canAutofix
|
|
12
|
+
? (fixer) => buildFixes(context, fixer, match)
|
|
13
|
+
: void 0;
|
|
11
14
|
context.report({
|
|
12
|
-
fix
|
|
13
|
-
? (fixer) => buildFixes(context, fixer, match)
|
|
14
|
-
: void 0,
|
|
15
|
+
...(fix !== void 0 && { fix }),
|
|
15
16
|
messageId: "noUnsafeVitestMockFactoryCast",
|
|
16
17
|
node: match.node,
|
|
18
|
+
...(fix !== void 0 && {
|
|
19
|
+
suggest: [{ fix, messageId: "replaceWithCreateMockProxy" }],
|
|
20
|
+
}),
|
|
17
21
|
});
|
|
18
22
|
},
|
|
19
23
|
}),
|
|
@@ -24,12 +28,14 @@ const noUnsafeVitestMockFactoryCastRule = {
|
|
|
24
28
|
url: "https://github.com/parloti/eslint-plugin/blob/main/docs/rules/no-unsafe-vitest-mock-factory-cast.md",
|
|
25
29
|
},
|
|
26
30
|
fixable: "code",
|
|
31
|
+
hasSuggestions: true,
|
|
27
32
|
messages: {
|
|
28
33
|
noUnsafeVitestMockFactoryCast: "Avoid casting vi.mock/vi.doMock factory results; use createMockProxy(...) with a type-only module import instead.",
|
|
34
|
+
replaceWithCreateMockProxy: "Replace the casted factory with createMockProxy(...).",
|
|
29
35
|
},
|
|
30
36
|
schema: [],
|
|
31
37
|
type: "problem",
|
|
32
38
|
},
|
|
33
39
|
};
|
|
34
40
|
export { noUnsafeVitestMockFactoryCastRule };
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9uby11bnNhZmUtdml0ZXN0LW1vY2stZmFjdG9yeS1jYXN0L3J1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlDLDREQUE0RDtBQUM1RCxNQUFNLGlDQUFpQyxHQUFvQjtJQUN6RCxNQUFNLEVBQUUsQ0FBQyxPQUF5QixFQUFxQixFQUFFLENBQ3ZELENBQUM7UUFDQyxjQUFjLENBQUMsSUFBSTtZQUNqQixNQUFNLEtBQUssR0FBRyxtQkFBbUIsQ0FBQyxJQUErQixDQUFDLENBQUM7WUFDbkUsSUFBSSxLQUFLLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDckIsT0FBTztZQUNULENBQUM7WUFFRCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsVUFBVTtnQkFDMUIsQ0FBQyxDQUFDLENBQUMsS0FBcUIsRUFBYyxFQUFFLENBQ3BDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztnQkFDckMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRVgsT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFDYixHQUFHLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUM7Z0JBQzlCLFNBQVMsRUFBRSwrQkFBK0I7Z0JBQzFDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtnQkFDaEIsR0FBRyxDQUFDLEdBQUcsS0FBSyxLQUFLLENBQUMsSUFBSTtvQkFDcEIsT0FBTyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLDRCQUE0QixFQUFFLENBQUM7aUJBQzVELENBQUM7YUFDSCxDQUFDLENBQUM7UUFDTCxDQUFDO0tBQ0YsQ0FBNkI7SUFDaEMsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFO1lBQ0osV0FBVyxFQUNULDJHQUEyRztZQUM3RyxXQUFXLEVBQUUsSUFBSTtZQUNqQixHQUFHLEVBQUUscUdBQXFHO1NBQzNHO1FBQ0QsT0FBTyxFQUFFLE1BQU07UUFDZixjQUFjLEVBQUUsSUFBSTtRQUNwQixRQUFRLEVBQUU7WUFDUiw2QkFBNkIsRUFDM0IsbUhBQW1IO1lBQ3JILDBCQUEwQixFQUN4Qix1REFBdUQ7U0FDMUQ7UUFDRCxNQUFNLEVBQUUsRUFBRTtRQUNWLElBQUksRUFBRSxTQUFTO0tBQ2hCO0NBQ0YsQ0FBQztBQUVGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBUU0VTVHJlZSB9IGZyb20gXCJAdHlwZXNjcmlwdC1lc2xpbnQvdXRpbHNcIjtcbmltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgZ2V0TW9ja0ZhY3RvcnlNYXRjaCB9IGZyb20gXCIuL3J1bGUtZGV0ZWN0aW9uXCI7XG5pbXBvcnQgeyBidWlsZEZpeGVzIH0gZnJvbSBcIi4vcnVsZS1yZXBvcnRpbmdcIjtcblxuLyoqIERpc2FsbG93cyBjYXN0ZWQgYHZpLm1vY2tgIGFuZCBgdmkuZG9Nb2NrYCBmYWN0b3JpZXMuICovXG5jb25zdCBub1Vuc2FmZVZpdGVzdE1vY2tGYWN0b3J5Q2FzdFJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlOiAoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyID0+XG4gICAgKHtcbiAgICAgIENhbGxFeHByZXNzaW9uKG5vZGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbWF0Y2ggPSBnZXRNb2NrRmFjdG9yeU1hdGNoKG5vZGUgYXMgVFNFU1RyZWUuQ2FsbEV4cHJlc3Npb24pO1xuICAgICAgICBpZiAobWF0Y2ggPT09IHZvaWQgMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpeCA9IG1hdGNoLmNhbkF1dG9maXhcbiAgICAgICAgICA/IChmaXhlcjogUnVsZS5SdWxlRml4ZXIpOiBSdWxlLkZpeFtdID0+XG4gICAgICAgICAgICAgIGJ1aWxkRml4ZXMoY29udGV4dCwgZml4ZXIsIG1hdGNoKVxuICAgICAgICAgIDogdm9pZCAwO1xuXG4gICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAuLi4oZml4ICE9PSB2b2lkIDAgJiYgeyBmaXggfSksXG4gICAgICAgICAgbWVzc2FnZUlkOiBcIm5vVW5zYWZlVml0ZXN0TW9ja0ZhY3RvcnlDYXN0XCIsXG4gICAgICAgICAgbm9kZTogbWF0Y2gubm9kZSxcbiAgICAgICAgICAuLi4oZml4ICE9PSB2b2lkIDAgJiYge1xuICAgICAgICAgICAgc3VnZ2VzdDogW3sgZml4LCBtZXNzYWdlSWQ6IFwicmVwbGFjZVdpdGhDcmVhdGVNb2NrUHJveHlcIiB9XSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgIH0pIHNhdGlzZmllcyBSdWxlLlJ1bGVMaXN0ZW5lcixcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIkRpc2FsbG93IGNhc3RlZCB2aS5tb2NrIGFuZCB2aS5kb01vY2sgZmFjdG9yaWVzIGFuZCBwcmVmZXIgY3JlYXRlTW9ja1Byb3h5KC4uLikgZm9yIHBhcnRpYWwgbW9kdWxlIG1vY2tzLlwiLFxuICAgICAgcmVjb21tZW5kZWQ6IHRydWUsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9naXRodWIuY29tL3BhcmxvdGkvZXNsaW50LXBsdWdpbi9ibG9iL21haW4vZG9jcy9ydWxlcy9uby11bnNhZmUtdml0ZXN0LW1vY2stZmFjdG9yeS1jYXN0Lm1kXCIsXG4gICAgfSxcbiAgICBmaXhhYmxlOiBcImNvZGVcIixcbiAgICBoYXNTdWdnZXN0aW9uczogdHJ1ZSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgbm9VbnNhZmVWaXRlc3RNb2NrRmFjdG9yeUNhc3Q6XG4gICAgICAgIFwiQXZvaWQgY2FzdGluZyB2aS5tb2NrL3ZpLmRvTW9jayBmYWN0b3J5IHJlc3VsdHM7IHVzZSBjcmVhdGVNb2NrUHJveHkoLi4uKSB3aXRoIGEgdHlwZS1vbmx5IG1vZHVsZSBpbXBvcnQgaW5zdGVhZC5cIixcbiAgICAgIHJlcGxhY2VXaXRoQ3JlYXRlTW9ja1Byb3h5OlxuICAgICAgICBcIlJlcGxhY2UgdGhlIGNhc3RlZCBmYWN0b3J5IHdpdGggY3JlYXRlTW9ja1Byb3h5KC4uLikuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6IFwicHJvYmxlbVwiLFxuICB9LFxufTtcblxuZXhwb3J0IHsgbm9VbnNhZmVWaXRlc3RNb2NrRmFjdG9yeUNhc3RSdWxlIH07XG4iXX0=
|
|
@@ -18,4 +18,4 @@ function buildImportStatement(moduleSpecifier, defaultImportName, names) {
|
|
|
18
18
|
: `import ${defaultImportName}, ${namedText} from ${moduleText};`;
|
|
19
19
|
}
|
|
20
20
|
export { buildImportStatement };
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4LWltcG9ydC1zdGF0ZW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi90ZXN0aW5nL3ByZWZlci12aS1tb2NrZWQtaW1wb3J0L2ZpeC1pbXBvcnQtc3RhdGVtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7R0FXRztBQUNILFNBQVMsb0JBQW9CLENBQzNCLGVBQXVCLEVBQ3ZCLGlCQUFxQyxFQUNyQyxLQUF3QjtJQUV4QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sU0FBUyxHQUFHLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBRTVDLE9BQU8saUJBQWlCLEtBQUssS0FBSyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxVQUFVLFNBQVMsU0FBUyxVQUFVLEdBQUc7UUFDM0MsQ0FBQyxDQUFDLFVBQVUsaUJBQWlCLEtBQUssU0FBUyxTQUFTLFVBQVUsR0FBRyxDQUFDO0FBQ3RFLENBQUM7QUFFRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ3JlYXRlcyBhbiBpbXBvcnQgc3RhdGVtZW50IHN0cmluZyBmcm9tIGltcG9ydCBwYXJ0cy5cbiAqIEBwYXJhbSBtb2R1bGVTcGVjaWZpZXIgTW9kdWxlIHBhdGggdXNlZCBpbiB0aGUgZ2VuZXJhdGVkIHN0YXRlbWVudC5cbiAqIEBwYXJhbSBkZWZhdWx0SW1wb3J0TmFtZSBFeGlzdGluZyBkZWZhdWx0LWltcG9ydCBsb2NhbCBpZGVudGlmaWVyLCB3aGVuIHByZXNlbnQuXG4gKiBAcGFyYW0gbmFtZXMgTmFtZWQgaW1wb3J0cyB0byBpbmNsdWRlIGluIGJyYWNlcy5cbiAqIEByZXR1cm5zIEZ1bGx5IGZvcm1hdHRlZCBpbXBvcnQgc3RhdGVtZW50IHRleHQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgdGV4dCA9IGJ1aWxkSW1wb3J0U3RhdGVtZW50KFwiLi94XCIsIHZvaWQgMCwgW1wiYVwiXSk7XG4gKiB2b2lkIHRleHQ7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gYnVpbGRJbXBvcnRTdGF0ZW1lbnQoXG4gIG1vZHVsZVNwZWNpZmllcjogc3RyaW5nLFxuICBkZWZhdWx0SW1wb3J0TmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBuYW1lczogcmVhZG9ubHkgc3RyaW5nW10sXG4pOiBzdHJpbmcge1xuICBjb25zdCBtb2R1bGVUZXh0ID0gSlNPTi5zdHJpbmdpZnkobW9kdWxlU3BlY2lmaWVyKTtcbiAgY29uc3QgbmFtZWRUZXh0ID0gYHsgJHtuYW1lcy5qb2luKFwiLCBcIil9IH1gO1xuXG4gIHJldHVybiBkZWZhdWx0SW1wb3J0TmFtZSA9PT0gdm9pZCAwXG4gICAgPyBgaW1wb3J0ICR7bmFtZWRUZXh0fSBmcm9tICR7bW9kdWxlVGV4dH07YFxuICAgIDogYGltcG9ydCAke2RlZmF1bHRJbXBvcnROYW1lfSwgJHtuYW1lZFRleHR9IGZyb20gJHttb2R1bGVUZXh0fTtgO1xufVxuXG5leHBvcnQgeyBidWlsZEltcG9ydFN0YXRlbWVudCB9O1xuIl19
|
|
@@ -43,4 +43,4 @@ function toCombinedUpdateFix(plan, fixer) {
|
|
|
43
43
|
return fixer.replaceTextRange(range, statementText);
|
|
44
44
|
}
|
|
45
45
|
export { buildCombinedUpdateFixes };
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4LWltcG9ydC11cGRhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi90ZXN0aW5nL3ByZWZlci12aS1tb2NrZWQtaW1wb3J0L2ZpeC1pbXBvcnQtdXBkYXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQW1CL0Q7Ozs7Ozs7Ozs7R0FVRztBQUNILFNBQVMsd0JBQXdCLENBQy9CLGFBQWtELEVBQ2xELEtBQXFCO0lBRXJCLE9BQU8sYUFBYTtTQUNqQixNQUFNLEVBQUU7U0FDUixPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUNoQixNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFbkQsT0FBTyxTQUFTLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRCxDQUFDLENBQUM7U0FDRCxPQUFPLEVBQUUsQ0FBQztBQUNmLENBQUM7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FDMUIsSUFBNEIsRUFDNUIsS0FBcUI7SUFFckIsTUFBTSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBRWhELElBQUksTUFBTSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdEIsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUNsRSxNQUFNLFdBQVcsR0FBRztRQUNsQixHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDO0tBQ2hELENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFFLE1BQU0sYUFBYSxHQUFHLG9CQUFvQixDQUN4QyxlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLFdBQVcsQ0FDWixDQUFDO0lBRUYsT0FBTyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBQ3RELENBQUM7QUFFRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHsgYnVpbGRJbXBvcnRTdGF0ZW1lbnQgfSBmcm9tIFwiLi9maXgtaW1wb3J0LXN0YXRlbWVudHNcIjtcblxuLyoqIENvbWJpbmVkIGltcG9ydCB3b3JrIGZvciBvbmUgbW9kdWxlIGFjcm9zcyBhbGwgbWF0Y2hlcy4gKi9cbmludGVyZmFjZSBDb21iaW5lZEltcG9ydFBsYW5MaWtlIHtcbiAgLyoqIE1vZHVsZSBpbXBvcnRlZCBieSB0aGlzIHBsYW4uICovXG4gIG1vZHVsZVNwZWNpZmllcjogc3RyaW5nO1xuICAvKiogTmFtZWQgaW1wb3J0cyByZXF1aXJlZCBmb3IgdGhpcyBtb2R1bGUuICovXG4gIG5hbWVzOiBTZXQ8c3RyaW5nPjtcbiAgLyoqIEV4aXN0aW5nIGltcG9ydCByZXBsYWNlbWVudCBwbGFuIHdoZW4gcHJlc2VudC4gKi9cbiAgdXBkYXRlPzoge1xuICAgIC8qKiBFeGlzdGluZyBkZWZhdWx0IGltcG9ydCBsb2NhbCBuYW1lLiAqL1xuICAgIGRlZmF1bHRJbXBvcnROYW1lPzogc3RyaW5nO1xuICAgIC8qKiBFeGlzdGluZyBuYW1lZCBpbXBvcnRzIGFscmVhZHkgcHJlc2VudC4gKi9cbiAgICBleGlzdGluZ05hbWVkSW1wb3J0czogc3RyaW5nW107XG4gICAgLyoqIEltcG9ydCByYW5nZSB0byByZXBsYWNlLiAqL1xuICAgIHJhbmdlOiBbbnVtYmVyLCBudW1iZXJdO1xuICB9O1xufVxuXG4vKipcbiAqIEJ1aWxkcyByZXBsYWNlbWVudCBmaXhlcyBmb3IgZXhpc3RpbmcgY29tcGF0aWJsZSBpbXBvcnRzLlxuICogQHBhcmFtIGNvbWJpbmVkUGxhbnMgQ29tYmluZWQgcGxhbnMga2V5ZWQgYnkgbW9kdWxlIHNwZWNpZmllci5cbiAqIEBwYXJhbSBmaXhlciBFU0xpbnQgZml4ZXIuXG4gKiBAcmV0dXJucyBSZXBsYWNlbWVudCBmaXhlcyBmb3IgZXhpc3RpbmcgaW1wb3J0cy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBmaXhlcyA9IGJ1aWxkQ29tYmluZWRVcGRhdGVGaXhlcyhuZXcgTWFwKCksIHt9IGFzIG5ldmVyKTtcbiAqIHZvaWQgZml4ZXM7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gYnVpbGRDb21iaW5lZFVwZGF0ZUZpeGVzKFxuICBjb21iaW5lZFBsYW5zOiBNYXA8c3RyaW5nLCBDb21iaW5lZEltcG9ydFBsYW5MaWtlPixcbiAgZml4ZXI6IFJ1bGUuUnVsZUZpeGVyLFxuKTogUnVsZS5GaXhbXSB7XG4gIHJldHVybiBjb21iaW5lZFBsYW5zXG4gICAgLnZhbHVlcygpXG4gICAgLmZsYXRNYXAoKHBsYW4pID0+IHtcbiAgICAgIGNvbnN0IHVwZGF0ZUZpeCA9IHRvQ29tYmluZWRVcGRhdGVGaXgocGxhbiwgZml4ZXIpO1xuXG4gICAgICByZXR1cm4gdXBkYXRlRml4ID09PSB2b2lkIDAgPyBbXSA6IFt1cGRhdGVGaXhdO1xuICAgIH0pXG4gICAgLnRvQXJyYXkoKTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSByZXBsYWNlbWVudCBmaXggZm9yIG9uZSBjb21iaW5lZCB1cGRhdGUgcGxhbi5cbiAqIEBwYXJhbSBwbGFuIENvbWJpbmVkIGltcG9ydCBwbGFuIGZvciBvbmUgbW9kdWxlLlxuICogQHBhcmFtIGZpeGVyIEVTTGludCBmaXhlci5cbiAqIEByZXR1cm5zIFJlcGxhY2VtZW50IGZpeCB3aGVuIHRoZSBtb2R1bGUgYWxyZWFkeSBoYXMgYSBjb21wYXRpYmxlIGltcG9ydC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBmaXggPSB0b0NvbWJpbmVkVXBkYXRlRml4KHsgbW9kdWxlU3BlY2lmaWVyOiBcIi4veFwiLCBuYW1lczogbmV3IFNldCgpIH0gYXMgbmV2ZXIsIHt9IGFzIG5ldmVyKTtcbiAqIHZvaWQgZml4O1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHRvQ29tYmluZWRVcGRhdGVGaXgoXG4gIHBsYW46IENvbWJpbmVkSW1wb3J0UGxhbkxpa2UsXG4gIGZpeGVyOiBSdWxlLlJ1bGVGaXhlcixcbik6IFJ1bGUuRml4IHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgeyBtb2R1bGVTcGVjaWZpZXIsIG5hbWVzLCB1cGRhdGUgfSA9IHBsYW47XG5cbiAgaWYgKHVwZGF0ZSA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuXG4gIGNvbnN0IHsgZGVmYXVsdEltcG9ydE5hbWUsIGV4aXN0aW5nTmFtZWRJbXBvcnRzLCByYW5nZSB9ID0gdXBkYXRlO1xuICBjb25zdCBtZXJnZWROYW1lcyA9IFtcbiAgICAuLi5uZXcgU2V0KFsuLi5uYW1lcywgLi4uZXhpc3RpbmdOYW1lZEltcG9ydHNdKSxcbiAgXS50b1NvcnRlZCgobGVmdCwgcmlnaHQpID0+IChsZWZ0ID09PSByaWdodCA/IDAgOiBsZWZ0IDwgcmlnaHQgPyAtMSA6IDEpKTtcbiAgY29uc3Qgc3RhdGVtZW50VGV4dCA9IGJ1aWxkSW1wb3J0U3RhdGVtZW50KFxuICAgIG1vZHVsZVNwZWNpZmllcixcbiAgICBkZWZhdWx0SW1wb3J0TmFtZSxcbiAgICBtZXJnZWROYW1lcyxcbiAgKTtcblxuICByZXR1cm4gZml4ZXIucmVwbGFjZVRleHRSYW5nZShyYW5nZSwgc3RhdGVtZW50VGV4dCk7XG59XG5cbmV4cG9ydCB7IGJ1aWxkQ29tYmluZWRVcGRhdGVGaXhlcyB9O1xuIl19
|
|
@@ -207,4 +207,4 @@ function mergeImportPlanUpdate(combinedPlan, match) {
|
|
|
207
207
|
}
|
|
208
208
|
}
|
|
209
209
|
export { buildCombinedImportFixes };
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4LWltcG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvcHJlZmVyLXZpLW1vY2tlZC1pbXBvcnQvZml4LWltcG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFzQmhFOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxrQkFBa0IsQ0FDekIsWUFBc0MsRUFDdEMsSUFBd0I7SUFFeEIsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDM0QsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMzQyxDQUFDO0lBRUYsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkQsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0MsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFMUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ25CLG9CQUFvQixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQ2hFLENBQUM7SUFDRixLQUFLLENB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RUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLDBCQUEwQixDQUNqQyxZQUFnQyxFQUNoQyxLQUFnQjtJQUVoQixJQUNFLFlBQVksQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDO1FBQ2xDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFVBQVUsS0FBSyxLQUFLLENBQUMsRUFDOUMsQ0FBQztRQUNELFlBQVksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQy9ELENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLG9CQUFvQixDQUMzQixZQUFnQyxFQUNoQyxLQUFlO0lBRWYsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QixZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxxQkFBcUIsQ0FDNUIsWUFBZ0MsRUFDaEMsS0FBZ0I7SUFFaEIsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekUsWUFBWSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUNoRCxDQUFDO0FBQ0gsQ0FBQztBQUVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xyXG5cclxuaW1wb3J0IHR5cGUgeyBSYW5nZSB9IGZyb20gXCIuL21hdGNoLWhlbHBlcnNcIjtcclxuaW1wb3J0IHR5cGUgeyBSdWxlTWF0Y2ggfSBmcm9tIFwiLi90eXBlc1wiO1xyXG5cclxuaW1wb3J0IHsgYnVpbGRJbXBvcnRTdGF0ZW1lbnQgfSBmcm9tIFwiLi9maXgtaW1wb3J0LXN0YXRlbWVudHNcIjtcclxuaW1wb3J0IHsgYnVpbGRDb21iaW5lZFVwZGF0ZUZpeGVzIH0gZnJvbSBcIi4vZml4LWltcG9ydC11cGRhdGVzXCI7XHJcblxyXG4vKiogQ29tYmluZWQgaW1wb3J0IHdvcmsgZm9yIG9uZSBtb2R1bGUgYWNyb3NzIGFsbCBtYXRjaGVzLiAqL1xyXG5pbnRlcmZhY2UgQ29tYmluZWRJbXBvcnRQbGFuIHtcclxuICAvKiogSW5zZXJ0IGxvY2F0aW9uIGZvciBhIG5ldyBpbXBvcnQuICovXHJcbiAgYWZ0ZXJSYW5nZT86IFJhbmdlO1xyXG4gIC8qKiBNb2R1bGUgaW1wb3J0ZWQgYnkgdGhpcyBwbGFuLiAqL1xyXG4gIG1vZHVsZVNwZWNpZmllcjogc3RyaW5nO1xyXG4gIC8qKiBOYW1lZCBpbXBvcnRzIHJlcXVpcmVkIGZvciB0aGlzIG1vZHVsZS4gKi9cclxuICBuYW1lczogU2V0PHN0cmluZz47XHJcbiAgLyoqIEV4aXN0aW5nIGltcG9ydCByZXBsYWNlbWVudCBwbGFuIHdoZW4gcHJlc2VudC4gKi9cclxuICB1cGRhdGU/OiBOb25OdWxsYWJsZTxSdWxlTWF0Y2hbXCJpbXBvcnRQbGFuXCJdW1widXBkYXRlXCJdPjtcclxufVxyXG5cclxuLyoqIEltcG9ydCBzdGF0ZW1lbnRzIGdyb3VwZWQgYnkgaW5zZXJ0aW9uIHBvaW50LiAqL1xyXG5pbnRlcmZhY2UgSW5zZXJ0R3JvdXAge1xyXG4gIC8qKiBJbnNlcnQgbG9jYXRpb24gZm9yIHRoaXMgZ3JvdXAuICovXHJcbiAgYWZ0ZXJSYW5nZT86IFJhbmdlO1xyXG4gIC8qKiBTdGF0ZW1lbnRzIGVtaXR0ZWQgYXQgdGhlIHNhbWUgaW5zZXJ0aW9uIHBvaW50LiAqL1xyXG4gIHN0YXRlbWVudHM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcyBvbmUgaW1wb3J0IHN0YXRlbWVudCB0byBpdHMgaW5zZXJ0aW9uIGdyb3VwLlxyXG4gKiBAcGFyYW0gaW5zZXJ0R3JvdXBzIEltcG9ydCBzdGF0ZW1lbnRzIGdyb3VwZWQgYnkgaW5zZXJ0aW9uIHBvaW50LlxyXG4gKiBAcGFyYW0gcGxhbiBDb21iaW5lZCBpbXBvcnQgcGxhbiBmb3Igb25lIG1vZHVsZS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBhZGRJbnNlcnRTdGF0ZW1lbnQobmV3IE1hcCgpLCB7IG1vZHVsZVNwZWNpZmllcjogXCIuL3hcIiwgbmFtZXM6IG5ldyBTZXQoW1wiYVwiXSkgfSBhcyBuZXZlcik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gYWRkSW5zZXJ0U3RhdGVtZW50KFxyXG4gIGluc2VydEdyb3VwczogTWFwPHN0cmluZywgSW5zZXJ0R3JvdXA+LFxyXG4gIHBsYW46IENvbWJpbmVkSW1wb3J0UGxhbixcclxuKTogdm9pZCB7XHJcbiAgY29uc3Qgc29ydGVkTmFtZXMgPSBbLi4ucGxhbi5uYW1lc10udG9Tb3J0ZWQoKGxlZnQsIHJpZ2h0KSA9PlxyXG4gICAgbGVmdCA9PT0gcmlnaHQgPyAwIDogbGVmdCA8IHJpZ2h0ID8gLTEgOiAxLFxyXG4gICk7XHJcblxyXG4gIGlmIChzb3J0ZWROYW1lcy5sZW5ndGggPT09IDAgfHwgcGxhbi51cGRhdGUgIT09IHZvaWQgMCkge1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgY29uc3Qga2V5ID0gZ2V0SW5zZXJ0R3JvdXBLZXkocGxhbi5hZnRlclJhbmdlKTtcclxuICBjb25zdCBncm91cCA9IGluc2VydEdyb3Vwcy5nZXQoa2V5KSA/PyBjcmVhdGVJbnNlcnRHcm91cChwbGFuLmFmdGVyUmFuZ2UpO1xyXG5cclxuICBncm91cC5zdGF0ZW1lbnRzLnB1c2goXHJcbiAgICBidWlsZEltcG9ydFN0YXRlbWVudChwbGFuLm1vZHVsZVNwZWNpZmllciwgdm9pZCAwLCBzb3J0ZWROYW1lcyksXHJcbiAgKTtcclxuICBncm91cC5zdGF0ZW1lbnRzLnNvcnQoKGxlZnQsIHJpZ2h0KSA9PiBsZWZ0LmxvY2FsZUNvbXBhcmUocmlnaHQpKTtcclxuICBpbnNlcnRHcm91cHMuc2V0KGtleSwgZ3JvdXApO1xyXG59XHJcblxyXG4vKipcclxuICogQnVpbGRzIHNoYXJlZCBpbXBvcnQgZml4ZXMgZm9yIGV2ZXJ5IGZpbGUgbWF0Y2guXHJcbiAqIEBwYXJhbSBtYXRjaGVzIEF1dG9maXggY29udGV4dHMgcHJvZHVjZWQgYnkgdGhlIG1hdGNoZXIuXHJcbiAqIEBwYXJhbSBmaXhlciBFU0xpbnQgZml4ZXIuXHJcbiAqIEByZXR1cm5zIEltcG9ydCBmaXhlcyBkZS1kdXBsaWNhdGVkIGJ5IG1vZHVsZSBhbmQgaW5zZXJ0aW9uIHNpdGUuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgZml4ZXMgPSBidWlsZENvbWJpbmVkSW1wb3J0Rml4ZXMoW10sIHt9IGFzIG5ldmVyKTtcclxuICogdm9pZCBmaXhlcztcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBidWlsZENvbWJpbmVkSW1wb3J0Rml4ZXMoXHJcbiAgbWF0Y2hlczogUnVsZU1hdGNoW10sXHJcbiAgZml4ZXI6IFJ1bGUuUnVsZUZpeGVyLFxyXG4pOiBSdWxlLkZpeFtdIHtcclxuICBjb25zdCBuZXdsaW5lID0gbWF0Y2hlc1swXT8ubmV3bGluZSA/PyBcIlxcblwiO1xyXG4gIGNvbnN0IGNvbWJpbmVkUGxhbnMgPSBjb21iaW5lSW1wb3J0UGxhbnMobWF0Y2hlcyk7XHJcbiAgY29uc3QgaW5zZXJ0R3JvdXBzID0gY29sbGVjdEluc2VydEdyb3Vwcyhjb21iaW5lZFBsYW5zKTtcclxuXHJcbiAgcmV0dXJuIFtcclxuICAgIC4uLmJ1aWxkQ29tYmluZWRVcGRhdGVGaXhlcyhjb21iaW5lZFBsYW5zLCBmaXhlciksXHJcbiAgICAuLi5idWlsZEluc2VydEdyb3VwRml4ZXMoaW5zZXJ0R3JvdXBzLCBmaXhlciwgbmV3bGluZSksXHJcbiAgXTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEJ1aWxkcyBncm91cGVkIGluc2VydGlvbiBmaXhlcyBmb3IgbmV3IGltcG9ydHMuXHJcbiAqIEBwYXJhbSBpbnNlcnRHcm91cHMgSW1wb3J0IHN0YXRlbWVudHMgZ3JvdXBlZCBieSBpbnNlcnRpb24gc2l0ZS5cclxuICogQHBhcmFtIGZpeGVyIEVTTGludCBmaXhlci5cclxuICogQHBhcmFtIG5ld2xpbmUgUHJlZmVycmVkIGZpbGUgbmV3bGluZS5cclxuICogQHJldHVybnMgSW5zZXJ0IGZpeGVzIGZvciBuZXcgaW1wb3J0cy5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBmaXhlcyA9IGJ1aWxkSW5zZXJ0R3JvdXBGaXhlcyhuZXcgTWFwKCksIHt9IGFzIG5ldmVyLCBcIlxcblwiKTtcclxuICogdm9pZCBmaXhlcztcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBidWlsZEluc2VydEdyb3VwRml4ZXMoXHJcbiAgaW5zZXJ0R3JvdXBzOiBNYXA8c3RyaW5nLCBJbnNlcnRHcm91cD4sXHJcbiAgZml4ZXI6IFJ1bGUuUnVsZUZpeGVyLFxyXG4gIG5ld2xpbmU6IFwiXFxuXCIgfCBcIlxcclxcblwiLFxyXG4pOiBSdWxlLkZpeFtdIHtcclxuICByZXR1cm4gaW5zZXJ0R3JvdXBzXHJcbiAgICAudmFsdWVzKClcclxuICAgIC5tYXAoKGdyb3VwKSA9PlxyXG4gICAgICBncm91cC5hZnRlclJhbmdlID09PSB2b2lkIDBcclxuICAgICAgICA/IGZpeGVyLmluc2VydFRleHRCZWZvcmVSYW5nZShcclxuICAgICAgICAgICAgWzAsIDBdLFxyXG4gICAgICAgICAgICBgJHtncm91cC5zdGF0ZW1lbnRzLmpvaW4obmV3bGluZSl9JHtuZXdsaW5lfSR7bmV3bGluZX1gLFxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIDogZml4ZXIuaW5zZXJ0VGV4dEFmdGVyUmFuZ2UoXHJcbiAgICAgICAgICAgIGdyb3VwLmFmdGVyUmFuZ2UsXHJcbiAgICAgICAgICAgIGAke25ld2xpbmV9JHtncm91cC5zdGF0ZW1lbnRzLmpvaW4obmV3bGluZSl9YCxcclxuICAgICAgICAgICksXHJcbiAgICApXHJcbiAgICAudG9BcnJheSgpO1xyXG59XHJcblxyXG4vKipcclxuICogQ29sbGVjdHMgaW5zZXJ0IGdyb3VwcyBrZXllZCBieSBpbnNlcnRpb24gcG9pbnQuXHJcbiAqIEBwYXJhbSBjb21iaW5lZFBsYW5zIENvbWJpbmVkIHBsYW5zIGtleWVkIGJ5IG1vZHVsZSBzcGVjaWZpZXIuXHJcbiAqIEByZXR1cm5zIEltcG9ydCBzdGF0ZW1lbnRzIGdyb3VwZWQgYnkgaW5zZXJ0aW9uIHBvaW50LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IGdyb3VwcyA9IGNvbGxlY3RJbnNlcnRHcm91cHMobmV3IE1hcCgpKTtcclxuICogdm9pZCBncm91cHM7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gY29sbGVjdEluc2VydEdyb3VwcyhcclxuICBjb21iaW5lZFBsYW5zOiBNYXA8c3RyaW5nLCBDb21iaW5lZEltcG9ydFBsYW4+LFxyXG4pOiBNYXA8c3RyaW5nLCBJbnNlcnRHcm91cD4ge1xyXG4gIGNvbnN0IGluc2VydEdyb3VwcyA9IG5ldyBNYXA8c3RyaW5nLCBJbnNlcnRHcm91cD4oKTtcclxuXHJcbiAgZm9yIChjb25zdCBwbGFuIG9mIGNvbWJpbmVkUGxhbnMudmFsdWVzKCkpIHtcclxuICAgIGFkZEluc2VydFN0YXRlbWVudChpbnNlcnRHcm91cHMsIHBsYW4pO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGluc2VydEdyb3VwcztcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbWJpbmVzIGltcG9ydCBwbGFucyBhY3Jvc3MgZXZlcnkgZmlsZSBtYXRjaC5cclxuICogQHBhcmFtIG1hdGNoZXMgQXV0b2ZpeCBjb250ZXh0cyBwcm9kdWNlZCBieSB0aGUgbWF0Y2hlci5cclxuICogQHJldHVybnMgQ29tYmluZWQgcGxhbnMga2V5ZWQgYnkgbW9kdWxlIHNwZWNpZmllci5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBwbGFucyA9IGNvbWJpbmVJbXBvcnRQbGFucyhbXSk7XHJcbiAqIHZvaWQgcGxhbnM7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gY29tYmluZUltcG9ydFBsYW5zKFxyXG4gIG1hdGNoZXM6IFJ1bGVNYXRjaFtdLFxyXG4pOiBNYXA8c3RyaW5nLCBDb21iaW5lZEltcG9ydFBsYW4+IHtcclxuICBjb25zdCBjb21iaW5lZFBsYW5zID0gbmV3IE1hcDxzdHJpbmcsIENvbWJpbmVkSW1wb3J0UGxhbj4oKTtcclxuXHJcbiAgZm9yIChjb25zdCBtYXRjaCBvZiBtYXRjaGVzKSB7XHJcbiAgICBtZXJnZUltcG9ydFBsYW4oY29tYmluZWRQbGFucywgbWF0Y2gpO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGNvbWJpbmVkUGxhbnM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIHRoZSBpbml0aWFsIGNvbWJpbmVkIHBsYW4gZm9yIG9uZSBtYXRjaC5cclxuICogQHBhcmFtIG1hdGNoIEF1dG9maXggY29udGV4dCBwcm9kdWNlZCBieSB0aGUgbWF0Y2hlci5cclxuICogQHJldHVybnMgQ29tYmluZWQgaW1wb3J0IHBsYW4gc2VlZC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBwbGFuID0gY3JlYXRlQ29tYmluZWRJbXBvcnRQbGFuKHsgbW9kdWxlU3BlY2lmaWVyOiBcIi4veFwiLCBpbXBvcnRQbGFuOiB7IG5hbWVzOiBbXSB9IH0gYXMgbmV2ZXIpO1xyXG4gKiB2b2lkIHBsYW47XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gY3JlYXRlQ29tYmluZWRJbXBvcnRQbGFuKG1hdGNoOiBSdWxlTWF0Y2gpOiBDb21iaW5lZEltcG9ydFBsYW4ge1xyXG4gIGNvbnN0IGNvbWJpbmVkUGxhbjogQ29tYmluZWRJbXBvcnRQbGFuID0ge1xyXG4gICAgbW9kdWxlU3BlY2lmaWVyOiBtYXRjaC5tb2R1bGVTcGVjaWZpZXIsXHJcbiAgICBuYW1lczogbmV3IFNldChtYXRjaC5pbXBvcnRQbGFuLm5hbWVzKSxcclxuICB9O1xyXG5cclxuICBpZiAobWF0Y2guaW1wb3J0UGxhbi5pbnNlcnQ/LmFmdGVyUmFuZ2UgIT09IHZvaWQgMCkge1xyXG4gICAgY29tYmluZWRQbGFuLmFmdGVyUmFuZ2UgPSBtYXRjaC5pbXBvcnRQbGFuLmluc2VydC5hZnRlclJhbmdlO1xyXG4gIH1cclxuXHJcbiAgaWYgKG1hdGNoLmltcG9ydFBsYW4udXBkYXRlICE9PSB2b2lkIDApIHtcclxuICAgIGNvbWJpbmVkUGxhbi51cGRhdGUgPSBtYXRjaC5pbXBvcnRQbGFuLnVwZGF0ZTtcclxuICB9XHJcblxyXG4gIHJldHVybiBjb21iaW5lZFBsYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIGFuIGluc2VydGlvbiBncm91cCBmb3Igb25lIGxvY2F0aW9uLlxyXG4gKiBAcGFyYW0gYWZ0ZXJSYW5nZSBJbnNlcnQgbG9jYXRpb24gZm9yIHRoZSBncm91cC5cclxuICogQHJldHVybnMgSW5zZXJ0IGdyb3VwIHNlZWQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgZ3JvdXAgPSBjcmVhdGVJbnNlcnRHcm91cCh2b2lkIDApO1xyXG4gKiB2b2lkIGdyb3VwO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGNyZWF0ZUluc2VydEdyb3VwKGFmdGVyUmFuZ2U6IFJhbmdlIHwgdW5kZWZpbmVkKTogSW5zZXJ0R3JvdXAge1xyXG4gIHJldHVybiBhZnRlclJhbmdlID09PSB2b2lkIDBcclxuICAgID8geyBzdGF0ZW1lbnRzOiBbXSB9XHJcbiAgICA6IHsgYWZ0ZXJSYW5nZSwgc3RhdGVtZW50czogW10gfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENyZWF0ZXMgYSBzdGFibGUga2V5IGZvciBhbiBpbnNlcnQgbG9jYXRpb24uXHJcbiAqIEBwYXJhbSBhZnRlclJhbmdlIEluc2VydCBsb2NhdGlvbiB3aGVuIGEgbmV3IGltcG9ydCBtdXN0IGJlIGluc2VydGVkLlxyXG4gKiBAcmV0dXJucyBTdGFibGUga2V5IGZvciB0aGUgaW5zZXJ0aW9uIHNpdGUuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3Qga2V5ID0gZ2V0SW5zZXJ0R3JvdXBLZXkodm9pZCAwKTtcclxuICogdm9pZCBrZXk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0SW5zZXJ0R3JvdXBLZXkoYWZ0ZXJSYW5nZTogUmFuZ2UgfCB1bmRlZmluZWQpOiBzdHJpbmcge1xyXG4gIHJldHVybiBhZnRlclJhbmdlID09PSB2b2lkIDBcclxuICAgID8gXCJUT1BcIlxyXG4gICAgOiBgJHthZnRlclJhbmdlWzBdLnRvRml4ZWQoMCl9OiR7YWZ0ZXJSYW5nZVsxXS50b0ZpeGVkKDApfWA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNZXJnZXMgb25lIG1hdGNoIGludG8gdGhlIGNvbWJpbmVkIGltcG9ydC1wbGFuIG1hcC5cclxuICogQHBhcmFtIGNvbWJpbmVkUGxhbnMgQ29tYmluZWQgcGxhbnMga2V5ZWQgYnkgbW9kdWxlIHNwZWNpZmllci5cclxuICogQHBhcmFtIG1hdGNoIEF1dG9maXggY29udGV4dCBwcm9kdWNlZCBieSB0aGUgbWF0Y2hlci5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBtZXJnZUltcG9ydFBsYW4obmV3IE1hcCgpLCB7fSBhcyBuZXZlcik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gbWVyZ2VJbXBvcnRQbGFuKFxyXG4gIGNvbWJpbmVkUGxhbnM6IE1hcDxzdHJpbmcsIENvbWJpbmVkSW1wb3J0UGxhbj4sXHJcbiAgbWF0Y2g6IFJ1bGVNYXRjaCxcclxuKTogdm9pZCB7XHJcbiAgY29uc3QgY29tYmluZWRQbGFuID1cclxuICAgIGNvbWJpbmVkUGxhbnMuZ2V0KG1hdGNoLm1vZHVsZVNwZWNpZmllcikgPz8gY3JlYXRlQ29tYmluZWRJbXBvcnRQbGFuKG1hdGNoKTtcclxuXHJcbiAgbWVyZ2VJbXBvcnRQbGFuSW5zZXJ0UmFuZ2UoY29tYmluZWRQbGFuLCBtYXRjaCk7XHJcbiAgbWVyZ2VJbXBvcnRQbGFuTmFtZXMoY29tYmluZWRQbGFuLCBtYXRjaC5pbXBvcnRQbGFuLm5hbWVzKTtcclxuICBtZXJnZUltcG9ydFBsYW5VcGRhdGUoY29tYmluZWRQbGFuLCBtYXRjaCk7XHJcbiAgY29tYmluZWRQbGFucy5zZXQobWF0Y2gubW9kdWxlU3BlY2lmaWVyLCBjb21iaW5lZFBsYW4pO1xyXG59XHJcblxyXG4vKipcclxuICogTWVyZ2VzIHRoZSBmaXJzdCBkaXNjb3ZlcmVkIGluc2VydCByYW5nZSBmb3IgYSBtb2R1bGUuXHJcbiAqIEBwYXJhbSBjb21iaW5lZFBsYW4gQ29tYmluZWQgcGxhbiBmb3Igb25lIG1vZHVsZS5cclxuICogQHBhcmFtIG1hdGNoIEF1dG9maXggY29udGV4dCBwcm9kdWNlZCBieSB0aGUgbWF0Y2hlci5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBtZXJnZUltcG9ydFBsYW5JbnNlcnRSYW5nZSh7IG1vZHVsZVNwZWNpZmllcjogXCIuL3hcIiwgbmFtZXM6IG5ldyBTZXQoKSB9IGFzIG5ldmVyLCB7fSBhcyBuZXZlcik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gbWVyZ2VJbXBvcnRQbGFuSW5zZXJ0UmFuZ2UoXHJcbiAgY29tYmluZWRQbGFuOiBDb21iaW5lZEltcG9ydFBsYW4sXHJcbiAgbWF0Y2g6IFJ1bGVNYXRjaCxcclxuKTogdm9pZCB7XHJcbiAgaWYgKFxyXG4gICAgY29tYmluZWRQbGFuLmFmdGVyUmFuZ2UgPT09IHZvaWQgMCAmJlxyXG4gICAgbWF0Y2guaW1wb3J0UGxhbi5pbnNlcnQ/LmFmdGVyUmFuZ2UgIT09IHZvaWQgMFxyXG4gICkge1xyXG4gICAgY29tYmluZWRQbGFuLmFmdGVyUmFuZ2UgPSBtYXRjaC5pbXBvcnRQbGFuLmluc2VydC5hZnRlclJhbmdlO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIE1lcmdlcyBkaXNjb3ZlcmVkIGltcG9ydCBuYW1lcyBmb3IgYSBtb2R1bGUuXHJcbiAqIEBwYXJhbSBjb21iaW5lZFBsYW4gQ29tYmluZWQgcGxhbiBmb3Igb25lIG1vZHVsZS5cclxuICogQHBhcmFtIG5hbWVzIEFkZGl0aW9uYWwgaW1wb3J0IG5hbWVzLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIG1lcmdlSW1wb3J0UGxhbk5hbWVzKHsgbW9kdWxlU3BlY2lmaWVyOiBcIi4veFwiLCBuYW1lczogbmV3IFNldCgpIH0gYXMgbmV2ZXIsIFtcImFcIl0pO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIG1lcmdlSW1wb3J0UGxhbk5hbWVzKFxyXG4gIGNvbWJpbmVkUGxhbjogQ29tYmluZWRJbXBvcnRQbGFuLFxyXG4gIG5hbWVzOiBzdHJpbmdbXSxcclxuKTogdm9pZCB7XHJcbiAgZm9yIChjb25zdCBuYW1lIG9mIG5hbWVzKSB7XHJcbiAgICBjb21iaW5lZFBsYW4ubmFtZXMuYWRkKG5hbWUpO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIE1lcmdlcyB0aGUgZmlyc3QgZGlzY292ZXJlZCB1cGRhdGUgcGxhbiBmb3IgYSBtb2R1bGUuXHJcbiAqIEBwYXJhbSBjb21iaW5lZFBsYW4gQ29tYmluZWQgcGxhbiBmb3Igb25lIG1vZHVsZS5cclxuICogQHBhcmFtIG1hdGNoIEF1dG9maXggY29udGV4dCBwcm9kdWNlZCBieSB0aGUgbWF0Y2hlci5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBtZXJnZUltcG9ydFBsYW5VcGRhdGUoeyBtb2R1bGVTcGVjaWZpZXI6IFwiLi94XCIsIG5hbWVzOiBuZXcgU2V0KCkgfSBhcyBuZXZlciwge30gYXMgbmV2ZXIpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIG1lcmdlSW1wb3J0UGxhblVwZGF0ZShcclxuICBjb21iaW5lZFBsYW46IENvbWJpbmVkSW1wb3J0UGxhbixcclxuICBtYXRjaDogUnVsZU1hdGNoLFxyXG4pOiB2b2lkIHtcclxuICBpZiAoY29tYmluZWRQbGFuLnVwZGF0ZSA9PT0gdm9pZCAwICYmIG1hdGNoLmltcG9ydFBsYW4udXBkYXRlICE9PSB2b2lkIDApIHtcclxuICAgIGNvbWJpbmVkUGxhbi51cGRhdGUgPSBtYXRjaC5pbXBvcnRQbGFuLnVwZGF0ZTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB7IGJ1aWxkQ29tYmluZWRJbXBvcnRGaXhlcyB9O1xyXG4iXX0=
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4LWltcG9ydHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvcHJlZmVyLXZpLW1vY2tlZC1pbXBvcnQvZml4LWltcG9ydHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFzQmhFOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxrQkFBa0IsQ0FDekIsWUFBc0MsRUFDdEMsSUFBd0I7SUFFeEIsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDM0QsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMzQyxDQUFDO0lBRUYsSUFBSSxXQUFXLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDdkQsT0FBTztJQUNULENBQUM7SUFFRCxNQUFNLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0MsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFMUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQ25CLG9CQUFvQixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQ2hFLENBQUM7SUFDRixLQUFLLENB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RUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLDBCQUEwQixDQUNqQyxZQUFnQyxFQUNoQyxLQUFnQjtJQUVoQixJQUNFLFlBQVksQ0FBQyxVQUFVLEtBQUssS0FBSyxDQUFDO1FBQ2xDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFVBQVUsS0FBSyxLQUFLLENBQUMsRUFDOUMsQ0FBQztRQUNELFlBQVksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQy9ELENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLG9CQUFvQixDQUMzQixZQUFnQyxFQUNoQyxLQUFlO0lBRWYsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QixZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0FBQ0gsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxxQkFBcUIsQ0FDNUIsWUFBZ0MsRUFDaEMsS0FBZ0I7SUFFaEIsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDekUsWUFBWSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUNoRCxDQUFDO0FBQ0gsQ0FBQztBQUVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgdHlwZSB7IFJhbmdlIH0gZnJvbSBcIi4vbWF0Y2gtaGVscGVyc1wiO1xuaW1wb3J0IHR5cGUgeyBSdWxlTWF0Y2ggfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5pbXBvcnQgeyBidWlsZEltcG9ydFN0YXRlbWVudCB9IGZyb20gXCIuL2ZpeC1pbXBvcnQtc3RhdGVtZW50c1wiO1xuaW1wb3J0IHsgYnVpbGRDb21iaW5lZFVwZGF0ZUZpeGVzIH0gZnJvbSBcIi4vZml4LWltcG9ydC11cGRhdGVzXCI7XG5cbi8qKiBDb21iaW5lZCBpbXBvcnQgd29yayBmb3Igb25lIG1vZHVsZSBhY3Jvc3MgYWxsIG1hdGNoZXMuICovXG5pbnRlcmZhY2UgQ29tYmluZWRJbXBvcnRQbGFuIHtcbiAgLyoqIEluc2VydCBsb2NhdGlvbiBmb3IgYSBuZXcgaW1wb3J0LiAqL1xuICBhZnRlclJhbmdlPzogUmFuZ2U7XG4gIC8qKiBNb2R1bGUgaW1wb3J0ZWQgYnkgdGhpcyBwbGFuLiAqL1xuICBtb2R1bGVTcGVjaWZpZXI6IHN0cmluZztcbiAgLyoqIE5hbWVkIGltcG9ydHMgcmVxdWlyZWQgZm9yIHRoaXMgbW9kdWxlLiAqL1xuICBuYW1lczogU2V0PHN0cmluZz47XG4gIC8qKiBFeGlzdGluZyBpbXBvcnQgcmVwbGFjZW1lbnQgcGxhbiB3aGVuIHByZXNlbnQuICovXG4gIHVwZGF0ZT86IE5vbk51bGxhYmxlPFJ1bGVNYXRjaFtcImltcG9ydFBsYW5cIl1bXCJ1cGRhdGVcIl0+O1xufVxuXG4vKiogSW1wb3J0IHN0YXRlbWVudHMgZ3JvdXBlZCBieSBpbnNlcnRpb24gcG9pbnQuICovXG5pbnRlcmZhY2UgSW5zZXJ0R3JvdXAge1xuICAvKiogSW5zZXJ0IGxvY2F0aW9uIGZvciB0aGlzIGdyb3VwLiAqL1xuICBhZnRlclJhbmdlPzogUmFuZ2U7XG4gIC8qKiBTdGF0ZW1lbnRzIGVtaXR0ZWQgYXQgdGhlIHNhbWUgaW5zZXJ0aW9uIHBvaW50LiAqL1xuICBzdGF0ZW1lbnRzOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBBZGRzIG9uZSBpbXBvcnQgc3RhdGVtZW50IHRvIGl0cyBpbnNlcnRpb24gZ3JvdXAuXG4gKiBAcGFyYW0gaW5zZXJ0R3JvdXBzIEltcG9ydCBzdGF0ZW1lbnRzIGdyb3VwZWQgYnkgaW5zZXJ0aW9uIHBvaW50LlxuICogQHBhcmFtIHBsYW4gQ29tYmluZWQgaW1wb3J0IHBsYW4gZm9yIG9uZSBtb2R1bGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogYWRkSW5zZXJ0U3RhdGVtZW50KG5ldyBNYXAoKSwgeyBtb2R1bGVTcGVjaWZpZXI6IFwiLi94XCIsIG5hbWVzOiBuZXcgU2V0KFtcImFcIl0pIH0gYXMgbmV2ZXIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGFkZEluc2VydFN0YXRlbWVudChcbiAgaW5zZXJ0R3JvdXBzOiBNYXA8c3RyaW5nLCBJbnNlcnRHcm91cD4sXG4gIHBsYW46IENvbWJpbmVkSW1wb3J0UGxhbixcbik6IHZvaWQge1xuICBjb25zdCBzb3J0ZWROYW1lcyA9IFsuLi5wbGFuLm5hbWVzXS50b1NvcnRlZCgobGVmdCwgcmlnaHQpID0+XG4gICAgbGVmdCA9PT0gcmlnaHQgPyAwIDogbGVmdCA8IHJpZ2h0ID8gLTEgOiAxLFxuICApO1xuXG4gIGlmIChzb3J0ZWROYW1lcy5sZW5ndGggPT09IDAgfHwgcGxhbi51cGRhdGUgIT09IHZvaWQgMCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGtleSA9IGdldEluc2VydEdyb3VwS2V5KHBsYW4uYWZ0ZXJSYW5nZSk7XG4gIGNvbnN0IGdyb3VwID0gaW5zZXJ0R3JvdXBzLmdldChrZXkpID8/IGNyZWF0ZUluc2VydEdyb3VwKHBsYW4uYWZ0ZXJSYW5nZSk7XG5cbiAgZ3JvdXAuc3RhdGVtZW50cy5wdXNoKFxuICAgIGJ1aWxkSW1wb3J0U3RhdGVtZW50KHBsYW4ubW9kdWxlU3BlY2lmaWVyLCB2b2lkIDAsIHNvcnRlZE5hbWVzKSxcbiAgKTtcbiAgZ3JvdXAuc3RhdGVtZW50cy5zb3J0KChsZWZ0LCByaWdodCkgPT4gbGVmdC5sb2NhbGVDb21wYXJlKHJpZ2h0KSk7XG4gIGluc2VydEdyb3Vwcy5zZXQoa2V5LCBncm91cCk7XG59XG5cbi8qKlxuICogQnVpbGRzIHNoYXJlZCBpbXBvcnQgZml4ZXMgZm9yIGV2ZXJ5IGZpbGUgbWF0Y2guXG4gKiBAcGFyYW0gbWF0Y2hlcyBBdXRvZml4IGNvbnRleHRzIHByb2R1Y2VkIGJ5IHRoZSBtYXRjaGVyLlxuICogQHBhcmFtIGZpeGVyIEVTTGludCBmaXhlci5cbiAqIEByZXR1cm5zIEltcG9ydCBmaXhlcyBkZS1kdXBsaWNhdGVkIGJ5IG1vZHVsZSBhbmQgaW5zZXJ0aW9uIHNpdGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZml4ZXMgPSBidWlsZENvbWJpbmVkSW1wb3J0Rml4ZXMoW10sIHt9IGFzIG5ldmVyKTtcbiAqIHZvaWQgZml4ZXM7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gYnVpbGRDb21iaW5lZEltcG9ydEZpeGVzKFxuICBtYXRjaGVzOiBSdWxlTWF0Y2hbXSxcbiAgZml4ZXI6IFJ1bGUuUnVsZUZpeGVyLFxuKTogUnVsZS5GaXhbXSB7XG4gIGNvbnN0IG5ld2xpbmUgPSBtYXRjaGVzWzBdPy5uZXdsaW5lID8/IFwiXFxuXCI7XG4gIGNvbnN0IGNvbWJpbmVkUGxhbnMgPSBjb21iaW5lSW1wb3J0UGxhbnMobWF0Y2hlcyk7XG4gIGNvbnN0IGluc2VydEdyb3VwcyA9IGNvbGxlY3RJbnNlcnRHcm91cHMoY29tYmluZWRQbGFucyk7XG5cbiAgcmV0dXJuIFtcbiAgICAuLi5idWlsZENvbWJpbmVkVXBkYXRlRml4ZXMoY29tYmluZWRQbGFucywgZml4ZXIpLFxuICAgIC4uLmJ1aWxkSW5zZXJ0R3JvdXBGaXhlcyhpbnNlcnRHcm91cHMsIGZpeGVyLCBuZXdsaW5lKSxcbiAgXTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgZ3JvdXBlZCBpbnNlcnRpb24gZml4ZXMgZm9yIG5ldyBpbXBvcnRzLlxuICogQHBhcmFtIGluc2VydEdyb3VwcyBJbXBvcnQgc3RhdGVtZW50cyBncm91cGVkIGJ5IGluc2VydGlvbiBzaXRlLlxuICogQHBhcmFtIGZpeGVyIEVTTGludCBmaXhlci5cbiAqIEBwYXJhbSBuZXdsaW5lIFByZWZlcnJlZCBmaWxlIG5ld2xpbmUuXG4gKiBAcmV0dXJucyBJbnNlcnQgZml4ZXMgZm9yIG5ldyBpbXBvcnRzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGZpeGVzID0gYnVpbGRJbnNlcnRHcm91cEZpeGVzKG5ldyBNYXAoKSwge30gYXMgbmV2ZXIsIFwiXFxuXCIpO1xuICogdm9pZCBmaXhlcztcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBidWlsZEluc2VydEdyb3VwRml4ZXMoXG4gIGluc2VydEdyb3VwczogTWFwPHN0cmluZywgSW5zZXJ0R3JvdXA+LFxuICBmaXhlcjogUnVsZS5SdWxlRml4ZXIsXG4gIG5ld2xpbmU6IFwiXFxuXCIgfCBcIlxcclxcblwiLFxuKTogUnVsZS5GaXhbXSB7XG4gIHJldHVybiBpbnNlcnRHcm91cHNcbiAgICAudmFsdWVzKClcbiAgICAubWFwKChncm91cCkgPT5cbiAgICAgIGdyb3VwLmFmdGVyUmFuZ2UgPT09IHZvaWQgMFxuICAgICAgICA/IGZpeGVyLmluc2VydFRleHRCZWZvcmVSYW5nZShcbiAgICAgICAgICAgIFswLCAwXSxcbiAgICAgICAgICAgIGAke2dyb3VwLnN0YXRlbWVudHMuam9pbihuZXdsaW5lKX0ke25ld2xpbmV9JHtuZXdsaW5lfWAsXG4gICAgICAgICAgKVxuICAgICAgICA6IGZpeGVyLmluc2VydFRleHRBZnRlclJhbmdlKFxuICAgICAgICAgICAgZ3JvdXAuYWZ0ZXJSYW5nZSxcbiAgICAgICAgICAgIGAke25ld2xpbmV9JHtncm91cC5zdGF0ZW1lbnRzLmpvaW4obmV3bGluZSl9YCxcbiAgICAgICAgICApLFxuICAgIClcbiAgICAudG9BcnJheSgpO1xufVxuXG4vKipcbiAqIENvbGxlY3RzIGluc2VydCBncm91cHMga2V5ZWQgYnkgaW5zZXJ0aW9uIHBvaW50LlxuICogQHBhcmFtIGNvbWJpbmVkUGxhbnMgQ29tYmluZWQgcGxhbnMga2V5ZWQgYnkgbW9kdWxlIHNwZWNpZmllci5cbiAqIEByZXR1cm5zIEltcG9ydCBzdGF0ZW1lbnRzIGdyb3VwZWQgYnkgaW5zZXJ0aW9uIHBvaW50LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGdyb3VwcyA9IGNvbGxlY3RJbnNlcnRHcm91cHMobmV3IE1hcCgpKTtcbiAqIHZvaWQgZ3JvdXBzO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNvbGxlY3RJbnNlcnRHcm91cHMoXG4gIGNvbWJpbmVkUGxhbnM6IE1hcDxzdHJpbmcsIENvbWJpbmVkSW1wb3J0UGxhbj4sXG4pOiBNYXA8c3RyaW5nLCBJbnNlcnRHcm91cD4ge1xuICBjb25zdCBpbnNlcnRHcm91cHMgPSBuZXcgTWFwPHN0cmluZywgSW5zZXJ0R3JvdXA+KCk7XG5cbiAgZm9yIChjb25zdCBwbGFuIG9mIGNvbWJpbmVkUGxhbnMudmFsdWVzKCkpIHtcbiAgICBhZGRJbnNlcnRTdGF0ZW1lbnQoaW5zZXJ0R3JvdXBzLCBwbGFuKTtcbiAgfVxuXG4gIHJldHVybiBpbnNlcnRHcm91cHM7XG59XG5cbi8qKlxuICogQ29tYmluZXMgaW1wb3J0IHBsYW5zIGFjcm9zcyBldmVyeSBmaWxlIG1hdGNoLlxuICogQHBhcmFtIG1hdGNoZXMgQXV0b2ZpeCBjb250ZXh0cyBwcm9kdWNlZCBieSB0aGUgbWF0Y2hlci5cbiAqIEByZXR1cm5zIENvbWJpbmVkIHBsYW5zIGtleWVkIGJ5IG1vZHVsZSBzcGVjaWZpZXIuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcGxhbnMgPSBjb21iaW5lSW1wb3J0UGxhbnMoW10pO1xuICogdm9pZCBwbGFucztcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBjb21iaW5lSW1wb3J0UGxhbnMoXG4gIG1hdGNoZXM6IFJ1bGVNYXRjaFtdLFxuKTogTWFwPHN0cmluZywgQ29tYmluZWRJbXBvcnRQbGFuPiB7XG4gIGNvbnN0IGNvbWJpbmVkUGxhbnMgPSBuZXcgTWFwPHN0cmluZywgQ29tYmluZWRJbXBvcnRQbGFuPigpO1xuXG4gIGZvciAoY29uc3QgbWF0Y2ggb2YgbWF0Y2hlcykge1xuICAgIG1lcmdlSW1wb3J0UGxhbihjb21iaW5lZFBsYW5zLCBtYXRjaCk7XG4gIH1cblxuICByZXR1cm4gY29tYmluZWRQbGFucztcbn1cblxuLyoqXG4gKiBDcmVhdGVzIHRoZSBpbml0aWFsIGNvbWJpbmVkIHBsYW4gZm9yIG9uZSBtYXRjaC5cbiAqIEBwYXJhbSBtYXRjaCBBdXRvZml4IGNvbnRleHQgcHJvZHVjZWQgYnkgdGhlIG1hdGNoZXIuXG4gKiBAcmV0dXJucyBDb21iaW5lZCBpbXBvcnQgcGxhbiBzZWVkLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHBsYW4gPSBjcmVhdGVDb21iaW5lZEltcG9ydFBsYW4oeyBtb2R1bGVTcGVjaWZpZXI6IFwiLi94XCIsIGltcG9ydFBsYW46IHsgbmFtZXM6IFtdIH0gfSBhcyBuZXZlcik7XG4gKiB2b2lkIHBsYW47XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlQ29tYmluZWRJbXBvcnRQbGFuKG1hdGNoOiBSdWxlTWF0Y2gpOiBDb21iaW5lZEltcG9ydFBsYW4ge1xuICBjb25zdCBjb21iaW5lZFBsYW46IENvbWJpbmVkSW1wb3J0UGxhbiA9IHtcbiAgICBtb2R1bGVTcGVjaWZpZXI6IG1hdGNoLm1vZHVsZVNwZWNpZmllcixcbiAgICBuYW1lczogbmV3IFNldChtYXRjaC5pbXBvcnRQbGFuLm5hbWVzKSxcbiAgfTtcblxuICBpZiAobWF0Y2guaW1wb3J0UGxhbi5pbnNlcnQ/LmFmdGVyUmFuZ2UgIT09IHZvaWQgMCkge1xuICAgIGNvbWJpbmVkUGxhbi5hZnRlclJhbmdlID0gbWF0Y2guaW1wb3J0UGxhbi5pbnNlcnQuYWZ0ZXJSYW5nZTtcbiAgfVxuXG4gIGlmIChtYXRjaC5pbXBvcnRQbGFuLnVwZGF0ZSAhPT0gdm9pZCAwKSB7XG4gICAgY29tYmluZWRQbGFuLnVwZGF0ZSA9IG1hdGNoLmltcG9ydFBsYW4udXBkYXRlO1xuICB9XG5cbiAgcmV0dXJuIGNvbWJpbmVkUGxhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIGluc2VydGlvbiBncm91cCBmb3Igb25lIGxvY2F0aW9uLlxuICogQHBhcmFtIGFmdGVyUmFuZ2UgSW5zZXJ0IGxvY2F0aW9uIGZvciB0aGUgZ3JvdXAuXG4gKiBAcmV0dXJucyBJbnNlcnQgZ3JvdXAgc2VlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBncm91cCA9IGNyZWF0ZUluc2VydEdyb3VwKHZvaWQgMCk7XG4gKiB2b2lkIGdyb3VwO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUluc2VydEdyb3VwKGFmdGVyUmFuZ2U6IFJhbmdlIHwgdW5kZWZpbmVkKTogSW5zZXJ0R3JvdXAge1xuICByZXR1cm4gYWZ0ZXJSYW5nZSA9PT0gdm9pZCAwXG4gICAgPyB7IHN0YXRlbWVudHM6IFtdIH1cbiAgICA6IHsgYWZ0ZXJSYW5nZSwgc3RhdGVtZW50czogW10gfTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgc3RhYmxlIGtleSBmb3IgYW4gaW5zZXJ0IGxvY2F0aW9uLlxuICogQHBhcmFtIGFmdGVyUmFuZ2UgSW5zZXJ0IGxvY2F0aW9uIHdoZW4gYSBuZXcgaW1wb3J0IG11c3QgYmUgaW5zZXJ0ZWQuXG4gKiBAcmV0dXJucyBTdGFibGUga2V5IGZvciB0aGUgaW5zZXJ0aW9uIHNpdGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qga2V5ID0gZ2V0SW5zZXJ0R3JvdXBLZXkodm9pZCAwKTtcbiAqIHZvaWQga2V5O1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldEluc2VydEdyb3VwS2V5KGFmdGVyUmFuZ2U6IFJhbmdlIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgcmV0dXJuIGFmdGVyUmFuZ2UgPT09IHZvaWQgMFxuICAgID8gXCJUT1BcIlxuICAgIDogYCR7YWZ0ZXJSYW5nZVswXS50b0ZpeGVkKDApfToke2FmdGVyUmFuZ2VbMV0udG9GaXhlZCgwKX1gO1xufVxuXG4vKipcbiAqIE1lcmdlcyBvbmUgbWF0Y2ggaW50byB0aGUgY29tYmluZWQgaW1wb3J0LXBsYW4gbWFwLlxuICogQHBhcmFtIGNvbWJpbmVkUGxhbnMgQ29tYmluZWQgcGxhbnMga2V5ZWQgYnkgbW9kdWxlIHNwZWNpZmllci5cbiAqIEBwYXJhbSBtYXRjaCBBdXRvZml4IGNvbnRleHQgcHJvZHVjZWQgYnkgdGhlIG1hdGNoZXIuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogbWVyZ2VJbXBvcnRQbGFuKG5ldyBNYXAoKSwge30gYXMgbmV2ZXIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIG1lcmdlSW1wb3J0UGxhbihcbiAgY29tYmluZWRQbGFuczogTWFwPHN0cmluZywgQ29tYmluZWRJbXBvcnRQbGFuPixcbiAgbWF0Y2g6IFJ1bGVNYXRjaCxcbik6IHZvaWQge1xuICBjb25zdCBjb21iaW5lZFBsYW4gPVxuICAgIGNvbWJpbmVkUGxhbnMuZ2V0KG1hdGNoLm1vZHVsZVNwZWNpZmllcikgPz8gY3JlYXRlQ29tYmluZWRJbXBvcnRQbGFuKG1hdGNoKTtcblxuICBtZXJnZUltcG9ydFBsYW5JbnNlcnRSYW5nZShjb21iaW5lZFBsYW4sIG1hdGNoKTtcbiAgbWVyZ2VJbXBvcnRQbGFuTmFtZXMoY29tYmluZWRQbGFuLCBtYXRjaC5pbXBvcnRQbGFuLm5hbWVzKTtcbiAgbWVyZ2VJbXBvcnRQbGFuVXBkYXRlKGNvbWJpbmVkUGxhbiwgbWF0Y2gpO1xuICBjb21iaW5lZFBsYW5zLnNldChtYXRjaC5tb2R1bGVTcGVjaWZpZXIsIGNvbWJpbmVkUGxhbik7XG59XG5cbi8qKlxuICogTWVyZ2VzIHRoZSBmaXJzdCBkaXNjb3ZlcmVkIGluc2VydCByYW5nZSBmb3IgYSBtb2R1bGUuXG4gKiBAcGFyYW0gY29tYmluZWRQbGFuIENvbWJpbmVkIHBsYW4gZm9yIG9uZSBtb2R1bGUuXG4gKiBAcGFyYW0gbWF0Y2ggQXV0b2ZpeCBjb250ZXh0IHByb2R1Y2VkIGJ5IHRoZSBtYXRjaGVyLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIG1lcmdlSW1wb3J0UGxhbkluc2VydFJhbmdlKHsgbW9kdWxlU3BlY2lmaWVyOiBcIi4veFwiLCBuYW1lczogbmV3IFNldCgpIH0gYXMgbmV2ZXIsIHt9IGFzIG5ldmVyKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBtZXJnZUltcG9ydFBsYW5JbnNlcnRSYW5nZShcbiAgY29tYmluZWRQbGFuOiBDb21iaW5lZEltcG9ydFBsYW4sXG4gIG1hdGNoOiBSdWxlTWF0Y2gsXG4pOiB2b2lkIHtcbiAgaWYgKFxuICAgIGNvbWJpbmVkUGxhbi5hZnRlclJhbmdlID09PSB2b2lkIDAgJiZcbiAgICBtYXRjaC5pbXBvcnRQbGFuLmluc2VydD8uYWZ0ZXJSYW5nZSAhPT0gdm9pZCAwXG4gICkge1xuICAgIGNvbWJpbmVkUGxhbi5hZnRlclJhbmdlID0gbWF0Y2guaW1wb3J0UGxhbi5pbnNlcnQuYWZ0ZXJSYW5nZTtcbiAgfVxufVxuXG4vKipcbiAqIE1lcmdlcyBkaXNjb3ZlcmVkIGltcG9ydCBuYW1lcyBmb3IgYSBtb2R1bGUuXG4gKiBAcGFyYW0gY29tYmluZWRQbGFuIENvbWJpbmVkIHBsYW4gZm9yIG9uZSBtb2R1bGUuXG4gKiBAcGFyYW0gbmFtZXMgQWRkaXRpb25hbCBpbXBvcnQgbmFtZXMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogbWVyZ2VJbXBvcnRQbGFuTmFtZXMoeyBtb2R1bGVTcGVjaWZpZXI6IFwiLi94XCIsIG5hbWVzOiBuZXcgU2V0KCkgfSBhcyBuZXZlciwgW1wiYVwiXSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gbWVyZ2VJbXBvcnRQbGFuTmFtZXMoXG4gIGNvbWJpbmVkUGxhbjogQ29tYmluZWRJbXBvcnRQbGFuLFxuICBuYW1lczogc3RyaW5nW10sXG4pOiB2b2lkIHtcbiAgZm9yIChjb25zdCBuYW1lIG9mIG5hbWVzKSB7XG4gICAgY29tYmluZWRQbGFuLm5hbWVzLmFkZChuYW1lKTtcbiAgfVxufVxuXG4vKipcbiAqIE1lcmdlcyB0aGUgZmlyc3QgZGlzY292ZXJlZCB1cGRhdGUgcGxhbiBmb3IgYSBtb2R1bGUuXG4gKiBAcGFyYW0gY29tYmluZWRQbGFuIENvbWJpbmVkIHBsYW4gZm9yIG9uZSBtb2R1bGUuXG4gKiBAcGFyYW0gbWF0Y2ggQXV0b2ZpeCBjb250ZXh0IHByb2R1Y2VkIGJ5IHRoZSBtYXRjaGVyLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIG1lcmdlSW1wb3J0UGxhblVwZGF0ZSh7IG1vZHVsZVNwZWNpZmllcjogXCIuL3hcIiwgbmFtZXM6IG5ldyBTZXQoKSB9IGFzIG5ldmVyLCB7fSBhcyBuZXZlcik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gbWVyZ2VJbXBvcnRQbGFuVXBkYXRlKFxuICBjb21iaW5lZFBsYW46IENvbWJpbmVkSW1wb3J0UGxhbixcbiAgbWF0Y2g6IFJ1bGVNYXRjaCxcbik6IHZvaWQge1xuICBpZiAoY29tYmluZWRQbGFuLnVwZGF0ZSA9PT0gdm9pZCAwICYmIG1hdGNoLmltcG9ydFBsYW4udXBkYXRlICE9PSB2b2lkIDApIHtcbiAgICBjb21iaW5lZFBsYW4udXBkYXRlID0gbWF0Y2guaW1wb3J0UGxhbi51cGRhdGU7XG4gIH1cbn1cblxuZXhwb3J0IHsgYnVpbGRDb21iaW5lZEltcG9ydEZpeGVzIH07XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"match-imports.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vi-mocked-import/match-imports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAGtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"match-imports.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vi-mocked-import/match-imports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAGtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAoK1C;;;;;;;;;;;GAWG;AACH,iBAAS,iBAAiB,CACxB,OAAO,EAAE,MAAM,CAAC,OAAO,EACvB,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,EAAE,GACd,UAAU,CASZ;AAqBD,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -40,11 +40,7 @@ function createUpdatePlan(statement, moduleSpecifier, names) {
|
|
|
40
40
|
const update = defaultImportName === void 0
|
|
41
41
|
? baseUpdate
|
|
42
42
|
: { ...baseUpdate, defaultImportName };
|
|
43
|
-
return {
|
|
44
|
-
moduleSpecifier,
|
|
45
|
-
names,
|
|
46
|
-
update,
|
|
47
|
-
};
|
|
43
|
+
return { moduleSpecifier, names, update };
|
|
48
44
|
}
|
|
49
45
|
/**
|
|
50
46
|
* Returns the default import local name.
|
|
@@ -153,4 +149,4 @@ function toImportedName(specifier) {
|
|
|
153
149
|
: void 0;
|
|
154
150
|
}
|
|
155
151
|
export { resolveImportPlan };
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2gtaW1wb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9wcmVmZXItdmktbW9ja2VkLWltcG9ydC9tYXRjaC1pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQWUzQzs7Ozs7Ozs7Ozs7R0FXRztBQUNILFNBQVMsZ0JBQWdCLENBQ3ZCLGVBQXVCLEVBQ3ZCLEtBQWUsRUFDZixVQUE2QjtJQUU3QixPQUFPLFVBQVUsS0FBSyxLQUFLLENBQUM7UUFDMUIsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFO1FBQ3hDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUN6RCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxTQUFTLGdCQUFnQixDQUN2QixTQUFrQyxFQUNsQyxlQUF1QixFQUN2QixLQUFlO0lBRWYsSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sZ0JBQWdCLENBQUMsZUFBZSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUQsTUFBTSxVQUFVLEdBQUc7UUFDakIsb0JBQW9CLEVBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBQztRQUNoRCxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUs7S0FDdkIsQ0FBQztJQUNGLE1BQU0sTUFBTSxHQUNWLGlCQUFpQixLQUFLLEtBQUssQ0FBQztRQUMxQixDQUFDLENBQUMsVUFBVTtRQUNaLENBQUMsQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFLGlC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cmVlIGZyb20gXCJlc3RyZWVcIjtcblxuaW1wb3J0IHR5cGUgeyBSYW5nZSB9IGZyb20gXCIuL21hdGNoLWhlbHBlcnNcIjtcbmltcG9ydCB0eXBlIHsgSW1wb3J0UGxhbiB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmltcG9ydCB7IGhhc1JhbmdlIH0gZnJvbSBcIi4vbWF0Y2gtaGVscGVyc1wiO1xuXG4vKipcbiAqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGRlY2xhcmF0aW9uID0ge30gYXMgUmFuZ2VkSW1wb3J0RGVjbGFyYXRpb247XG4gKiB2b2lkIGRlY2xhcmF0aW9uO1xuICogYGBgXG4gKi9cbmludGVyZmFjZSBSYW5nZWRJbXBvcnREZWNsYXJhdGlvbiBleHRlbmRzIEVTVHJlZS5JbXBvcnREZWNsYXJhdGlvbiB7XG4gIC8qKiBJbXBvcnQgZGVjbGFyYXRpb24gc291cmNlIHJhbmdlLiAqL1xuICByYW5nZTogUmFuZ2U7XG59XG5cbi8qKlxuICogQnVpbGRzIGFuIGltcG9ydCBwbGFuIGZvciBpbnNlcnRpb24gbW9kZS5cbiAqIEBwYXJhbSBtb2R1bGVTcGVjaWZpZXIgVGFyZ2V0IG1vZHVsZSBwYXRoLlxuICogQHBhcmFtIG5hbWVzIE5hbWVzIHRvIGltcG9ydC5cbiAqIEBwYXJhbSBhZnRlclJhbmdlIFJhbmdlIHRvIGluc2VydCBhZnRlci5cbiAqIEByZXR1cm5zIEluc2VydCBwbGFuIHBheWxvYWQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcGxhbiA9IGNyZWF0ZUluc2VydFBsYW4oXCIuL3hcIiwgW1wiYVwiXSwgWzAsIDFdKTtcbiAqIHZvaWQgcGxhbjtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBjcmVhdGVJbnNlcnRQbGFuKFxuICBtb2R1bGVTcGVjaWZpZXI6IHN0cmluZyxcbiAgbmFtZXM6IHN0cmluZ1tdLFxuICBhZnRlclJhbmdlOiBSYW5nZSB8IHVuZGVmaW5lZCxcbik6IEltcG9ydFBsYW4ge1xuICByZXR1cm4gYWZ0ZXJSYW5nZSA9PT0gdm9pZCAwXG4gICAgPyB7IGluc2VydDoge30sIG1vZHVsZVNwZWNpZmllciwgbmFtZXMgfVxuICAgIDogeyBpbnNlcnQ6IHsgYWZ0ZXJSYW5nZSB9LCBtb2R1bGVTcGVjaWZpZXIsIG5hbWVzIH07XG59XG5cbi8qKlxuICogQnVpbGRzIGFuIGltcG9ydCBwbGFuIGZvciB1cGRhdGUgbW9kZS5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgRXhpc3RpbmcgaW1wb3J0IGRlY2xhcmF0aW9uLlxuICogQHBhcmFtIG1vZHVsZVNwZWNpZmllciBUYXJnZXQgbW9kdWxlIHBhdGguXG4gKiBAcGFyYW0gbmFtZXMgTmFtZXMgdG8gaW1wb3J0LlxuICogQHJldHVybnMgVXBkYXRlIHBsYW4gcGF5bG9hZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBwbGFuID0gY3JlYXRlVXBkYXRlUGxhbih7IHNwZWNpZmllcnM6IFtdLCBzb3VyY2U6IHsgdHlwZTogXCJMaXRlcmFsXCIsIHZhbHVlOiBcIi4veFwiIH0sIHR5cGU6IFwiSW1wb3J0RGVjbGFyYXRpb25cIiwgcmFuZ2U6IFswLCAxXSB9IGFzIG5ldmVyLCBcIi4veFwiLCBbXCJhXCJdKTtcbiAqIHZvaWQgcGxhbjtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBjcmVhdGVVcGRhdGVQbGFuKFxuICBzdGF0ZW1lbnQ6IFJhbmdlZEltcG9ydERlY2xhcmF0aW9uLFxuICBtb2R1bGVTcGVjaWZpZXI6IHN0cmluZyxcbiAgbmFtZXM6IHN0cmluZ1tdLFxuKTogSW1wb3J0UGxhbiB7XG4gIGlmIChoYXNOYW1lc3BhY2VJbXBvcnQoc3RhdGVtZW50KSkge1xuICAgIHJldHVybiBjcmVhdGVJbnNlcnRQbGFuKG1vZHVsZVNwZWNpZmllciwgbmFtZXMsIHN0YXRlbWVudC5yYW5nZSk7XG4gIH1cblxuICBjb25zdCBkZWZhdWx0SW1wb3J0TmFtZSA9IGdldERlZmF1bHRJbXBvcnROYW1lKHN0YXRlbWVudCk7XG4gIGNvbnN0IGJhc2VVcGRhdGUgPSB7XG4gICAgZXhpc3RpbmdOYW1lZEltcG9ydHM6IGdldE5hbWVkSW1wb3J0cyhzdGF0ZW1lbnQpLFxuICAgIHJhbmdlOiBzdGF0ZW1lbnQucmFuZ2UsXG4gIH07XG4gIGNvbnN0IHVwZGF0ZSA9XG4gICAgZGVmYXVsdEltcG9ydE5hbWUgPT09IHZvaWQgMFxuICAgICAgPyBiYXNlVXBkYXRlXG4gICAgICA6IHsgLi4uYmFzZVVwZGF0ZSwgZGVmYXVsdEltcG9ydE5hbWUgfTtcblxuICByZXR1cm4ge1xuICAgIG1vZHVsZVNwZWNpZmllcixcbiAgICBuYW1lcyxcbiAgICB1cGRhdGUsXG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgZGVmYXVsdCBpbXBvcnQgbG9jYWwgbmFtZS5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW1wb3J0IGRlY2xhcmF0aW9uLlxuICogQHJldHVybnMgRGVmYXVsdCBsb2NhbCBuYW1lIHdoZW4gcHJlc2VudC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsb2NhbE5hbWUgPSBnZXREZWZhdWx0SW1wb3J0TmFtZSh7IHNwZWNpZmllcnM6IFtdLCB0eXBlOiBcIkltcG9ydERlY2xhcmF0aW9uXCIgfSBhcyBuZXZlcik7XG4gKiB2b2lkIGxvY2FsTmFtZTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXREZWZhdWx0SW1wb3J0TmFtZShcbiAgc3RhdGVtZW50OiBFU1RyZWUuSW1wb3J0RGVjbGFyYXRpb24sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBkZWZhdWx0U3BlY2lmaWVyID0gc3RhdGVtZW50LnNwZWNpZmllcnMuZmluZChcbiAgICAoc3BlY2lmaWVyKTogc3BlY2lmaWVyIGlzIEVTVHJlZS5JbXBvcnREZWZhdWx0U3BlY2lmaWVyID0+XG4gICAgICBzcGVjaWZpZXIudHlwZSA9PT0gXCJJbXBvcnREZWZhdWx0U3BlY2lmaWVyXCIsXG4gICk7XG4gIHJldHVybiBkZWZhdWx0U3BlY2lmaWVyPy5sb2NhbC5uYW1lO1xufVxuXG4vKipcbiAqIEZpbHRlcnMgdG9wLWxldmVsIGltcG9ydCBkZWNsYXJhdGlvbnMgdGhhdCBpbmNsdWRlIGEgYHJhbmdlYC5cbiAqIEBwYXJhbSBwcm9ncmFtIFByb2dyYW0gbm9kZS5cbiAqIEByZXR1cm5zIEltcG9ydCBkZWNsYXJhdGlvbnMgd2l0aCBzdGFibGUgcmFuZ2VzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGltcG9ydHMgPSBnZXRJbXBvcnREZWNsYXJhdGlvbnMoeyBib2R5OiBbXSwgc291cmNlVHlwZTogXCJtb2R1bGVcIiwgdHlwZTogXCJQcm9ncmFtXCIgfSBhcyBuZXZlcik7XG4gKiB2b2lkIGltcG9ydHM7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0SW1wb3J0RGVjbGFyYXRpb25zKFxuICBwcm9ncmFtOiBFU1RyZWUuUHJvZ3JhbSxcbik6IFJhbmdlZEltcG9ydERlY2xhcmF0aW9uW10ge1xuICByZXR1cm4gcHJvZ3JhbS5ib2R5LmZpbHRlcihcbiAgICAoc3RhdGVtZW50KTogc3RhdGVtZW50IGlzIFJhbmdlZEltcG9ydERlY2xhcmF0aW9uID0+XG4gICAgICBzdGF0ZW1lbnQudHlwZSA9PT0gXCJJbXBvcnREZWNsYXJhdGlvblwiICYmIGhhc1JhbmdlKHN0YXRlbWVudCksXG4gICk7XG59XG5cbi8qKlxuICogUmV0dXJucyBhbGwgbmFtZWQgaW1wb3J0cyBmcm9tIGEgZGVjbGFyYXRpb24uXG4gKiBAcGFyYW0gc3RhdGVtZW50IEltcG9ydCBkZWNsYXJhdGlvbi5cbiAqIEByZXR1cm5zIE5hbWVkIGltcG9ydCBpZGVudGlmaWVycy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBuYW1lZCA9IGdldE5hbWVkSW1wb3J0cyh7IHNwZWNpZmllcnM6IFtdLCB0eXBlOiBcIkltcG9ydERlY2xhcmF0aW9uXCIgfSBhcyBuZXZlcik7XG4gKiB2b2lkIG5hbWVkO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldE5hbWVkSW1wb3J0cyhzdGF0ZW1lbnQ6IEVTVHJlZS5JbXBvcnREZWNsYXJhdGlvbik6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIHN0YXRlbWVudC5zcGVjaWZpZXJzLmZsYXRNYXAoKHNwZWNpZmllcikgPT4ge1xuICAgIGNvbnN0IGltcG9ydGVkTmFtZSA9IHRvSW1wb3J0ZWROYW1lKHNwZWNpZmllcik7XG4gICAgcmV0dXJuIGltcG9ydGVkTmFtZSA9PT0gdm9pZCAwID8gW10gOiBbaW1wb3J0ZWROYW1lXTtcbiAgfSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYW4gaW1wb3J0IGluY2x1ZGVzIGEgbmFtZXNwYWNlIHNwZWNpZmllci5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW1wb3J0IGRlY2xhcmF0aW9uLlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIGRlY2xhcmF0aW9uIGluY2x1ZGVzIGAqIGFzIHhgIGZvcm0uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaGFzTmFtZXNwYWNlID0gaGFzTmFtZXNwYWNlSW1wb3J0KHsgc3BlY2lmaWVyczogW10sIHR5cGU6IFwiSW1wb3J0RGVjbGFyYXRpb25cIiB9IGFzIG5ldmVyKTtcbiAqIHZvaWQgaGFzTmFtZXNwYWNlO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGhhc05hbWVzcGFjZUltcG9ydChzdGF0ZW1lbnQ6IEVTVHJlZS5JbXBvcnREZWNsYXJhdGlvbik6IGJvb2xlYW4ge1xuICByZXR1cm4gc3RhdGVtZW50LnNwZWNpZmllcnMuc29tZShcbiAgICAoc3BlY2lmaWVyKSA9PiBzcGVjaWZpZXIudHlwZSA9PT0gXCJJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXJcIixcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhbiBpbXBvcnQgZGVjbGFyYXRpb24gbWF0Y2hlcyB0aGUgbW9ja2VkIG1vZHVsZS5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW1wb3J0IGRlY2xhcmF0aW9uIGNhbmRpZGF0ZS5cbiAqIEBwYXJhbSBtb2R1bGVTcGVjaWZpZXIgRXhwZWN0ZWQgbW9kdWxlIHBhdGguXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gZGVjbGFyYXRpb24gdGFyZ2V0cyB0aGUgc2FtZSBtb2R1bGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbWF0Y2hlZCA9IGlzTWF0Y2hpbmdJbXBvcnQoeyBzb3VyY2U6IHsgdHlwZTogXCJMaXRlcmFsXCIsIHZhbHVlOiBcIi4veFwiIH0sIHR5cGU6IFwiSW1wb3J0RGVjbGFyYXRpb25cIiB9IGFzIG5ldmVyLCBcIi4veFwiKTtcbiAqIHZvaWQgbWF0Y2hlZDtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBpc01hdGNoaW5nSW1wb3J0KFxuICBzdGF0ZW1lbnQ6IEVTVHJlZS5JbXBvcnREZWNsYXJhdGlvbixcbiAgbW9kdWxlU3BlY2lmaWVyOiBzdHJpbmcsXG4pOiBib29sZWFuIHtcbiAgY29uc3Qgc291cmNlVmFsdWUgPSBzdGF0ZW1lbnQuc291cmNlLnZhbHVlO1xuICByZXR1cm4gdHlwZW9mIHNvdXJjZVZhbHVlID09PSBcInN0cmluZ1wiICYmIHNvdXJjZVZhbHVlID09PSBtb2R1bGVTcGVjaWZpZXI7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgd2hldGhlciBpbXBvcnRzIHNob3VsZCBiZSB1cGRhdGVkIGluIHBsYWNlIG9yIGluc2VydGVkLlxuICogQHBhcmFtIHByb2dyYW0gUHJvZ3JhbSBub2RlIHRvIGluc3BlY3QuXG4gKiBAcGFyYW0gbW9kdWxlU3BlY2lmaWVyIFRhcmdldCBtb2R1bGUgcGF0aC5cbiAqIEBwYXJhbSBuYW1lcyBJbXBvcnQgbmFtZXMgdGhhdCBtdXN0IGV4aXN0LlxuICogQHJldHVybnMgSW5zZXJ0IG9yIHVwZGF0ZSBwbGFuIGZvciB0aGUgaW1wb3J0IHNlY3Rpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcGxhbiA9IHJlc29sdmVJbXBvcnRQbGFuKHsgYm9keTogW10sIHNvdXJjZVR5cGU6IFwibW9kdWxlXCIsIHR5cGU6IFwiUHJvZ3JhbVwiIH0gYXMgbmV2ZXIsIFwiLi94XCIsIFtcImFcIl0pO1xuICogdm9pZCBwbGFuO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVJbXBvcnRQbGFuKFxuICBwcm9ncmFtOiBFU1RyZWUuUHJvZ3JhbSxcbiAgbW9kdWxlU3BlY2lmaWVyOiBzdHJpbmcsXG4gIG5hbWVzOiBzdHJpbmdbXSxcbik6IEltcG9ydFBsYW4ge1xuICBjb25zdCBpbXBvcnRzID0gZ2V0SW1wb3J0RGVjbGFyYXRpb25zKHByb2dyYW0pO1xuICBjb25zdCBleGlzdGluZ0ltcG9ydCA9IGltcG9ydHMuZmluZCgoc3RhdGVtZW50KSA9PlxuICAgIGlzTWF0Y2hpbmdJbXBvcnQoc3RhdGVtZW50LCBtb2R1bGVTcGVjaWZpZXIpLFxuICApO1xuXG4gIHJldHVybiBleGlzdGluZ0ltcG9ydCA9PT0gdm9pZCAwXG4gICAgPyBjcmVhdGVJbnNlcnRQbGFuKG1vZHVsZVNwZWNpZmllciwgbmFtZXMsIGltcG9ydHMuYXQoLTEpPy5yYW5nZSlcbiAgICA6IGNyZWF0ZVVwZGF0ZVBsYW4oZXhpc3RpbmdJbXBvcnQsIG1vZHVsZVNwZWNpZmllciwgbmFtZXMpO1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIGltcG9ydGVkIGlkZW50aWZpZXIgbmFtZSBmcm9tIG9uZSBzcGVjaWZpZXIuXG4gKiBAcGFyYW0gc3BlY2lmaWVyIEltcG9ydCBjbGF1c2UgZW50cnkuXG4gKiBAcmV0dXJucyBJbXBvcnRlZCBpZGVudGlmaWVyIG5hbWUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaW1wb3J0ZWQgPSB0b0ltcG9ydGVkTmFtZSh7IHR5cGU6IFwiSW1wb3J0U3BlY2lmaWVyXCIsIGltcG9ydGVkOiB7IHR5cGU6IFwiSWRlbnRpZmllclwiLCBuYW1lOiBcInhcIiB9IH0gYXMgbmV2ZXIpO1xuICogdm9pZCBpbXBvcnRlZDtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiB0b0ltcG9ydGVkTmFtZShcbiAgc3BlY2lmaWVyOiBFU1RyZWUuSW1wb3J0RGVjbGFyYXRpb25bXCJzcGVjaWZpZXJzXCJdW251bWJlcl0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gc3BlY2lmaWVyLnR5cGUgPT09IFwiSW1wb3J0U3BlY2lmaWVyXCIgJiZcbiAgICBzcGVjaWZpZXIuaW1wb3J0ZWQudHlwZSA9PT0gXCJJZGVudGlmaWVyXCJcbiAgICA/IHNwZWNpZmllci5pbXBvcnRlZC5uYW1lXG4gICAgOiB2b2lkIDA7XG59XG5cbmV4cG9ydCB7IHJlc29sdmVJbXBvcnRQbGFuIH07XG4iXX0=
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2gtaW1wb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9wcmVmZXItdmktbW9ja2VkLWltcG9ydC9tYXRjaC1pbXBvcnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQWUzQzs7Ozs7Ozs7Ozs7R0FXRztBQUNILFNBQVMsZ0JBQWdCLENBQ3ZCLGVBQXVCLEVBQ3ZCLEtBQWUsRUFDZixVQUE2QjtJQUU3QixPQUFPLFVBQVUsS0FBSyxLQUFLLENBQUM7UUFDMUIsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFO1FBQ3hDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUN6RCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxTQUFTLGdCQUFnQixDQUN2QixTQUFrQyxFQUNsQyxlQUF1QixFQUN2QixLQUFlO0lBRWYsSUFBSSxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sZ0JBQWdCLENBQUMsZUFBZSxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELE1BQU0saUJBQWlCLEdBQUcsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUQsTUFBTSxVQUFVLEdBQUc7UUFDakIsb0JBQW9CLEVBQUUsZUFBZSxDQUFDLFNBQVMsQ0FBQztRQUNoRCxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUs7S0FDdkIsQ0FBQztJQUNGLE1BQU0sTUFBTSxHQUNWLGlCQUFpQixLQUFLLEtBQUssQ0FBQztRQUMxQixDQUFDLENBQUMsVUFBVTtRQUNaLENBQUMsQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFLGlC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VHJlZSBmcm9tIFwiZXN0cmVlXCI7XG5cbmltcG9ydCB0eXBlIHsgUmFuZ2UgfSBmcm9tIFwiLi9tYXRjaC1oZWxwZXJzXCI7XG5pbXBvcnQgdHlwZSB7IEltcG9ydFBsYW4gfSBmcm9tIFwiLi90eXBlc1wiO1xuXG5pbXBvcnQgeyBoYXNSYW5nZSB9IGZyb20gXCIuL21hdGNoLWhlbHBlcnNcIjtcblxuLyoqXG4gKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBkZWNsYXJhdGlvbiA9IHt9IGFzIFJhbmdlZEltcG9ydERlY2xhcmF0aW9uO1xuICogdm9pZCBkZWNsYXJhdGlvbjtcbiAqIGBgYFxuICovXG5pbnRlcmZhY2UgUmFuZ2VkSW1wb3J0RGVjbGFyYXRpb24gZXh0ZW5kcyBFU1RyZWUuSW1wb3J0RGVjbGFyYXRpb24ge1xuICAvKiogSW1wb3J0IGRlY2xhcmF0aW9uIHNvdXJjZSByYW5nZS4gKi9cbiAgcmFuZ2U6IFJhbmdlO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhbiBpbXBvcnQgcGxhbiBmb3IgaW5zZXJ0aW9uIG1vZGUuXG4gKiBAcGFyYW0gbW9kdWxlU3BlY2lmaWVyIFRhcmdldCBtb2R1bGUgcGF0aC5cbiAqIEBwYXJhbSBuYW1lcyBOYW1lcyB0byBpbXBvcnQuXG4gKiBAcGFyYW0gYWZ0ZXJSYW5nZSBSYW5nZSB0byBpbnNlcnQgYWZ0ZXIuXG4gKiBAcmV0dXJucyBJbnNlcnQgcGxhbiBwYXlsb2FkLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHBsYW4gPSBjcmVhdGVJbnNlcnRQbGFuKFwiLi94XCIsIFtcImFcIl0sIFswLCAxXSk7XG4gKiB2b2lkIHBsYW47XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlSW5zZXJ0UGxhbihcbiAgbW9kdWxlU3BlY2lmaWVyOiBzdHJpbmcsXG4gIG5hbWVzOiBzdHJpbmdbXSxcbiAgYWZ0ZXJSYW5nZTogUmFuZ2UgfCB1bmRlZmluZWQsXG4pOiBJbXBvcnRQbGFuIHtcbiAgcmV0dXJuIGFmdGVyUmFuZ2UgPT09IHZvaWQgMFxuICAgID8geyBpbnNlcnQ6IHt9LCBtb2R1bGVTcGVjaWZpZXIsIG5hbWVzIH1cbiAgICA6IHsgaW5zZXJ0OiB7IGFmdGVyUmFuZ2UgfSwgbW9kdWxlU3BlY2lmaWVyLCBuYW1lcyB9O1xufVxuXG4vKipcbiAqIEJ1aWxkcyBhbiBpbXBvcnQgcGxhbiBmb3IgdXBkYXRlIG1vZGUuXG4gKiBAcGFyYW0gc3RhdGVtZW50IEV4aXN0aW5nIGltcG9ydCBkZWNsYXJhdGlvbi5cbiAqIEBwYXJhbSBtb2R1bGVTcGVjaWZpZXIgVGFyZ2V0IG1vZHVsZSBwYXRoLlxuICogQHBhcmFtIG5hbWVzIE5hbWVzIHRvIGltcG9ydC5cbiAqIEByZXR1cm5zIFVwZGF0ZSBwbGFuIHBheWxvYWQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcGxhbiA9IGNyZWF0ZVVwZGF0ZVBsYW4oeyBzcGVjaWZpZXJzOiBbXSwgc291cmNlOiB7IHR5cGU6IFwiTGl0ZXJhbFwiLCB2YWx1ZTogXCIuL3hcIiB9LCB0eXBlOiBcIkltcG9ydERlY2xhcmF0aW9uXCIsIHJhbmdlOiBbMCwgMV0gfSBhcyBuZXZlciwgXCIuL3hcIiwgW1wiYVwiXSk7XG4gKiB2b2lkIHBsYW47XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlVXBkYXRlUGxhbihcbiAgc3RhdGVtZW50OiBSYW5nZWRJbXBvcnREZWNsYXJhdGlvbixcbiAgbW9kdWxlU3BlY2lmaWVyOiBzdHJpbmcsXG4gIG5hbWVzOiBzdHJpbmdbXSxcbik6IEltcG9ydFBsYW4ge1xuICBpZiAoaGFzTmFtZXNwYWNlSW1wb3J0KHN0YXRlbWVudCkpIHtcbiAgICByZXR1cm4gY3JlYXRlSW5zZXJ0UGxhbihtb2R1bGVTcGVjaWZpZXIsIG5hbWVzLCBzdGF0ZW1lbnQucmFuZ2UpO1xuICB9XG5cbiAgY29uc3QgZGVmYXVsdEltcG9ydE5hbWUgPSBnZXREZWZhdWx0SW1wb3J0TmFtZShzdGF0ZW1lbnQpO1xuICBjb25zdCBiYXNlVXBkYXRlID0ge1xuICAgIGV4aXN0aW5nTmFtZWRJbXBvcnRzOiBnZXROYW1lZEltcG9ydHMoc3RhdGVtZW50KSxcbiAgICByYW5nZTogc3RhdGVtZW50LnJhbmdlLFxuICB9O1xuICBjb25zdCB1cGRhdGUgPVxuICAgIGRlZmF1bHRJbXBvcnROYW1lID09PSB2b2lkIDBcbiAgICAgID8gYmFzZVVwZGF0ZVxuICAgICAgOiB7IC4uLmJhc2VVcGRhdGUsIGRlZmF1bHRJbXBvcnROYW1lIH07XG5cbiAgcmV0dXJuIHsgbW9kdWxlU3BlY2lmaWVyLCBuYW1lcywgdXBkYXRlIH07XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgZGVmYXVsdCBpbXBvcnQgbG9jYWwgbmFtZS5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW1wb3J0IGRlY2xhcmF0aW9uLlxuICogQHJldHVybnMgRGVmYXVsdCBsb2NhbCBuYW1lIHdoZW4gcHJlc2VudC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsb2NhbE5hbWUgPSBnZXREZWZhdWx0SW1wb3J0TmFtZSh7IHNwZWNpZmllcnM6IFtdLCB0eXBlOiBcIkltcG9ydERlY2xhcmF0aW9uXCIgfSBhcyBuZXZlcik7XG4gKiB2b2lkIGxvY2FsTmFtZTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBnZXREZWZhdWx0SW1wb3J0TmFtZShcbiAgc3RhdGVtZW50OiBFU1RyZWUuSW1wb3J0RGVjbGFyYXRpb24sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBkZWZhdWx0U3BlY2lmaWVyID0gc3RhdGVtZW50LnNwZWNpZmllcnMuZmluZChcbiAgICAoc3BlY2lmaWVyKTogc3BlY2lmaWVyIGlzIEVTVHJlZS5JbXBvcnREZWZhdWx0U3BlY2lmaWVyID0+XG4gICAgICBzcGVjaWZpZXIudHlwZSA9PT0gXCJJbXBvcnREZWZhdWx0U3BlY2lmaWVyXCIsXG4gICk7XG4gIHJldHVybiBkZWZhdWx0U3BlY2lmaWVyPy5sb2NhbC5uYW1lO1xufVxuXG4vKipcbiAqIEZpbHRlcnMgdG9wLWxldmVsIGltcG9ydCBkZWNsYXJhdGlvbnMgdGhhdCBpbmNsdWRlIGEgYHJhbmdlYC5cbiAqIEBwYXJhbSBwcm9ncmFtIFByb2dyYW0gbm9kZS5cbiAqIEByZXR1cm5zIEltcG9ydCBkZWNsYXJhdGlvbnMgd2l0aCBzdGFibGUgcmFuZ2VzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGltcG9ydHMgPSBnZXRJbXBvcnREZWNsYXJhdGlvbnMoeyBib2R5OiBbXSwgc291cmNlVHlwZTogXCJtb2R1bGVcIiwgdHlwZTogXCJQcm9ncmFtXCIgfSBhcyBuZXZlcik7XG4gKiB2b2lkIGltcG9ydHM7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0SW1wb3J0RGVjbGFyYXRpb25zKFxuICBwcm9ncmFtOiBFU1RyZWUuUHJvZ3JhbSxcbik6IFJhbmdlZEltcG9ydERlY2xhcmF0aW9uW10ge1xuICByZXR1cm4gcHJvZ3JhbS5ib2R5LmZpbHRlcihcbiAgICAoc3RhdGVtZW50KTogc3RhdGVtZW50IGlzIFJhbmdlZEltcG9ydERlY2xhcmF0aW9uID0+XG4gICAgICBzdGF0ZW1lbnQudHlwZSA9PT0gXCJJbXBvcnREZWNsYXJhdGlvblwiICYmIGhhc1JhbmdlKHN0YXRlbWVudCksXG4gICk7XG59XG5cbi8qKlxuICogUmV0dXJucyBhbGwgbmFtZWQgaW1wb3J0cyBmcm9tIGEgZGVjbGFyYXRpb24uXG4gKiBAcGFyYW0gc3RhdGVtZW50IEltcG9ydCBkZWNsYXJhdGlvbi5cbiAqIEByZXR1cm5zIE5hbWVkIGltcG9ydCBpZGVudGlmaWVycy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBuYW1lZCA9IGdldE5hbWVkSW1wb3J0cyh7IHNwZWNpZmllcnM6IFtdLCB0eXBlOiBcIkltcG9ydERlY2xhcmF0aW9uXCIgfSBhcyBuZXZlcik7XG4gKiB2b2lkIG5hbWVkO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldE5hbWVkSW1wb3J0cyhzdGF0ZW1lbnQ6IEVTVHJlZS5JbXBvcnREZWNsYXJhdGlvbik6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIHN0YXRlbWVudC5zcGVjaWZpZXJzLmZsYXRNYXAoKHNwZWNpZmllcikgPT4ge1xuICAgIGNvbnN0IGltcG9ydGVkTmFtZSA9IHRvSW1wb3J0ZWROYW1lKHNwZWNpZmllcik7XG4gICAgcmV0dXJuIGltcG9ydGVkTmFtZSA9PT0gdm9pZCAwID8gW10gOiBbaW1wb3J0ZWROYW1lXTtcbiAgfSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYW4gaW1wb3J0IGluY2x1ZGVzIGEgbmFtZXNwYWNlIHNwZWNpZmllci5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW1wb3J0IGRlY2xhcmF0aW9uLlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIGRlY2xhcmF0aW9uIGluY2x1ZGVzIGAqIGFzIHhgIGZvcm0uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaGFzTmFtZXNwYWNlID0gaGFzTmFtZXNwYWNlSW1wb3J0KHsgc3BlY2lmaWVyczogW10sIHR5cGU6IFwiSW1wb3J0RGVjbGFyYXRpb25cIiB9IGFzIG5ldmVyKTtcbiAqIHZvaWQgaGFzTmFtZXNwYWNlO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGhhc05hbWVzcGFjZUltcG9ydChzdGF0ZW1lbnQ6IEVTVHJlZS5JbXBvcnREZWNsYXJhdGlvbik6IGJvb2xlYW4ge1xuICByZXR1cm4gc3RhdGVtZW50LnNwZWNpZmllcnMuc29tZShcbiAgICAoc3BlY2lmaWVyKSA9PiBzcGVjaWZpZXIudHlwZSA9PT0gXCJJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXJcIixcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhbiBpbXBvcnQgZGVjbGFyYXRpb24gbWF0Y2hlcyB0aGUgbW9ja2VkIG1vZHVsZS5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgSW1wb3J0IGRlY2xhcmF0aW9uIGNhbmRpZGF0ZS5cbiAqIEBwYXJhbSBtb2R1bGVTcGVjaWZpZXIgRXhwZWN0ZWQgbW9kdWxlIHBhdGguXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gZGVjbGFyYXRpb24gdGFyZ2V0cyB0aGUgc2FtZSBtb2R1bGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbWF0Y2hlZCA9IGlzTWF0Y2hpbmdJbXBvcnQoeyBzb3VyY2U6IHsgdHlwZTogXCJMaXRlcmFsXCIsIHZhbHVlOiBcIi4veFwiIH0sIHR5cGU6IFwiSW1wb3J0RGVjbGFyYXRpb25cIiB9IGFzIG5ldmVyLCBcIi4veFwiKTtcbiAqIHZvaWQgbWF0Y2hlZDtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBpc01hdGNoaW5nSW1wb3J0KFxuICBzdGF0ZW1lbnQ6IEVTVHJlZS5JbXBvcnREZWNsYXJhdGlvbixcbiAgbW9kdWxlU3BlY2lmaWVyOiBzdHJpbmcsXG4pOiBib29sZWFuIHtcbiAgY29uc3Qgc291cmNlVmFsdWUgPSBzdGF0ZW1lbnQuc291cmNlLnZhbHVlO1xuICByZXR1cm4gdHlwZW9mIHNvdXJjZVZhbHVlID09PSBcInN0cmluZ1wiICYmIHNvdXJjZVZhbHVlID09PSBtb2R1bGVTcGVjaWZpZXI7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgd2hldGhlciBpbXBvcnRzIHNob3VsZCBiZSB1cGRhdGVkIGluIHBsYWNlIG9yIGluc2VydGVkLlxuICogQHBhcmFtIHByb2dyYW0gUHJvZ3JhbSBub2RlIHRvIGluc3BlY3QuXG4gKiBAcGFyYW0gbW9kdWxlU3BlY2lmaWVyIFRhcmdldCBtb2R1bGUgcGF0aC5cbiAqIEBwYXJhbSBuYW1lcyBJbXBvcnQgbmFtZXMgdGhhdCBtdXN0IGV4aXN0LlxuICogQHJldHVybnMgSW5zZXJ0IG9yIHVwZGF0ZSBwbGFuIGZvciB0aGUgaW1wb3J0IHNlY3Rpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcGxhbiA9IHJlc29sdmVJbXBvcnRQbGFuKHsgYm9keTogW10sIHNvdXJjZVR5cGU6IFwibW9kdWxlXCIsIHR5cGU6IFwiUHJvZ3JhbVwiIH0gYXMgbmV2ZXIsIFwiLi94XCIsIFtcImFcIl0pO1xuICogdm9pZCBwbGFuO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVJbXBvcnRQbGFuKFxuICBwcm9ncmFtOiBFU1RyZWUuUHJvZ3JhbSxcbiAgbW9kdWxlU3BlY2lmaWVyOiBzdHJpbmcsXG4gIG5hbWVzOiBzdHJpbmdbXSxcbik6IEltcG9ydFBsYW4ge1xuICBjb25zdCBpbXBvcnRzID0gZ2V0SW1wb3J0RGVjbGFyYXRpb25zKHByb2dyYW0pO1xuICBjb25zdCBleGlzdGluZ0ltcG9ydCA9IGltcG9ydHMuZmluZCgoc3RhdGVtZW50KSA9PlxuICAgIGlzTWF0Y2hpbmdJbXBvcnQoc3RhdGVtZW50LCBtb2R1bGVTcGVjaWZpZXIpLFxuICApO1xuXG4gIHJldHVybiBleGlzdGluZ0ltcG9ydCA9PT0gdm9pZCAwXG4gICAgPyBjcmVhdGVJbnNlcnRQbGFuKG1vZHVsZVNwZWNpZmllciwgbmFtZXMsIGltcG9ydHMuYXQoLTEpPy5yYW5nZSlcbiAgICA6IGNyZWF0ZVVwZGF0ZVBsYW4oZXhpc3RpbmdJbXBvcnQsIG1vZHVsZVNwZWNpZmllciwgbmFtZXMpO1xufVxuXG4vKipcbiAqIEV4dHJhY3RzIGltcG9ydGVkIGlkZW50aWZpZXIgbmFtZSBmcm9tIG9uZSBzcGVjaWZpZXIuXG4gKiBAcGFyYW0gc3BlY2lmaWVyIEltcG9ydCBjbGF1c2UgZW50cnkuXG4gKiBAcmV0dXJucyBJbXBvcnRlZCBpZGVudGlmaWVyIG5hbWUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaW1wb3J0ZWQgPSB0b0ltcG9ydGVkTmFtZSh7IHR5cGU6IFwiSW1wb3J0U3BlY2lmaWVyXCIsIGltcG9ydGVkOiB7IHR5cGU6IFwiSWRlbnRpZmllclwiLCBuYW1lOiBcInhcIiB9IH0gYXMgbmV2ZXIpO1xuICogdm9pZCBpbXBvcnRlZDtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiB0b0ltcG9ydGVkTmFtZShcbiAgc3BlY2lmaWVyOiBFU1RyZWUuSW1wb3J0RGVjbGFyYXRpb25bXCJzcGVjaWZpZXJzXCJdW251bWJlcl0sXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gc3BlY2lmaWVyLnR5cGUgPT09IFwiSW1wb3J0U3BlY2lmaWVyXCIgJiZcbiAgICBzcGVjaWZpZXIuaW1wb3J0ZWQudHlwZSA9PT0gXCJJZGVudGlmaWVyXCJcbiAgICA/IHNwZWNpZmllci5pbXBvcnRlZC5uYW1lXG4gICAgOiB2b2lkIDA7XG59XG5cbmV4cG9ydCB7IHJlc29sdmVJbXBvcnRQbGFuIH07XG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vi-mocked-import/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAKnC,6EAA6E;AAC7E,QAAA,MAAM,wBAAwB,EAAE,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vi-mocked-import/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAKnC,6EAA6E;AAC7E,QAAA,MAAM,wBAAwB,EAAE,IAAI,CAAC,UA8CpC,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
|