@fjall/components-infrastructure 0.86.0 → 0.87.3
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 -3
- package/dist/lib/app.d.ts +166 -6
- package/dist/lib/app.js +212 -20
- package/dist/lib/aspects/resourceInventory.d.ts +4 -4
- package/dist/lib/aspects/resourceInventory.js +3 -3
- package/dist/lib/config/aws/backupGlobalSettings.js +1 -2
- package/dist/lib/config/aws/identityCenter.js +1 -5
- package/dist/lib/config/aws/organisation.js +1 -4
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +7 -1
- package/dist/lib/patterns/aws/buildkite.js +3 -2
- package/dist/lib/patterns/aws/cdn.d.ts +164 -0
- package/dist/lib/patterns/aws/cdn.js +264 -0
- package/dist/lib/patterns/aws/compute.d.ts +278 -59
- package/dist/lib/patterns/aws/compute.js +384 -188
- package/dist/lib/patterns/aws/connections.d.ts +46 -0
- package/dist/lib/patterns/aws/connections.js +159 -0
- package/dist/lib/patterns/aws/database.d.ts +124 -11
- package/dist/lib/patterns/aws/database.js +188 -66
- package/dist/lib/patterns/aws/hostedZone.js +1 -1
- package/dist/lib/patterns/aws/index.d.ts +3 -0
- package/dist/lib/patterns/aws/index.js +4 -1
- package/dist/lib/patterns/aws/interfaces/compute.d.ts +121 -0
- package/dist/lib/patterns/aws/interfaces/compute.js +48 -0
- package/dist/lib/patterns/aws/interfaces/connector.d.ts +183 -0
- package/dist/lib/patterns/aws/interfaces/connector.js +117 -0
- package/dist/lib/patterns/aws/interfaces/database.d.ts +136 -0
- package/dist/lib/patterns/aws/interfaces/database.js +65 -0
- package/dist/lib/patterns/aws/interfaces/index.d.ts +12 -0
- package/dist/lib/patterns/aws/interfaces/index.js +49 -0
- package/dist/lib/patterns/aws/interfaces/messaging.d.ts +146 -0
- package/dist/lib/patterns/aws/interfaces/messaging.js +56 -0
- package/dist/lib/patterns/aws/interfaces/pattern.d.ts +403 -0
- package/dist/lib/patterns/aws/interfaces/pattern.js +36 -0
- package/dist/lib/patterns/aws/interfaces/storage.d.ts +136 -0
- package/dist/lib/patterns/aws/interfaces/storage.js +48 -0
- package/dist/lib/patterns/aws/messaging.d.ts +183 -0
- package/dist/lib/patterns/aws/messaging.js +239 -0
- package/dist/lib/patterns/aws/network.js +4 -4
- package/dist/lib/patterns/aws/pattern.d.ts +67 -0
- package/dist/lib/patterns/aws/pattern.js +69 -0
- package/dist/lib/patterns/aws/payload.d.ts +87 -0
- package/dist/lib/patterns/aws/payload.js +526 -0
- package/dist/lib/patterns/aws/storage.d.ts +127 -15
- package/dist/lib/patterns/aws/storage.js +234 -38
- package/dist/lib/resources/aws/backup/backupPlan.js +1 -6
- package/dist/lib/resources/aws/backup/backupVault.js +1 -2
- package/dist/lib/resources/aws/base/awsStack.d.ts +0 -2
- package/dist/lib/resources/aws/base/awsStack.js +1 -7
- package/dist/lib/resources/aws/cdn/cloudFront.d.ts +71 -0
- package/dist/lib/resources/aws/cdn/cloudFront.js +176 -0
- package/dist/lib/resources/aws/cdn/index.d.ts +1 -0
- package/dist/lib/resources/aws/cdn/index.js +18 -0
- package/dist/lib/resources/aws/compute/ec2.d.ts +5 -0
- package/dist/lib/resources/aws/compute/ec2.js +33 -6
- package/dist/lib/resources/aws/compute/ecs.d.ts +32 -25
- package/dist/lib/resources/aws/compute/ecs.js +31 -115
- package/dist/lib/resources/aws/compute/lambda.d.ts +94 -5
- package/dist/lib/resources/aws/compute/lambda.js +209 -32
- package/dist/lib/resources/aws/database/database.js +1 -1
- package/dist/lib/resources/aws/database/dynamodb.d.ts +70 -0
- package/dist/lib/resources/aws/database/dynamodb.js +181 -0
- package/dist/lib/resources/aws/database/index.d.ts +1 -0
- package/dist/lib/resources/aws/database/index.js +2 -1
- package/dist/lib/resources/aws/database/migrationLambda.d.ts +80 -0
- package/dist/lib/resources/aws/database/migrationLambda.js +119 -0
- package/dist/lib/resources/aws/database/rdsAurora.d.ts +15 -0
- package/dist/lib/resources/aws/database/rdsAurora.js +41 -18
- package/dist/lib/resources/aws/database/rdsAuroraGlobal.js +12 -8
- package/dist/lib/resources/aws/database/rdsInstance.js +2 -2
- package/dist/lib/resources/aws/index.d.ts +2 -0
- package/dist/lib/resources/aws/index.js +3 -1
- package/dist/lib/resources/aws/messaging/eventbridge.d.ts +28 -0
- package/dist/lib/resources/aws/messaging/eventbridge.js +53 -0
- package/dist/lib/resources/aws/messaging/index.d.ts +3 -0
- package/dist/lib/resources/aws/messaging/index.js +20 -0
- package/dist/lib/resources/aws/messaging/sns.d.ts +35 -0
- package/dist/lib/resources/aws/messaging/sns.js +70 -0
- package/dist/lib/resources/aws/messaging/sqs.d.ts +105 -0
- package/dist/lib/resources/aws/messaging/sqs.js +231 -0
- package/dist/lib/resources/aws/messaging/utils.d.ts +3 -0
- package/dist/lib/resources/aws/messaging/utils.js +7 -0
- package/dist/lib/resources/aws/networking/ipam.js +1 -2
- package/dist/lib/resources/aws/networking/ipamPool.js +3 -2
- package/dist/lib/resources/aws/networking/vpc.js +1 -2
- package/dist/lib/resources/aws/storage/ecr.js +8 -5
- package/dist/lib/resources/aws/storage/s3.js +1 -2
- package/dist/lib/resources/aws/utilities/awsCustomResource.js +1 -1
- package/dist/lib/resources/aws/utilities/customResource.js +1 -1
- package/dist/lib/utils/getConfig.js +3 -2
- package/dist/lib/utils/index.d.ts +1 -0
- package/dist/lib/utils/index.js +2 -1
- package/dist/lib/utils/manifestWriter.d.ts +174 -0
- package/dist/lib/utils/manifestWriter.js +233 -0
- package/dist/lib/utils/standardTagsAspect.js +1 -8
- package/dist/lib/utils/validationLogger.d.ts +34 -0
- package/dist/lib/utils/validationLogger.js +83 -0
- package/package.json +3 -3
- package/dist/lib/__tests__/setup.d.ts +0 -48
- package/dist/lib/__tests__/setup.js +0 -1
- package/dist/lib/patterns/aws/cicdRole.d.ts +0 -67
- package/dist/lib/patterns/aws/cicdRole.js +0 -68
- package/dist/lib/resources/aws/cicd/cicdRole.d.ts +0 -65
- package/dist/lib/resources/aws/cicd/cicdRole.js +0 -191
- package/dist/lib/resources/aws/compute/ecsFreeTier.d.ts +0 -75
- package/dist/lib/resources/aws/compute/ecsFreeTier.js +0 -1
- package/dist/lib/resources/aws/compute/ecsSpot.d.ts +0 -75
- package/dist/lib/resources/aws/compute/ecsSpot.js +0 -1
- package/dist/lib/resources/aws/compute/utilities/capacityProviderDrainWaiter.d.ts +0 -20
- package/dist/lib/resources/aws/compute/utilities/capacityProviderDrainWaiter.js +0 -1
- package/dist/lib/resources/aws/utilities/cfnOutput.d.ts +0 -5
- package/dist/lib/resources/aws/utilities/cfnOutput.js +0 -1
|
@@ -6,6 +6,7 @@ const constructs_1 = require("constructs");
|
|
|
6
6
|
const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
|
|
7
7
|
const resourceShare_1 = require("../utilities/resourceShare");
|
|
8
8
|
const getAccountId_1 = require("../../../utils/getAccountId");
|
|
9
|
+
const validationLogger_1 = require("../../../utils/validationLogger");
|
|
9
10
|
class IpamPool extends constructs_1.Construct {
|
|
10
11
|
constructor(scope, id, props) {
|
|
11
12
|
super(scope, id);
|
|
@@ -29,7 +30,7 @@ class IpamPool extends constructs_1.Construct {
|
|
|
29
30
|
}
|
|
30
31
|
// Warn if user requests VPC allocations larger than the provisioned pool
|
|
31
32
|
if (defaultNetmaskLength < provisionedNetmaskLength) {
|
|
32
|
-
|
|
33
|
+
validationLogger_1.FjallLogger.warn(`'allocationDefaultNetmaskLength' (/${defaultNetmaskLength}) is larger than 'provisionedNetmaskLength' (/${provisionedNetmaskLength}). ` +
|
|
33
34
|
`VPC allocation may fail if the pool cannot satisfy the request.`);
|
|
34
35
|
}
|
|
35
36
|
// Top Level Pool
|
|
@@ -155,4 +156,4 @@ class IpamPoolStack extends aws_cdk_lib_1.Stack {
|
|
|
155
156
|
}
|
|
156
157
|
}
|
|
157
158
|
exports.IpamPoolStack = IpamPoolStack;
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBhbVBvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9uZXR3b3JraW5nL2lwYW1Qb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFvRTtBQUNwRSwyQ0FBdUM7QUFDdkMsaURBRzZCO0FBQzdCLDhEQUEyRDtBQUMzRCw4REFBdUQ7QUF5QnZELE1BQWEsUUFBUyxTQUFRLHNCQUFTO0lBQ3JDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQiwwREFBMEQ7UUFDMUQsTUFBTSx5QkFBeUIsR0FDN0IsS0FBSyxDQUFDLFNBQVMsSUFBSSxnQkFBRSxDQUFDLFdBQVcsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBRWpFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBRUQsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQzdELE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FDdEIsQ0FBQztRQUVGLHVEQUF1RDtRQUN2RCxNQUFNLG9CQUFvQixHQUFHLEtBQUssQ0FBQyw4QkFBOEIsSUFBSSxFQUFFLENBQUM7UUFDeEUsTUFBTSx3QkFBd0IsR0FBRyxLQUFLLENBQUMsd0JBQXdCLElBQUksRUFBRSxDQUFDO1FBRXRFLGtGQUFrRjtRQUNsRixJQUFJLG9CQUFvQixHQUFHLEVBQUUsSUFBSSxvQkFBb0IsR0FBRyxFQUFFLEVBQUUsQ0FBQztZQUMzRCxNQUFNLElBQUksS0FBSyxDQUNiLG1G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QUFjLENBQUMsQ0FBQztnQkFFekMsa0VBQWtFO2dCQUNsRSxJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLGFBQWEsU0FBUyxHQUFHLFlBQVksRUFBRSxFQUFFO29CQUMzRCxHQUFHLEVBQUUsYUFBYSxTQUFTLEdBQUcsWUFBWSxFQUFFO29CQUM1QyxLQUFLLEVBQUUsUUFBUSxDQUFDLGNBQWM7b0JBQzlCLFVBQVUsRUFBRSxhQUFhLFNBQVMsR0FBRyxZQUFZLEVBQUU7aUJBQ3BELENBQUMsQ0FBQztnQkFFSCxJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLGNBQWMsU0FBUyxHQUFHLFlBQVksRUFBRSxFQUFFO29CQUM1RCxHQUFHLEVBQUUsY0FBYyxTQUFTLEdBQUcsWUFBWSxFQUFFO29CQUM3QyxLQUFLLEVBQUUsUUFBUSxDQUFDLE9BQU87b0JBQ3ZCLFVBQVUsRUFBRSxjQUFjLFNBQVMsR0FBRyxZQUFZLEVBQUU7aUJBQ3JELENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBekxELDRCQXlMQztBQUVELE1BQWEsYUFBYyxTQUFRLG1CQUFLO0lBQ3RDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBeUI7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzdCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87U0FDdkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBVEQsc0NBU0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIEZuLCB0eXBlIFN0YWNrUHJvcHMsIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgQ2ZuSVBBTVBvb2wgYXMgSXBhbVBvb2xDbGFzcyxcbiAgQ2ZuSVBBTVBvb2xDaWRyXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgeyBSZXNvdXJjZVNoYXJlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9yZXNvdXJjZVNoYXJlXCI7XG5pbXBvcnQgZ2V0QWNjb3VudElkIGZyb20gXCIuLi8uLi8uLi91dGlscy9nZXRBY2NvdW50SWRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJcGFtUG9vbFByb3BzIGV4dGVuZHMgU3RhY2tQcm9wcyB7XG4gIG9yZ0FjY291bnRzOiBzdHJpbmdbXTtcbiAgaXBhbVNjb3BlPzogc3RyaW5nO1xuICByZWdpb25zOiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFRoZSBuZXRtYXNrIGxlbmd0aCAoL0NJRFIpIGVhY2ggY2hpbGQgSVBBTSBwb29sIHNob3VsZCByZWNlaXZlLlxuICAgKiBDb250cm9scyB0aGUgc2l6ZSBvZiBDSURSIGJsb2NrcyBhdXRvbWF0aWNhbGx5IGFsbG9jYXRlZCB0byBWUENzIGZyb20gdGhlIHBvb2wuXG4gICAqIEFjY2VwdGVkIHJhbmdlOiAvMTYgKDY1LDUzNiBJUHMpIOKAkyAvMjggKDE2IElQcykuIERlZmF1bHRzIHRvIC8yMCAoNCwwOTYgSVBzKS5cbiAgICovXG4gIGFsbG9jYXRpb25EZWZhdWx0TmV0bWFza0xlbmd0aD86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBuZXRtYXNrIGxlbmd0aCAoL0NJRFIpIHByb3Zpc2lvbmVkIGludG8gZWFjaCBjaGlsZCBJUEFNIHBvb2wgb24gY3JlYXRpb24uXG4gICAqIERldGVybWluZXMgdGhlIHRvdGFsIGFkZHJlc3Mgc3BhY2UgYXZhaWxhYmxlIGZvciBWUEMgYWxsb2NhdGlvbnMgaW4gdGhhdCBhY2NvdW50LlxuICAgKiBBY2NlcHRlZCByYW5nZTogLzEzICg1MjQsMjg4IElQcykg4oCTIC8xNiAoNjUsNTM2IElQcykuIERlZmF1bHRzIHRvIC8xNC5cbiAgICovXG4gIHByb3Zpc2lvbmVkTmV0bWFza0xlbmd0aD86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIElwYW1Qb29sU3RhY2tQcm9wcyBleHRlbmRzIFN0YWNrUHJvcHMge1xuICBvcmdBY2NvdW50czogc3RyaW5nW107XG4gIHJlZ2lvbnM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY2xhc3MgSXBhbVBvb2wgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogSXBhbVBvb2xQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAvLyBHZXQgdGhlIGRlZmF1bHQgSVBBTSBzY29wZSBJRCBmcm9tIHByb3BzLCBvciBDRk4gaW1wb3J0XG4gICAgY29uc3QgSXBhbVByaXZhdGVEZWZhdWx0U2NvcGVJZCA9XG4gICAgICBwcm9wcy5pcGFtU2NvcGUgfHwgRm4uaW1wb3J0VmFsdWUoXCJJcGFtUHJpdmF0ZURlZmF1bHRTY29wZUlkXCIpO1xuXG4gICAgY29uc3QgcmVnaW9ucyA9IHByb3BzLnJlZ2lvbnM7XG4gICAgaWYgKCFyZWdpb25zIHx8IHJlZ2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBdCBsZWFzdCBvbmUgcmVnaW9uIG11c3QgYmUgc3BlY2lmaWVkIGZvciBJUEFNIHBvb2xzXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IG9yZ2FuaXNhdGlvbkFjY291bnRzID0gcHJvcHMub3JnQWNjb3VudHMubWFwKChhY2NvdW50KSA9PlxuICAgICAgYWNjb3VudC50b0xvd2VyQ2FzZSgpXG4gICAgKTtcblxuICAgIC8vIERldGVybWluZSB0aGUgY2hpbGQtcG9vbCBDSURSIHNpemUgKGRlZmF1bHRzIHRvIC8yMClcbiAgICBjb25zdCBkZWZhdWx0TmV0bWFza0xlbmd0aCA9IHByb3BzLmFsbG9jYXRpb25EZWZhdWx0TmV0bWFza0xlbmd0aCA/PyAyMDtcbiAgICBjb25zdCBwcm92aXNpb25lZE5ldG1hc2tMZW5ndGggPSBwcm9wcy5wcm92aXNpb25lZE5ldG1hc2tMZW5ndGggPz8gMTQ7XG5cbiAgICAvLyBCYXNpYyB2YWxpZGF0aW9uIOKAkyAvMTYgdG8gLzI4IGluY2x1c2l2ZSBhcmUgY29uc2lkZXJlZCBzYWZlIGZvciBWUEMgYWxsb2NhdGlvbnNcbiAgICBpZiAoZGVmYXVsdE5ldG1hc2tMZW5ndGggPCAxNiB8fCBkZWZhdWx0TmV0bWFza0xlbmd0aCA+IDI4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBhbGxvY2F0aW9uRGVmYXVsdE5ldG1hc2tMZW5ndGggbXVzdCBiZSBiZXR3ZWVuIDE2IGFuZCAyOCAoaW5jbHVzaXZlKS4gUmVjZWl2ZWQ6ICR7ZGVmYXVsdE5ldG1hc2tMZW5ndGh9YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0ZSBwcm92aXNpb25lZCBibG9jayBzaXplICgvMTMgdG8gLzE2KVxuICAgIGlmIChwcm92aXNpb25lZE5ldG1hc2tMZW5ndGggPCAxMyB8fCBwcm92aXNpb25lZE5ldG1hc2tMZW5ndGggPiAxNikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgcHJvdmlzaW9uZWROZXRtYXNrTGVuZ3RoIG11c3QgYmUgYmV0d2VlbiAxMyBhbmQgMTYgKGluY2x1c2l2ZSkuIFJlY2VpdmVkOiAke3Byb3Zpc2lvbmVkTmV0bWFza0xlbmd0aH1gXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFdhcm4gaWYgdXNlciByZXF1ZXN0cyBWUEMgYWxsb2NhdGlvbnMgbGFyZ2VyIHRoYW4gdGhlIHByb3Zpc2lvbmVkIHBvb2xcbiAgICBpZiAoZGVmYXVsdE5ldG1hc2tMZW5ndGggPCBwcm92aXNpb25lZE5ldG1hc2tMZW5ndGgpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYFdhcm5pbmc6IGFsbG9jYXRpb25EZWZhdWx0TmV0bWFza0xlbmd0aCAoLyR7ZGVmYXVsdE5ldG1hc2tMZW5ndGh9KSBpcyBsYXJnZXIgdGhhbiBwcm92aXNpb25lZE5ldG1hc2tMZW5ndGggKC8ke3Byb3Zpc2lvbmVkTmV0bWFza0xlbmd0aH0pLiBgICtcbiAgICAgICAgICBgVlBDIGFsbG9jYXRpb24gbWF5IGZhaWwgaWYgdGhlIHBvb2wgY2Fubm90IHNhdGlzZnkgdGhlIHJlcXVlc3QuYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBUb3AgTGV2ZWwgUG9vbFxuICAgIGNvbnN0IHJvb3RQb29sID0gbmV3IElwYW1Qb29sQ2xhc3ModGhpcywgXCJUb3BMZXZlbElwYW1Qb29sXCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBgUm9vdCBJUEFNIHBvb2wgKEdsb2JhbClgLFxuICAgICAgYWRkcmVzc0ZhbWlseTogXCJpcHY0XCIsXG4gICAgICBpcGFtU2NvcGVJZDogSXBhbVByaXZhdGVEZWZhdWx0U2NvcGVJZCxcbiAgICAgIHByb3Zpc2lvbmVkQ2lkcnM6IFtcbiAgICAgICAgeyBjaWRyOiBcIjEwLjAuMC4wLzhcIiB9LFxuICAgICAgICB7IGNpZHI6IFwiMTcyLjE2LjAuMC8xMlwiIH0sXG4gICAgICAgIHsgY2lkcjogXCIxOTIuMTY4LjAuMC8xNlwiIH1cbiAgICAgIF0sXG4gICAgICBhdXRvSW1wb3J0OiB0cnVlLFxuICAgICAgdGFnczogW1xuICAgICAgICB7XG4gICAgICAgICAga2V5OiBcImZqYWxsOm9wZXJhdGlvbnM6cG9vbFwiLFxuICAgICAgICAgIHZhbHVlOiBcInRvcC1sZXZlbFwiXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IFwiZmphbGw6Y29zdEFsbG9jYXRpb246ZW52aXJvbm1lbnRcIixcbiAgICAgICAgICB2YWx1ZTogXCJtYW5hZ2VtZW50XCJcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0pO1xuXG4gICAgLy8gQ3JlYXRlIHJlZ2lvbmFsIHBvb2xzIGFzIGNoaWxkcmVuIG9mIHRoZSByb290IHBvb2xcbiAgICBmb3IgKGNvbnN0IHJlZ2lvbiBvZiByZWdpb25zKSB7XG4gICAgICBjb25zdCByZWdpb25TdWZmaXggPSByZWdpb24ucmVwbGFjZSgvLS9nLCBcIlwiKTtcblxuICAgICAgLy8gQ3JlYXRlIGEgcmVnaW9uYWwgcG9vbCBmb3IgdGhpcyBzcGVjaWZpYyByZWdpb25cbiAgICAgIGNvbnN0IHJlZ2lvbmFsUG9vbCA9IG5ldyBJcGFtUG9vbENsYXNzKFxuICAgICAgICB0aGlzLFxuICAgICAgICBgUmVnaW9uYWxQb29sJHtyZWdpb25TdWZmaXh9YCxcbiAgICAgICAge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOiBgUmVnaW9uYWwgSVBBTSBwb29sIC0gJHtyZWdpb259YCxcbiAgICAgICAgICBhZGRyZXNzRmFtaWx5OiBcImlwdjRcIixcbiAgICAgICAgICBpcGFtU2NvcGVJZDogSXBhbVByaXZhdGVEZWZhdWx0U2NvcGVJZCxcbiAgICAgICAgICBsb2NhbGU6IHJlZ2lvbixcbiAgICAgICAgICBzb3VyY2VJcGFtUG9vbElkOiByb290UG9vbC5hdHRySXBhbVBvb2xJZCxcbiAgICAgICAgICBhdXRvSW1wb3J0OiB0cnVlLFxuICAgICAgICAgIHRhZ3M6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAga2V5OiBcImZqYWxsOm9wZXJhdGlvbnM6cG9vbFwiLFxuICAgICAgICAgICAgICB2YWx1ZTogYHJlZ2lvbmFsLSR7cmVnaW9ufWBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGtleTogXCJmamFsbDpjb3N0QWxsb2NhdGlvbjplbnZpcm9ubWVudFwiLFxuICAgICAgICAgICAgICB2YWx1ZTogXCJtYW5hZ2VtZW50XCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IHJlZ2lvbmFsQ2lkckFsbG9jYXRpb24gPSBuZXcgQ2ZuSVBBTVBvb2xDaWRyKFxuICAgICAgICB0aGlzLFxuICAgICAgICBgUmVnaW9uYWxQb29sQ2lkciR7cmVnaW9uU3VmZml4fWAsXG4gICAgICAgIHtcbiAgICAgICAgICBpcGFtUG9vbElkOiByZWdpb25hbFBvb2wuYXR0cklwYW1Qb29sSWQsXG4gICAgICAgICAgbmV0bWFza0xlbmd0aDogMTAgLy8gRWFjaCByZWdpb24gZ2V0cyBhIC8xMCAoNCwxOTQsMzA0IElQcylcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgLy8gQ3JlYXRlIGFjY291bnQgcG9vbHMgdW5kZXIgZWFjaCByZWdpb25hbCBwb29sXG4gICAgICBmb3IgKGNvbnN0IGFjY291bnQgb2Ygb3JnYW5pc2F0aW9uQWNjb3VudHMpIHtcbiAgICAgICAgY29uc3QgYWNjb3VudElkID0gZ2V0QWNjb3VudElkKGFjY291bnQpO1xuXG4gICAgICAgIGNvbnN0IGlwYW1Qb29sID0gbmV3IElwYW1Qb29sQ2xhc3MoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBgJHthY2NvdW50fUlwYW1Qb29sJHtyZWdpb25TdWZmaXh9YCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogYCR7YWNjb3VudH0gLSBJUEFNIHBvb2wgLSAke3JlZ2lvbn1gLFxuICAgICAgICAgICAgYWRkcmVzc0ZhbWlseTogXCJpcHY0XCIsXG4gICAgICAgICAgICBpcGFtU2NvcGVJZDogSXBhbVByaXZhdGVEZWZhdWx0U2NvcGVJZCxcbiAgICAgICAgICAgIGxvY2FsZTogcmVnaW9uLFxuICAgICAgICAgICAgc291cmNlSXBhbVBvb2xJZDogcmVnaW9uYWxQb29sLmF0dHJJcGFtUG9vbElkLFxuICAgICAgICAgICAgYWxsb2NhdGlvbkRlZmF1bHROZXRtYXNrTGVuZ3RoOiBkZWZhdWx0TmV0bWFza0xlbmd0aCxcbiAgICAgICAgICAgIGFsbG9jYXRpb25SZXNvdXJjZVRhZ3M6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGtleTogXCJmamFsbDpvcGVyYXRpb25zOnBvb2xcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogYCR7YWNjb3VudElkfS0ke3JlZ2lvbn1gXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBhdXRvSW1wb3J0OiB0cnVlLFxuICAgICAgICAgICAgdGFnczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAga2V5OiBcImZqYWxsOm9wZXJhdGlvbnM6cG9vbFwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBgJHthY2NvdW50SWR9LSR7cmVnaW9ufWBcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGtleTogXCJmamFsbDpjb3N0QWxsb2NhdGlvbjphY2NvdW50TmFtZVwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBhY2NvdW50XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gRW5zdXJlIHRoZSBhY2NvdW50IHBvb2wgaXMgY3JlYXRlZCBhZnRlciB0aGUgcmVnaW9uYWwgQ0lEUiBhbGxvY2F0aW9uXG4gICAgICAgIGlwYW1Qb29sLm5vZGUuYWRkRGVwZW5kZW5jeShyZWdpb25hbENpZHJBbGxvY2F0aW9uKTtcblxuICAgICAgICBjb25zdCBjaWRyQWxsb2NhdGlvbiA9IG5ldyBDZm5JUEFNUG9vbENpZHIoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBgJHthY2NvdW50fVBvb2xDaWRyJHtwcm92aXNpb25lZE5ldG1hc2tMZW5ndGh9JHtyZWdpb25TdWZmaXh9YCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpcGFtUG9vbElkOiBpcGFtUG9vbC5hdHRySXBhbVBvb2xJZCxcbiAgICAgICAgICAgIG5ldG1hc2tMZW5ndGg6IHByb3Zpc2lvbmVkTmV0bWFza0xlbmd0aFxuICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICAvLyBTaGFyZSB0aGUgcG9vbCB3aXRoIHRoZSB0YXJnZXQgYWNjb3VudCBzbyB0aGF0IFZQQ3MgY2FuIGFsbG9jYXRlXG4gICAgICAgIGNvbnN0IHNoYXJlID0gbmV3IFJlc291cmNlU2hhcmUoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBgJHthY2NvdW50fUlwYW1SZXNvdXJjZVNoYXJlJHtyZWdpb25TdWZmaXh9YCxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBgJHthY2NvdW50fUlwYW1SZXNvdXJjZVNoYXJlLiR7cmVnaW9ufWAsXG4gICAgICAgICAgICBhbGxvd0V4dGVybmFsUHJpbmNpcGFsczogZmFsc2UsXG4gICAgICAgICAgICBwcmluY2lwYWxzOiBbYWNjb3VudElkXSxcbiAgICAgICAgICAgIHJlc291cmNlQXJuczogW2lwYW1Qb29sLmF0dHJBcm5dLFxuICAgICAgICAgICAgdGFnczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAga2V5OiBcImZqYWxsOmNvc3RBbGxvY2F0aW9uOmVudmlyb25tZW50XCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGBtYW5hZ2VtZW50YFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIEVuc3VyZSB0aGUgc2hhcmUgaXMgY3JlYXRlZCBvbmx5IGFmdGVyIHRoZSBDSURSIGlzIHByb3Zpc2lvbmVkXG4gICAgICAgIHNoYXJlLm5vZGUuYWRkRGVwZW5kZW5jeShjaWRyQWxsb2NhdGlvbik7XG5cbiAgICAgICAgLy8gRXhwb3NlIHRoZSBwb29sIElEIGZvciBjcm9zcy1zdGFjayB1c2FnZSAoZS5nLiBWUEMgYWxsb2NhdGlvbnMpXG4gICAgICAgIG5ldyBDZm5PdXRwdXQodGhpcywgYElwYW1Qb29sSWQke2FjY291bnRJZH0ke3JlZ2lvblN1ZmZpeH1gLCB7XG4gICAgICAgICAga2V5OiBgSXBhbVBvb2xJZCR7YWNjb3VudElkfSR7cmVnaW9uU3VmZml4fWAsXG4gICAgICAgICAgdmFsdWU6IGlwYW1Qb29sLmF0dHJJcGFtUG9vbElkLFxuICAgICAgICAgIGV4cG9ydE5hbWU6IGBJcGFtUG9vbElkJHthY2NvdW50SWR9JHtyZWdpb25TdWZmaXh9YFxuICAgICAgICB9KTtcblxuICAgICAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIGBJcGFtUG9vbEFybiR7YWNjb3VudElkfSR7cmVnaW9uU3VmZml4fWAsIHtcbiAgICAgICAgICBrZXk6IGBJcGFtUG9vbEFybiR7YWNjb3VudElkfSR7cmVnaW9uU3VmZml4fWAsXG4gICAgICAgICAgdmFsdWU6IGlwYW1Qb29sLmF0dHJBcm4sXG4gICAgICAgICAgZXhwb3J0TmFtZTogYElwYW1Qb29sQXJuJHthY2NvdW50SWR9JHtyZWdpb25TdWZmaXh9YFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIElwYW1Qb29sU3RhY2sgZXh0ZW5kcyBTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBJcGFtUG9vbFN0YWNrUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgbmV3IElwYW1Qb29sKHRoaXMsIFwiSXBhbVBvb2xcIiwge1xuICAgICAgb3JnQWNjb3VudHM6IHByb3BzLm9yZ0FjY291bnRzLFxuICAgICAgcmVnaW9uczogcHJvcHMucmVnaW9uc1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBhbVBvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9uZXR3b3JraW5nL2lwYW1Qb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFvRTtBQUNwRSwyQ0FBdUM7QUFDdkMsaURBRzZCO0FBQzdCLDhEQUEyRDtBQUMzRCw4REFBdUQ7QUFDdkQsc0VBQThEO0FBeUI5RCxNQUFhLFFBQVMsU0FBUSxzQkFBUztJQUNyQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW9CO1FBQzVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsMERBQTBEO1FBQzFELE1BQU0seUJBQXlCLEdBQzdCLEtBQUssQ0FBQyxTQUFTLElBQUksZ0JBQUUsQ0FBQyxXQUFXLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUVqRSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUVELE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUM3RCxPQUFPLENBQUMsV0FBVyxFQUFFLENBQ3RCLENBQUM7UUFFRix1REFBdUQ7UUFDdkQsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsOEJBQThCLElBQUksRUFBRSxDQUFDO1FBQ3hFLE1BQU0sd0JBQXdCLEdBQUcsS0FBSyxDQUFDLHdCQUF3QixJQUFJLEVBQUUsQ0FBQztRQUV0RSxrRkFBa0Y7UUFDbEYsSUFBSSxvQkFBb0IsR0FBRyxFQUFFLElBQUksb0JBQW9CLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDM0QsTUFBTSxJQUFJ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QUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2dCQUV6QyxrRUFBa0U7Z0JBQ2xFLElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxTQUFTLEdBQUcsWUFBWSxFQUFFLEVBQUU7b0JBQzNELEdBQUcsRUFBRSxhQUFhLFNBQVMsR0FBRyxZQUFZLEVBQUU7b0JBQzVDLEtBQUssRUFBRSxRQUFRLENBQUMsY0FBYztvQkFDOUIsVUFBVSxFQUFFLGFBQWEsU0FBUyxHQUFHLFlBQVksRUFBRTtpQkFDcEQsQ0FBQyxDQUFDO2dCQUVILElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxTQUFTLEdBQUcsWUFBWSxFQUFFLEVBQUU7b0JBQzVELEdBQUcsRUFBRSxjQUFjLFNBQVMsR0FBRyxZQUFZLEVBQUU7b0JBQzdDLEtBQUssRUFBRSxRQUFRLENBQUMsT0FBTztvQkFDdkIsVUFBVSxFQUFFLGNBQWMsU0FBUyxHQUFHLFlBQVksRUFBRTtpQkFDckQsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUF6TEQsNEJBeUxDO0FBRUQsTUFBYSxhQUFjLFNBQVEsbUJBQUs7SUFDdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDN0IsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFURCxzQ0FTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmbk91dHB1dCwgRm4sIHR5cGUgU3RhY2tQcm9wcywgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBDZm5JUEFNUG9vbCBhcyBJcGFtUG9vbENsYXNzLFxuICBDZm5JUEFNUG9vbENpZHJcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IFJlc291cmNlU2hhcmUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3Jlc291cmNlU2hhcmVcIjtcbmltcG9ydCBnZXRBY2NvdW50SWQgZnJvbSBcIi4uLy4uLy4uL3V0aWxzL2dldEFjY291bnRJZFwiO1xuaW1wb3J0IHsgRmphbGxMb2dnZXIgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvdmFsaWRhdGlvbkxvZ2dlclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElwYW1Qb29sUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgb3JnQWNjb3VudHM6IHN0cmluZ1tdO1xuICBpcGFtU2NvcGU/OiBzdHJpbmc7XG4gIHJlZ2lvbnM6IHN0cmluZ1tdO1xuICAvKipcbiAgICogVGhlIG5ldG1hc2sgbGVuZ3RoICgvQ0lEUikgZWFjaCBjaGlsZCBJUEFNIHBvb2wgc2hvdWxkIHJlY2VpdmUuXG4gICAqIENvbnRyb2xzIHRoZSBzaXplIG9mIENJRFIgYmxvY2tzIGF1dG9tYXRpY2FsbHkgYWxsb2NhdGVkIHRvIFZQQ3MgZnJvbSB0aGUgcG9vbC5cbiAgICogQWNjZXB0ZWQgcmFuZ2U6IC8xNiAoNjUsNTM2IElQcykg4oCTIC8yOCAoMTYgSVBzKS4gRGVmYXVsdHMgdG8gLzIwICg0LDA5NiBJUHMpLlxuICAgKi9cbiAgYWxsb2NhdGlvbkRlZmF1bHROZXRtYXNrTGVuZ3RoPzogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIG5ldG1hc2sgbGVuZ3RoICgvQ0lEUikgcHJvdmlzaW9uZWQgaW50byBlYWNoIGNoaWxkIElQQU0gcG9vbCBvbiBjcmVhdGlvbi5cbiAgICogRGV0ZXJtaW5lcyB0aGUgdG90YWwgYWRkcmVzcyBzcGFjZSBhdmFpbGFibGUgZm9yIFZQQyBhbGxvY2F0aW9ucyBpbiB0aGF0IGFjY291bnQuXG4gICAqIEFjY2VwdGVkIHJhbmdlOiAvMTMgKDUyNCwyODggSVBzKSDigJMgLzE2ICg2NSw1MzYgSVBzKS4gRGVmYXVsdHMgdG8gLzE0LlxuICAgKi9cbiAgcHJvdmlzaW9uZWROZXRtYXNrTGVuZ3RoPzogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgSXBhbVBvb2xTdGFja1Byb3BzIGV4dGVuZHMgU3RhY2tQcm9wcyB7XG4gIG9yZ0FjY291bnRzOiBzdHJpbmdbXTtcbiAgcmVnaW9uczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBJcGFtUG9vbCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBJcGFtUG9vbFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8vIEdldCB0aGUgZGVmYXVsdCBJUEFNIHNjb3BlIElEIGZyb20gcHJvcHMsIG9yIENGTiBpbXBvcnRcbiAgICBjb25zdCBJcGFtUHJpdmF0ZURlZmF1bHRTY29wZUlkID1cbiAgICAgIHByb3BzLmlwYW1TY29wZSB8fCBGbi5pbXBvcnRWYWx1ZShcIklwYW1Qcml2YXRlRGVmYXVsdFNjb3BlSWRcIik7XG5cbiAgICBjb25zdCByZWdpb25zID0gcHJvcHMucmVnaW9ucztcbiAgICBpZiAoIXJlZ2lvbnMgfHwgcmVnaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkF0IGxlYXN0IG9uZSByZWdpb24gbXVzdCBiZSBzcGVjaWZpZWQgZm9yIElQQU0gcG9vbHNcIik7XG4gICAgfVxuXG4gICAgY29uc3Qgb3JnYW5pc2F0aW9uQWNjb3VudHMgPSBwcm9wcy5vcmdBY2NvdW50cy5tYXAoKGFjY291bnQpID0+XG4gICAgICBhY2NvdW50LnRvTG93ZXJDYXNlKClcbiAgICApO1xuXG4gICAgLy8gRGV0ZXJtaW5lIHRoZSBjaGlsZC1wb29sIENJRFIgc2l6ZSAoZGVmYXVsdHMgdG8gLzIwKVxuICAgIGNvbnN0IGRlZmF1bHROZXRtYXNrTGVuZ3RoID0gcHJvcHMuYWxsb2NhdGlvbkRlZmF1bHROZXRtYXNrTGVuZ3RoID8/IDIwO1xuICAgIGNvbnN0IHByb3Zpc2lvbmVkTmV0bWFza0xlbmd0aCA9IHByb3BzLnByb3Zpc2lvbmVkTmV0bWFza0xlbmd0aCA/PyAxNDtcblxuICAgIC8vIEJhc2ljIHZhbGlkYXRpb24g4oCTIC8xNiB0byAvMjggaW5jbHVzaXZlIGFyZSBjb25zaWRlcmVkIHNhZmUgZm9yIFZQQyBhbGxvY2F0aW9uc1xuICAgIGlmIChkZWZhdWx0TmV0bWFza0xlbmd0aCA8IDE2IHx8IGRlZmF1bHROZXRtYXNrTGVuZ3RoID4gMjgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYGFsbG9jYXRpb25EZWZhdWx0TmV0bWFza0xlbmd0aCBtdXN0IGJlIGJldHdlZW4gMTYgYW5kIDI4IChpbmNsdXNpdmUpLiBSZWNlaXZlZDogJHtkZWZhdWx0TmV0bWFza0xlbmd0aH1gXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIHByb3Zpc2lvbmVkIGJsb2NrIHNpemUgKC8xMyB0byAvMTYpXG4gICAgaWYgKHByb3Zpc2lvbmVkTmV0bWFza0xlbmd0aCA8IDEzIHx8IHByb3Zpc2lvbmVkTmV0bWFza0xlbmd0aCA+IDE2KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBwcm92aXNpb25lZE5ldG1hc2tMZW5ndGggbXVzdCBiZSBiZXR3ZWVuIDEzIGFuZCAxNiAoaW5jbHVzaXZlKS4gUmVjZWl2ZWQ6ICR7cHJvdmlzaW9uZWROZXRtYXNrTGVuZ3RofWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gV2FybiBpZiB1c2VyIHJlcXVlc3RzIFZQQyBhbGxvY2F0aW9ucyBsYXJnZXIgdGhhbiB0aGUgcHJvdmlzaW9uZWQgcG9vbFxuICAgIGlmIChkZWZhdWx0TmV0bWFza0xlbmd0aCA8IHByb3Zpc2lvbmVkTmV0bWFza0xlbmd0aCkge1xuICAgICAgRmphbGxMb2dnZXIud2FybihcbiAgICAgICAgYCdhbGxvY2F0aW9uRGVmYXVsdE5ldG1hc2tMZW5ndGgnICgvJHtkZWZhdWx0TmV0bWFza0xlbmd0aH0pIGlzIGxhcmdlciB0aGFuICdwcm92aXNpb25lZE5ldG1hc2tMZW5ndGgnICgvJHtwcm92aXNpb25lZE5ldG1hc2tMZW5ndGh9KS4gYCArXG4gICAgICAgICAgYFZQQyBhbGxvY2F0aW9uIG1heSBmYWlsIGlmIHRoZSBwb29sIGNhbm5vdCBzYXRpc2Z5IHRoZSByZXF1ZXN0LmBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gVG9wIExldmVsIFBvb2xcbiAgICBjb25zdCByb290UG9vbCA9IG5ldyBJcGFtUG9vbENsYXNzKHRoaXMsIFwiVG9wTGV2ZWxJcGFtUG9vbFwiLCB7XG4gICAgICBkZXNjcmlwdGlvbjogYFJvb3QgSVBBTSBwb29sIChHbG9iYWwpYCxcbiAgICAgIGFkZHJlc3NGYW1pbHk6IFwiaXB2NFwiLFxuICAgICAgaXBhbVNjb3BlSWQ6IElwYW1Qcml2YXRlRGVmYXVsdFNjb3BlSWQsXG4gICAgICBwcm92aXNpb25lZENpZHJzOiBbXG4gICAgICAgIHsgY2lkcjogXCIxMC4wLjAuMC84XCIgfSxcbiAgICAgICAgeyBjaWRyOiBcIjE3Mi4xNi4wLjAvMTJcIiB9LFxuICAgICAgICB7IGNpZHI6IFwiMTkyLjE2OC4wLjAvMTZcIiB9XG4gICAgICBdLFxuICAgICAgYXV0b0ltcG9ydDogdHJ1ZSxcbiAgICAgIHRhZ3M6IFtcbiAgICAgICAge1xuICAgICAgICAgIGtleTogXCJmamFsbDpvcGVyYXRpb25zOnBvb2xcIixcbiAgICAgICAgICB2YWx1ZTogXCJ0b3AtbGV2ZWxcIlxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAga2V5OiBcImZqYWxsOmNvc3RBbGxvY2F0aW9uOmVudmlyb25tZW50XCIsXG4gICAgICAgICAgdmFsdWU6IFwibWFuYWdlbWVudFwiXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSByZWdpb25hbCBwb29scyBhcyBjaGlsZHJlbiBvZiB0aGUgcm9vdCBwb29sXG4gICAgZm9yIChjb25zdCByZWdpb24gb2YgcmVnaW9ucykge1xuICAgICAgY29uc3QgcmVnaW9uU3VmZml4ID0gcmVnaW9uLnJlcGxhY2UoLy0vZywgXCJcIik7XG5cbiAgICAgIC8vIENyZWF0ZSBhIHJlZ2lvbmFsIHBvb2wgZm9yIHRoaXMgc3BlY2lmaWMgcmVnaW9uXG4gICAgICBjb25zdCByZWdpb25hbFBvb2wgPSBuZXcgSXBhbVBvb2xDbGFzcyhcbiAgICAgICAgdGhpcyxcbiAgICAgICAgYFJlZ2lvbmFsUG9vbCR7cmVnaW9uU3VmZml4fWAsXG4gICAgICAgIHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjogYFJlZ2lvbmFsIElQQU0gcG9vbCAtICR7cmVnaW9ufWAsXG4gICAgICAgICAgYWRkcmVzc0ZhbWlseTogXCJpcHY0XCIsXG4gICAgICAgICAgaXBhbVNjb3BlSWQ6IElwYW1Qcml2YXRlRGVmYXVsdFNjb3BlSWQsXG4gICAgICAgICAgbG9jYWxlOiByZWdpb24sXG4gICAgICAgICAgc291cmNlSXBhbVBvb2xJZDogcm9vdFBvb2wuYXR0cklwYW1Qb29sSWQsXG4gICAgICAgICAgYXV0b0ltcG9ydDogdHJ1ZSxcbiAgICAgICAgICB0YWdzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGtleTogXCJmamFsbDpvcGVyYXRpb25zOnBvb2xcIixcbiAgICAgICAgICAgICAgdmFsdWU6IGByZWdpb25hbC0ke3JlZ2lvbn1gXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBrZXk6IFwiZmphbGw6Y29zdEFsbG9jYXRpb246ZW52aXJvbm1lbnRcIixcbiAgICAgICAgICAgICAgdmFsdWU6IFwibWFuYWdlbWVudFwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICBjb25zdCByZWdpb25hbENpZHJBbGxvY2F0aW9uID0gbmV3IENmbklQQU1Qb29sQ2lkcihcbiAgICAgICAgdGhpcyxcbiAgICAgICAgYFJlZ2lvbmFsUG9vbENpZHIke3JlZ2lvblN1ZmZpeH1gLFxuICAgICAgICB7XG4gICAgICAgICAgaXBhbVBvb2xJZDogcmVnaW9uYWxQb29sLmF0dHJJcGFtUG9vbElkLFxuICAgICAgICAgIG5ldG1hc2tMZW5ndGg6IDEwIC8vIEVhY2ggcmVnaW9uIGdldHMgYSAvMTAgKDQsMTk0LDMwNCBJUHMpXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICAgIC8vIENyZWF0ZSBhY2NvdW50IHBvb2xzIHVuZGVyIGVhY2ggcmVnaW9uYWwgcG9vbFxuICAgICAgZm9yIChjb25zdCBhY2NvdW50IG9mIG9yZ2FuaXNhdGlvbkFjY291bnRzKSB7XG4gICAgICAgIGNvbnN0IGFjY291bnRJZCA9IGdldEFjY291bnRJZChhY2NvdW50KTtcblxuICAgICAgICBjb25zdCBpcGFtUG9vbCA9IG5ldyBJcGFtUG9vbENsYXNzKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgYCR7YWNjb3VudH1JcGFtUG9vbCR7cmVnaW9uU3VmZml4fWAsXG4gICAgICAgICAge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246IGAke2FjY291bnR9IC0gSVBBTSBwb29sIC0gJHtyZWdpb259YCxcbiAgICAgICAgICAgIGFkZHJlc3NGYW1pbHk6IFwiaXB2NFwiLFxuICAgICAgICAgICAgaXBhbVNjb3BlSWQ6IElwYW1Qcml2YXRlRGVmYXVsdFNjb3BlSWQsXG4gICAgICAgICAgICBsb2NhbGU6IHJlZ2lvbixcbiAgICAgICAgICAgIHNvdXJjZUlwYW1Qb29sSWQ6IHJlZ2lvbmFsUG9vbC5hdHRySXBhbVBvb2xJZCxcbiAgICAgICAgICAgIGFsbG9jYXRpb25EZWZhdWx0TmV0bWFza0xlbmd0aDogZGVmYXVsdE5ldG1hc2tMZW5ndGgsXG4gICAgICAgICAgICBhbGxvY2F0aW9uUmVzb3VyY2VUYWdzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiZmphbGw6b3BlcmF0aW9uczpwb29sXCIsXG4gICAgICAgICAgICAgICAgdmFsdWU6IGAke2FjY291bnRJZH0tJHtyZWdpb259YFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgYXV0b0ltcG9ydDogdHJ1ZSxcbiAgICAgICAgICAgIHRhZ3M6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGtleTogXCJmamFsbDpvcGVyYXRpb25zOnBvb2xcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogYCR7YWNjb3VudElkfS0ke3JlZ2lvbn1gXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXk6IFwiZmphbGw6Y29zdEFsbG9jYXRpb246YWNjb3VudE5hbWVcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogYWNjb3VudFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIC8vIEVuc3VyZSB0aGUgYWNjb3VudCBwb29sIGlzIGNyZWF0ZWQgYWZ0ZXIgdGhlIHJlZ2lvbmFsIENJRFIgYWxsb2NhdGlvblxuICAgICAgICBpcGFtUG9vbC5ub2RlLmFkZERlcGVuZGVuY3kocmVnaW9uYWxDaWRyQWxsb2NhdGlvbik7XG5cbiAgICAgICAgY29uc3QgY2lkckFsbG9jYXRpb24gPSBuZXcgQ2ZuSVBBTVBvb2xDaWRyKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgYCR7YWNjb3VudH1Qb29sQ2lkciR7cHJvdmlzaW9uZWROZXRtYXNrTGVuZ3RofSR7cmVnaW9uU3VmZml4fWAsXG4gICAgICAgICAge1xuICAgICAgICAgICAgaXBhbVBvb2xJZDogaXBhbVBvb2wuYXR0cklwYW1Qb29sSWQsXG4gICAgICAgICAgICBuZXRtYXNrTGVuZ3RoOiBwcm92aXNpb25lZE5ldG1hc2tMZW5ndGhcbiAgICAgICAgICB9XG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gU2hhcmUgdGhlIHBvb2wgd2l0aCB0aGUgdGFyZ2V0IGFjY291bnQgc28gdGhhdCBWUENzIGNhbiBhbGxvY2F0ZVxuICAgICAgICBjb25zdCBzaGFyZSA9IG5ldyBSZXNvdXJjZVNoYXJlKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgYCR7YWNjb3VudH1JcGFtUmVzb3VyY2VTaGFyZSR7cmVnaW9uU3VmZml4fWAsXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogYCR7YWNjb3VudH1JcGFtUmVzb3VyY2VTaGFyZS4ke3JlZ2lvbn1gLFxuICAgICAgICAgICAgYWxsb3dFeHRlcm5hbFByaW5jaXBhbHM6IGZhbHNlLFxuICAgICAgICAgICAgcHJpbmNpcGFsczogW2FjY291bnRJZF0sXG4gICAgICAgICAgICByZXNvdXJjZUFybnM6IFtpcGFtUG9vbC5hdHRyQXJuXSxcbiAgICAgICAgICAgIHRhZ3M6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGtleTogXCJmamFsbDpjb3N0QWxsb2NhdGlvbjplbnZpcm9ubWVudFwiLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBgbWFuYWdlbWVudGBcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICAvLyBFbnN1cmUgdGhlIHNoYXJlIGlzIGNyZWF0ZWQgb25seSBhZnRlciB0aGUgQ0lEUiBpcyBwcm92aXNpb25lZFxuICAgICAgICBzaGFyZS5ub2RlLmFkZERlcGVuZGVuY3koY2lkckFsbG9jYXRpb24pO1xuXG4gICAgICAgIC8vIEV4cG9zZSB0aGUgcG9vbCBJRCBmb3IgY3Jvc3Mtc3RhY2sgdXNhZ2UgKGUuZy4gVlBDIGFsbG9jYXRpb25zKVxuICAgICAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIGBJcGFtUG9vbElkJHthY2NvdW50SWR9JHtyZWdpb25TdWZmaXh9YCwge1xuICAgICAgICAgIGtleTogYElwYW1Qb29sSWQke2FjY291bnRJZH0ke3JlZ2lvblN1ZmZpeH1gLFxuICAgICAgICAgIHZhbHVlOiBpcGFtUG9vbC5hdHRySXBhbVBvb2xJZCxcbiAgICAgICAgICBleHBvcnROYW1lOiBgSXBhbVBvb2xJZCR7YWNjb3VudElkfSR7cmVnaW9uU3VmZml4fWBcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbmV3IENmbk91dHB1dCh0aGlzLCBgSXBhbVBvb2xBcm4ke2FjY291bnRJZH0ke3JlZ2lvblN1ZmZpeH1gLCB7XG4gICAgICAgICAga2V5OiBgSXBhbVBvb2xBcm4ke2FjY291bnRJZH0ke3JlZ2lvblN1ZmZpeH1gLFxuICAgICAgICAgIHZhbHVlOiBpcGFtUG9vbC5hdHRyQXJuLFxuICAgICAgICAgIGV4cG9ydE5hbWU6IGBJcGFtUG9vbEFybiR7YWNjb3VudElkfSR7cmVnaW9uU3VmZml4fWBcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJcGFtUG9vbFN0YWNrIGV4dGVuZHMgU3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogSXBhbVBvb2xTdGFja1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIG5ldyBJcGFtUG9vbCh0aGlzLCBcIklwYW1Qb29sXCIsIHtcbiAgICAgIG9yZ0FjY291bnRzOiBwcm9wcy5vcmdBY2NvdW50cyxcbiAgICAgIHJlZ2lvbnM6IHByb3BzLnJlZ2lvbnNcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -22,7 +22,6 @@ class Vpc extends ec2.Vpc {
|
|
|
22
22
|
});
|
|
23
23
|
this.gatewayEndpoints = [];
|
|
24
24
|
this.interfaceEndpoints = [];
|
|
25
|
-
// Store whether NAT gateways are present for use by other constructs (e.g., ECS)
|
|
26
25
|
this.hasNatGateways = natGateways !== 0;
|
|
27
26
|
this.addInterfaceEndpoints(id, props, this.hasNatGateways);
|
|
28
27
|
}
|
|
@@ -231,4 +230,4 @@ class Vpc extends ec2.Vpc {
|
|
|
231
230
|
}
|
|
232
231
|
}
|
|
233
232
|
exports.Vpc = Vpc;
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3MvbmV0d29ya2luZy92cGMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkNBQTZEO0FBQzdELDJDQUEyQztBQUMzQyx5Q0FBeUM7QUFFekMsa0RBQStDO0FBNkMvQyxNQUFhLEdBQUksU0FBUSxHQUFHLENBQUMsR0FBRztJQUs5QixZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWdCO1FBQ3hELE1BQU0sRUFDSixNQUFNLEVBQUUsZUFBZSxFQUN2QixPQUFPLEVBQUUsWUFBWSxFQUNyQixHQUFHLFNBQVMsRUFDYixHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDaEIsTUFBTSxNQUFNLEdBQUcsZUFBZSxJQUFJLENBQUMsQ0FBQztRQUNwQyxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsTUFBTSxPQUFPLEdBQUcsWUFBWSxJQUFJLEVBQUUsQ0FBQztRQUVuQyxLQUFLLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDeEIsR0FBRyxTQUFTO1lBQ1osT0FBTztZQUNQLFdBQVc7WUFDWCxpQkFBaUIsRUFBRSxHQUFHLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztZQUN2RCxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztZQUN4QyxXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztZQUM5QyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1NBQzlDLENBQUMsQ0FBQztRQXRCVyxxQkFBZ0IsR0FBNkIsRUFBRSxDQUFDO1FBQ2hELHVCQUFrQixHQUErQixFQUFFLENBQUM7UUF1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LGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQztRQUVsRCxPQUFPLEdBQUcsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7WUFDdkMsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ3BDLGlCQUFpQixFQUFFLFdBQVc7WUFDOUIsOEJBQThCLEVBQUUsY0FBYztTQUMvQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFVLEVBQUUsS0FBZ0I7UUFDdkMsT0FBTyxDQUFDLEVBQWdCLEVBQUUsRUFBRTtZQUMxQixPQUFPLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQ1gsRUFBVSxFQUNWLFlBQW9CO1FBRXBCLE9BQU8sQ0FBQyxFQUFnQixFQUFFLEVBQUU7WUFDMUIsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFO2dCQUMzQyxPQUFPLEVBQUUsR0FBRyxZQUFZLElBQUksRUFBRSxFQUFFO2FBQ2pDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTdTRCxrQkE2U0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeSwgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCAqIGFzIGVjMiBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0ICogYXMgczMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0IHsgdHlwZSBTdGFja0J1aWxkZXIgfSBmcm9tIFwiLi4vYmFzZS9hd3NTdGFja1wiO1xuaW1wb3J0IHsgTG9nR3JvdXAgfSBmcm9tIFwiLi4vbG9nZ2luZy9sb2dHcm91cFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZwY0Zsb3dMb2dDb25maWcge1xuICBkZXN0aW5hdGlvbj86IFwiY2xvdWR3YXRjaFwiIHwgXCJzM1wiO1xuICByZXRlbnRpb25EYXlzPzogbnVtYmVyO1xuICB0cmFmZmljVHlwZT86IFwiQUxMXCIgfCBcIkFDQ0VQVFwiIHwgXCJSRUpFQ1RcIjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWcGNOYXRDb25maWcge1xuICBjb3VudD86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIEdhdGV3YXlFbmRwb2ludHMge1xuICBzMz86IGJvb2xlYW47XG4gIGR5bmFtb2RiPzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIEludGVyZmFjZUVuZHBvaW50cyB7XG4gIGVjcj86IGJvb2xlYW47XG4gIHNlY3JldHNNYW5hZ2VyPzogYm9vbGVhbjtcbiAga21zPzogYm9vbGVhbjtcbiAgY2xvdWR3YXRjaExvZ3M/OiBib29sZWFuO1xuICBzc20/OiBib29sZWFuO1xuICBzdHM/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgRW5kcG9pbnRzQ29uZmlnIHtcbiAgZ2F0ZXdheT86IEdhdGV3YXlFbmRwb2ludHMgfCBmYWxzZTtcbiAgaW50ZXJmYWNlPzogSW50ZXJmYWNlRW5kcG9pbnRzIHwgZmFsc2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVnBjUHJvcHMgZXh0ZW5kcyBlYzIuVnBjUHJvcHMge1xuICByZWdpb24/OiBzdHJpbmc7XG4gIGFjY291bnRJZD86IHN0cmluZztcbiAgYXZhaWxhYmlsaXR5Wm9uZXM/OiBzdHJpbmdbXTtcbiAgaXB2NElwYW1Qb29sSWQ/OiBzdHJpbmc7XG4gIG1heEF6cz86IG51bWJlcjtcbiAgbmF0R2F0ZXdheUNvbmZpZz86IFZwY05hdENvbmZpZyB8IGZhbHNlO1xuICBmbG93TG9nQ29uZmlnPzogVnBjRmxvd0xvZ0NvbmZpZyB8IGZhbHNlO1xuICBlbmRwb2ludHNDb25maWc/OiBFbmRwb2ludHNDb25maWcgfCBmYWxzZTtcbiAgdnBjQ2lkck1hc2s/OiBudW1iZXI7XG4gIHN1Ym5ldENpZHJNYXNrPzogbnVtYmVyO1xuICB2cGNOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVnBjIGV4dGVuZHMgZWMyLlZwYyB7XG4gIHB1YmxpYyByZWFkb25seSBnYXRld2F5RW5kcG9pbnRzOiBlYzIuR2F0ZXdheVZwY0VuZHBvaW50W10gPSBbXTtcbiAgcHVibGljIHJlYWRvbmx5IGludGVyZmFjZUVuZHBvaW50czogZWMyLkludGVyZmFjZVZwY0VuZHBvaW50W10gPSBbXTtcbiAgcHVibGljIHJlYWRvbmx5IGhhc05hdEdhdGV3YXlzOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogVnBjUHJvcHMpIHtcbiAgICBjb25zdCB7XG4gICAgICBtYXhBenM6IG1heEF6c0Zyb21Qcm9wcyxcbiAgICAgIHZwY05hbWU6IGV4cGxpY2l0TmFtZSxcbiAgICAgIC4uLnJlc3RQcm9wc1xuICAgIH0gPSBwcm9wcyA/PyB7fTtcbiAgICBjb25zdCBtYXhBenMgPSBtYXhBenNGcm9tUHJvcHMgPz8gMztcbiAgICBjb25zdCBuYXRHYXRld2F5cyA9IFZwYy5yZXNvbHZlTmF0R2F0ZXdheXMocHJvcHMpO1xuICAgIGNvbnN0IHZwY05hbWUgPSBleHBsaWNpdE5hbWUgPz8gaWQ7XG5cbiAgICBzdXBlcihzY29wZSwgYHZwYy0ke2lkfWAsIHtcbiAgICAgIC4uLnJlc3RQcm9wcyxcbiAgICAgIHZwY05hbWUsXG4gICAgICBuYXRHYXRld2F5cyxcbiAgICAgIGF2YWlsYWJpbGl0eVpvbmVzOiBWcGMuYXZhaWxhYmlsaXR5Wm9uZXMoc2NvcGUsIG1heEF6cyksXG4gICAgICBmbG93TG9nczogVnBjLmZsb3dMb2dzKHNjb3BlLCBpZCwgcHJvcHMpLFxuICAgICAgaXBBZGRyZXNzZXM6IFZwYy5pcEFkZHJlc3NlcyhzY29wZSwgaWQsIHByb3BzKSxcbiAgICAgIGdhdGV3YXlFbmRwb2ludHM6IFZwYy5nYXRld2F5RW5kcG9pbnRzKHByb3BzKVxuICAgIH0pO1xuXG4gICAgLy8gU3RvcmUgd2hldGhlciBOQVQgZ2F0ZXdheXMgYXJlIHByZXNlbnQgZm9yIHVzZSBieSBvdGhlciBjb25zdHJ1Y3RzIChlLmcuLCBFQ1MpXG4gICAgdGhpcy5oYXNOYXRHYXRld2F5cyA9IG5hdEdhdGV3YXlzICE9PSAwO1xuICAgIHRoaXMuYWRkSW50ZXJmYWNlRW5kcG9pbnRzKGlkLCBwcm9wcywgdGhpcy5oYXNOYXRHYXRld2F5cyk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnYXRld2F5RW5kcG9pbnRzKFxuICAgIHByb3BzPzogVnBjUHJvcHNcbiAgKTogUmVjb3JkPHN0cmluZywgZWMyLkdhdGV3YXlWcGNFbmRwb2ludE9wdGlvbnM+IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAocHJvcHM/LmVuZHBvaW50c0NvbmZpZyA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgZ2F0ZXdheUNvbmZpZyA9IHByb3BzPy5lbmRwb2ludHNDb25maWc/LmdhdGV3YXk7XG4gICAgaWYgKGdhdGV3YXlDb25maWcgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGVuYWJsZVMzID0gZ2F0ZXdheUNvbmZpZz8uczMgPz8gdHJ1ZTtcbiAgICBjb25zdCBlbmFibGVEeW5hbW9kYiA9IGdhdGV3YXlDb25maWc/LmR5bmFtb2RiID8/IHRydWU7XG5cbiAgICBpZiAoIWVuYWJsZVMzICYmICFlbmFibGVEeW5hbW9kYikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCBlbmRwb2ludHM6IFJlY29yZDxzdHJpbmcsIGVjMi5HYXRld2F5VnBjRW5kcG9pbnRPcHRpb25zPiA9IHt9O1xuXG4gICAgaWYgKGVuYWJsZVMzKSB7XG4gICAgICBlbmRwb2ludHMuUzMgPSB7IHNlcnZpY2U6IGVjMi5HYXRld2F5VnBjRW5kcG9pbnRBd3NTZXJ2aWNlLlMzIH07XG4gICAgfVxuICAgIGlmIChlbmFibGVEeW5hbW9kYikge1xuICAgICAgZW5kcG9pbnRzLkR5bmFtb0RCID0ge1xuICAgICAgICBzZXJ2aWNlOiBlYzIuR2F0ZXdheVZwY0VuZHBvaW50QXdzU2VydmljZS5EWU5BTU9EQlxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gZW5kcG9pbnRzO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRJbnRlcmZhY2VFbmRwb2ludHMoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogVnBjUHJvcHMgfCB1bmRlZmluZWQsXG4gICAgaGFzTmF0R2F0ZXdheXM6IGJvb2xlYW5cbiAgKSB7XG4gICAgaWYgKHByb3BzPy5lbmRwb2ludHNDb25maWcgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW50ZXJmYWNlQ29uZmlnID0gcHJvcHM/LmVuZHBvaW50c0NvbmZpZz8uaW50ZXJmYWNlO1xuICAgIGlmIChpbnRlcmZhY2VDb25maWcgPT09IGZhbHNlIHx8IGludGVyZmFjZUNvbmZpZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVlBDIGVuZHBvaW50cyBtdXN0IGJlIGluIHRoZSBzYW1lIHN1Ym5ldCB0eXBlIGFzIHRoZSByZXNvdXJjZXMgdXNpbmcgdGhlbTpcbiAgICAvLyAtIFdpdGggTkFUOiBQUklWQVRFX1dJVEhfRUdSRVNTIChMYW1iZGEgdXNlcyB0aGVzZSB3aGVuIE5BVCBpcyBhdmFpbGFibGUpXG4gICAgLy8gLSBXaXRob3V0IE5BVDogUFJJVkFURV9JU09MQVRFRCAoTGFtYmRhIGZhbGxzIGJhY2sgdG8gdGhlc2Ugd2hlbiBubyBOQVQgZXhpc3RzKVxuICAgIGNvbnN0IHN1Ym5ldFR5cGUgPSBoYXNOYXRHYXRld2F5c1xuICAgICAgPyBlYzIuU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTXG4gICAgICA6IGVjMi5TdWJuZXRUeXBlLlBSSVZBVEVfSVNPTEFURUQ7XG4gICAgY29uc3Qgc3VibmV0U2VsZWN0aW9uID0geyBzdWJuZXRUeXBlIH07XG5cbiAgICBpZiAoaW50ZXJmYWNlQ29uZmlnLmVjcikge1xuICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludHMucHVzaChcbiAgICAgICAgbmV3IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludCh0aGlzLCBgJHtpZH1FY3JEb2NrZXJgLCB7XG4gICAgICAgICAgdnBjOiB0aGlzLFxuICAgICAgICAgIHNlcnZpY2U6IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UuRUNSX0RPQ0tFUixcbiAgICAgICAgICBwcml2YXRlRG5zRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICBzdWJuZXRzOiBzdWJuZXRTZWxlY3Rpb25cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50cy5wdXNoKFxuICAgICAgICBuZXcgZWMyLkludGVyZmFjZVZwY0VuZHBvaW50KHRoaXMsIGAke2lkfUVjckFwaWAsIHtcbiAgICAgICAgICB2cGM6IHRoaXMsXG4gICAgICAgICAgc2VydmljZTogZWMyLkludGVyZmFjZVZwY0VuZHBvaW50QXdzU2VydmljZS5FQ1IsXG4gICAgICAgICAgcHJpdmF0ZURuc0VuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgc3VibmV0czogc3VibmV0U2VsZWN0aW9uXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChpbnRlcmZhY2VDb25maWcuc2VjcmV0c01hbmFnZXIpIHtcbiAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRzLnB1c2goXG4gICAgICAgIG5ldyBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnQodGhpcywgYCR7aWR9U2VjcmV0c01hbmFnZXJgLCB7XG4gICAgICAgICAgdnBjOiB0aGlzLFxuICAgICAgICAgIHNlcnZpY2U6IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UuU0VDUkVUU19NQU5BR0VSLFxuICAgICAgICAgIHByaXZhdGVEbnNFbmFibGVkOiB0cnVlLFxuICAgICAgICAgIHN1Ym5ldHM6IHN1Ym5ldFNlbGVjdGlvblxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoaW50ZXJmYWNlQ29uZmlnLmttcykge1xuICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludHMucHVzaChcbiAgICAgICAgbmV3IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludCh0aGlzLCBgJHtpZH1LbXNgLCB7XG4gICAgICAgICAgdnBjOiB0aGlzLFxuICAgICAgICAgIHNlcnZpY2U6IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UuS01TLFxuICAgICAgICAgIHByaXZhdGVEbnNFbmFibGVkOiB0cnVlLFxuICAgICAgICAgIHN1Ym5ldHM6IHN1Ym5ldFNlbGVjdGlvblxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoaW50ZXJmYWNlQ29uZmlnLmNsb3Vkd2F0Y2hMb2dzKSB7XG4gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50cy5wdXNoKFxuICAgICAgICBuZXcgZWMyLkludGVyZmFjZVZwY0VuZHBvaW50KHRoaXMsIGAke2lkfUNsb3VkV2F0Y2hMb2dzYCwge1xuICAgICAgICAgIHZwYzogdGhpcyxcbiAgICAgICAgICBzZXJ2aWNlOiBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnRBd3NTZXJ2aWNlLkNMT1VEV0FUQ0hfTE9HUyxcbiAgICAgICAgICBwcml2YXRlRG5zRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICBzdWJuZXRzOiBzdWJuZXRTZWxlY3Rpb25cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGludGVyZmFjZUNvbmZpZy5zc20pIHtcbiAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRzLnB1c2goXG4gICAgICAgIG5ldyBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnQodGhpcywgYCR7aWR9U3NtYCwge1xuICAgICAgICAgIHZwYzogdGhpcyxcbiAgICAgICAgICBzZXJ2aWNlOiBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnRBd3NTZXJ2aWNlLlNTTSxcbiAgICAgICAgICBwcml2YXRlRG5zRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICBzdWJuZXRzOiBzdWJuZXRTZWxlY3Rpb25cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50cy5wdXNoKFxuICAgICAgICBuZXcgZWMyLkludGVyZmFjZVZwY0VuZHBvaW50KHRoaXMsIGAke2lkfVNzbU1lc3NhZ2VzYCwge1xuICAgICAgICAgIHZwYzogdGhpcyxcbiAgICAgICAgICBzZXJ2aWNlOiBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnRBd3NTZXJ2aWNlLlNTTV9NRVNTQUdFUyxcbiAgICAgICAgICBwcml2YXRlRG5zRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICBzdWJuZXRzOiBzdWJuZXRTZWxlY3Rpb25cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGludGVyZmFjZUNvbmZpZy5zdHMpIHtcbiAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRzLnB1c2goXG4gICAgICAgIG5ldyBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnQodGhpcywgYCR7aWR9U3RzYCwge1xuICAgICAgICAgIHZwYzogdGhpcyxcbiAgICAgICAgICBzZXJ2aWNlOiBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnRBd3NTZXJ2aWNlLlNUUyxcbiAgICAgICAgICBwcml2YXRlRG5zRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICBzdWJuZXRzOiBzdWJuZXRTZWxlY3Rpb25cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIHJlc29sdmVOYXRHYXRld2F5cyhwcm9wcz86IFZwY1Byb3BzKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBuYXRDb25maWcgPSBwcm9wcz8ubmF0R2F0ZXdheUNvbmZpZztcblxuICAgIGlmIChuYXRDb25maWcgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAobmF0Q29uZmlnID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5hdENvbmZpZy5jb3VudCA/PyAxO1xuICB9XG5cbiAgc3RhdGljIGF2YWlsYWJpbGl0eVpvbmVzKHNjb3BlOiBDb25zdHJ1Y3QsIG1heEF6cyA9IDMpIHtcbiAgICByZXR1cm4gU3RhY2sub2Yoc2NvcGUpLmF2YWlsYWJpbGl0eVpvbmVzLnNsaWNlKDAsIG1heEF6cyk7XG4gIH1cblxuICBzdGF0aWMgZmxvd0xvZ3MoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzPzogVnBjUHJvcHNcbiAgKTogUmVjb3JkPHN0cmluZywgZWMyLkZsb3dMb2dPcHRpb25zPiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHByb3BzPy5mbG93TG9nQ29uZmlnID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAocHJvcHM/LmZsb3dMb2dDb25maWcgPT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKCFwcm9wcz8uYWNjb3VudElkKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBbYCR7aWR9VnBjRmxvd0xvZ3NgXToge1xuICAgICAgICAgIGRlc3RpbmF0aW9uOiBlYzIuRmxvd0xvZ0Rlc3RpbmF0aW9uLnRvQ2xvdWRXYXRjaExvZ3MoXG4gICAgICAgICAgICBuZXcgTG9nR3JvdXAoc2NvcGUsIGAke2lkfUZsb3dMb2dHcm91cGAsIHtcbiAgICAgICAgICAgICAgbG9nR3JvdXBOYW1lOiBgL3ZwYy9mbG93bG9ncy92cGMtJHtpZH0vYCxcbiAgICAgICAgICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBjb25maWcgPSBwcm9wcy5mbG93TG9nQ29uZmlnO1xuICAgIGNvbnN0IHRyYWZmaWNUeXBlID0gVnBjLnJlc29sdmVUcmFmZmljVHlwZShjb25maWcudHJhZmZpY1R5cGUpO1xuXG4gICAgaWYgKGNvbmZpZy5kZXN0aW5hdGlvbiA9PT0gXCJzM1wiKSB7XG4gICAgICBjb25zdCBidWNrZXQgPSBuZXcgczMuQnVja2V0KHNjb3BlLCBgJHtpZH1GbG93TG9nQnVja2V0YCwge1xuICAgICAgICBidWNrZXROYW1lOiBgdnBjLWZsb3dsb2dzLSR7aWQudG9Mb3dlckNhc2UoKX0tJHtTdGFjay5vZihzY29wZSkuYWNjb3VudH1gLFxuICAgICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LlJFVEFJTixcbiAgICAgICAgZW5jcnlwdGlvbjogczMuQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgICAgICBibG9ja1B1YmxpY0FjY2VzczogczMuQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUxMLFxuICAgICAgICBsaWZlY3ljbGVSdWxlczogY29uZmlnLnJldGVudGlvbkRheXNcbiAgICAgICAgICA/IFt7IGV4cGlyYXRpb246IER1cmF0aW9uLmRheXMoY29uZmlnLnJldGVudGlvbkRheXMpLCBlbmFibGVkOiB0cnVlIH1dXG4gICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBbYCR7aWR9VnBjRmxvd0xvZ3NgXToge1xuICAgICAgICAgIGRlc3RpbmF0aW9uOiBlYzIuRmxvd0xvZ0Rlc3RpbmF0aW9uLnRvUzMoYnVja2V0KSxcbiAgICAgICAgICB0cmFmZmljVHlwZVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IHJldGVudGlvbkRheXMgPSBjb25maWcucmV0ZW50aW9uRGF5cyA/PyAxNDtcbiAgICByZXR1cm4ge1xuICAgICAgW2Ake2lkfVZwY0Zsb3dMb2dzYF06IHtcbiAgICAgICAgZGVzdGluYXRpb246IGVjMi5GbG93TG9nRGVzdGluYXRpb24udG9DbG91ZFdhdGNoTG9ncyhcbiAgICAgICAgICBuZXcgTG9nR3JvdXAoc2NvcGUsIGAke2lkfUZsb3dMb2dHcm91cGAsIHtcbiAgICAgICAgICAgIGxvZ0dyb3VwTmFtZTogYC92cGMvZmxvd2xvZ3MvdnBjLSR7aWR9L2AsXG4gICAgICAgICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICAgICAgICByZXRlbnRpb246IFZwYy5kYXlzVG9SZXRlbnRpb24ocmV0ZW50aW9uRGF5cylcbiAgICAgICAgICB9KVxuICAgICAgICApLFxuICAgICAgICB0cmFmZmljVHlwZVxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBkYXlzVG9SZXRlbnRpb24oZGF5czogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCB2YWxpZFJldGVudGlvbnMgPSBbXG4gICAgICAxLCAzLCA1LCA3LCAxNCwgMzAsIDYwLCA5MCwgMTIwLCAxNTAsIDE4MCwgMzY1LCA0MDAsIDU0NSwgNzMxLCAxMDk2LCAxODI3LFxuICAgICAgMjE5MiwgMjU1NywgMjkyMiwgMzI4OCwgMzY1M1xuICAgIF07XG4gICAgcmV0dXJuIHZhbGlkUmV0ZW50aW9ucy5maW5kKChyKSA9PiByID49IGRheXMpID8/IDM2NTM7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyByZXNvbHZlVHJhZmZpY1R5cGUoXG4gICAgdHJhZmZpY1R5cGU/OiBcIkFMTFwiIHwgXCJBQ0NFUFRcIiB8IFwiUkVKRUNUXCJcbiAgKTogZWMyLkZsb3dMb2dUcmFmZmljVHlwZSB7XG4gICAgc3dpdGNoICh0cmFmZmljVHlwZSkge1xuICAgICAgY2FzZSBcIkFDQ0VQVFwiOlxuICAgICAgICByZXR1cm4gZWMyLkZsb3dMb2dUcmFmZmljVHlwZS5BQ0NFUFQ7XG4gICAgICBjYXNlIFwiUkVKRUNUXCI6XG4gICAgICAgIHJldHVybiBlYzIuRmxvd0xvZ1RyYWZmaWNUeXBlLlJFSkVDVDtcbiAgICAgIGNhc2UgXCJBTExcIjpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBlYzIuRmxvd0xvZ1RyYWZmaWNUeXBlLkFMTDtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgaXBBZGRyZXNzZXMoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBWcGNQcm9wcykge1xuICAgIGlmICghcHJvcHM/LmFjY291bnRJZCB8fCAhcHJvcHM/LmlwdjRJcGFtUG9vbElkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IHZwY0NpZHJNYXNrID0gcHJvcHMudnBjQ2lkck1hc2sgPz8gMjA7XG4gICAgY29uc3Qgc3VibmV0Q2lkck1hc2sgPSBwcm9wcy5zdWJuZXRDaWRyTWFzayA/PyAyMztcblxuICAgIHJldHVybiBlYzIuSXBBZGRyZXNzZXMuYXdzSXBhbUFsbG9jYXRpb24oe1xuICAgICAgaXB2NElwYW1Qb29sSWQ6IHByb3BzLmlwdjRJcGFtUG9vbElkLFxuICAgICAgaXB2NE5ldG1hc2tMZW5ndGg6IHZwY0NpZHJNYXNrLFxuICAgICAgZGVmYXVsdFN1Ym5ldElwdjROZXRtYXNrTGVuZ3RoOiBzdWJuZXRDaWRyTWFza1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIGJ1aWxkKGlkOiBzdHJpbmcsIHByb3BzPzogVnBjUHJvcHMpOiAoc2I6IFN0YWNrQnVpbGRlcikgPT4gQ29uc3RydWN0IHtcbiAgICByZXR1cm4gKHNiOiBTdGFja0J1aWxkZXIpID0+IHtcbiAgICAgIHJldHVybiBuZXcgdGhpcyhzYi5nZXRTdGFjaygpLCBpZCwgcHJvcHMpO1xuICAgIH07XG4gIH1cblxuICBzdGF0aWMgaW1wb3J0KFxuICAgIGlkOiBzdHJpbmcsXG4gICAgdnBjU3RhY2tOYW1lOiBzdHJpbmdcbiAgKTogKHNiOiBTdGFja0J1aWxkZXIpID0+IENvbnN0cnVjdCB7XG4gICAgcmV0dXJuIChzYjogU3RhY2tCdWlsZGVyKSA9PiB7XG4gICAgICByZXR1cm4gZWMyLlZwYy5mcm9tTG9va3VwKHNiLmdldFN0YWNrKCksIGlkLCB7XG4gICAgICAgIHZwY05hbWU6IGAke3ZwY1N0YWNrTmFtZX0vJHtpZH1gXG4gICAgICB9KTtcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3MvbmV0d29ya2luZy92cGMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkNBQTZEO0FBQzdELDJDQUEyQztBQUMzQyx5Q0FBeUM7QUFFekMsa0RBQStDO0FBNkMvQyxNQUFhLEdBQUksU0FBUSxHQUFHLENBQUMsR0FBRztJQUs5QixZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWdCO1FBQ3hELE1BQU0sRUFDSixNQUFNLEVBQUUsZUFBZSxFQUN2QixPQUFPLEVBQUUsWUFBWSxFQUNyQixHQUFHLFNBQVMsRUFDYixHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDaEIsTUFBTSxNQUFNLEdBQUcsZUFBZSxJQUFJLENBQUMsQ0FBQztRQUNwQyxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsTUFBTSxPQUFPLEdBQUcsWUFBWSxJQUFJLEVBQUUsQ0FBQztRQUVuQyxLQUFLLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDeEIsR0FBRyxTQUFTO1lBQ1osT0FBTztZQUNQLFdBQVc7WUFDWCxpQkFBaUIsRUFBRSxHQUFHLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztZQUN2RCxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztZQUN4QyxXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQztZQUM5QyxnQkFBZ0IsRUFBRSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1NBQzlDLENBQUMsQ0FBQztRQXRCVyxxQkFBZ0IsR0FBNkIsRUFBRSxDQUFDO1FBQ2hELHVCQUFrQixHQUErQixFQUFFLENBQUM7UUF1QmxFLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxLQUFLLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVPLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDN0IsS0FBZ0I7UUFFaEIsSUFBSSxLQUFLLEVBQUUsZUFBZSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3JDLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQztRQUN0RCxJQUFJLGFBQWEsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUM1QixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsYUFBYSxFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUM7UUFDM0MsTUFBTSxjQUFjLEdBQUcsYUFBYSxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUM7UUFFdkQsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ2pDLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBa0QsRUFBRSxDQUFDO1FBRXBFLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixTQUFTLENBQUMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNsRSxDQUFDO1FBQ0QsSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNuQixTQUFTLENBQUMsUUFBUSxHQUFHO2dCQUNuQixPQUFPLEVBQUUsR0FBRyxDQUFDLDRCQUE0QixDQUFDLFFBQVE7YUFDbkQsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU8scUJBQXFCLENBQzNCLEVBQVUsRUFDVixLQUEyQixFQUMzQixjQUF1QjtRQUV2QixJQUFJLEtBQUssRUFBRSxlQUFlLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDckMsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLGVBQWUsR0FBRyxLQUFLLEVBQUUsZUFBZSxFQUFFLFNBQVMsQ0FBQztRQUMxRCxJQUFJLGVBQWUsS0FBSyxLQUFLLElBQUksZUFBZSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQy9ELE9BQU87UUFDVCxDQUFDO1FBRUQsNkVBQTZFO1FBQzdFLDRFQUE0RTtRQUM1RSxrRkFBa0Y7UUFDbEYsTUFBTSxVQUFVLEdBQUcsY0FBYztZQUMvQixDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxtQkFBbUI7WUFDcEMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUM7UUFDcEMsTUFBTSxlQUFlLEdBQUcsRUFBRSxVQUFVLEVBQUUsQ0FBQztRQUV2QyxJQUFJLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUMxQixJQUFJLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRTtnQkFDbkQsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsT0FBTyxFQUFFLEdBQUcsQ0FBQyw4QkFBOEIsQ0FBQyxVQUFVO2dCQUN0RCxpQkFBaUIsRUFBRSxJQUFJO2dCQUN2QixPQUFPLEVBQUUsZUFBZTthQUN6QixDQUFDLENBQ0gsQ0FBQztZQUNGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQzFCLElBQUksR0FBRyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFO2dCQUNoRCxHQUFHLEVBQUUsSUFBSTtnQkFDVCxPQUFPLEVBQUUsR0FBRyxDQUFDLDhCQUE4QixDQUFDLEdBQUc7Z0JBQy9DLGlCQUFpQixFQUFFLElBQUk7Z0JBQ3ZCLE9BQU8sRUFBRSxlQUFlO2FBQ3pCLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksZUFBZSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQzFCLElBQUksR0FBRyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ3hELEdBQUcsRUFBRSxJQUFJO2dCQUNULE9BQU8sRUFBRSxHQUFHLENBQUMsOEJBQThCLENBQUMsZUFBZTtnQkFDM0QsaUJBQWlCLEVBQUUsSUFBSTtnQkFDdkIsT0FBTyxFQUFFLGVBQWU7YUFDekIsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FDMUIsSUFBSSxHQUFHLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7Z0JBQzdDLEdBQUcsRUFBRSxJQUFJO2dCQUNULE9BQU8sRUFBRSxHQUFHLENBQUMsOEJBQThCLENBQUMsR0FBRztnQkFDL0MsaUJBQWlCLEVBQUUsSUFBSTtnQkFDdkIsT0FBTyxFQUFFLGVBQWU7YUFDekIsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxlQUFlLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FDMUIsSUFBSSxHQUFHLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDeEQsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsT0FBTyxFQUFFLEdBQUcsQ0FBQyw4QkFBOEIsQ0FBQyxlQUFlO2dCQUMzRCxpQkFBaUIsRUFBRSxJQUFJO2dCQUN2QixPQUFPLEVBQUUsZUFBZTthQUN6QixDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUMxQixJQUFJLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRTtnQkFDN0MsR0FBRyxFQUFFLElBQUk7Z0JBQ1QsT0FBTyxFQUFFLEdBQUcsQ0FBQyw4QkFBOEIsQ0FBQyxHQUFHO2dCQUMvQyxpQkFBaUIsRUFBRSxJQUFJO2dCQUN2QixPQUFPLEVBQUUsZUFBZTthQUN6QixDQUFDLENBQ0gsQ0FBQztZQUNGLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQzFCLElBQUksR0FBRyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFO2dCQUNyRCxHQUFHLEVBQUUsSUFBSTtnQkFDVCxPQUFPLEVBQUUsR0FBRyxDQUFDLDhCQUE4QixDQUFDLFlBQVk7Z0JBQ3hELGlCQUFpQixFQUFFLElBQUk7Z0JBQ3ZCLE9BQU8sRUFBRSxlQUFlO2FBQ3pCLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQzFCLElBQUksR0FBRyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFO2dCQUM3QyxHQUFHLEVBQUUsSUFBSTtnQkFDVCxPQUFPLEVBQUUsR0FBRyxDQUFDLDhCQUE4QixDQUFDLEdBQUc7Z0JBQy9DLGlCQUFpQixFQUFFLElBQUk7Z0JBQ3ZCLE9BQU8sRUFBRSxlQUFlO2FBQ3pCLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsS0FBZ0I7UUFDeEMsTUFBTSxTQUFTLEdBQUcsS0FBSyxFQUFFLGdCQUFnQixDQUFDO1FBRTFDLElBQUksU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLFNBQVMsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUN4QixPQUFPLENBQUMsQ0FBQztRQUNYLENBQUM7UUFFRCxPQUFPLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBZ0IsRUFBRSxNQUFNLEdBQUcsQ0FBQztRQUNuRCxPQUFPLG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQ2IsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQWdCO1FBRWhCLElBQUksS0FBSyxFQUFFLGFBQWEsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUNuQyxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsSUFBSSxLQUFLLEVBQUUsYUFBYSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUM7WUFDRCxPQUFPO2dCQUNMLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxFQUFFO29CQUNwQixXQUFXLEVBQUUsR0FBRyxDQUFDLGtCQUFrQixDQUFDLGdCQUFnQixDQUNsRCxJQUFJLG1CQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxjQUFjLEVBQUU7d0JBQ3ZDLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxHQUFHO3dCQUN4QyxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO3FCQUNyQyxDQUFDLENBQ0g7aUJBQ0Y7YUFDRixDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDbkMsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUUvRCxJQUFJLE1BQU0sQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsZUFBZSxFQUFFO2dCQUN4RCxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxXQUFXLEVBQUUsSUFBSSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3pFLGFBQWEsRUFBRSwyQkFBYSxDQUFDLE1BQU07Z0JBQ25DLFVBQVUsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsVUFBVTtnQkFDMUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFNBQVM7Z0JBQ2pELGNBQWMsRUFBRSxNQUFNLENBQUMsYUFBYTtvQkFDbEMsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsc0JBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztvQkFDdEUsQ0FBQyxDQUFDLFNBQVM7YUFDZCxDQUFDLENBQUM7WUFFSCxPQUFPO2dCQUNMLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxFQUFFO29CQUNwQixXQUFXLEVBQUUsR0FBRyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7b0JBQ2hELFdBQVc7aUJBQ1o7YUFDRixDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO1FBQ2pELE9BQU87WUFDTCxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsRUFBRTtnQkFDcEIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FDbEQsSUFBSSxtQkFBUSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFO29CQUN2QyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsR0FBRztvQkFDeEMsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztvQkFDcEMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO2lCQUM5QyxDQUFDLENBQ0g7Z0JBQ0QsV0FBVzthQUNaO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQVk7UUFDekMsTUFBTSxlQUFlLEdBQUc7WUFDdEIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUk7WUFDekUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUk7U0FDN0IsQ0FBQztRQUNGLE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQztJQUN4RCxDQUFDO0lBRU8sTUFBTSxDQUFDLGtCQUFrQixDQUMvQixXQUF5QztRQUV6QyxRQUFRLFdBQVcsRUFBRSxDQUFDO1lBQ3BCLEtBQUssUUFBUTtnQkFDWCxPQUFPLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7WUFDdkMsS0FBSyxRQUFRO2dCQUNYLE9BQU8sR0FBRyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztZQUN2QyxLQUFLLEtBQUssQ0FBQztZQUNYO2dCQUNFLE9BQU8sR0FBRyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZ0I7UUFDL0QsSUFBSSxDQUFDLEtBQUssRUFBRSxTQUFTLElBQUksQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUM7WUFDaEQsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQzVDLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLElBQUksRUFBRSxDQUFDO1FBRWxELE9BQU8sR0FBRyxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztZQUN2QyxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7WUFDcEMsaUJBQWlCLEVBQUUsV0FBVztZQUM5Qiw4QkFBOEIsRUFBRSxjQUFjO1NBQy9DLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQVUsRUFBRSxLQUFnQjtRQUN2QyxPQUFPLENBQUMsRUFBZ0IsRUFBRSxFQUFFO1lBQzFCLE9BQU8sSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FDWCxFQUFVLEVBQ1YsWUFBb0I7UUFFcEIsT0FBTyxDQUFDLEVBQWdCLEVBQUUsRUFBRTtZQUMxQixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUU7Z0JBQzNDLE9BQU8sRUFBRSxHQUFHLFlBQVksSUFBSSxFQUFFLEVBQUU7YUFDakMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBNVNELGtCQTRTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IER1cmF0aW9uLCBSZW1vdmFsUG9saWN5LCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgKiBhcyBzMyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5pbXBvcnQgeyB0eXBlIFN0YWNrQnVpbGRlciB9IGZyb20gXCIuLi9iYXNlL2F3c1N0YWNrXCI7XG5pbXBvcnQgeyBMb2dHcm91cCB9IGZyb20gXCIuLi9sb2dnaW5nL2xvZ0dyb3VwXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVnBjRmxvd0xvZ0NvbmZpZyB7XG4gIGRlc3RpbmF0aW9uPzogXCJjbG91ZHdhdGNoXCIgfCBcInMzXCI7XG4gIHJldGVudGlvbkRheXM/OiBudW1iZXI7XG4gIHRyYWZmaWNUeXBlPzogXCJBTExcIiB8IFwiQUNDRVBUXCIgfCBcIlJFSkVDVFwiO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZwY05hdENvbmZpZyB7XG4gIGNvdW50PzogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgR2F0ZXdheUVuZHBvaW50cyB7XG4gIHMzPzogYm9vbGVhbjtcbiAgZHluYW1vZGI/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgSW50ZXJmYWNlRW5kcG9pbnRzIHtcbiAgZWNyPzogYm9vbGVhbjtcbiAgc2VjcmV0c01hbmFnZXI/OiBib29sZWFuO1xuICBrbXM/OiBib29sZWFuO1xuICBjbG91ZHdhdGNoTG9ncz86IGJvb2xlYW47XG4gIHNzbT86IGJvb2xlYW47XG4gIHN0cz86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBFbmRwb2ludHNDb25maWcge1xuICBnYXRld2F5PzogR2F0ZXdheUVuZHBvaW50cyB8IGZhbHNlO1xuICBpbnRlcmZhY2U/OiBJbnRlcmZhY2VFbmRwb2ludHMgfCBmYWxzZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWcGNQcm9wcyBleHRlbmRzIGVjMi5WcGNQcm9wcyB7XG4gIHJlZ2lvbj86IHN0cmluZztcbiAgYWNjb3VudElkPzogc3RyaW5nO1xuICBhdmFpbGFiaWxpdHlab25lcz86IHN0cmluZ1tdO1xuICBpcHY0SXBhbVBvb2xJZD86IHN0cmluZztcbiAgbWF4QXpzPzogbnVtYmVyO1xuICBuYXRHYXRld2F5Q29uZmlnPzogVnBjTmF0Q29uZmlnIHwgZmFsc2U7XG4gIGZsb3dMb2dDb25maWc/OiBWcGNGbG93TG9nQ29uZmlnIHwgZmFsc2U7XG4gIGVuZHBvaW50c0NvbmZpZz86IEVuZHBvaW50c0NvbmZpZyB8IGZhbHNlO1xuICB2cGNDaWRyTWFzaz86IG51bWJlcjtcbiAgc3VibmV0Q2lkck1hc2s/OiBudW1iZXI7XG4gIHZwY05hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBWcGMgZXh0ZW5kcyBlYzIuVnBjIHtcbiAgcHVibGljIHJlYWRvbmx5IGdhdGV3YXlFbmRwb2ludHM6IGVjMi5HYXRld2F5VnBjRW5kcG9pbnRbXSA9IFtdO1xuICBwdWJsaWMgcmVhZG9ubHkgaW50ZXJmYWNlRW5kcG9pbnRzOiBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnRbXSA9IFtdO1xuICBwdWJsaWMgcmVhZG9ubHkgaGFzTmF0R2F0ZXdheXM6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBWcGNQcm9wcykge1xuICAgIGNvbnN0IHtcbiAgICAgIG1heEF6czogbWF4QXpzRnJvbVByb3BzLFxuICAgICAgdnBjTmFtZTogZXhwbGljaXROYW1lLFxuICAgICAgLi4ucmVzdFByb3BzXG4gICAgfSA9IHByb3BzID8/IHt9O1xuICAgIGNvbnN0IG1heEF6cyA9IG1heEF6c0Zyb21Qcm9wcyA/PyAzO1xuICAgIGNvbnN0IG5hdEdhdGV3YXlzID0gVnBjLnJlc29sdmVOYXRHYXRld2F5cyhwcm9wcyk7XG4gICAgY29uc3QgdnBjTmFtZSA9IGV4cGxpY2l0TmFtZSA/PyBpZDtcblxuICAgIHN1cGVyKHNjb3BlLCBgdnBjLSR7aWR9YCwge1xuICAgICAgLi4ucmVzdFByb3BzLFxuICAgICAgdnBjTmFtZSxcbiAgICAgIG5hdEdhdGV3YXlzLFxuICAgICAgYXZhaWxhYmlsaXR5Wm9uZXM6IFZwYy5hdmFpbGFiaWxpdHlab25lcyhzY29wZSwgbWF4QXpzKSxcbiAgICAgIGZsb3dMb2dzOiBWcGMuZmxvd0xvZ3Moc2NvcGUsIGlkLCBwcm9wcyksXG4gICAgICBpcEFkZHJlc3NlczogVnBjLmlwQWRkcmVzc2VzKHNjb3BlLCBpZCwgcHJvcHMpLFxuICAgICAgZ2F0ZXdheUVuZHBvaW50czogVnBjLmdhdGV3YXlFbmRwb2ludHMocHJvcHMpXG4gICAgfSk7XG5cbiAgICB0aGlzLmhhc05hdEdhdGV3YXlzID0gbmF0R2F0ZXdheXMgIT09IDA7XG4gICAgdGhpcy5hZGRJbnRlcmZhY2VFbmRwb2ludHMoaWQsIHByb3BzLCB0aGlzLmhhc05hdEdhdGV3YXlzKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGdhdGV3YXlFbmRwb2ludHMoXG4gICAgcHJvcHM/OiBWcGNQcm9wc1xuICApOiBSZWNvcmQ8c3RyaW5nLCBlYzIuR2F0ZXdheVZwY0VuZHBvaW50T3B0aW9ucz4gfCB1bmRlZmluZWQge1xuICAgIGlmIChwcm9wcz8uZW5kcG9pbnRzQ29uZmlnID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCBnYXRld2F5Q29uZmlnID0gcHJvcHM/LmVuZHBvaW50c0NvbmZpZz8uZ2F0ZXdheTtcbiAgICBpZiAoZ2F0ZXdheUNvbmZpZyA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgZW5hYmxlUzMgPSBnYXRld2F5Q29uZmlnPy5zMyA/PyB0cnVlO1xuICAgIGNvbnN0IGVuYWJsZUR5bmFtb2RiID0gZ2F0ZXdheUNvbmZpZz8uZHluYW1vZGIgPz8gdHJ1ZTtcblxuICAgIGlmICghZW5hYmxlUzMgJiYgIWVuYWJsZUR5bmFtb2RiKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGVuZHBvaW50czogUmVjb3JkPHN0cmluZywgZWMyLkdhdGV3YXlWcGNFbmRwb2ludE9wdGlvbnM+ID0ge307XG5cbiAgICBpZiAoZW5hYmxlUzMpIHtcbiAgICAgIGVuZHBvaW50cy5TMyA9IHsgc2VydmljZTogZWMyLkdhdGV3YXlWcGNFbmRwb2ludEF3c1NlcnZpY2UuUzMgfTtcbiAgICB9XG4gICAgaWYgKGVuYWJsZUR5bmFtb2RiKSB7XG4gICAgICBlbmRwb2ludHMuRHluYW1vREIgPSB7XG4gICAgICAgIHNlcnZpY2U6IGVjMi5HYXRld2F5VnBjRW5kcG9pbnRBd3NTZXJ2aWNlLkRZTkFNT0RCXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBlbmRwb2ludHM7XG4gIH1cblxuICBwcml2YXRlIGFkZEludGVyZmFjZUVuZHBvaW50cyhcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBWcGNQcm9wcyB8IHVuZGVmaW5lZCxcbiAgICBoYXNOYXRHYXRld2F5czogYm9vbGVhblxuICApIHtcbiAgICBpZiAocHJvcHM/LmVuZHBvaW50c0NvbmZpZyA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpbnRlcmZhY2VDb25maWcgPSBwcm9wcz8uZW5kcG9pbnRzQ29uZmlnPy5pbnRlcmZhY2U7XG4gICAgaWYgKGludGVyZmFjZUNvbmZpZyA9PT0gZmFsc2UgfHwgaW50ZXJmYWNlQ29uZmlnID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBWUEMgZW5kcG9pbnRzIG11c3QgYmUgaW4gdGhlIHNhbWUgc3VibmV0IHR5cGUgYXMgdGhlIHJlc291cmNlcyB1c2luZyB0aGVtOlxuICAgIC8vIC0gV2l0aCBOQVQ6IFBSSVZBVEVfV0lUSF9FR1JFU1MgKExhbWJkYSB1c2VzIHRoZXNlIHdoZW4gTkFUIGlzIGF2YWlsYWJsZSlcbiAgICAvLyAtIFdpdGhvdXQgTkFUOiBQUklWQVRFX0lTT0xBVEVEIChMYW1iZGEgZmFsbHMgYmFjayB0byB0aGVzZSB3aGVuIG5vIE5BVCBleGlzdHMpXG4gICAgY29uc3Qgc3VibmV0VHlwZSA9IGhhc05hdEdhdGV3YXlzXG4gICAgICA/IGVjMi5TdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1NcbiAgICAgIDogZWMyLlN1Ym5ldFR5cGUuUFJJVkFURV9JU09MQVRFRDtcbiAgICBjb25zdCBzdWJuZXRTZWxlY3Rpb24gPSB7IHN1Ym5ldFR5cGUgfTtcblxuICAgIGlmIChpbnRlcmZhY2VDb25maWcuZWNyKSB7XG4gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50cy5wdXNoKFxuICAgICAgICBuZXcgZWMyLkludGVyZmFjZVZwY0VuZHBvaW50KHRoaXMsIGAke2lkfUVjckRvY2tlcmAsIHtcbiAgICAgICAgICB2cGM6IHRoaXMsXG4gICAgICAgICAgc2VydmljZTogZWMyLkludGVyZmFjZVZwY0VuZHBvaW50QXdzU2VydmljZS5FQ1JfRE9DS0VSLFxuICAgICAgICAgIHByaXZhdGVEbnNFbmFibGVkOiB0cnVlLFxuICAgICAgICAgIHN1Ym5ldHM6IHN1Ym5ldFNlbGVjdGlvblxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRzLnB1c2goXG4gICAgICAgIG5ldyBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnQodGhpcywgYCR7aWR9RWNyQXBpYCwge1xuICAgICAgICAgIHZwYzogdGhpcyxcbiAgICAgICAgICBzZXJ2aWNlOiBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnRBd3NTZXJ2aWNlLkVDUixcbiAgICAgICAgICBwcml2YXRlRG5zRW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgICBzdWJuZXRzOiBzdWJuZXRTZWxlY3Rpb25cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGludGVyZmFjZUNvbmZpZy5zZWNyZXRzTWFuYWdlcikge1xuICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludHMucHVzaChcbiAgICAgICAgbmV3IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludCh0aGlzLCBgJHtpZH1TZWNyZXRzTWFuYWdlcmAsIHtcbiAgICAgICAgICB2cGM6IHRoaXMsXG4gICAgICAgICAgc2VydmljZTogZWMyLkludGVyZmFjZVZwY0VuZHBvaW50QXdzU2VydmljZS5TRUNSRVRTX01BTkFHRVIsXG4gICAgICAgICAgcHJpdmF0ZURuc0VuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgc3VibmV0czogc3VibmV0U2VsZWN0aW9uXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChpbnRlcmZhY2VDb25maWcua21zKSB7XG4gICAgICB0aGlzLmludGVyZmFjZUVuZHBvaW50cy5wdXNoKFxuICAgICAgICBuZXcgZWMyLkludGVyZmFjZVZwY0VuZHBvaW50KHRoaXMsIGAke2lkfUttc2AsIHtcbiAgICAgICAgICB2cGM6IHRoaXMsXG4gICAgICAgICAgc2VydmljZTogZWMyLkludGVyZmFjZVZwY0VuZHBvaW50QXdzU2VydmljZS5LTVMsXG4gICAgICAgICAgcHJpdmF0ZURuc0VuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgc3VibmV0czogc3VibmV0U2VsZWN0aW9uXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChpbnRlcmZhY2VDb25maWcuY2xvdWR3YXRjaExvZ3MpIHtcbiAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRzLnB1c2goXG4gICAgICAgIG5ldyBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnQodGhpcywgYCR7aWR9Q2xvdWRXYXRjaExvZ3NgLCB7XG4gICAgICAgICAgdnBjOiB0aGlzLFxuICAgICAgICAgIHNlcnZpY2U6IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UuQ0xPVURXQVRDSF9MT0dTLFxuICAgICAgICAgIHByaXZhdGVEbnNFbmFibGVkOiB0cnVlLFxuICAgICAgICAgIHN1Ym5ldHM6IHN1Ym5ldFNlbGVjdGlvblxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoaW50ZXJmYWNlQ29uZmlnLnNzbSkge1xuICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludHMucHVzaChcbiAgICAgICAgbmV3IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludCh0aGlzLCBgJHtpZH1Tc21gLCB7XG4gICAgICAgICAgdnBjOiB0aGlzLFxuICAgICAgICAgIHNlcnZpY2U6IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UuU1NNLFxuICAgICAgICAgIHByaXZhdGVEbnNFbmFibGVkOiB0cnVlLFxuICAgICAgICAgIHN1Ym5ldHM6IHN1Ym5ldFNlbGVjdGlvblxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMuaW50ZXJmYWNlRW5kcG9pbnRzLnB1c2goXG4gICAgICAgIG5ldyBlYzIuSW50ZXJmYWNlVnBjRW5kcG9pbnQodGhpcywgYCR7aWR9U3NtTWVzc2FnZXNgLCB7XG4gICAgICAgICAgdnBjOiB0aGlzLFxuICAgICAgICAgIHNlcnZpY2U6IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UuU1NNX01FU1NBR0VTLFxuICAgICAgICAgIHByaXZhdGVEbnNFbmFibGVkOiB0cnVlLFxuICAgICAgICAgIHN1Ym5ldHM6IHN1Ym5ldFNlbGVjdGlvblxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoaW50ZXJmYWNlQ29uZmlnLnN0cykge1xuICAgICAgdGhpcy5pbnRlcmZhY2VFbmRwb2ludHMucHVzaChcbiAgICAgICAgbmV3IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludCh0aGlzLCBgJHtpZH1TdHNgLCB7XG4gICAgICAgICAgdnBjOiB0aGlzLFxuICAgICAgICAgIHNlcnZpY2U6IGVjMi5JbnRlcmZhY2VWcGNFbmRwb2ludEF3c1NlcnZpY2UuU1RTLFxuICAgICAgICAgIHByaXZhdGVEbnNFbmFibGVkOiB0cnVlLFxuICAgICAgICAgIHN1Ym5ldHM6IHN1Ym5ldFNlbGVjdGlvblxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgcmVzb2x2ZU5hdEdhdGV3YXlzKHByb3BzPzogVnBjUHJvcHMpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IG5hdENvbmZpZyA9IHByb3BzPy5uYXRHYXRld2F5Q29uZmlnO1xuXG4gICAgaWYgKG5hdENvbmZpZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmIChuYXRDb25maWcgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gbmF0Q29uZmlnLmNvdW50ID8/IDE7XG4gIH1cblxuICBzdGF0aWMgYXZhaWxhYmlsaXR5Wm9uZXMoc2NvcGU6IENvbnN0cnVjdCwgbWF4QXpzID0gMykge1xuICAgIHJldHVybiBTdGFjay5vZihzY29wZSkuYXZhaWxhYmlsaXR5Wm9uZXMuc2xpY2UoMCwgbWF4QXpzKTtcbiAgfVxuXG4gIHN0YXRpYyBmbG93TG9ncyhcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM/OiBWcGNQcm9wc1xuICApOiBSZWNvcmQ8c3RyaW5nLCBlYzIuRmxvd0xvZ09wdGlvbnM+IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAocHJvcHM/LmZsb3dMb2dDb25maWcgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmIChwcm9wcz8uZmxvd0xvZ0NvbmZpZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpZiAoIXByb3BzPy5hY2NvdW50SWQpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIFtgJHtpZH1WcGNGbG93TG9nc2BdOiB7XG4gICAgICAgICAgZGVzdGluYXRpb246IGVjMi5GbG93TG9nRGVzdGluYXRpb24udG9DbG91ZFdhdGNoTG9ncyhcbiAgICAgICAgICAgIG5ldyBMb2dHcm91cChzY29wZSwgYCR7aWR9Rmxvd0xvZ0dyb3VwYCwge1xuICAgICAgICAgICAgICBsb2dHcm91cE5hbWU6IGAvdnBjL2Zsb3dsb2dzL3ZwYy0ke2lkfS9gLFxuICAgICAgICAgICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1lcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIGNvbnN0IGNvbmZpZyA9IHByb3BzLmZsb3dMb2dDb25maWc7XG4gICAgY29uc3QgdHJhZmZpY1R5cGUgPSBWcGMucmVzb2x2ZVRyYWZmaWNUeXBlKGNvbmZpZy50cmFmZmljVHlwZSk7XG5cbiAgICBpZiAoY29uZmlnLmRlc3RpbmF0aW9uID09PSBcInMzXCIpIHtcbiAgICAgIGNvbnN0IGJ1Y2tldCA9IG5ldyBzMy5CdWNrZXQoc2NvcGUsIGAke2lkfUZsb3dMb2dCdWNrZXRgLCB7XG4gICAgICAgIGJ1Y2tldE5hbWU6IGB2cGMtZmxvd2xvZ3MtJHtpZC50b0xvd2VyQ2FzZSgpfS0ke1N0YWNrLm9mKHNjb3BlKS5hY2NvdW50fWAsXG4gICAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuUkVUQUlOLFxuICAgICAgICBlbmNyeXB0aW9uOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBzMy5CbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICAgIGxpZmVjeWNsZVJ1bGVzOiBjb25maWcucmV0ZW50aW9uRGF5c1xuICAgICAgICAgID8gW3sgZXhwaXJhdGlvbjogRHVyYXRpb24uZGF5cyhjb25maWcucmV0ZW50aW9uRGF5cyksIGVuYWJsZWQ6IHRydWUgfV1cbiAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIFtgJHtpZH1WcGNGbG93TG9nc2BdOiB7XG4gICAgICAgICAgZGVzdGluYXRpb246IGVjMi5GbG93TG9nRGVzdGluYXRpb24udG9TMyhidWNrZXQpLFxuICAgICAgICAgIHRyYWZmaWNUeXBlXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgcmV0ZW50aW9uRGF5cyA9IGNvbmZpZy5yZXRlbnRpb25EYXlzID8/IDE0O1xuICAgIHJldHVybiB7XG4gICAgICBbYCR7aWR9VnBjRmxvd0xvZ3NgXToge1xuICAgICAgICBkZXN0aW5hdGlvbjogZWMyLkZsb3dMb2dEZXN0aW5hdGlvbi50b0Nsb3VkV2F0Y2hMb2dzKFxuICAgICAgICAgIG5ldyBMb2dHcm91cChzY29wZSwgYCR7aWR9Rmxvd0xvZ0dyb3VwYCwge1xuICAgICAgICAgICAgbG9nR3JvdXBOYW1lOiBgL3ZwYy9mbG93bG9ncy92cGMtJHtpZH0vYCxcbiAgICAgICAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgICAgICAgIHJldGVudGlvbjogVnBjLmRheXNUb1JldGVudGlvbihyZXRlbnRpb25EYXlzKVxuICAgICAgICAgIH0pXG4gICAgICAgICksXG4gICAgICAgIHRyYWZmaWNUeXBlXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGRheXNUb1JldGVudGlvbihkYXlzOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IHZhbGlkUmV0ZW50aW9ucyA9IFtcbiAgICAgIDEsIDMsIDUsIDcsIDE0LCAzMCwgNjAsIDkwLCAxMjAsIDE1MCwgMTgwLCAzNjUsIDQwMCwgNTQ1LCA3MzEsIDEwOTYsIDE4MjcsXG4gICAgICAyMTkyLCAyNTU3LCAyOTIyLCAzMjg4LCAzNjUzXG4gICAgXTtcbiAgICByZXR1cm4gdmFsaWRSZXRlbnRpb25zLmZpbmQoKHIpID0+IHIgPj0gZGF5cykgPz8gMzY1MztcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHJlc29sdmVUcmFmZmljVHlwZShcbiAgICB0cmFmZmljVHlwZT86IFwiQUxMXCIgfCBcIkFDQ0VQVFwiIHwgXCJSRUpFQ1RcIlxuICApOiBlYzIuRmxvd0xvZ1RyYWZmaWNUeXBlIHtcbiAgICBzd2l0Y2ggKHRyYWZmaWNUeXBlKSB7XG4gICAgICBjYXNlIFwiQUNDRVBUXCI6XG4gICAgICAgIHJldHVybiBlYzIuRmxvd0xvZ1RyYWZmaWNUeXBlLkFDQ0VQVDtcbiAgICAgIGNhc2UgXCJSRUpFQ1RcIjpcbiAgICAgICAgcmV0dXJuIGVjMi5GbG93TG9nVHJhZmZpY1R5cGUuUkVKRUNUO1xuICAgICAgY2FzZSBcIkFMTFwiOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGVjMi5GbG93TG9nVHJhZmZpY1R5cGUuQUxMO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBpcEFkZHJlc3NlcyhzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFZwY1Byb3BzKSB7XG4gICAgaWYgKCFwcm9wcz8uYWNjb3VudElkIHx8ICFwcm9wcz8uaXB2NElwYW1Qb29sSWQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgdnBjQ2lkck1hc2sgPSBwcm9wcy52cGNDaWRyTWFzayA/PyAyMDtcbiAgICBjb25zdCBzdWJuZXRDaWRyTWFzayA9IHByb3BzLnN1Ym5ldENpZHJNYXNrID8/IDIzO1xuXG4gICAgcmV0dXJuIGVjMi5JcEFkZHJlc3Nlcy5hd3NJcGFtQWxsb2NhdGlvbih7XG4gICAgICBpcHY0SXBhbVBvb2xJZDogcHJvcHMuaXB2NElwYW1Qb29sSWQsXG4gICAgICBpcHY0TmV0bWFza0xlbmd0aDogdnBjQ2lkck1hc2ssXG4gICAgICBkZWZhdWx0U3VibmV0SXB2NE5ldG1hc2tMZW5ndGg6IHN1Ym5ldENpZHJNYXNrXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgYnVpbGQoaWQ6IHN0cmluZywgcHJvcHM/OiBWcGNQcm9wcyk6IChzYjogU3RhY2tCdWlsZGVyKSA9PiBDb25zdHJ1Y3Qge1xuICAgIHJldHVybiAoc2I6IFN0YWNrQnVpbGRlcikgPT4ge1xuICAgICAgcmV0dXJuIG5ldyB0aGlzKHNiLmdldFN0YWNrKCksIGlkLCBwcm9wcyk7XG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBpbXBvcnQoXG4gICAgaWQ6IHN0cmluZyxcbiAgICB2cGNTdGFja05hbWU6IHN0cmluZ1xuICApOiAoc2I6IFN0YWNrQnVpbGRlcikgPT4gQ29uc3RydWN0IHtcbiAgICByZXR1cm4gKHNiOiBTdGFja0J1aWxkZXIpID0+IHtcbiAgICAgIHJldHVybiBlYzIuVnBjLmZyb21Mb29rdXAoc2IuZ2V0U3RhY2soKSwgaWQsIHtcbiAgICAgICAgdnBjTmFtZTogYCR7dnBjU3RhY2tOYW1lfS8ke2lkfWBcbiAgICAgIH0pO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,11 +6,14 @@ const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
|
6
6
|
class EcrFactory {
|
|
7
7
|
static build(id, props) {
|
|
8
8
|
return (app, scope) => {
|
|
9
|
-
const ecrProps = {
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
const ecrProps = props ?? {};
|
|
10
|
+
const ecr = new Ecr(scope, id, ecrProps);
|
|
11
|
+
// Register ECR repository with manifest collector for CLI discovery
|
|
12
|
+
const manifestEcr = {
|
|
13
|
+
repositoryName: ecr.repositoryName
|
|
12
14
|
};
|
|
13
|
-
|
|
15
|
+
app.getManifestCollector().setEcr(manifestEcr);
|
|
16
|
+
return ecr;
|
|
14
17
|
};
|
|
15
18
|
}
|
|
16
19
|
}
|
|
@@ -40,4 +43,4 @@ class Ecr extends aws_ecr_1.Repository {
|
|
|
40
43
|
}
|
|
41
44
|
}
|
|
42
45
|
exports.Ecr = Ecr;
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3Mvc3RvcmFnZS9lY3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaURBSTZCO0FBQzdCLDZDQUF1RDtBQVF2RCxNQUFhLFVBQVU7SUFDckIsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFVLEVBQUUsS0FBZ0I7UUFDdkMsT0FBTyxDQUFDLEdBQVEsRUFBRSxLQUFnQixFQUFFLEVBQUU7WUFDcEMsTUFBTSxRQUFRLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUM3QixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRXpDLG9FQUFvRTtZQUNwRSxNQUFNLFdBQVcsR0FBZ0I7Z0JBQy9CLGNBQWMsRUFBRSxHQUFHLENBQUMsY0FBYzthQUNuQyxDQUFDO1lBQ0YsR0FBRyxDQUFDLG9CQUFvQixFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBRS9DLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBZkQsZ0NBZUM7QUFFRCxNQUFhLEdBQUksU0FBUSxvQkFBVTtJQUdqQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWdCO1FBQ3hELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBSDFDLFlBQU8sR0FBZ0IsRUFBRSxDQUFDO1FBS2hDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNmLElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ25DLEdBQUcsRUFBRSxHQUFHLEVBQUUsZ0JBQWdCO1lBQzFCLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYztZQUMxQixVQUFVLEVBQUUsR0FBRyxFQUFFLGdCQUFnQjtTQUNsQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCw2REFBNkQ7SUFDN0QsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQWdCO1FBQ3hDLHVCQUF1QjtRQUN2QixvRUFBb0U7UUFDcEUsT0FBTztZQUNMLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLGtCQUFrQixFQUFFLHVCQUFhLENBQUMsT0FBTztZQUN6QyxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxNQUFNO1NBQ3BDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFVLEVBQUUsS0FBZ0I7UUFDdkMsT0FBTyxDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdkUsQ0FBQztDQUNGO0FBN0JELGtCQTZCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIFJlcG9zaXRvcnksXG4gIHR5cGUgUmVwb3NpdG9yeVByb3BzLFxuICBUYWdNdXRhYmlsaXR5XG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNyXCI7XG5pbXBvcnQgeyBDZm5PdXRwdXQsIFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuaW1wb3J0IHR5cGUgQXBwIGZyb20gXCIuLi8uLi8uLi9hcHBcIjtcbmltcG9ydCB7IHR5cGUgU3RhY2tCdWlsZGVyIH0gZnJvbSBcIi4uL2Jhc2UvYXdzU3RhY2tcIjtcbmltcG9ydCB7IHR5cGUgTWFuaWZlc3RFY3IgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvbWFuaWZlc3RXcml0ZXIuanNcIjtcblxudHlwZSBFY3JQcm9wcyA9IFJlY29yZDxzdHJpbmcsIG5ldmVyPjtcblxuZXhwb3J0IGNsYXNzIEVjckZhY3Rvcnkge1xuICBzdGF0aWMgYnVpbGQoaWQ6IHN0cmluZywgcHJvcHM/OiBFY3JQcm9wcykge1xuICAgIHJldHVybiAoYXBwOiBBcHAsIHNjb3BlOiBDb25zdHJ1Y3QpID0+IHtcbiAgICAgIGNvbnN0IGVjclByb3BzID0gcHJvcHMgPz8ge307XG4gICAgICBjb25zdCBlY3IgPSBuZXcgRWNyKHNjb3BlLCBpZCwgZWNyUHJvcHMpO1xuXG4gICAgICAvLyBSZWdpc3RlciBFQ1IgcmVwb3NpdG9yeSB3aXRoIG1hbmlmZXN0IGNvbGxlY3RvciBmb3IgQ0xJIGRpc2NvdmVyeVxuICAgICAgY29uc3QgbWFuaWZlc3RFY3I6IE1hbmlmZXN0RWNyID0ge1xuICAgICAgICByZXBvc2l0b3J5TmFtZTogZWNyLnJlcG9zaXRvcnlOYW1lXG4gICAgICB9O1xuICAgICAgYXBwLmdldE1hbmlmZXN0Q29sbGVjdG9yKCkuc2V0RWNyKG1hbmlmZXN0RWNyKTtcblxuICAgICAgcmV0dXJuIGVjcjtcbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBFY3IgZXh0ZW5kcyBSZXBvc2l0b3J5IHtcbiAgcHJpdmF0ZSBvdXRwdXRzOiBDZm5PdXRwdXRbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogRWNyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIEVjci5nZXRSZXBvc2l0b3J5UHJvcHMocHJvcHMpKTtcblxuICAgIHRoaXMub3V0cHV0cy5wdXNoKFxuICAgICAgbmV3IENmbk91dHB1dCh0aGlzLCBcImVjclJlcG9zaXRvcnlcIiwge1xuICAgICAgICBrZXk6IGAke2lkfVJlcG9zaXRvcnlOYW1lYCxcbiAgICAgICAgdmFsdWU6IHRoaXMucmVwb3NpdG9yeU5hbWUsXG4gICAgICAgIGV4cG9ydE5hbWU6IGAke2lkfVJlcG9zaXRvcnlOYW1lYFxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBzdGF0aWMgZ2V0UmVwb3NpdG9yeVByb3BzKHByb3BzPzogRWNyUHJvcHMpOiBSZXBvc2l0b3J5UHJvcHMge1xuICAgIC8vIHRvZG86IGxpZmVDeWNsZVJ1bGVzXG4gICAgLy8gdG9kbzogRW5jcnlwdGlvbiAmIEVuY3J5cHRpb25LZXkgKGRlZmF1bHQgaXMgQVdTIG1hbmFnZWQgS01TIGtleSlcbiAgICByZXR1cm4ge1xuICAgICAgaW1hZ2VTY2FuT25QdXNoOiB0cnVlLFxuICAgICAgaW1hZ2VUYWdNdXRhYmlsaXR5OiBUYWdNdXRhYmlsaXR5Lk1VVEFCTEUsXG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LlJFVEFJTlxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgYnVpbGQoaWQ6IHN0cmluZywgcHJvcHM/OiBFY3JQcm9wcyk6IChzY29wZTogU3RhY2tCdWlsZGVyKSA9PiBFY3Ige1xuICAgIHJldHVybiAoc2NvcGU6IFN0YWNrQnVpbGRlcikgPT4gbmV3IEVjcihzY29wZS5nZXRTdGFjaygpLCBpZCwgcHJvcHMpO1xuICB9XG59XG4iXX0=
|
|
@@ -12,7 +12,6 @@ class S3Bucket extends aws_s3_1.Bucket {
|
|
|
12
12
|
removalPolicy: props?.removalPolicy || aws_cdk_lib_1.RemovalPolicy.DESTROY,
|
|
13
13
|
versioned: true
|
|
14
14
|
});
|
|
15
|
-
// Store backup tier for StandardTagsAspect to read during synthesis
|
|
16
15
|
this.backupVaultTier = props?.backupVaultTier;
|
|
17
16
|
}
|
|
18
17
|
}
|
|
@@ -43,4 +42,4 @@ class S3PublicReadBucket extends S3Bucket {
|
|
|
43
42
|
}
|
|
44
43
|
}
|
|
45
44
|
exports.S3PublicReadBucket = S3PublicReadBucket;
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiczMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9zdG9yYWdlL3MzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE0QztBQUM1QywrQ0FJNEI7QUF1QzVCLE1BQWEsUUFBUyxTQUFRLGVBQU07SUFNbEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQjtRQUM3RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEdBQUcsS0FBSztZQUNSLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsVUFBVSxFQUFFLElBQUk7WUFDaEIsYUFBYSxFQUFFLEtBQUssRUFBRSxhQUFhLElBQUksMkJBQWEsQ0FBQyxPQUFPO1lBQzVELFNBQVMsRUFBRSxJQUFJO1NBQ2hCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxFQUFFLGVBQWUsQ0FBQztJQUNoRCxDQUFDO0NBQ0Y7QUFqQkQsNEJBaUJDO0FBRUQsTUFBYSxlQUFnQixTQUFRLFFBQVE7SUFDM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQjtRQUM3RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEdBQUcsS0FBSztZQUNSLG9CQUFvQixFQUFFLFlBQVk7WUFDbEMsb0JBQW9CLEVBQUUsWUFBWTtZQUNsQyxnQkFBZ0IsRUFBRSxJQUFJO1NBQ3ZCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQVRELDBDQVNDO0FBRUQsTUFBYSxrQkFBbUIsU0FBUSxRQUFRO0lBQzlDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUI7UUFDN0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixHQUFHLEtBQUs7WUFDUixnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLGlCQUFpQixFQUFFLElBQUksMEJBQWlCLENBQUM7Z0JBQ3ZDLGVBQWUsRUFBRSxLQUFLO2dCQUN0QixpQkFBaUIsRUFBRSxLQUFLO2dCQUN4QixnQkFBZ0IsRUFBRSxLQUFLO2dCQUN2QixxQkFBcUIsRUFBRSxLQUFLO2FBQzdCLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFiRCxnREFhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7XG4gIEJsb2NrUHVibGljQWNjZXNzLFxuICBCdWNrZXQsXG4gIHR5cGUgQnVja2V0UHJvcHNcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zM1wiO1xuaW1wb3J0IHsgdHlwZSBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG4vKipcbiAqIEJhY2t1cCB2YXVsdCB0aWVycyBmb3IgZGlzYXN0ZXIgcmVjb3ZlcnkuXG4gKiBEZXRlcm1pbmVzIHdoaWNoIEFXUyBCYWNrdXAgcGxhbiBpbmNsdWRlcyB0aGlzIGJ1Y2tldC5cbiAqL1xuZXhwb3J0IHR5cGUgQmFja3VwVmF1bHRUaWVyID0gXCJzdGFuZGFyZFwiIHwgXCJyZXNpbGllbnRcIiB8IFwiZW50ZXJwcmlzZVwiO1xuXG4vKipcbiAqIEV4dGVuZGVkIHByb3BzIGZvciBTM0J1Y2tldCB0aGF0IGluY2x1ZGUgZGlzYXN0ZXIgcmVjb3ZlcnkgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTM0J1Y2tldFByb3BzIGV4dGVuZHMgQnVja2V0UHJvcHMge1xuICAvKipcbiAgICogQmFja3VwIHZhdWx0IHRpZXIgZm9yIGRpc2FzdGVyIHJlY292ZXJ5LlxuICAgKlxuICAgKiBXaGVuIHNldCwgdGFncyB0aGUgYnVja2V0IHdpdGggXCJmamFsbDpkaXNhc3RlclJlY292ZXJ5OnRpZXJcIjogXCI8dGllcj5cIlxuICAgKiB3aGljaCBhdXRvbWF0aWNhbGx5IGluY2x1ZGVzIGl0IGluIHRoZSBjb3JyZXNwb25kaW5nIGJhY2t1cCBwbGFuLlxuICAgKlxuICAgKiBUaWVyczpcbiAgICogLSBzdGFuZGFyZDogRGFpbHkgYmFja3VwcywgOTAtZGF5IHJldGVudGlvblxuICAgKiAtIHJlc2lsaWVudDogRGFpbHkgKyBjb250aW51b3VzLCAzNS1kYXkgcmV0ZW50aW9uLCBjcm9zcy1yZWdpb24gcmVwbGljYXRpb25cbiAgICogLSBlbnRlcnByaXNlOiBDb250aW51b3VzICsgaG91cmx5LCA3LXllYXIgY29tcGxpYW5jZSwgY3Jvc3MtcmVnaW9uICsgY3Jvc3MtYWNjb3VudFxuICAgKlxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWQgLSBCdWNrZXQgd2lsbCBOT1QgYmUgYmFja2VkIHVwIGF1dG9tYXRpY2FsbHlcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogLy8gQ3JpdGljYWwgdXNlciBkYXRhIGJ1Y2tldFxuICAgKiBiYWNrdXBWYXVsdFRpZXI6IFwicmVzaWxpZW50XCJcbiAgICpcbiAgICogLy8gQ29tcGxpYW5jZSBkYXRhXG4gICAqIGJhY2t1cFZhdWx0VGllcjogXCJlbnRlcnByaXNlXCJcbiAgICpcbiAgICogLy8gTG9ncyBidWNrZXQgKG5vIGJhY2t1cHMgbmVlZGVkKVxuICAgKiAvLyBEb24ndCBzZXQgdGhpcyBwcm9wZXJ0eVxuICAgKi9cbiAgYmFja3VwVmF1bHRUaWVyPzogQmFja3VwVmF1bHRUaWVyO1xufVxuXG5leHBvcnQgY2xhc3MgUzNCdWNrZXQgZXh0ZW5kcyBCdWNrZXQge1xuICAvKipcbiAgICogQmFja3VwIHZhdWx0IHRpZXIgaWYgc2V0LiBVc2VkIGJ5IFN0YW5kYXJkVGFnc0FzcGVjdCB0byBhcHBseSBEUiB0YWdzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGJhY2t1cFZhdWx0VGllcj86IEJhY2t1cFZhdWx0VGllcjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFMzQnVja2V0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgYXV0b0RlbGV0ZU9iamVjdHM6IHRydWUsXG4gICAgICBlbmZvcmNlU1NMOiB0cnVlLFxuICAgICAgcmVtb3ZhbFBvbGljeTogcHJvcHM/LnJlbW92YWxQb2xpY3kgfHwgUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgICAgdmVyc2lvbmVkOiB0cnVlXG4gICAgfSk7XG5cbiAgICB0aGlzLmJhY2t1cFZhdWx0VGllciA9IHByb3BzPy5iYWNrdXBWYXVsdFRpZXI7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFMzV2Vic2l0ZUJ1Y2tldCBleHRlbmRzIFMzQnVja2V0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBTM0J1Y2tldFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHdlYnNpdGVFcnJvckRvY3VtZW50OiBcImVycm9yLmh0bWxcIixcbiAgICAgIHdlYnNpdGVJbmRleERvY3VtZW50OiBcImluZGV4Lmh0bWxcIixcbiAgICAgIHB1YmxpY1JlYWRBY2Nlc3M6IHRydWVcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUzNQdWJsaWNSZWFkQnVja2V0IGV4dGVuZHMgUzNCdWNrZXQge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFMzQnVja2V0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgcHVibGljUmVhZEFjY2VzczogdHJ1ZSxcbiAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBuZXcgQmxvY2tQdWJsaWNBY2Nlc3Moe1xuICAgICAgICBibG9ja1B1YmxpY0FjbHM6IGZhbHNlLFxuICAgICAgICBibG9ja1B1YmxpY1BvbGljeTogZmFsc2UsXG4gICAgICAgIGlnbm9yZVB1YmxpY0FjbHM6IGZhbHNlLFxuICAgICAgICByZXN0cmljdFB1YmxpY0J1Y2tldHM6IGZhbHNlXG4gICAgICB9KVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -14,4 +14,4 @@ class AwsCustomResource extends customResource.AwsCustomResource {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
exports.AwsCustomResource = AwsCustomResource;
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzQ3VzdG9tUmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy91dGlsaXRpZXMvYXdzQ3VzdG9tUmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0RBQStEO0FBRy9ELE1BQWEsaUJBQWtCLFNBQVEsY0FBYyxDQUFDLGlCQUFpQjtJQUdyRSxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUE0QztRQUU1QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEdBQUcsS0FBSztZQUNSLE1BQU0sRUFDSixLQUFLLENBQUMsTUFBTTtnQkFDWixjQUFjLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDO29CQUNsRCxTQUFTLEVBQUUsY0FBYyxDQUFDLHVCQUF1QixDQUFDLFlBQVk7aUJBQy9ELENBQUM7U0FDTCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFqQkQsOENBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3VzdG9tUmVzb3VyY2UgZnJvbSBcImF3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXNcIjtcbmltcG9ydCB7IHR5cGUgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuZXhwb3J0IGNsYXNzIEF3c0N1c3RvbVJlc291cmNlIGV4dGVuZHMgY3VzdG9tUmVzb3VyY2UuQXdzQ3VzdG9tUmVzb3VyY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgcmVzcG9uc2UhOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBjdXN0b21SZXNvdXJjZS5Bd3NDdXN0b21SZXNvdXJjZVByb3BzXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBwb2xpY3k6XG4gICAgICAgIHByb3BzLnBvbGljeSB8fFxuICAgICAgICBjdXN0b21SZXNvdXJjZS5Bd3NDdXN0b21SZXNvdXJjZVBvbGljeS5mcm9tU2RrQ2FsbHMoe1xuICAgICAgICAgIHJlc291cmNlczogY3VzdG9tUmVzb3VyY2UuQXdzQ3VzdG9tUmVzb3VyY2VQb2xpY3kuQU5ZX1JFU09VUkNFXG4gICAgICAgIH0pXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -52,4 +52,4 @@ class CustomResource extends constructs_1.Construct {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
exports.CustomResource = CustomResource;
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tUmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy91dGlsaXRpZXMvY3VzdG9tUmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQStEO0FBRS9ELG1FQUF3RDtBQUV4RCx1REFBNEQ7QUFDNUQsMkNBQXVDO0FBRXZDLDhDQUFzRTtBQXVCdEUsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFJM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksS0FBSyxDQUNiLHVFQUF1RSxDQUN4RSxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FDYix5RUFBeUUsQ0FDMUUsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUN4QyxNQUFNLElBQUksR0FBRyxZQUFZO1lBQ3ZCLENBQUMsQ0FBQyxpQkFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVyxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxpQkFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4RCxNQUFNLE9BQU8sR0FDWCxLQUFLLENBQUMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN0RSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEdBQUcsQ0FBQztRQUVsRCw2RkFBNkY7UUFDN0YsTUFBTSxjQUFjLEdBQUcsWUFBWTtZQUNqQyxDQUFDLENBQUMsSUFBSSx1QkFBYyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFO2dCQUN0QyxJQUFJO2dCQUNKLE9BQU87Z0JBQ1AsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2dCQUN0QixPQUFPO2dCQUNQLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxHQUFHLEVBQUUsU0FBUztnQkFDNUQsZUFBZSxFQUNiLEtBQUssQ0FBQyxlQUFlLElBQUksR0FBRyxFQUFFLHlCQUF5QjtnQkFDekQsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO2FBQ2pDLENBQUM7WUFDSixDQUFDLENBQUMsSUFBSSwwQkFBaUIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRTtnQkFDekMsSUFBSTtnQkFDSixPQUFPO2dCQUNQLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixJQUFJLEdBQUcsRUFBRSxTQUFTO2dCQUM1RCxlQUFlLEVBQ2IsS0FBSyxDQUFDLGVBQWUsSUFBSSxHQUFHLEVBQUUseUJBQXlCO2dCQUN6RCxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7YUFDakMsQ0FBQyxDQUFDO1FBRVAsTUFBTSxRQUFRLEdBQUcsSUFBSSwyQkFBUSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO1lBQ25ELGNBQWMsRUFBRSxjQUFjO1NBQy9CLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSw0QkFBYyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO1lBQ3hELFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWTtZQUNuQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7U0FDN0IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0NBQ0Y7QUE1REQsd0NBNERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tUmVzb3VyY2UgYXMgY3VzdG9tUmVzb3VyY2UgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB0eXBlIHsgRHVyYXRpb24sIEFzc2V0T3B0aW9ucyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlc1wiO1xuaW1wb3J0IHsgdHlwZSBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHsgQ29kZSwgdHlwZSBSdW50aW1lIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmltcG9ydCB7IFNpbmdsZXRvbkZ1bmN0aW9uLCBMYW1iZGFGdW5jdGlvbiB9IGZyb20gXCIuLi9jb21wdXRlL2xhbWJkYVwiO1xuXG5pbnRlcmZhY2UgQ3VzdG9tUmVzb3VyY2VQcm9wcyB7XG4gIHJ1bnRpbWU6IFJ1bnRpbWU7XG4gIHJvbGVEZXNjcmlwdGlvbj86IHN0cmluZztcbiAgbGFtYmRhRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGlubGluZVBvbGljeTogUG9saWN5U3RhdGVtZW50W107XG4gIHByb3BlcnRpZXM/
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tUmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy91dGlsaXRpZXMvY3VzdG9tUmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQStEO0FBRS9ELG1FQUF3RDtBQUV4RCx1REFBNEQ7QUFDNUQsMkNBQXVDO0FBRXZDLDhDQUFzRTtBQXVCdEUsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFJM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksS0FBSyxDQUNiLHVFQUF1RSxDQUN4RSxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FDYix5RUFBeUUsQ0FDMUUsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUN4QyxNQUFNLElBQUksR0FBRyxZQUFZO1lBQ3ZCLENBQUMsQ0FBQyxpQkFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVyxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxpQkFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4RCxNQUFNLE9BQU8sR0FDWCxLQUFLLENBQUMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN0RSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEdBQUcsQ0FBQztRQUVsRCw2RkFBNkY7UUFDN0YsTUFBTSxjQUFjLEdBQUcsWUFBWTtZQUNqQyxDQUFDLENBQUMsSUFBSSx1QkFBYyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFO2dCQUN0QyxJQUFJO2dCQUNKLE9BQU87Z0JBQ1AsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2dCQUN0QixPQUFPO2dCQUNQLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxHQUFHLEVBQUUsU0FBUztnQkFDNUQsZUFBZSxFQUNiLEtBQUssQ0FBQyxlQUFlLElBQUksR0FBRyxFQUFFLHlCQUF5QjtnQkFDekQsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO2FBQ2pDLENBQUM7WUFDSixDQUFDLENBQUMsSUFBSSwwQkFBaUIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRTtnQkFDekMsSUFBSTtnQkFDSixPQUFPO2dCQUNQLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixJQUFJLEdBQUcsRUFBRSxTQUFTO2dCQUM1RCxlQUFlLEVBQ2IsS0FBSyxDQUFDLGVBQWUsSUFBSSxHQUFHLEVBQUUseUJBQXlCO2dCQUN6RCxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7YUFDakMsQ0FBQyxDQUFDO1FBRVAsTUFBTSxRQUFRLEdBQUcsSUFBSSwyQkFBUSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO1lBQ25ELGNBQWMsRUFBRSxjQUFjO1NBQy9CLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSw0QkFBYyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO1lBQ3hELFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWTtZQUNuQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7U0FDN0IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0NBQ0Y7QUE1REQsd0NBNERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tUmVzb3VyY2UgYXMgY3VzdG9tUmVzb3VyY2UgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB0eXBlIHsgRHVyYXRpb24sIEFzc2V0T3B0aW9ucyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlc1wiO1xuaW1wb3J0IHsgdHlwZSBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHsgQ29kZSwgdHlwZSBSdW50aW1lIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmltcG9ydCB7IFNpbmdsZXRvbkZ1bmN0aW9uLCBMYW1iZGFGdW5jdGlvbiB9IGZyb20gXCIuLi9jb21wdXRlL2xhbWJkYVwiO1xuXG5pbnRlcmZhY2UgQ3VzdG9tUmVzb3VyY2VQcm9wcyB7XG4gIHJ1bnRpbWU6IFJ1bnRpbWU7XG4gIHJvbGVEZXNjcmlwdGlvbj86IHN0cmluZztcbiAgbGFtYmRhRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGlubGluZVBvbGljeTogUG9saWN5U3RhdGVtZW50W107XG4gIHByb3BlcnRpZXM/OiB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICB9O1xuXG4gIC8vIENvZGUgc291cmNlXG4gIGNvZGVQYXRoPzogc3RyaW5nO1xuICBpbmxpbmVDb2RlPzogc3RyaW5nO1xuXG4gIC8vIEFzc2V0IG9wdGlvbnMgKG9ubHkgdXNlZCB3aXRoIGNvZGVQYXRoKVxuICBhc3NldE9wdGlvbnM/OiBBc3NldE9wdGlvbnM7XG5cbiAgLy8gT3B0aW9uYWwgb3ZlcnJpZGVzXG4gIGhhbmRsZXI/OiBzdHJpbmc7IC8vIERlZmF1bHQ6IGAke2lkfS5oYW5kbGVyYCBmb3IgY29kZVBhdGgsIGBpbmRleC5oYW5kbGVyYCBmb3IgaW5saW5lQ29kZVxuICB0aW1lb3V0PzogRHVyYXRpb247IC8vIERlZmF1bHQ6IDMwMHMgKDUgbWludXRlcylcbn1cblxuZXhwb3J0IGNsYXNzIEN1c3RvbVJlc291cmNlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IHJlc3BvbnNlOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZTogY3VzdG9tUmVzb3VyY2U7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEN1c3RvbVJlc291cmNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gVmFsaWRhdGUgZXhhY3RseSBvbmUgY29kZSBzb3VyY2VcbiAgICBpZiAoIXByb3BzLmNvZGVQYXRoICYmICFwcm9wcy5pbmxpbmVDb2RlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQ3VzdG9tUmVzb3VyY2UgcmVxdWlyZXMgZWl0aGVyIGNvZGVQYXRoIG9yIGlubGluZUNvZGUgdG8gYmUgc3BlY2lmaWVkXCJcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChwcm9wcy5jb2RlUGF0aCAmJiBwcm9wcy5pbmxpbmVDb2RlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQ3VzdG9tUmVzb3VyY2UgcmVxdWlyZXMgZXhhY3RseSBvbmUgb2YgY29kZVBhdGggb3IgaW5saW5lQ29kZSwgbm90IGJvdGhcIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBpc0lubGluZUNvZGUgPSAhIXByb3BzLmlubGluZUNvZGU7XG4gICAgY29uc3QgY29kZSA9IGlzSW5saW5lQ29kZVxuICAgICAgPyBDb2RlLmZyb21JbmxpbmUocHJvcHMuaW5saW5lQ29kZSEpXG4gICAgICA6IENvZGUuZnJvbUFzc2V0KHByb3BzLmNvZGVQYXRoISwgcHJvcHMuYXNzZXRPcHRpb25zKTtcbiAgICBjb25zdCBoYW5kbGVyID1cbiAgICAgIHByb3BzLmhhbmRsZXIgPz8gKGlzSW5saW5lQ29kZSA/IFwiaW5kZXguaGFuZGxlclwiIDogYCR7aWR9LmhhbmRsZXJgKTtcbiAgICBjb25zdCB0aW1lb3V0ID0gcHJvcHMudGltZW91dD8udG9TZWNvbmRzKCkgPz8gMzAwO1xuXG4gICAgLy8gVXNlIExhbWJkYUZ1bmN0aW9uIGZvciBpbmxpbmUgY29kZSAodW5pcXVlIHBlciB1c2UpLCBTaW5nbGV0b25GdW5jdGlvbiBmb3IgYXNzZXRzIChzaGFyZWQpXG4gICAgY29uc3QgbGFtYmRhRnVuY3Rpb24gPSBpc0lubGluZUNvZGVcbiAgICAgID8gbmV3IExhbWJkYUZ1bmN0aW9uKHRoaXMsIGAke2lkfUxhbWJkYWAsIHtcbiAgICAgICAgICBjb2RlLFxuICAgICAgICAgIGhhbmRsZXIsXG4gICAgICAgICAgcnVudGltZTogcHJvcHMucnVudGltZSxcbiAgICAgICAgICB0aW1lb3V0LFxuICAgICAgICAgIGxhbWJkYURlc2NyaXB0aW9uOiBwcm9wcy5sYW1iZGFEZXNjcmlwdGlvbiB8fCBgJHtpZH0gbGFtYmRhYCxcbiAgICAgICAgICByb2xlRGVzY3JpcHRpb246XG4gICAgICAgICAgICBwcm9wcy5yb2xlRGVzY3JpcHRpb24gfHwgYCR7aWR9IGN1c3RvbSByZXNvdXJjZSBsYW1iZGFgLFxuICAgICAgICAgIGlubGluZVBvbGljeTogcHJvcHMuaW5saW5lUG9saWN5XG4gICAgICAgIH0pXG4gICAgICA6IG5ldyBTaW5nbGV0b25GdW5jdGlvbih0aGlzLCBgJHtpZH1MYW1iZGFgLCB7XG4gICAgICAgICAgY29kZSxcbiAgICAgICAgICBoYW5kbGVyLFxuICAgICAgICAgIHJ1bnRpbWU6IHByb3BzLnJ1bnRpbWUsXG4gICAgICAgICAgbGFtYmRhRGVzY3JpcHRpb246IHByb3BzLmxhbWJkYURlc2NyaXB0aW9uIHx8IGAke2lkfSBsYW1iZGFgLFxuICAgICAgICAgIHJvbGVEZXNjcmlwdGlvbjpcbiAgICAgICAgICAgIHByb3BzLnJvbGVEZXNjcmlwdGlvbiB8fCBgJHtpZH0gY3VzdG9tIHJlc291cmNlIGxhbWJkYWAsXG4gICAgICAgICAgaW5saW5lUG9saWN5OiBwcm9wcy5pbmxpbmVQb2xpY3lcbiAgICAgICAgfSk7XG5cbiAgICBjb25zdCBwcm92aWRlciA9IG5ldyBQcm92aWRlcih0aGlzLCBgJHtpZH1Qcm92aWRlcmAsIHtcbiAgICAgIG9uRXZlbnRIYW5kbGVyOiBsYW1iZGFGdW5jdGlvblxuICAgIH0pO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBjdXN0b21SZXNvdXJjZSh0aGlzLCBgJHtpZH1SZXNvdXJjZWAsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogcHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcHJvcGVydGllczogcHJvcHMucHJvcGVydGllc1xuICAgIH0pO1xuXG4gICAgdGhpcy5yZXNwb25zZSA9IHRoaXMucmVzb3VyY2UuZ2V0QXR0KFwiUmVzcG9uc2VcIikudG9TdHJpbmcoKTtcbiAgfVxufVxuIl19
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getConfig = getConfig;
|
|
4
4
|
const app_1 = require("../app");
|
|
5
5
|
const util_1 = require("@fjall/util");
|
|
6
|
+
const validationLogger_1 = require("./validationLogger");
|
|
6
7
|
function getConfig(accountName) {
|
|
7
8
|
const app = app_1.default.getInstance();
|
|
8
9
|
const config = {
|
|
@@ -14,7 +15,7 @@ function getConfig(accountName) {
|
|
|
14
15
|
allRegions: []
|
|
15
16
|
};
|
|
16
17
|
if (!process.env.AWS_REGION)
|
|
17
|
-
|
|
18
|
+
validationLogger_1.FjallLogger.warn("AWS_REGION is not set, defaulting to us-east-1");
|
|
18
19
|
// Retrieve any pre-existing account config
|
|
19
20
|
const fjallConfig = util_1.Config.loadConfig();
|
|
20
21
|
// Get existing accounts
|
|
@@ -63,4 +64,4 @@ function getConfig(accountName) {
|
|
|
63
64
|
return config;
|
|
64
65
|
}
|
|
65
66
|
exports.default = getConfig;
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL2dldENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW9CQSw4QkFtRUM7QUFyRkQsZ0NBQXlCO0FBQ3pCLHNDQUFvRDtBQUVwRCx5REFBaUQ7QUFlakQsU0FBZ0IsU0FBUyxDQUFDLFdBQW9CO0lBQzVDLE1BQU0sR0FBRyxHQUFHLGFBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUU5QixNQUFNLE1BQU0sR0FBVztRQUNyQixNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksV0FBVztRQUM3QyxXQUFXLEVBQUUsU0FBUztRQUN0QixnQkFBZ0IsRUFBRSxFQUFFO1FBQ3BCLGtCQUFrQixFQUFFLEVBQUU7UUFDdEIsZ0JBQWdCLEVBQUUsRUFBRTtRQUNwQixVQUFVLEVBQUUsRUFBRTtLQUNmLENBQUM7SUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVO1FBQ3pCLDhCQUFXLENBQUMsSUFBSSxDQUFDLGdEQUFnRCxDQUFDLENBQUM7SUFFckUsMkNBQTJDO0lBQzNDLE1BQU0sV0FBVyxHQUFHLGFBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUU3Qyx3QkFBd0I7SUFDeEIsTUFBTSxDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBRTVELDJCQUEyQjtJQUMzQixNQUFNLENBQUMsa0JBQWtCLEdBQUcsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFFaEUsNEJBQTRCO0lBQzVCLE1BQU0sQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDdEQsTUFBTSxDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNsRSxNQUFNLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNoRCxNQUFNLENBQUMsc0JBQXNCLEdBQUcsV0FBVyxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFFeEUsNkRBQTZEO0lBQzdELElBQUksQ0FBQyxXQUFXO1FBQUUsV0FBVyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RFLG9FQUFvRTtJQUNwRSxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRSxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUN0QyxNQUFNLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDMUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBRUQsa0ZBQWtGO0lBQ2xGLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDeEIsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEQsd0VBQXdFO1FBQ3hFLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxNQUFNLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUU3QixNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEUsSUFBSSxlQUFlLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO2dCQUMxQyxNQUFNLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUM7WUFDbkQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsd0RBQXdEO0lBQ3hELE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakUsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUM7SUFDMUMsQ0FBQztTQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN2RSw2REFBNkQ7UUFDN0QsTUFBTSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztJQUMvQyxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELGtCQUFlLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQWNjb3VudCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtb3JnYW5pemF0aW9uc1wiO1xuXG5pbXBvcnQgQXBwIGZyb20gXCIuLi9hcHBcIjtcbmltcG9ydCB7IENvbmZpZyBhcyBGamFsbENvbmZpZyB9IGZyb20gXCJAZmphbGwvdXRpbFwiO1xuaW1wb3J0IHsgdHlwZSBJQ29zdEFsbG9jYXRpb25UYWdzIH0gZnJvbSBcIi4uL2NvbmZpZy9hd3NcIjtcbmltcG9ydCB7IEZqYWxsTG9nZ2VyIH0gZnJvbSBcIi4vdmFsaWRhdGlvbkxvZ2dlclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZyB7XG4gIHJlZ2lvbjogc3RyaW5nO1xuICBlbnZpcm9ubWVudDogc3RyaW5nO1xuICBleGlzdGluZ0FjY291bnRzOiBBY2NvdW50W107XG4gIGNvc3RBbGxvY2F0aW9uVGFnczogSUNvc3RBbGxvY2F0aW9uVGFnc1tdO1xuICBhY2NvdW50SWQ/OiBzdHJpbmc7XG4gIGFjY291bnROYW1lPzogc3RyaW5nO1xuICBwcmltYXJ5UmVnaW9uPzogc3RyaW5nO1xuICBzZWNvbmRhcnlSZWdpb25zOiBzdHJpbmdbXTtcbiAgYWxsUmVnaW9uczogc3RyaW5nW107XG4gIGRpc2FzdGVyUmVjb3ZlcnlSZWdpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWcoYWNjb3VudE5hbWU/OiBzdHJpbmcpOiBDb25maWcge1xuICBjb25zdCBhcHAgPSBBcHAuZ2V0SW5zdGFuY2UoKTtcblxuICBjb25zdCBjb25maWc6IENvbmZpZyA9IHtcbiAgICByZWdpb246IHByb2Nlc3MuZW52LkFXU19SRUdJT04gfHwgXCJ1cy1lYXN0LTFcIixcbiAgICBlbnZpcm9ubWVudDogXCJ1bmtub3duXCIsXG4gICAgZXhpc3RpbmdBY2NvdW50czogW10sXG4gICAgY29zdEFsbG9jYXRpb25UYWdzOiBbXSxcbiAgICBzZWNvbmRhcnlSZWdpb25zOiBbXSxcbiAgICBhbGxSZWdpb25zOiBbXVxuICB9O1xuXG4gIGlmICghcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTilcbiAgICBGamFsbExvZ2dlci53YXJuKFwiQVdTX1JFR0lPTiBpcyBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIHVzLWVhc3QtMVwiKTtcblxuICAvLyBSZXRyaWV2ZSBhbnkgcHJlLWV4aXN0aW5nIGFjY291bnQgY29uZmlnXG4gIGNvbnN0IGZqYWxsQ29uZmlnID0gRmphbGxDb25maWcubG9hZENvbmZpZygpO1xuXG4gIC8vIEdldCBleGlzdGluZyBhY2NvdW50c1xuICBjb25maWcuZXhpc3RpbmdBY2NvdW50cyA9IGZqYWxsQ29uZmlnLmdldEV4aXN0aW5nQWNjb3VudHMoKTtcblxuICAvLyBHZXQgY29zdCBhbGxvY2F0aW9uIHRhZ3NcbiAgY29uZmlnLmNvc3RBbGxvY2F0aW9uVGFncyA9IGZqYWxsQ29uZmlnLmdldENvc3RBbGxvY2F0aW9uVGFncygpO1xuXG4gIC8vIEdldCByZWdpb25zIGNvbmZpZ3VyYXRpb25cbiAgY29uZmlnLnByaW1hcnlSZWdpb24gPSBmamFsbENvbmZpZy5nZXRQcmltYXJ5UmVnaW9uKCk7XG4gIGNvbmZpZy5zZWNvbmRhcnlSZWdpb25zID0gZmphbGxDb25maWcuZ2V0U2Vjb25kYXJ5UmVnaW9ucygpIHx8IFtdO1xuICBjb25maWcuYWxsUmVnaW9ucyA9IGZqYWxsQ29uZmlnLmdldEFsbFJlZ2lvbnMoKTtcbiAgY29uZmlnLmRpc2FzdGVyUmVjb3ZlcnlSZWdpb24gPSBmamFsbENvbmZpZy5nZXREaXNhc3RlclJlY292ZXJ5UmVnaW9uKCk7XG5cbiAgLy8gSWYgdW5zcGVjaWZpZWQgYWNjb3VudCBuYW1lIC0gdHJ5IHRvIHJldHJpZXZlIGZyb20gY29udGV4dFxuICBpZiAoIWFjY291bnROYW1lKSBhY2NvdW50TmFtZSA9IGFwcC5ub2RlLnRyeUdldENvbnRleHQoXCJhY2NvdW50TmFtZVwiKTtcbiAgLy8gSWYgd2UgaGF2ZSBhbiBhY2NvdW50IG5hbWUgLSBsb29rIGZvciBhc3NvY2lhdGVkIHByb3ZpZGVyIGFjY291bnRcbiAgaWYgKGFjY291bnROYW1lKSB7XG4gICAgY29uc3QgcHJvdmlkZXJBY2NvdW50ID0gZmphbGxDb25maWcuZ2V0UHJvdmlkZXJBY2NvdW50KGFjY291bnROYW1lKTtcbiAgICBpZiAocHJvdmlkZXJBY2NvdW50KSB7XG4gICAgICBjb25maWcuYWNjb3VudElkID0gcHJvdmlkZXJBY2NvdW50LmlkO1xuICAgICAgY29uZmlnLmFjY291bnROYW1lID0gcHJvdmlkZXJBY2NvdW50Lm5hbWU7XG4gICAgICBjb25maWcuZW52aXJvbm1lbnQgPSBwcm92aWRlckFjY291bnQuZW52aXJvbm1lbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgd2Ugc3RpbGwgZG9uJ3QgaGF2ZSBhbiBhY2NvdW50IG5hbWUgLSB0cnkgdG8gcmV0cmlldmUgYWNjb3VudElkIGZyb20gY29udGV4dFxuICBpZiAoIWNvbmZpZy5hY2NvdW50TmFtZSkge1xuICAgIGNvbnN0IGFjY291bnRJZCA9IGFwcC5ub2RlLnRyeUdldENvbnRleHQoXCJhY2NvdW50SWRcIik7XG4gICAgLy8gSWYgd2UgZmluZCBhbiBhY2NvdW50SWQgLSByZXRyaWV2ZSB0aGUgYXNzb2NpYXRlZCBhY2NvdW50IGZyb20gY29uZmlnXG4gICAgaWYgKGFjY291bnRJZCkge1xuICAgICAgY29uZmlnLmFjY291bnRJZCA9IGFjY291bnRJZDtcblxuICAgICAgY29uc3QgcHJvdmlkZXJBY2NvdW50ID0gZmphbGxDb25maWcuZ2V0UHJvdmlkZXJBY2NvdW50QnlJZChhY2NvdW50SWQpO1xuICAgICAgaWYgKHByb3ZpZGVyQWNjb3VudCkge1xuICAgICAgICBjb25maWcuYWNjb3VudE5hbWUgPSBwcm92aWRlckFjY291bnQubmFtZTtcbiAgICAgICAgY29uZmlnLmVudmlyb25tZW50ID0gcHJvdmlkZXJBY2NvdW50LmVudmlyb25tZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrIGZvciBlbnZpcm9ubWVudCBmcm9tIGNvbnRleHQgKGhpZ2hlc3QgcHJpb3JpdHkpXG4gIGNvbnN0IGNvbnRleHRFbnZpcm9ubWVudCA9IGFwcC5ub2RlLnRyeUdldENvbnRleHQoXCJlbnZpcm9ubWVudFwiKTtcbiAgaWYgKGNvbnRleHRFbnZpcm9ubWVudCkge1xuICAgIGNvbmZpZy5lbnZpcm9ubWVudCA9IGNvbnRleHRFbnZpcm9ubWVudDtcbiAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5FTlZJUk9OTUVOVCAmJiBjb25maWcuZW52aXJvbm1lbnQgPT09IFwidW5rbm93blwiKSB7XG4gICAgLy8gRmFsbCBiYWNrIHRvIEVOVklST05NRU5UIHZhcmlhYmxlIGlmIG5vIG90aGVyIHNvdXJjZSBmb3VuZFxuICAgIGNvbmZpZy5lbnZpcm9ubWVudCA9IHByb2Nlc3MuZW52LkVOVklST05NRU5UO1xuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgZ2V0Q29uZmlnO1xuIl19
|
package/dist/lib/utils/index.js
CHANGED
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./getConfig"), exports);
|
|
18
18
|
__exportStar(require("./resourceNaming"), exports);
|
|
19
19
|
__exportStar(require("./standardTagsAspect"), exports);
|
|
20
|
-
|
|
20
|
+
__exportStar(require("./validationLogger"), exports);
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUE0QjtBQUM1QixtREFBaUM7QUFDakMsdURBQXFDO0FBQ3JDLHFEQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2dldENvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVzb3VyY2VOYW1pbmdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0YW5kYXJkVGFnc0FzcGVjdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmFsaWRhdGlvbkxvZ2dlclwiO1xuIl19
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fjall Manifest Writer.
|
|
3
|
+
*
|
|
4
|
+
* Writes a manifest file during CDK synthesis that contains resolved service
|
|
5
|
+
* configuration, pattern details, and template hashes. This replaces fragile
|
|
6
|
+
* AST parsing of infrastructure.ts in the CLI.
|
|
7
|
+
*
|
|
8
|
+
* The manifest is written to cdk.out/fjall-manifest.json after synthesis.
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This file uses synchronous file operations (writeFileSync, readFileSync, etc.)
|
|
11
|
+
* because CDK synthesis is inherently synchronous. The synth() method blocks until
|
|
12
|
+
* complete, so async operations would provide no benefit and add complexity.
|
|
13
|
+
*
|
|
14
|
+
* TYPE DUPLICATION NOTE: The interfaces below (ManifestService, ManifestPattern, etc.)
|
|
15
|
+
* are mirrored by Zod schemas in cli/src/types/FjallManifest.ts. The CLI schemas are
|
|
16
|
+
* the authoritative source for validation. If you modify these interfaces, update
|
|
17
|
+
* the Zod schemas to match. Future work: extract to shared @fjall/types package.
|
|
18
|
+
*/
|
|
19
|
+
import type { CloudAssembly } from "aws-cdk-lib/cx-api";
|
|
20
|
+
/** Current manifest schema version. Must match MANIFEST_SCHEMA_VERSION in CLI's FjallManifest.ts */
|
|
21
|
+
declare const MANIFEST_SCHEMA_VERSION: 1;
|
|
22
|
+
/**
|
|
23
|
+
* Service configuration extracted from ECS services.
|
|
24
|
+
*/
|
|
25
|
+
export interface ManifestService {
|
|
26
|
+
/** Service name (must match ECS service name) */
|
|
27
|
+
name: string;
|
|
28
|
+
/** Cluster name this service belongs to */
|
|
29
|
+
clusterName?: string;
|
|
30
|
+
/** Path to Dockerfile relative to app root */
|
|
31
|
+
dockerfilePath?: string;
|
|
32
|
+
/** Docker build target for multi-stage builds */
|
|
33
|
+
dockerTarget?: string;
|
|
34
|
+
/** Container port */
|
|
35
|
+
containerPort?: number;
|
|
36
|
+
/** SSM secrets configured for this service (aggregated from all containers) */
|
|
37
|
+
secrets?: string[];
|
|
38
|
+
/** SSM secrets path (derived or explicit) */
|
|
39
|
+
ssmSecretsPath?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Pattern configuration extracted from PatternFactory.
|
|
43
|
+
*/
|
|
44
|
+
export interface ManifestPattern {
|
|
45
|
+
/** Pattern type */
|
|
46
|
+
type: "payload";
|
|
47
|
+
/** Pattern name (CMS name) */
|
|
48
|
+
name: string;
|
|
49
|
+
/** Source directory containing build output */
|
|
50
|
+
source: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* ECR configuration.
|
|
54
|
+
*/
|
|
55
|
+
export interface ManifestEcr {
|
|
56
|
+
/** ECR repository name */
|
|
57
|
+
repositoryName: string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Lambda function configuration extracted from Lambda compute.
|
|
61
|
+
* Enables CLI discovery of Lambda functions for secrets management.
|
|
62
|
+
*/
|
|
63
|
+
export interface ManifestLambda {
|
|
64
|
+
/** Lambda function name (construct ID) */
|
|
65
|
+
name: string;
|
|
66
|
+
/** SSM secrets configured for this Lambda */
|
|
67
|
+
secrets?: string[];
|
|
68
|
+
/** SSM secrets path (derived or explicit) */
|
|
69
|
+
ssmSecretsPath?: string;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Stack hash entry computed from synthesised template.
|
|
73
|
+
*/
|
|
74
|
+
export interface ManifestStackHash {
|
|
75
|
+
/** SHA-256 hash of the synthesised template */
|
|
76
|
+
templateHash: string;
|
|
77
|
+
/** ISO timestamp when synth completed */
|
|
78
|
+
synthTimestamp: string;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Fjall manifest - generated during CDK synth.
|
|
82
|
+
*/
|
|
83
|
+
export interface FjallManifest {
|
|
84
|
+
/** Schema version for future compatibility */
|
|
85
|
+
version: typeof MANIFEST_SCHEMA_VERSION;
|
|
86
|
+
/** ISO timestamp when manifest was generated */
|
|
87
|
+
generatedAt: string;
|
|
88
|
+
/** Application name */
|
|
89
|
+
appName: string;
|
|
90
|
+
/** Resolved service configurations */
|
|
91
|
+
services: ManifestService[];
|
|
92
|
+
/** Lambda function configurations */
|
|
93
|
+
lambdas: ManifestLambda[];
|
|
94
|
+
/** Pattern configuration (if using PatternFactory) */
|
|
95
|
+
pattern?: ManifestPattern;
|
|
96
|
+
/** ECR configuration */
|
|
97
|
+
ecr?: ManifestEcr;
|
|
98
|
+
/** Template hashes by stack name */
|
|
99
|
+
stacks: Record<string, ManifestStackHash>;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Collected manifest data during synthesis.
|
|
103
|
+
* Stores all data that will be written to the manifest file.
|
|
104
|
+
*/
|
|
105
|
+
export declare class ManifestCollector {
|
|
106
|
+
private services;
|
|
107
|
+
private lambdas;
|
|
108
|
+
private pattern?;
|
|
109
|
+
private ecr?;
|
|
110
|
+
private appName;
|
|
111
|
+
constructor(appName: string);
|
|
112
|
+
/**
|
|
113
|
+
* Add a service configuration.
|
|
114
|
+
*/
|
|
115
|
+
addService(service: ManifestService): void;
|
|
116
|
+
/**
|
|
117
|
+
* Add a Lambda function configuration.
|
|
118
|
+
*/
|
|
119
|
+
addLambda(lambda: ManifestLambda): void;
|
|
120
|
+
/**
|
|
121
|
+
* Set the pattern configuration.
|
|
122
|
+
*/
|
|
123
|
+
setPattern(pattern: ManifestPattern): void;
|
|
124
|
+
/**
|
|
125
|
+
* Set the ECR repository configuration.
|
|
126
|
+
*/
|
|
127
|
+
setEcr(ecr: ManifestEcr): void;
|
|
128
|
+
/**
|
|
129
|
+
* Get collected services.
|
|
130
|
+
*/
|
|
131
|
+
getServices(): ManifestService[];
|
|
132
|
+
/**
|
|
133
|
+
* Get collected Lambda functions.
|
|
134
|
+
*/
|
|
135
|
+
getLambdas(): ManifestLambda[];
|
|
136
|
+
/**
|
|
137
|
+
* Get pattern configuration.
|
|
138
|
+
*/
|
|
139
|
+
getPattern(): ManifestPattern | undefined;
|
|
140
|
+
/**
|
|
141
|
+
* Get ECR configuration.
|
|
142
|
+
*/
|
|
143
|
+
getEcr(): ManifestEcr | undefined;
|
|
144
|
+
/**
|
|
145
|
+
* Get the application name.
|
|
146
|
+
*/
|
|
147
|
+
getAppName(): string;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Write the manifest file to cdk.out.
|
|
151
|
+
*
|
|
152
|
+
* @param assembly - The CloudAssembly from synth
|
|
153
|
+
* @param collector - The manifest collector with service data
|
|
154
|
+
*/
|
|
155
|
+
export declare function writeManifest(assembly: CloudAssembly, collector: ManifestCollector): void;
|
|
156
|
+
/**
|
|
157
|
+
* Read an existing manifest file (for preserving deployment history).
|
|
158
|
+
*/
|
|
159
|
+
export declare function readExistingManifest(cdkOutPath: string): FjallManifest | null;
|
|
160
|
+
/**
|
|
161
|
+
* Get or create the global manifest collector.
|
|
162
|
+
* Called by App during construction to initialise the collector.
|
|
163
|
+
*/
|
|
164
|
+
export declare function getManifestCollector(appName: string): ManifestCollector;
|
|
165
|
+
/**
|
|
166
|
+
* Get the current global manifest collector.
|
|
167
|
+
* Returns null if not initialised.
|
|
168
|
+
*/
|
|
169
|
+
export declare function getCurrentCollector(): ManifestCollector | null;
|
|
170
|
+
/**
|
|
171
|
+
* Reset the global collector (for testing).
|
|
172
|
+
*/
|
|
173
|
+
export declare function resetManifestCollector(): void;
|
|
174
|
+
export {};
|