aws-cdk 2.14.0 → 2.17.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 +2 -1
- package/THIRD_PARTY_LICENSES +24 -24
- package/build-info.json +2 -2
- package/does-not-exist.json +1 -0
- package/lib/api/cloudformation-deployments.d.ts +1 -6
- package/lib/api/cloudformation-deployments.js +6 -72
- package/lib/api/evaluate-cloudformation-template.d.ts +9 -2
- package/lib/api/evaluate-cloudformation-template.js +14 -2
- package/lib/api/hotswap-deployments.js +34 -7
- package/lib/api/logs/find-cloudwatch-logs.js +2 -2
- package/lib/api/logs/logs-monitor.js +6 -5
- package/lib/api/nested-stack-helpers.d.ts +28 -0
- package/lib/api/nested-stack-helpers.js +97 -0
- package/lib/bridge.js +99 -59
- package/lib/cdk-toolkit.js +2 -2
- package/lib/cli.js +11 -9
- package/lib/index.js +6265 -2520
- package/lib/notices.js +18 -11
- package/lib/serialize.js +2 -8
- package/lib/setup-sandbox.js +2 -1
- package/lib/util/asset-publishing.js +2 -1
- package/package.json +10 -10
- package/test/api/hotswap/hotswap-deployments.test.js +38 -2
- package/test/api/hotswap/hotswap-test-setup.d.ts +6 -4
- package/test/api/hotswap/hotswap-test-setup.js +46 -6
- package/test/api/hotswap/nested-stacks-hotswap.test.d.ts +1 -0
- package/test/api/hotswap/nested-stacks-hotswap.test.js +840 -0
- package/test/api/hotswap/state-machine-hotswap-deployments.test.js +2 -2
- package/test/api/logs/logs-monitor.test.js +33 -5
- package/test/cdk-toolkit.test.js +12 -6
- package/test/integ/cli/cli.integtest.js +15 -3
- package/test/integ/helpers/test-helpers.js +6 -2
- package/test/integ/run-against-release +11 -1
- package/test/nested-stack-templates/one-lambda-one-stack-stack-with-asset-parameters.nested.template.json +52 -0
- package/test/nested-stack-templates/one-lambda-one-stack-stack.nested.template.json +26 -0
- package/test/nested-stack-templates/one-lambda-stack-with-asset-parameters.nested.template.json +29 -0
- package/test/nested-stack-templates/one-lambda-stack.nested.template.json +17 -0
- package/test/nested-stack-templates/one-lambda-version-stack.nested.template.json +20 -0
- package/test/{diff-nested-stacks-templates → nested-stack-templates}/one-output-one-param-stack.nested.template.json +0 -0
- package/test/{diff-nested-stacks-templates → nested-stack-templates}/one-resource-one-stack-stack.nested.template.json +0 -0
- package/test/{diff-nested-stacks-templates → nested-stack-templates}/one-resource-stack.nested.template.json +0 -0
- package/test/{diff-nested-stacks-templates → nested-stack-templates}/one-resource-two-stacks-stack.nested.template.json +0 -0
- package/test/nested-stack-templates/one-unnamed-lambda-stack.nested.template.json +16 -0
- package/test/nested-stack-templates/one-unnamed-lambda-two-stacks-stack.nested.template.json +34 -0
- package/test/notices.test.js +26 -3
- package/test/util.js +2 -2
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HotswapMockSdkProvider = exports.stackSummaryOf = exports.setCurrentCfnStackTemplate = exports.pushStackResourceSummaries = exports.cdkStackArtifactOf = exports.setupHotswapTests = exports.STACK_ID = void 0;
|
|
3
|
+
exports.HotswapMockSdkProvider = exports.stackSummaryOf = exports.addTemplateToCloudFormationLookupMock = exports.setCurrentCfnStackTemplate = exports.pushNestedStackResourceSummaries = exports.pushStackResourceSummaries = exports.cdkStackArtifactOf = exports.setupHotswapNestedStackTests = exports.setupHotswapTests = exports.STACK_ID = void 0;
|
|
4
4
|
const deployments = require("../../../lib/api/hotswap-deployments");
|
|
5
|
+
const cloudformation_1 = require("../../../lib/api/util/cloudformation");
|
|
5
6
|
const util_1 = require("../../util");
|
|
6
7
|
const mock_sdk_1 = require("../../util/mock-sdk");
|
|
7
8
|
const fake_cloudformation_stack_1 = require("../fake-cloudformation-stack");
|
|
@@ -10,6 +11,8 @@ exports.STACK_ID = 'stackId';
|
|
|
10
11
|
let hotswapMockSdkProvider;
|
|
11
12
|
let currentCfnStack;
|
|
12
13
|
const currentCfnStackResources = [];
|
|
14
|
+
let stackTemplates;
|
|
15
|
+
let currentNestedCfnStackResources;
|
|
13
16
|
function setupHotswapTests() {
|
|
14
17
|
jest.resetAllMocks();
|
|
15
18
|
// clear the array
|
|
@@ -19,9 +22,28 @@ function setupHotswapTests() {
|
|
|
19
22
|
stackName: STACK_NAME,
|
|
20
23
|
stackId: exports.STACK_ID,
|
|
21
24
|
});
|
|
25
|
+
cloudformation_1.CloudFormationStack.lookup = async (_, _stackName) => {
|
|
26
|
+
return currentCfnStack;
|
|
27
|
+
};
|
|
22
28
|
return hotswapMockSdkProvider;
|
|
23
29
|
}
|
|
24
30
|
exports.setupHotswapTests = setupHotswapTests;
|
|
31
|
+
function setupHotswapNestedStackTests(rootStackName) {
|
|
32
|
+
jest.resetAllMocks();
|
|
33
|
+
currentNestedCfnStackResources = {};
|
|
34
|
+
hotswapMockSdkProvider = new HotswapMockSdkProvider(rootStackName);
|
|
35
|
+
currentCfnStack = new fake_cloudformation_stack_1.FakeCloudformationStack({
|
|
36
|
+
stackName: rootStackName,
|
|
37
|
+
stackId: exports.STACK_ID,
|
|
38
|
+
});
|
|
39
|
+
stackTemplates = {};
|
|
40
|
+
cloudformation_1.CloudFormationStack.lookup = async (_, stackName) => {
|
|
41
|
+
currentCfnStack.template = async () => stackTemplates[stackName];
|
|
42
|
+
return currentCfnStack;
|
|
43
|
+
};
|
|
44
|
+
return hotswapMockSdkProvider;
|
|
45
|
+
}
|
|
46
|
+
exports.setupHotswapNestedStackTests = setupHotswapNestedStackTests;
|
|
25
47
|
function cdkStackArtifactOf(testStackArtifact = {}) {
|
|
26
48
|
return util_1.testStack({
|
|
27
49
|
stackName: STACK_NAME,
|
|
@@ -33,11 +55,23 @@ function pushStackResourceSummaries(...items) {
|
|
|
33
55
|
currentCfnStackResources.push(...items);
|
|
34
56
|
}
|
|
35
57
|
exports.pushStackResourceSummaries = pushStackResourceSummaries;
|
|
58
|
+
function pushNestedStackResourceSummaries(stackName, ...items) {
|
|
59
|
+
if (!currentNestedCfnStackResources[stackName]) {
|
|
60
|
+
currentNestedCfnStackResources[stackName] = [];
|
|
61
|
+
}
|
|
62
|
+
currentNestedCfnStackResources[stackName].push(...items);
|
|
63
|
+
}
|
|
64
|
+
exports.pushNestedStackResourceSummaries = pushNestedStackResourceSummaries;
|
|
36
65
|
function setCurrentCfnStackTemplate(template) {
|
|
37
66
|
const templateDeepCopy = JSON.parse(JSON.stringify(template)); // deep copy the template, so our tests can mutate one template instead of creating two
|
|
38
67
|
currentCfnStack.setTemplate(templateDeepCopy);
|
|
39
68
|
}
|
|
40
69
|
exports.setCurrentCfnStackTemplate = setCurrentCfnStackTemplate;
|
|
70
|
+
function addTemplateToCloudFormationLookupMock(stackArtifact) {
|
|
71
|
+
const templateDeepCopy = JSON.parse(JSON.stringify(stackArtifact.template)); // deep copy the template, so our tests can mutate one template instead of creating two
|
|
72
|
+
stackTemplates[stackArtifact.stackName] = templateDeepCopy;
|
|
73
|
+
}
|
|
74
|
+
exports.addTemplateToCloudFormationLookupMock = addTemplateToCloudFormationLookupMock;
|
|
41
75
|
function stackSummaryOf(logicalId, resourceType, physicalResourceId) {
|
|
42
76
|
return {
|
|
43
77
|
LogicalResourceId: logicalId,
|
|
@@ -49,15 +83,21 @@ function stackSummaryOf(logicalId, resourceType, physicalResourceId) {
|
|
|
49
83
|
}
|
|
50
84
|
exports.stackSummaryOf = stackSummaryOf;
|
|
51
85
|
class HotswapMockSdkProvider {
|
|
52
|
-
constructor() {
|
|
86
|
+
constructor(rootStackName) {
|
|
53
87
|
this.mockSdkProvider = new mock_sdk_1.MockSdkProvider({ realSdk: false });
|
|
54
88
|
this.mockSdkProvider.stubCloudFormation({
|
|
55
89
|
listStackResources: ({ StackName: stackName }) => {
|
|
56
|
-
if (
|
|
57
|
-
|
|
90
|
+
if (rootStackName) {
|
|
91
|
+
const knownStackNames = Object.keys(currentNestedCfnStackResources);
|
|
92
|
+
if (stackName !== rootStackName && !knownStackNames.includes(stackName)) {
|
|
93
|
+
throw new Error(`Expected Stack name in listStackResources() call to be a member of ['${rootStackName}, ${knownStackNames}'], but received: '${stackName}'`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
else if (stackName !== STACK_NAME) {
|
|
97
|
+
throw new Error(`Expected Stack name in listStackResources() call to be: '${STACK_NAME}', but received: '${stackName}'`);
|
|
58
98
|
}
|
|
59
99
|
return {
|
|
60
|
-
StackResourceSummaries: currentCfnStackResources,
|
|
100
|
+
StackResourceSummaries: rootStackName ? currentNestedCfnStackResources[stackName] : currentCfnStackResources,
|
|
61
101
|
};
|
|
62
102
|
},
|
|
63
103
|
});
|
|
@@ -110,4 +150,4 @@ class HotswapMockSdkProvider {
|
|
|
110
150
|
}
|
|
111
151
|
}
|
|
112
152
|
exports.HotswapMockSdkProvider = HotswapMockSdkProvider;
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90c3dhcC10ZXN0LXNldHVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaG90c3dhcC10ZXN0LXNldHVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU9BLG9FQUFvRTtBQUVwRSxxQ0FBMEQ7QUFDMUQsa0RBQTJFO0FBQzNFLDRFQUF1RTtBQUV2RSxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUM7QUFDdEIsUUFBQSxRQUFRLEdBQUcsU0FBUyxDQUFDO0FBRWxDLElBQUksc0JBQThDLENBQUM7QUFDbkQsSUFBSSxlQUF3QyxDQUFDO0FBQzdDLE1BQU0sd0JBQXdCLEdBQTBDLEVBQUUsQ0FBQztBQUUzRSxTQUFnQixpQkFBaUI7SUFDL0IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3JCLGtCQUFrQjtJQUNsQix3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkMsc0JBQXNCLEdBQUcsSUFBSSxzQkFBc0IsRUFBRSxDQUFDO0lBQ3RELGVBQWUsR0FBRyxJQUFJLG1EQUF1QixDQUFDO1FBQzVDLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLE9BQU8sRUFBRSxnQkFBUTtLQUNsQixDQUFDLENBQUM7SUFFSCxPQUFPLHNCQUFzQixDQUFDO0FBQ2hDLENBQUM7QUFYRCw4Q0FXQztBQUVELFNBQWdCLGtCQUFrQixDQUFDLG9CQUFnRCxFQUFFO0lBQ25GLE9BQU8sZ0JBQVMsQ0FBQztRQUNmLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLEdBQUcsaUJBQWlCO0tBQ3JCLENBQUMsQ0FBQztBQUNMLENBQUM7QUFMRCxnREFLQztBQUVELFNBQWdCLDBCQUEwQixDQUFDLEdBQUcsS0FBNEM7SUFDeEYsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUZELGdFQUVDO0FBRUQsU0FBZ0IsMEJBQTBCLENBQUMsUUFBa0I7SUFDM0QsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxD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QUFvQixDQUN6QixhQUFnRCxFQUNoRCxjQUF5QyxFQUFFO1FBRTNDLE9BQU8sV0FBVyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUM3RyxDQUFDO0NBQ0Y7QUFqRkQsd0RBaUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3hhcGkgZnJvbSAnQGF3cy1jZGsvY3gtYXBpJztcbmltcG9ydCB7IENsb3VkRm9ybWF0aW9uIH0gZnJvbSAnYXdzLXNkayc7XG5pbXBvcnQgKiBhcyBBV1MgZnJvbSAnYXdzLXNkayc7XG5pbXBvcnQgKiBhcyBjb2RlYnVpbGQgZnJvbSAnYXdzLXNkay9jbGllbnRzL2NvZGVidWlsZCc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLXNkay9jbGllbnRzL2xhbWJkYSc7XG5pbXBvcnQgKiBhcyBzdGVwZnVuY3Rpb25zIGZyb20gJ2F3cy1zZGsvY2xpZW50cy9zdGVwZnVuY3Rpb25zJztcbmltcG9ydCB7IERlcGxveVN0YWNrUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vbGliL2FwaSc7XG5pbXBvcnQgKiBhcyBkZXBsb3ltZW50cyBmcm9tICcuLi8uLi8uLi9saWIvYXBpL2hvdHN3YXAtZGVwbG95bWVudHMnO1xuaW1wb3J0IHsgVGVtcGxhdGUgfSBmcm9tICcuLi8uLi8uLi9saWIvYXBpL3V0aWwvY2xvdWRmb3JtYXRpb24nO1xuaW1wb3J0IHsgdGVzdFN0YWNrLCBUZXN0U3RhY2tBcnRpZmFjdCB9IGZyb20gJy4uLy4uL3V0aWwnO1xuaW1wb3J0IHsgTW9ja1Nka1Byb3ZpZGVyLCBTeW5jSGFuZGxlclN1YnNldE9mIH0gZnJvbSAnLi4vLi4vdXRpbC9tb2NrLXNkayc7XG5pbXBvcnQgeyBGYWtlQ2xvdWRmb3JtYXRpb25TdGFjayB9IGZyb20gJy4uL2Zha2UtY2xvdWRmb3JtYXRpb24tc3RhY2snO1xuXG5jb25zdCBTVEFDS19OQU1FID0gJ3dpdGhvdXRlcnJvcnMnO1xuZXhwb3J0IGNvbnN0IFNUQUNLX0lEID0gJ3N0YWNrSWQnO1xuXG5sZXQgaG90c3dhcE1vY2tTZGtQcm92aWRlcjogSG90c3dhcE1vY2tTZGtQcm92aWRlcjtcbmxldCBjdXJyZW50Q2ZuU3RhY2s6IEZha2VDbG91ZGZvcm1hdGlvblN0YWNrO1xuY29uc3QgY3VycmVudENmblN0YWNrUmVzb3VyY2VzOiBDbG91ZEZvcm1hdGlvbi5TdGFja1Jlc291cmNlU3VtbWFyeVtdID0gW107XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cEhvdHN3YXBUZXN0cygpIHtcbiAgamVzdC5yZXNldEFsbE1vY2tzKCk7XG4gIC8vIGNsZWFyIHRoZSBhcnJheVxuICBjdXJyZW50Q2ZuU3RhY2tSZXNvdXJjZXMuc3BsaWNlKDApO1xuICBob3Rzd2FwTW9ja1Nka1Byb3ZpZGVyID0gbmV3IEhvdHN3YXBNb2NrU2RrUHJvdmlkZXIoKTtcbiAgY3VycmVudENmblN0YWNrID0gbmV3IEZha2VDbG91ZGZvcm1hdGlvblN0YWNrKHtcbiAgICBzdGFja05hbWU6IFNUQUNLX05BTUUsXG4gICAgc3RhY2tJZDogU1RBQ0tfSUQsXG4gIH0pO1xuXG4gIHJldHVybiBob3Rzd2FwTW9ja1Nka1Byb3ZpZGVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2RrU3RhY2tBcnRpZmFjdE9mKHRlc3RTdGFja0FydGlmYWN0OiBQYXJ0aWFsPFRlc3RTdGFja0FydGlmYWN0PiA9IHt9KTogY3hhcGkuQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0IHtcbiAgcmV0dXJuIHRlc3RTdGFjayh7XG4gICAgc3RhY2tOYW1lOiBTVEFDS19OQU1FLFxuICAgIC4uLnRlc3RTdGFja0FydGlmYWN0LFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHB1c2hTdGFja1Jlc291cmNlU3VtbWFyaWVzKC4uLml0ZW1zOiBDbG91ZEZvcm1hdGlvbi5TdGFja1Jlc291cmNlU3VtbWFyeVtdKSB7XG4gIGN1cnJlbnRDZm5TdGFja1Jlc291cmNlcy5wdXNoKC4uLml0ZW1zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEN1cnJlbnRDZm5TdGFja1RlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZSkge1xuICBjb25zdCB0ZW1wbGF0ZURlZXBDb3B5ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0ZW1wbGF0ZSkpOyAvLyBkZWVwIGNvcHkgdGhlIHRlbXBsYXRlLCBzbyBvdXIgdGVzdHMgY2FuIG11dGF0ZSBvbmUgdGVtcGxhdGUgaW5zdGVhZCBvZiBjcmVhdGluZyB0d29cbiAgY3VycmVudENmblN0YWNrLnNldFRlbXBsYXRlKHRlbXBsYXRlRGVlcENvcHkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhY2tTdW1tYXJ5T2YobG9naWNhbElkOiBzdHJpbmcsIHJlc291cmNlVHlwZTogc3RyaW5nLCBwaHlzaWNhbFJlc291cmNlSWQ6IHN0cmluZyk6IENsb3VkRm9ybWF0aW9uLlN0YWNrUmVzb3VyY2VTdW1tYXJ5IHtcbiAgcmV0dXJuIHtcbiAgICBMb2dpY2FsUmVzb3VyY2VJZDogbG9naWNhbElkLFxuICAgIFBoeXNpY2FsUmVzb3VyY2VJZDogcGh5c2ljYWxSZXNvdXJjZUlkLFxuICAgIFJlc291cmNlVHlwZTogcmVzb3VyY2VUeXBlLFxuICAgIFJlc291cmNlU3RhdHVzOiAnQ1JFQVRFX0NPTVBMRVRFJyxcbiAgICBMYXN0VXBkYXRlZFRpbWVzdGFtcDogbmV3IERhdGUoKSxcbiAgfTtcbn1cblxuZXhwb3J0IGNsYXNzIEhvdHN3YXBNb2NrU2RrUHJvdmlkZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgbW9ja1Nka1Byb3ZpZGVyOiBNb2NrU2RrUHJvdmlkZXI7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5tb2NrU2RrUHJvdmlkZXIgPSBuZXcgTW9ja1Nka1Byb3ZpZGVyKHsgcmVhbFNkazogZmFsc2UgfSk7XG5cbiAgICB0aGlzLm1vY2tTZGtQcm92aWRlci5zdHViQ2xvdWRGb3JtYXRpb24oe1xuICAgICAgbGlzdFN0YWNrUmVzb3VyY2VzOiAoeyBTdGFja05hbWU6IHN0YWNrTmFtZSB9KSA9PiB7XG4gICAgICAgIGlmIChzdGFja05hbWUgIT09IFNUQUNLX05BTUUpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIFN0YWNrIG5hbWUgaW4gbGlzdFN0YWNrUmVzb3VyY2VzKCkgY2FsbCB0byBiZTogJyR7U1RBQ0tfTkFNRX0nLCBidXQgcmVjZWl2ZWQ6ICR7c3RhY2tOYW1lfSdgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIFN0YWNrUmVzb3VyY2VTdW1tYXJpZXM6IGN1cnJlbnRDZm5TdGFja1Jlc291cmNlcyxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2V0VXBkYXRlU3RhdGVNYWNoaW5lTW9jayhcbiAgICBtb2NrVXBkYXRlTWFjaGluZURlZmluaXRpb246IChpbnB1dDogc3RlcGZ1bmN0aW9ucy5VcGRhdGVTdGF0ZU1hY2hpbmVJbnB1dCkgPT4gc3RlcGZ1bmN0aW9ucy5VcGRhdGVTdGF0ZU1hY2hpbmVPdXRwdXQsXG4gICkge1xuICAgIHRoaXMubW9ja1Nka1Byb3ZpZGVyLnN0dWJTdGVwRnVuY3Rpb25zKHtcbiAgICAgIHVwZGF0ZVN0YXRlTWFjaGluZTogbW9ja1VwZGF0ZU1hY2hpbmVEZWZpbml0aW9uLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0dWJMYW1iZGEoXG4gICAgc3R1YnM6IFN5bmNIYW5kbGVyU3Vic2V0T2Y8QVdTLkxhbWJkYT4sXG4gICAgc2VydmljZVN0dWJzPzogU3luY0hhbmRsZXJTdWJzZXRPZjxBV1MuU2VydmljZT4sXG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fSxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5tb2NrU2RrUHJvdmlkZXIuc3R1YkxhbWJkYShzdHVicywge1xuICAgICAgYXBpOiB7XG4gICAgICAgIHdhaXRlcnM6IHt9LFxuICAgICAgfSxcbiAgICAgIG1ha2VSZXF1ZXN0KCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHByb21pc2U6ICgpID0+IFByb21pc2UucmVzb2x2ZSh7fSksXG4gICAgICAgICAgcmVzcG9uc2U6IHt9LFxuICAgICAgICAgIGFkZExpc3RlbmVyczogKCkgPT4ge30sXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICAgLi4uc2VydmljZVN0dWJzLFxuICAgICAgLi4uYWRkaXRpb25hbFByb3BlcnRpZXMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGFtYmRhQXBpV2FpdGVycygpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gKHRoaXMubW9ja1Nka1Byb3ZpZGVyLnNkay5sYW1iZGEoKSBhcyBhbnkpLmFwaS53YWl0ZXJzO1xuICB9XG5cbiAgcHVibGljIHNldFVwZGF0ZVByb2plY3RNb2NrKG1vY2tVcGRhdGVQcm9qZWN0OiAoaW5wdXQ6IGNvZGVidWlsZC5VcGRhdGVQcm9qZWN0SW5wdXQpID0+IGNvZGVidWlsZC5VcGRhdGVQcm9qZWN0T3V0cHV0KSB7XG4gICAgdGhpcy5tb2NrU2RrUHJvdmlkZXIuc3R1YkNvZGVCdWlsZCh7XG4gICAgICB1cGRhdGVQcm9qZWN0OiBtb2NrVXBkYXRlUHJvamVjdCxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdHViQXBwU3luYyhzdHViczogU3luY0hhbmRsZXJTdWJzZXRPZjxBV1MuQXBwU3luYz4pIHtcbiAgICB0aGlzLm1vY2tTZGtQcm92aWRlci5zdHViQXBwU3luYyhzdHVicyk7XG4gIH1cblxuICBwdWJsaWMgc2V0SW52b2tlTGFtYmRhTW9jayhtb2NrSW52b2tlTGFtYmRhOiAoaW5wdXQ6IGxhbWJkYS5JbnZvY2F0aW9uUmVxdWVzdCkgPT4gbGFtYmRhLkludm9jYXRpb25SZXNwb25zZSkge1xuICAgIHRoaXMubW9ja1Nka1Byb3ZpZGVyLnN0dWJMYW1iZGEoe1xuICAgICAgaW52b2tlOiBtb2NrSW52b2tlTGFtYmRhLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0dWJFY3Moc3R1YnM6IFN5bmNIYW5kbGVyU3Vic2V0T2Y8QVdTLkVDUz4sIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge30pOiB2b2lkIHtcbiAgICB0aGlzLm1vY2tTZGtQcm92aWRlci5zdHViRWNzKHN0dWJzLCBhZGRpdGlvbmFsUHJvcGVydGllcyk7XG4gIH1cblxuICBwdWJsaWMgc3R1YkdldEVuZHBvaW50U3VmZml4KHN0dWI6ICgpID0+IHN0cmluZykge1xuICAgIHRoaXMubW9ja1Nka1Byb3ZpZGVyLnN0dWJHZXRFbmRwb2ludFN1ZmZpeChzdHViKTtcbiAgfVxuXG4gIHB1YmxpYyB0cnlIb3Rzd2FwRGVwbG95bWVudChcbiAgICBzdGFja0FydGlmYWN0OiBjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QsXG4gICAgYXNzZXRQYXJhbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSxcbiAgKTogUHJvbWlzZTxEZXBsb3lTdGFja1Jlc3VsdCB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBkZXBsb3ltZW50cy50cnlIb3Rzd2FwRGVwbG95bWVudCh0aGlzLm1vY2tTZGtQcm92aWRlciwgYXNzZXRQYXJhbXMsIGN1cnJlbnRDZm5TdGFjaywgc3RhY2tBcnRpZmFjdCk7XG4gIH1cbn1cbiJdfQ==
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90c3dhcC10ZXN0LXNldHVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaG90c3dhcC10ZXN0LXNldHVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLG9FQUFvRTtBQUNwRSx5RUFBcUY7QUFDckYscUNBQTBEO0FBQzFELGtEQUEyRTtBQUMzRSw0RUFBdUU7QUFFdkUsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDO0FBQ3RCLFFBQUEsUUFBUSxHQUFHLFNBQVMsQ0FBQztBQUVsQyxJQUFJLHNCQUE4QyxDQUFDO0FBQ25ELElBQUksZUFBd0MsQ0FBQztBQUM3QyxNQUFNLHdCQUF3QixHQUE4QyxFQUFFLENBQUM7QUFDL0UsSUFBSSxjQUE0QyxDQUFDO0FBQ2pELElBQUksOEJBQWtHLENBQUM7QUFFdkcsU0FBZ0IsaUJBQWlCO0lBQy9CLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNyQixrQkFBa0I7SUFDbEIsd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25DLHNCQUFzQixHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQztJQUN0RCxlQUFlLEdBQUcsSUFBSSxtREFBdUIsQ0FBQztRQUM1QyxTQUFTLEVBQUUsVUFBVTtRQUNyQixPQUFPLEVBQUUsZ0JBQVE7S0FDbEIsQ0FBQyxDQUFDO0lBQ0gsb0NBQW1CLENBQUMsTUFBTSxHQUFHLEtBQUssRUFBRSxDQUFxQixFQUFFLFVBQWtCLEVBQUUsRUFBRTtRQUMvRSxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDLENBQUM7SUFFRixPQUFPLHNCQUFzQixDQUFDO0FBQ2hDLENBQUM7QUFkRCw4Q0FjQztBQUVELFNBQWdCLDRCQUE0QixDQUFDLGFBQXFCO0lBQ2hFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNyQiw4QkFBOEIsR0FBRyxFQUFFLENBQUM7SUFDcEMsc0JBQXNCLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuRSxl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QUFDLGVBQWUsQ0FBQyxhQUFhLENBQUM7WUFDakMsYUFBYSxFQUFFLGlCQUFpQjtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQXVDO1FBQ3hELElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxnQkFBZ0Y7UUFDekcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUM7WUFDOUIsTUFBTSxFQUFFLGdCQUFnQjtTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQW1DLEVBQUUsdUJBQStDLEVBQUU7UUFDbkcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVNLHFCQUFxQixDQUFDLElBQWtCO1FBQzdDLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVNLG9CQUFvQixDQUN6QixhQUFnRCxFQUNoRCxjQUF5QyxFQUFFO1FBRTNDLE9BQU8sV0FBVyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUM3RyxDQUFDO0NBQ0Y7QUF0RkQsd0RBc0ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3hhcGkgZnJvbSAnQGF3cy1jZGsvY3gtYXBpJztcbmltcG9ydCAqIGFzIEFXUyBmcm9tICdhd3Mtc2RrJztcbmltcG9ydCAqIGFzIGNvZGVidWlsZCBmcm9tICdhd3Mtc2RrL2NsaWVudHMvY29kZWJ1aWxkJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3Mtc2RrL2NsaWVudHMvbGFtYmRhJztcbmltcG9ydCAqIGFzIHN0ZXBmdW5jdGlvbnMgZnJvbSAnYXdzLXNkay9jbGllbnRzL3N0ZXBmdW5jdGlvbnMnO1xuaW1wb3J0IHsgRGVwbG95U3RhY2tSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi9saWIvYXBpJztcbmltcG9ydCAqIGFzIGRlcGxveW1lbnRzIGZyb20gJy4uLy4uLy4uL2xpYi9hcGkvaG90c3dhcC1kZXBsb3ltZW50cyc7XG5pbXBvcnQgeyBDbG91ZEZvcm1hdGlvblN0YWNrLCBUZW1wbGF0ZSB9IGZyb20gJy4uLy4uLy4uL2xpYi9hcGkvdXRpbC9jbG91ZGZvcm1hdGlvbic7XG5pbXBvcnQgeyB0ZXN0U3RhY2ssIFRlc3RTdGFja0FydGlmYWN0IH0gZnJvbSAnLi4vLi4vdXRpbCc7XG5pbXBvcnQgeyBNb2NrU2RrUHJvdmlkZXIsIFN5bmNIYW5kbGVyU3Vic2V0T2YgfSBmcm9tICcuLi8uLi91dGlsL21vY2stc2RrJztcbmltcG9ydCB7IEZha2VDbG91ZGZvcm1hdGlvblN0YWNrIH0gZnJvbSAnLi4vZmFrZS1jbG91ZGZvcm1hdGlvbi1zdGFjayc7XG5cbmNvbnN0IFNUQUNLX05BTUUgPSAnd2l0aG91dGVycm9ycyc7XG5leHBvcnQgY29uc3QgU1RBQ0tfSUQgPSAnc3RhY2tJZCc7XG5cbmxldCBob3Rzd2FwTW9ja1Nka1Byb3ZpZGVyOiBIb3Rzd2FwTW9ja1Nka1Byb3ZpZGVyO1xubGV0IGN1cnJlbnRDZm5TdGFjazogRmFrZUNsb3VkZm9ybWF0aW9uU3RhY2s7XG5jb25zdCBjdXJyZW50Q2ZuU3RhY2tSZXNvdXJjZXM6IEFXUy5DbG91ZEZvcm1hdGlvbi5TdGFja1Jlc291cmNlU3VtbWFyeVtdID0gW107XG5sZXQgc3RhY2tUZW1wbGF0ZXM6IHsgW3N0YWNrTmFtZTogc3RyaW5nXTogYW55IH07XG5sZXQgY3VycmVudE5lc3RlZENmblN0YWNrUmVzb3VyY2VzOiB7IFtzdGFja05hbWU6IHN0cmluZ106IEFXUy5DbG91ZEZvcm1hdGlvbi5TdGFja1Jlc291cmNlU3VtbWFyeVtdIH07XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cEhvdHN3YXBUZXN0cygpOiBIb3Rzd2FwTW9ja1Nka1Byb3ZpZGVyIHtcbiAgamVzdC5yZXNldEFsbE1vY2tzKCk7XG4gIC8vIGNsZWFyIHRoZSBhcnJheVxuICBjdXJyZW50Q2ZuU3RhY2tSZXNvdXJjZXMuc3BsaWNlKDApO1xuICBob3Rzd2FwTW9ja1Nka1Byb3ZpZGVyID0gbmV3IEhvdHN3YXBNb2NrU2RrUHJvdmlkZXIoKTtcbiAgY3VycmVudENmblN0YWNrID0gbmV3IEZha2VDbG91ZGZvcm1hdGlvblN0YWNrKHtcbiAgICBzdGFja05hbWU6IFNUQUNLX05BTUUsXG4gICAgc3RhY2tJZDogU1RBQ0tfSUQsXG4gIH0pO1xuICBDbG91ZEZvcm1hdGlvblN0YWNrLmxvb2t1cCA9IGFzeW5jIChfOiBBV1MuQ2xvdWRGb3JtYXRpb24sIF9zdGFja05hbWU6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBjdXJyZW50Q2ZuU3RhY2s7XG4gIH07XG5cbiAgcmV0dXJuIGhvdHN3YXBNb2NrU2RrUHJvdmlkZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cEhvdHN3YXBOZXN0ZWRTdGFja1Rlc3RzKHJvb3RTdGFja05hbWU6IHN0cmluZykge1xuICBqZXN0LnJlc2V0QWxsTW9ja3MoKTtcbiAgY3VycmVudE5lc3RlZENmblN0YWNrUmVzb3VyY2VzID0ge307XG4gIGhvdHN3YXBNb2NrU2RrUHJvdmlkZXIgPSBuZXcgSG90c3dhcE1vY2tTZGtQcm92aWRlcihyb290U3RhY2tOYW1lKTtcbiAgY3VycmVudENmblN0YWNrID0gbmV3IEZha2VDbG91ZGZvcm1hdGlvblN0YWNrKHtcbiAgICBzdGFja05hbWU6IHJvb3RTdGFja05hbWUsXG4gICAgc3RhY2tJZDogU1RBQ0tfSUQsXG4gIH0pO1xuICBzdGFja1RlbXBsYXRlcyA9IHt9O1xuICBDbG91ZEZvcm1hdGlvblN0YWNrLmxvb2t1cCA9IGFzeW5jIChfOiBBV1MuQ2xvdWRGb3JtYXRpb24sIHN0YWNrTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgY3VycmVudENmblN0YWNrLnRlbXBsYXRlID0gYXN5bmMgKCkgPT4gc3RhY2tUZW1wbGF0ZXNbc3RhY2tOYW1lXTtcbiAgICByZXR1cm4gY3VycmVudENmblN0YWNrO1xuICB9O1xuXG4gIHJldHVybiBob3Rzd2FwTW9ja1Nka1Byb3ZpZGVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2RrU3RhY2tBcnRpZmFjdE9mKHRlc3RTdGFja0FydGlmYWN0OiBQYXJ0aWFsPFRlc3RTdGFja0FydGlmYWN0PiA9IHt9KTogY3hhcGkuQ2xvdWRGb3JtYXRpb25TdGFja0FydGlmYWN0IHtcbiAgcmV0dXJuIHRlc3RTdGFjayh7XG4gICAgc3RhY2tOYW1lOiBTVEFDS19OQU1FLFxuICAgIC4uLnRlc3RTdGFja0FydGlmYWN0LFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHB1c2hTdGFja1Jlc291cmNlU3VtbWFyaWVzKC4uLml0ZW1zOiBBV1MuQ2xvdWRGb3JtYXRpb24uU3RhY2tSZXNvdXJjZVN1bW1hcnlbXSkge1xuICBjdXJyZW50Q2ZuU3RhY2tSZXNvdXJjZXMucHVzaCguLi5pdGVtcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwdXNoTmVzdGVkU3RhY2tSZXNvdXJjZVN1bW1hcmllcyhzdGFja05hbWU6IHN0cmluZywgLi4uaXRlbXM6IEFXUy5DbG91ZEZvcm1hdGlvbi5TdGFja1Jlc291cmNlU3VtbWFyeVtdKSB7XG4gIGlmICghY3VycmVudE5lc3RlZENmblN0YWNrUmVzb3VyY2VzW3N0YWNrTmFtZV0pIHtcbiAgICBjdXJyZW50TmVzdGVkQ2ZuU3RhY2tSZXNvdXJjZXNbc3RhY2tOYW1lXSA9IFtdO1xuICB9XG4gIGN1cnJlbnROZXN0ZWRDZm5TdGFja1Jlc291cmNlc1tzdGFja05hbWVdLnB1c2goLi4uaXRlbXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0Q3VycmVudENmblN0YWNrVGVtcGxhdGUodGVtcGxhdGU6IFRlbXBsYXRlKSB7XG4gIGNvbnN0IHRlbXBsYXRlRGVlcENvcHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRlbXBsYXRlKSk7IC8vIGRlZXAgY29weSB0aGUgdGVtcGxhdGUsIHNvIG91ciB0ZXN0cyBjYW4gbXV0YXRlIG9uZSB0ZW1wbGF0ZSBpbnN0ZWFkIG9mIGNyZWF0aW5nIHR3b1xuICBjdXJyZW50Q2ZuU3RhY2suc2V0VGVtcGxhdGUodGVtcGxhdGVEZWVwQ29weSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRUZW1wbGF0ZVRvQ2xvdWRGb3JtYXRpb25Mb29rdXBNb2NrKHN0YWNrQXJ0aWZhY3Q6IGN4YXBpLkNsb3VkRm9ybWF0aW9uU3RhY2tBcnRpZmFjdCkge1xuICBjb25zdCB0ZW1wbGF0ZURlZXBDb3B5ID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShzdGFja0FydGlmYWN0LnRlbXBsYXRlKSk7IC8vIGRlZXAgY29weSB0aGUgdGVtcGxhdGUsIHNvIG91ciB0ZXN0cyBjYW4gbXV0YXRlIG9uZSB0ZW1wbGF0ZSBpbnN0ZWFkIG9mIGNyZWF0aW5nIHR3b1xuICBzdGFja1RlbXBsYXRlc1tzdGFja0FydGlmYWN0LnN0YWNrTmFtZV0gPSB0ZW1wbGF0ZURlZXBDb3B5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhY2tTdW1tYXJ5T2YobG9naWNhbElkOiBzdHJpbmcsIHJlc291cmNlVHlwZTogc3RyaW5nLCBwaHlzaWNhbFJlc291cmNlSWQ6IHN0cmluZyk6IEFXUy5DbG91ZEZvcm1hdGlvbi5TdGFja1Jlc291cmNlU3VtbWFyeSB7XG4gIHJldHVybiB7XG4gICAgTG9naWNhbFJlc291cmNlSWQ6IGxvZ2ljYWxJZCxcbiAgICBQaHlzaWNhbFJlc291cmNlSWQ6IHBoeXNpY2FsUmVzb3VyY2VJZCxcbiAgICBSZXNvdXJjZVR5cGU6IHJlc291cmNlVHlwZSxcbiAgICBSZXNvdXJjZVN0YXR1czogJ0NSRUFURV9DT01QTEVURScsXG4gICAgTGFzdFVwZGF0ZWRUaW1lc3RhbXA6IG5ldyBEYXRlKCksXG4gIH07XG59XG5cbmV4cG9ydCBjbGFzcyBIb3Rzd2FwTW9ja1Nka1Byb3ZpZGVyIHtcbiAgcHVibGljIHJlYWRvbmx5IG1vY2tTZGtQcm92aWRlcjogTW9ja1Nka1Byb3ZpZGVyO1xuXG4gIGNvbnN0cnVjdG9yKHJvb3RTdGFja05hbWU/OiBzdHJpbmcpIHtcbiAgICB0aGlzLm1vY2tTZGtQcm92aWRlciA9IG5ldyBNb2NrU2RrUHJvdmlkZXIoeyByZWFsU2RrOiBmYWxzZSB9KTtcblxuICAgIHRoaXMubW9ja1Nka1Byb3ZpZGVyLnN0dWJDbG91ZEZvcm1hdGlvbih7XG4gICAgICBsaXN0U3RhY2tSZXNvdXJjZXM6ICh7IFN0YWNrTmFtZTogc3RhY2tOYW1lIH0pID0+IHtcbiAgICAgICAgaWYgKHJvb3RTdGFja05hbWUpIHtcbiAgICAgICAgICBjb25zdCBrbm93blN0YWNrTmFtZXMgPSBPYmplY3Qua2V5cyhjdXJyZW50TmVzdGVkQ2ZuU3RhY2tSZXNvdXJjZXMpO1xuICAgICAgICAgIGlmIChzdGFja05hbWUgIT09IHJvb3RTdGFja05hbWUgJiYgIWtub3duU3RhY2tOYW1lcy5pbmNsdWRlcyhzdGFja05hbWUpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIFN0YWNrIG5hbWUgaW4gbGlzdFN0YWNrUmVzb3VyY2VzKCkgY2FsbCB0byBiZSBhIG1lbWJlciBvZiBbJyR7cm9vdFN0YWNrTmFtZX0sICR7a25vd25TdGFja05hbWVzfSddLCBidXQgcmVjZWl2ZWQ6ICcke3N0YWNrTmFtZX0nYCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHN0YWNrTmFtZSAhPT0gU1RBQ0tfTkFNRSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgU3RhY2sgbmFtZSBpbiBsaXN0U3RhY2tSZXNvdXJjZXMoKSBjYWxsIHRvIGJlOiAnJHtTVEFDS19OQU1FfScsIGJ1dCByZWNlaXZlZDogJyR7c3RhY2tOYW1lfSdgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIFN0YWNrUmVzb3VyY2VTdW1tYXJpZXM6IHJvb3RTdGFja05hbWUgPyBjdXJyZW50TmVzdGVkQ2ZuU3RhY2tSZXNvdXJjZXNbc3RhY2tOYW1lXSA6IGN1cnJlbnRDZm5TdGFja1Jlc291cmNlcyxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2V0VXBkYXRlU3RhdGVNYWNoaW5lTW9jayhcbiAgICBtb2NrVXBkYXRlTWFjaGluZURlZmluaXRpb246IChpbnB1dDogc3RlcGZ1bmN0aW9ucy5VcGRhdGVTdGF0ZU1hY2hpbmVJbnB1dCkgPT4gc3RlcGZ1bmN0aW9ucy5VcGRhdGVTdGF0ZU1hY2hpbmVPdXRwdXQsXG4gICkge1xuICAgIHRoaXMubW9ja1Nka1Byb3ZpZGVyLnN0dWJTdGVwRnVuY3Rpb25zKHtcbiAgICAgIHVwZGF0ZVN0YXRlTWFjaGluZTogbW9ja1VwZGF0ZU1hY2hpbmVEZWZpbml0aW9uLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0dWJMYW1iZGEoXG4gICAgc3R1YnM6IFN5bmNIYW5kbGVyU3Vic2V0T2Y8QVdTLkxhbWJkYT4sXG4gICAgc2VydmljZVN0dWJzPzogU3luY0hhbmRsZXJTdWJzZXRPZjxBV1MuU2VydmljZT4sXG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fSxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5tb2NrU2RrUHJvdmlkZXIuc3R1YkxhbWJkYShzdHVicywge1xuICAgICAgYXBpOiB7XG4gICAgICAgIHdhaXRlcnM6IHt9LFxuICAgICAgfSxcbiAgICAgIG1ha2VSZXF1ZXN0KCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHByb21pc2U6ICgpID0+IFByb21pc2UucmVzb2x2ZSh7fSksXG4gICAgICAgICAgcmVzcG9uc2U6IHt9LFxuICAgICAgICAgIGFkZExpc3RlbmVyczogKCkgPT4ge30sXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICAgLi4uc2VydmljZVN0dWJzLFxuICAgICAgLi4uYWRkaXRpb25hbFByb3BlcnRpZXMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGFtYmRhQXBpV2FpdGVycygpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gKHRoaXMubW9ja1Nka1Byb3ZpZGVyLnNkay5sYW1iZGEoKSBhcyBhbnkpLmFwaS53YWl0ZXJzO1xuICB9XG5cbiAgcHVibGljIHNldFVwZGF0ZVByb2plY3RNb2NrKG1vY2tVcGRhdGVQcm9qZWN0OiAoaW5wdXQ6IGNvZGVidWlsZC5VcGRhdGVQcm9qZWN0SW5wdXQpID0+IGNvZGVidWlsZC5VcGRhdGVQcm9qZWN0T3V0cHV0KSB7XG4gICAgdGhpcy5tb2NrU2RrUHJvdmlkZXIuc3R1YkNvZGVCdWlsZCh7XG4gICAgICB1cGRhdGVQcm9qZWN0OiBtb2NrVXBkYXRlUHJvamVjdCxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdHViQXBwU3luYyhzdHViczogU3luY0hhbmRsZXJTdWJzZXRPZjxBV1MuQXBwU3luYz4pIHtcbiAgICB0aGlzLm1vY2tTZGtQcm92aWRlci5zdHViQXBwU3luYyhzdHVicyk7XG4gIH1cblxuICBwdWJsaWMgc2V0SW52b2tlTGFtYmRhTW9jayhtb2NrSW52b2tlTGFtYmRhOiAoaW5wdXQ6IGxhbWJkYS5JbnZvY2F0aW9uUmVxdWVzdCkgPT4gbGFtYmRhLkludm9jYXRpb25SZXNwb25zZSkge1xuICAgIHRoaXMubW9ja1Nka1Byb3ZpZGVyLnN0dWJMYW1iZGEoe1xuICAgICAgaW52b2tlOiBtb2NrSW52b2tlTGFtYmRhLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0dWJFY3Moc3R1YnM6IFN5bmNIYW5kbGVyU3Vic2V0T2Y8QVdTLkVDUz4sIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge30pOiB2b2lkIHtcbiAgICB0aGlzLm1vY2tTZGtQcm92aWRlci5zdHViRWNzKHN0dWJzLCBhZGRpdGlvbmFsUHJvcGVydGllcyk7XG4gIH1cblxuICBwdWJsaWMgc3R1YkdldEVuZHBvaW50U3VmZml4KHN0dWI6ICgpID0+IHN0cmluZykge1xuICAgIHRoaXMubW9ja1Nka1Byb3ZpZGVyLnN0dWJHZXRFbmRwb2ludFN1ZmZpeChzdHViKTtcbiAgfVxuXG4gIHB1YmxpYyB0cnlIb3Rzd2FwRGVwbG95bWVudChcbiAgICBzdGFja0FydGlmYWN0OiBjeGFwaS5DbG91ZEZvcm1hdGlvblN0YWNrQXJ0aWZhY3QsXG4gICAgYXNzZXRQYXJhbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSxcbiAgKTogUHJvbWlzZTxEZXBsb3lTdGFja1Jlc3VsdCB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBkZXBsb3ltZW50cy50cnlIb3Rzd2FwRGVwbG95bWVudCh0aGlzLm1vY2tTZGtQcm92aWRlciwgYXNzZXRQYXJhbXMsIGN1cnJlbnRDZm5TdGFjaywgc3RhY2tBcnRpZmFjdCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|